@verbb/formie-browser 1.0.13 → 1.0.14
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.
- package/CHANGELOG.md +50 -0
- package/dist/chunks/{address-country-Rx6GQTND.js → address-country-Dn71jroa.js} +10 -4
- package/dist/chunks/{address-finder-k7_BXaRe.js → address-finder-O49uDRoR.js} +2 -2
- package/dist/chunks/{address-state-BwE01m2_.js → address-state-ByYatUur.js} +154 -143
- package/dist/chunks/{api-DqpfkZWL.js → api-D6kJ7kXZ.js} +183 -179
- package/dist/chunks/{api-BUb6P-xu.js → api-DYYsVIub.js} +77 -47
- package/dist/chunks/{api-sPqGbOww.js → api-ghNr2uxX.js} +15 -9
- package/dist/chunks/{bpoint-Dlq34XH1.js → bpoint-D0RKFM4F.js} +3 -3
- package/dist/chunks/calculations-YEoVCG2q.js +310 -0
- package/dist/chunks/{captcha-eu-CGm8Lbrj.js → captcha-eu-DERJbXnH.js} +5 -4
- package/dist/chunks/{checkbox-radio-BY2aTCOG.js → checkbox-radio-gsm8QPJg.js} +74 -75
- package/dist/chunks/{combobox-C0EuExSI.js → combobox-CWNdx4Fk.js} +290 -279
- package/dist/chunks/conditions-DqNHLTbN.js +464 -0
- package/dist/chunks/country-from-ip-DDj_mFki.js +29 -0
- package/dist/chunks/csrf-DxHg_ZYt.js +61 -0
- package/dist/chunks/{custom-google-maps-BsaSirEZ.js → custom-google-maps-C4l2S3GO.js} +9 -3
- package/dist/chunks/{custom-link-CJ1-FjEM.js → custom-link-CLazgKYH.js} +8 -2
- package/dist/chunks/{custom-maps-DYW_pBid.js → custom-maps-DqcAlD0v.js} +10 -4
- package/dist/chunks/{date-picker-F9BUBDSW.js → date-picker-RUnevF7l.js} +455 -432
- package/dist/chunks/{dist-D6i-VNgM.js → dist-ZLeW0zZ3.js} +1281 -453
- package/dist/chunks/{eway-D9_m8ooj.js → eway-or6dtjoT.js} +3 -3
- package/dist/chunks/field-references.resolver-Ca8MguFv.js +104 -0
- package/dist/chunks/{file-upload-rqfZNqlH.js → file-upload-Bm-TXyNB.js} +104 -96
- package/dist/chunks/friendly-captcha-v1-GFqCt1Mh.js +34 -0
- package/dist/chunks/{friendly-captcha-v2-CLSAbkqx.js → friendly-captcha-v2-WoW246JG.js} +6 -5
- package/dist/chunks/{friendly-challenge-8uPatWqk.js → friendly-challenge-DPG9MJb1.js} +111 -102
- package/dist/chunks/{go-cardless-DAT3ZaQf.js → go-cardless-DzJ-0FKg.js} +2 -2
- package/dist/chunks/google-address-C1P1nTDM.js +163 -0
- package/dist/chunks/{hcaptcha-CGLAmgjO.js → hcaptcha-D0T8aIHz.js} +3 -3
- package/dist/chunks/{hidden-D7_Ch-QN.js → hidden-BZhXnNPe.js} +8 -2
- package/dist/chunks/http-C2QdHuWO.js +27 -0
- package/dist/chunks/{leaflet-src-j-lHNmhR.js → leaflet-src-DE6rv6M-.js} +42 -46
- package/dist/chunks/{loqate-CJPzBmSm.js → loqate-DD1S7PY9.js} +2 -2
- package/dist/chunks/{mollie-Bibhl67p.js → mollie-DG8Ju83x.js} +2 -2
- package/dist/chunks/{moneris-H2wSqk9h.js → moneris-C8m3Fvqu.js} +3 -3
- package/dist/chunks/opayo-B3EvrVxw.js +188 -0
- package/dist/chunks/{paddle-DkvIxQdG.js → paddle-BIYR9Um3.js} +3 -3
- package/dist/chunks/{password-validation-D06uH9va.js → password-validation-C8_uO_c_.js} +18 -12
- package/dist/chunks/{paypal-CQpAF7Ua.js → paypal-B_yxIo2d.js} +7 -5
- package/dist/chunks/{payway-CwDkC7YZ.js → payway-CeOzS0sL.js} +3 -3
- package/dist/chunks/{phone-country-D3ayr60L.js → phone-country-bAqje17P.js} +80 -63
- package/dist/chunks/{place-kit-BGHklIZ-.js → place-kit-BE5gi3vo.js} +3 -3
- package/dist/chunks/{placekit-autocomplete.esm-DWVabQlq.js → placekit-autocomplete.esm-CZZERYur.js} +11 -15
- package/dist/chunks/{recaptcha-enterprise-XPId5-bS.js → recaptcha-enterprise-CruXddZq.js} +4 -4
- package/dist/chunks/{recaptcha-shared-CLYJvojk.js → recaptcha-shared-AQRMDMme.js} +1 -1
- package/dist/chunks/{recaptcha-v2-checkbox-Cy-0PEPc.js → recaptcha-v2-checkbox-CCnJYCnG.js} +4 -4
- package/dist/chunks/{recaptcha-v2-invisible-BwRH540O.js → recaptcha-v2-invisible-BuVqRRYn.js} +4 -4
- package/dist/chunks/{recaptcha-v3-No4Ykrhk.js → recaptcha-v3-CloqhO2A.js} +4 -4
- package/dist/chunks/{repeater-BVnPUqTj.js → repeater-DwE27jI1.js} +25 -19
- package/dist/chunks/request-profile-DhwkeCpS.js +10 -0
- package/dist/chunks/rich-text-uV4o_pGk.js +361 -0
- package/dist/chunks/{chunk-3b4jIN3o.js → rolldown-runtime-DtPi1Y-2.js} +2 -2
- package/dist/chunks/{sdk-BhHAYgga.js → sdk-lkwSvlpM.js} +282 -234
- package/dist/chunks/{shared-Bx9s0i0P.js → shared-OKhSay59.js} +27 -21
- package/dist/chunks/{signature-IOhuicje.js → signature-7cldFbqj.js} +138 -112
- package/dist/chunks/{snaptcha-DKx98oon.js → snaptcha-C04kNGYQ.js} +2 -2
- package/dist/chunks/{square-DwdcOI1G.js → square-DEzxv9D9.js} +8 -6
- package/dist/chunks/{stripe-DaoG2FT1.js → stripe-CVPQGDz3.js} +10 -11
- package/dist/chunks/{summary-Dks0gXS3.js → summary-BF_8mrXI.js} +47 -45
- package/dist/chunks/{survey-likert-DkE6bR7B.js → survey-likert-fk1hUPff.js} +7 -1
- package/dist/chunks/{survey-rank-DN6x4IZM.js → survey-rank-BsLGl2LX.js} +37 -25
- package/dist/chunks/{survey-rating-BnsNL9U5.js → survey-rating-DVS6e6fM.js} +17 -5
- package/dist/chunks/{table-CAjCJHrL.js → table-DnIBdeKF.js} +21 -15
- package/dist/chunks/{text-limit-BGaY0jhI.js → text-limit-LGMPhFuC.js} +40 -34
- package/dist/chunks/{theme-classes-Tv7q7ToE.js → theme-classes-DAQuEqdP.js} +1 -1
- package/dist/chunks/{turnstile-DJakPzQD.js → turnstile-n9DNyPxi.js} +3 -3
- package/dist/chunks/{upload-manager-W-QDgxKD.js → upload-manager-BbiUosZq.js} +410 -350
- package/dist/chunks/{utils-Vqp8i_RM.js → utils-DpUBPadZ.js} +20 -14
- package/dist/css/formie-base.css +104 -1
- package/dist/css/theme/_messages.css +2 -0
- package/dist/css/theme/_tokens.css +31 -25
- package/dist/css/theme/forms/_form.css +5 -1
- package/dist/index.d.ts +5 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1778 -1427
- package/dist/js/contracts/client.d.ts +5 -3
- package/dist/js/contracts/client.d.ts.map +1 -1
- package/dist/js/contracts/common.d.ts +2 -2
- package/dist/js/contracts/common.d.ts.map +1 -1
- package/dist/js/contracts/modules.d.ts +37 -12
- package/dist/js/contracts/modules.d.ts.map +1 -1
- package/dist/js/contracts/schema.d.ts +20 -38
- package/dist/js/contracts/schema.d.ts.map +1 -1
- package/dist/js/contracts/theme.d.ts +4 -1
- package/dist/js/contracts/theme.d.ts.map +1 -1
- package/dist/js/core/client-rendered-modules.d.ts +17 -0
- package/dist/js/core/client-rendered-modules.d.ts.map +1 -0
- package/dist/js/core/create-formie-client.d.ts.map +1 -1
- package/dist/js/core/field-error-aria.d.ts +23 -0
- package/dist/js/core/field-error-aria.d.ts.map +1 -0
- package/dist/js/core/hydrate-modules.d.ts +10 -8
- package/dist/js/core/hydrate-modules.d.ts.map +1 -1
- package/dist/js/core/submit-result-state.d.ts.map +1 -1
- package/dist/js/core/submit-result-ui.d.ts.map +1 -1
- package/dist/js/core/validation-focus.d.ts.map +1 -1
- package/dist/js/modules/address/address-finder.d.ts +1 -1
- package/dist/js/modules/address/address-finder.d.ts.map +1 -1
- package/dist/js/modules/address/factories.d.ts +3 -3
- package/dist/js/modules/address/factories.d.ts.map +1 -1
- package/dist/js/modules/address/google-address.d.ts +2 -1
- package/dist/js/modules/address/google-address.d.ts.map +1 -1
- package/dist/js/modules/address/index.d.ts +2 -2
- package/dist/js/modules/address/index.d.ts.map +1 -1
- package/dist/js/modules/address/loqate.d.ts +1 -1
- package/dist/js/modules/address/loqate.d.ts.map +1 -1
- package/dist/js/modules/address/place-kit.d.ts +1 -1
- package/dist/js/modules/address/place-kit.d.ts.map +1 -1
- package/dist/js/modules/captchas/captcha-eu.d.ts +1 -1
- package/dist/js/modules/captchas/captcha-eu.d.ts.map +1 -1
- package/dist/js/modules/captchas/factories.d.ts +11 -11
- package/dist/js/modules/captchas/factories.d.ts.map +1 -1
- package/dist/js/modules/captchas/friendly-captcha-v1.d.ts +1 -1
- package/dist/js/modules/captchas/friendly-captcha-v1.d.ts.map +1 -1
- package/dist/js/modules/captchas/friendly-captcha-v2.d.ts +1 -1
- package/dist/js/modules/captchas/friendly-captcha-v2.d.ts.map +1 -1
- package/dist/js/modules/captchas/hcaptcha.d.ts +1 -1
- package/dist/js/modules/captchas/hcaptcha.d.ts.map +1 -1
- package/dist/js/modules/captchas/index.d.ts +2 -2
- package/dist/js/modules/captchas/index.d.ts.map +1 -1
- package/dist/js/modules/captchas/recaptcha-enterprise.d.ts +1 -1
- package/dist/js/modules/captchas/recaptcha-enterprise.d.ts.map +1 -1
- package/dist/js/modules/captchas/recaptcha-v2-checkbox.d.ts +1 -1
- package/dist/js/modules/captchas/recaptcha-v2-checkbox.d.ts.map +1 -1
- package/dist/js/modules/captchas/recaptcha-v2-invisible.d.ts +1 -1
- package/dist/js/modules/captchas/recaptcha-v2-invisible.d.ts.map +1 -1
- package/dist/js/modules/captchas/recaptcha-v3.d.ts +1 -1
- package/dist/js/modules/captchas/recaptcha-v3.d.ts.map +1 -1
- package/dist/js/modules/captchas/snaptcha.d.ts +1 -1
- package/dist/js/modules/captchas/snaptcha.d.ts.map +1 -1
- package/dist/js/modules/captchas/turnstile.d.ts +1 -1
- package/dist/js/modules/captchas/turnstile.d.ts.map +1 -1
- package/dist/js/modules/fields/address-country.d.ts +2 -2
- package/dist/js/modules/fields/address-country.d.ts.map +1 -1
- package/dist/js/modules/fields/address-state.d.ts +2 -2
- package/dist/js/modules/fields/address-state.d.ts.map +1 -1
- package/dist/js/modules/fields/calculations.d.ts +2 -2
- package/dist/js/modules/fields/calculations.d.ts.map +1 -1
- package/dist/js/modules/fields/checkbox-radio.d.ts +2 -2
- package/dist/js/modules/fields/checkbox-radio.d.ts.map +1 -1
- package/dist/js/modules/fields/combobox.d.ts +2 -2
- package/dist/js/modules/fields/combobox.d.ts.map +1 -1
- package/dist/js/modules/fields/conditions/config.d.ts.map +1 -1
- package/dist/js/modules/fields/conditions/effects.d.ts +1 -0
- package/dist/js/modules/fields/conditions/effects.d.ts.map +1 -1
- package/dist/js/modules/fields/conditions/evaluator.d.ts +4 -1
- package/dist/js/modules/fields/conditions/evaluator.d.ts.map +1 -1
- package/dist/js/modules/fields/conditions/references.d.ts.map +1 -1
- package/dist/js/modules/fields/conditions/submission-context.d.ts +15 -0
- package/dist/js/modules/fields/conditions/submission-context.d.ts.map +1 -0
- package/dist/js/modules/fields/conditions/types.d.ts +3 -1
- package/dist/js/modules/fields/conditions/types.d.ts.map +1 -1
- package/dist/js/modules/fields/conditions/values.d.ts +1 -1
- package/dist/js/modules/fields/conditions/values.d.ts.map +1 -1
- package/dist/js/modules/fields/conditions.d.ts +2 -2
- package/dist/js/modules/fields/conditions.d.ts.map +1 -1
- package/dist/js/modules/fields/custom-google-maps.d.ts +2 -2
- package/dist/js/modules/fields/custom-google-maps.d.ts.map +1 -1
- package/dist/js/modules/fields/custom-link.d.ts +2 -2
- package/dist/js/modules/fields/custom-link.d.ts.map +1 -1
- package/dist/js/modules/fields/custom-maps.d.ts +2 -2
- package/dist/js/modules/fields/custom-maps.d.ts.map +1 -1
- package/dist/js/modules/fields/date-picker.d.ts +2 -2
- package/dist/js/modules/fields/date-picker.d.ts.map +1 -1
- package/dist/js/modules/fields/file-upload.d.ts +2 -2
- package/dist/js/modules/fields/file-upload.d.ts.map +1 -1
- package/dist/js/modules/fields/hidden.d.ts +2 -2
- package/dist/js/modules/fields/hidden.d.ts.map +1 -1
- package/dist/js/modules/fields/index.d.ts +2 -2
- package/dist/js/modules/fields/index.d.ts.map +1 -1
- package/dist/js/modules/fields/password-validation.d.ts +2 -2
- package/dist/js/modules/fields/password-validation.d.ts.map +1 -1
- package/dist/js/modules/fields/phone-country.d.ts +2 -2
- package/dist/js/modules/fields/phone-country.d.ts.map +1 -1
- package/dist/js/modules/fields/repeater.d.ts +2 -2
- package/dist/js/modules/fields/repeater.d.ts.map +1 -1
- package/dist/js/modules/fields/rich-text.d.ts +2 -2
- package/dist/js/modules/fields/rich-text.d.ts.map +1 -1
- package/dist/js/modules/fields/shared.d.ts +1 -0
- package/dist/js/modules/fields/shared.d.ts.map +1 -1
- package/dist/js/modules/fields/signature.d.ts +2 -2
- package/dist/js/modules/fields/signature.d.ts.map +1 -1
- package/dist/js/modules/fields/summary.d.ts +2 -2
- package/dist/js/modules/fields/summary.d.ts.map +1 -1
- package/dist/js/modules/fields/survey-likert.d.ts +2 -2
- package/dist/js/modules/fields/survey-likert.d.ts.map +1 -1
- package/dist/js/modules/fields/survey-rank.d.ts +2 -2
- package/dist/js/modules/fields/survey-rank.d.ts.map +1 -1
- package/dist/js/modules/fields/survey-rating.d.ts +2 -2
- package/dist/js/modules/fields/survey-rating.d.ts.map +1 -1
- package/dist/js/modules/fields/table.d.ts +2 -2
- package/dist/js/modules/fields/table.d.ts.map +1 -1
- package/dist/js/modules/fields/text-limit.d.ts +2 -2
- package/dist/js/modules/fields/text-limit.d.ts.map +1 -1
- package/dist/js/modules/fields/upload-manager.d.ts +2 -2
- package/dist/js/modules/fields/upload-manager.d.ts.map +1 -1
- package/dist/js/modules/loader.d.ts +10 -4
- package/dist/js/modules/loader.d.ts.map +1 -1
- package/dist/js/modules/payments/bpoint.d.ts +1 -1
- package/dist/js/modules/payments/bpoint.d.ts.map +1 -1
- package/dist/js/modules/payments/eway.d.ts +1 -1
- package/dist/js/modules/payments/eway.d.ts.map +1 -1
- package/dist/js/modules/payments/factories.d.ts +7 -7
- package/dist/js/modules/payments/factories.d.ts.map +1 -1
- package/dist/js/modules/payments/go-cardless.d.ts +1 -1
- package/dist/js/modules/payments/go-cardless.d.ts.map +1 -1
- package/dist/js/modules/payments/index.d.ts +2 -2
- package/dist/js/modules/payments/index.d.ts.map +1 -1
- package/dist/js/modules/payments/mollie.d.ts +1 -1
- package/dist/js/modules/payments/mollie.d.ts.map +1 -1
- package/dist/js/modules/payments/moneris.d.ts +1 -1
- package/dist/js/modules/payments/moneris.d.ts.map +1 -1
- package/dist/js/modules/payments/opayo.d.ts +1 -1
- package/dist/js/modules/payments/opayo.d.ts.map +1 -1
- package/dist/js/modules/payments/paddle.d.ts +1 -1
- package/dist/js/modules/payments/paddle.d.ts.map +1 -1
- package/dist/js/modules/payments/paypal.d.ts +1 -1
- package/dist/js/modules/payments/paypal.d.ts.map +1 -1
- package/dist/js/modules/payments/payway.d.ts +1 -1
- package/dist/js/modules/payments/payway.d.ts.map +1 -1
- package/dist/js/modules/payments/square.d.ts +1 -1
- package/dist/js/modules/payments/square.d.ts.map +1 -1
- package/dist/js/modules/payments/stripe.d.ts +1 -1
- package/dist/js/modules/payments/stripe.d.ts.map +1 -1
- package/dist/js/modules/payments/utils.d.ts +6 -0
- package/dist/js/modules/payments/utils.d.ts.map +1 -1
- package/dist/js/modules/registry.d.ts +6 -4
- package/dist/js/modules/registry.d.ts.map +1 -1
- package/dist/js/submit/pipeline.d.ts.map +1 -1
- package/dist/js/theme/browser-theme-state.generated.d.ts +24 -0
- package/dist/js/theme/browser-theme-state.generated.d.ts.map +1 -0
- package/dist/js/theme/theme-classes.d.ts +3 -3
- package/dist/js/theme/theme-classes.d.ts.map +1 -1
- package/dist/js/transport/forms-api.d.ts +5 -3
- package/dist/js/transport/forms-api.d.ts.map +1 -1
- package/dist/js/utils/country-from-ip.d.ts +2 -2
- package/dist/js/utils/country-from-ip.d.ts.map +1 -1
- package/dist/js/utils/csrf.d.ts +17 -0
- package/dist/js/utils/csrf.d.ts.map +1 -0
- package/dist/js/utils/field-references.parser.d.ts +1 -0
- package/dist/js/utils/field-references.parser.d.ts.map +1 -1
- package/dist/js/utils/field-references.resolver.d.ts.map +1 -1
- package/dist/js/utils/field-references.types.d.ts +1 -0
- package/dist/js/utils/field-references.types.d.ts.map +1 -1
- package/dist/js/utils/http.d.ts +3 -1
- package/dist/js/utils/http.d.ts.map +1 -1
- package/dist/js/utils/request-profile.d.ts +4 -0
- package/dist/js/utils/request-profile.d.ts.map +1 -0
- package/dist/js/utils/unload-warning.d.ts.map +1 -1
- package/dist/js/validation/rules/email.d.ts.map +1 -1
- package/dist/js/validation/rules/match.d.ts.map +1 -1
- package/dist/js/validation/rules/number.d.ts.map +1 -1
- package/dist/js/validation/rules/required.d.ts.map +1 -1
- package/dist/js/validation/rules/shared.d.ts.map +1 -1
- package/dist/js/validation/rules/url.d.ts.map +1 -1
- package/dist/js/validation/skip.d.ts +7 -0
- package/dist/js/validation/skip.d.ts.map +1 -0
- package/dist/js/validation/submit-readiness.d.ts.map +1 -1
- package/dist/js/validation/validator.d.ts.map +1 -1
- package/package.json +43 -12
- package/src/css/formie-base.css +104 -1
- package/src/css/theme/_messages.css +2 -0
- package/src/css/theme/_tokens.css +31 -25
- package/src/css/theme/forms/_form.css +5 -1
- package/src/index.ts +13 -8
- package/src/js/contracts/client.ts +5 -3
- package/src/js/contracts/common.ts +5 -6
- package/src/js/contracts/modules.ts +41 -12
- package/src/js/contracts/schema.ts +21 -43
- package/src/js/contracts/theme.ts +6 -1
- package/src/js/core/client-rendered-modules.ts +69 -0
- package/src/js/core/create-formie-client.ts +116 -77
- package/src/js/core/field-error-aria.ts +93 -0
- package/src/js/core/hydrate-modules.ts +54 -29
- package/src/js/core/submit-result-state.ts +34 -45
- package/src/js/core/submit-result-ui.ts +21 -65
- package/src/js/core/validation-focus.ts +20 -20
- package/src/js/modules/address/address-finder.ts +1 -1
- package/src/js/modules/address/factories.ts +15 -13
- package/src/js/modules/address/google-address.ts +10 -6
- package/src/js/modules/address/index.ts +2 -2
- package/src/js/modules/address/loqate.ts +1 -1
- package/src/js/modules/address/place-kit.ts +1 -1
- package/src/js/modules/captchas/captcha-eu.ts +2 -2
- package/src/js/modules/captchas/factories.ts +66 -42
- package/src/js/modules/captchas/friendly-captcha-v1.ts +12 -2
- package/src/js/modules/captchas/friendly-captcha-v2.ts +4 -2
- package/src/js/modules/captchas/hcaptcha.ts +5 -5
- package/src/js/modules/captchas/index.ts +2 -2
- package/src/js/modules/captchas/recaptcha-enterprise.ts +2 -2
- package/src/js/modules/captchas/recaptcha-v2-checkbox.ts +3 -3
- package/src/js/modules/captchas/recaptcha-v2-invisible.ts +2 -2
- package/src/js/modules/captchas/recaptcha-v3.ts +2 -2
- package/src/js/modules/captchas/snaptcha.ts +1 -1
- package/src/js/modules/captchas/turnstile.ts +3 -3
- package/src/js/modules/fields/address-country.ts +6 -4
- package/src/js/modules/fields/address-state.ts +20 -12
- package/src/js/modules/fields/calculations.ts +5 -3
- package/src/js/modules/fields/checkbox-radio.ts +24 -42
- package/src/js/modules/fields/combobox.ts +25 -9
- package/src/js/modules/fields/conditions/config.ts +17 -20
- package/src/js/modules/fields/conditions/effects.ts +23 -26
- package/src/js/modules/fields/conditions/evaluator.ts +21 -29
- package/src/js/modules/fields/conditions/references.ts +16 -5
- package/src/js/modules/fields/conditions/submission-context.ts +80 -0
- package/src/js/modules/fields/conditions/types.ts +3 -1
- package/src/js/modules/fields/conditions/values.ts +31 -6
- package/src/js/modules/fields/conditions.ts +59 -18
- package/src/js/modules/fields/custom-google-maps.ts +5 -3
- package/src/js/modules/fields/custom-link.ts +5 -3
- package/src/js/modules/fields/custom-maps.ts +5 -3
- package/src/js/modules/fields/date-picker.ts +34 -4
- package/src/js/modules/fields/file-upload.ts +19 -10
- package/src/js/modules/fields/hidden.ts +5 -3
- package/src/js/modules/fields/index.ts +2 -2
- package/src/js/modules/fields/password-validation.ts +5 -3
- package/src/js/modules/fields/phone-country.ts +33 -6
- package/src/js/modules/fields/repeater.ts +5 -3
- package/src/js/modules/fields/rich-text.ts +20 -4
- package/src/js/modules/fields/shared.ts +13 -0
- package/src/js/modules/fields/signature.ts +24 -4
- package/src/js/modules/fields/summary.ts +8 -20
- package/src/js/modules/fields/survey-likert.ts +5 -3
- package/src/js/modules/fields/survey-rank.ts +21 -3
- package/src/js/modules/fields/survey-rating.ts +17 -3
- package/src/js/modules/fields/table.ts +5 -3
- package/src/js/modules/fields/text-limit.ts +5 -3
- package/src/js/modules/fields/upload-manager.ts +190 -49
- package/src/js/modules/loader.ts +345 -281
- package/src/js/modules/payments/bpoint.ts +2 -2
- package/src/js/modules/payments/eway.ts +2 -2
- package/src/js/modules/payments/factories.ts +53 -52
- package/src/js/modules/payments/go-cardless.ts +1 -1
- package/src/js/modules/payments/index.ts +2 -2
- package/src/js/modules/payments/mollie.ts +1 -1
- package/src/js/modules/payments/moneris.ts +2 -2
- package/src/js/modules/payments/opayo.ts +21 -8
- package/src/js/modules/payments/paddle.ts +10 -6
- package/src/js/modules/payments/payment.ts +22 -18
- package/src/js/modules/payments/paypal.ts +1 -1
- package/src/js/modules/payments/payway.ts +2 -2
- package/src/js/modules/payments/square.ts +2 -2
- package/src/js/modules/payments/stripe.ts +5 -5
- package/src/js/modules/payments/utils.ts +14 -0
- package/src/js/modules/registry.ts +19 -11
- package/src/js/submit/pipeline.ts +10 -11
- package/src/js/theme/browser-theme-state.generated.ts +25 -0
- package/src/js/theme/theme-classes.ts +3 -3
- package/src/js/transport/forms-api.ts +66 -67
- package/src/js/utils/country-from-ip.ts +14 -9
- package/src/js/utils/csrf.ts +136 -0
- package/src/js/utils/field-references.parser.ts +13 -113
- package/src/js/utils/field-references.resolver.ts +27 -64
- package/src/js/utils/field-references.row-scope.ts +1 -1
- package/src/js/utils/field-references.types.ts +1 -0
- package/src/js/utils/http.ts +5 -5
- package/src/js/utils/request-profile.ts +10 -0
- package/src/js/utils/unload-warning.ts +12 -4
- package/src/js/validation/rules/email.ts +3 -5
- package/src/js/validation/rules/match.ts +2 -1
- package/src/js/validation/rules/minmax.ts +4 -43
- package/src/js/validation/rules/number.ts +3 -47
- package/src/js/validation/rules/pattern.ts +3 -8
- package/src/js/validation/rules/required.ts +2 -1
- package/src/js/validation/rules/shared.ts +5 -1
- package/src/js/validation/rules/url.ts +3 -10
- package/src/js/validation/skip.ts +9 -0
- package/src/js/validation/submit-readiness.ts +9 -2
- package/src/js/validation/validator.ts +35 -59
- package/dist/chunks/calculations-Dv3hYb8_.js +0 -299
- package/dist/chunks/conditions-CPH1snCx.js +0 -424
- package/dist/chunks/country-from-ip-BwxKaBuJ.js +0 -26
- package/dist/chunks/field-references.resolver-CHwn0G0L.js +0 -145
- package/dist/chunks/friendly-captcha-v1-C_2reOXr.js +0 -31
- package/dist/chunks/google-address-BH3Zhi06.js +0 -161
- package/dist/chunks/http-D-JExro7.js +0 -27
- package/dist/chunks/opayo-CR0DtsLa.js +0 -179
- package/dist/chunks/rich-text-Bg_--4TG.js +0 -349
- package/dist/js/modules/fields/conditions/transforms.d.ts +0 -3
- package/dist/js/modules/fields/conditions/transforms.d.ts.map +0 -1
- package/src/js/modules/fields/conditions/transforms.ts +0 -206
- 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 =
|
|
3
|
-
for (let
|
|
4
|
-
function
|
|
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
|
|
13
|
-
let
|
|
14
|
-
e.charCodeAt(
|
|
15
|
-
let
|
|
16
|
-
for (let
|
|
17
|
-
let
|
|
18
|
-
a
|
|
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
|
|
20
|
+
return i;
|
|
21
21
|
}
|
|
22
|
-
var
|
|
23
|
-
function
|
|
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
|
|
35
|
-
return
|
|
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
|
|
38
|
-
return
|
|
37
|
+
function u(e, t) {
|
|
38
|
+
return l(e, t.rtl, s, !0, t.text_fetching, ".FETCHING", void 0, !0);
|
|
39
39
|
}
|
|
40
|
-
function
|
|
41
|
-
return
|
|
40
|
+
function d(e, t) {
|
|
41
|
+
return l(e, t.rtl, s, !0, t.text_solving, ".UNFINISHED", void 0, !0);
|
|
42
42
|
}
|
|
43
|
-
function
|
|
44
|
-
let i = `${r.t.toFixed(0)}s (${(r.h / r.t * .001).toFixed(0)}K/s)${r.solver ===
|
|
45
|
-
return
|
|
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
|
|
48
|
-
return
|
|
47
|
+
function p(e, t) {
|
|
48
|
+
return l(e, t.rtl, c, !0, t.text_expired, ".EXPIRED", t.button_restart);
|
|
49
49
|
}
|
|
50
|
-
function
|
|
51
|
-
return
|
|
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
|
|
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 =
|
|
56
|
+
t.id = "frc-style", t.innerHTML = i, e && t.setAttribute("nonce", e), document.head.appendChild(t);
|
|
57
57
|
}
|
|
58
58
|
}
|
|
59
|
-
function
|
|
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
|
|
63
|
+
function _(e) {
|
|
64
64
|
for (; e.tagName !== "FORM";) if (e = e.parentElement, !e) return null;
|
|
65
65
|
return e;
|
|
66
66
|
}
|
|
67
|
-
function
|
|
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
|
|
74
|
-
typeof navigator < "u" && typeof navigator.userAgent == "string" && (
|
|
75
|
-
function
|
|
76
|
-
return
|
|
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
|
|
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
|
|
82
|
-
function
|
|
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(
|
|
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
|
-
|
|
91
|
-
|
|
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:
|
|
96
|
-
n:
|
|
97
|
-
threshold:
|
|
98
|
-
expiry:
|
|
100
|
+
buffer: i,
|
|
101
|
+
n: i[w],
|
|
102
|
+
threshold: S(i[T]),
|
|
103
|
+
expiry: i[C] * 3e5
|
|
99
104
|
};
|
|
100
105
|
}
|
|
101
|
-
async function
|
|
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
|
|
105
|
-
headers: [["x-frc-client", "js-0.9.
|
|
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
|
|
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
|
|
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,
|
|
135
|
+
return await new Promise((e) => setTimeout(e, r)), r *= 4, A(e, t, n - 1);
|
|
129
136
|
});
|
|
130
137
|
}
|
|
131
|
-
var
|
|
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
|
-
},
|
|
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
|
-
},
|
|
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
|
-
},
|
|
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:
|
|
380
|
-
de:
|
|
381
|
-
nl:
|
|
382
|
-
fr:
|
|
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/QaABQQAQASIAQQxBAxABQYABQQAQBzYCACAAQQxBBBABQQhBAxAHNgIEIABCADcDCCAAQQA2AhAgAEIANwMYIABC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\")),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)
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
if (r.
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
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:
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
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 =
|
|
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 ||
|
|
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 =
|
|
737
|
-
e ?
|
|
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 =
|
|
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
|
-
|
|
770
|
+
g(this.e, e);
|
|
762
771
|
}, this.workerGroup.readyCallback = () => {
|
|
763
|
-
this.e.innerHTML =
|
|
772
|
+
this.e.innerHTML = ee(this.opts.solutionFieldName, this.lang), this.makeButtonStart(), this.opts.readyCallback();
|
|
764
773
|
}, this.workerGroup.startedCallback = () => {
|
|
765
|
-
this.e.innerHTML =
|
|
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 =
|
|
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 =
|
|
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 (
|
|
793
|
-
this.e.innerHTML =
|
|
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 =
|
|
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 =
|
|
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}.${
|
|
818
|
-
return this.e.innerHTML =
|
|
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-
|
|
2
|
+
import { t } from "./api-D6kJ7kXZ.js";
|
|
3
3
|
//#region src/js/modules/payments/go-cardless.ts
|
|
4
4
|
var n = e("go-cardless", "redirect"), r = t({
|
|
5
|
-
|
|
5
|
+
moduleId: "formie:go-cardless",
|
|
6
6
|
defaultRequiredInputSuffixes: [],
|
|
7
7
|
load: async () => null,
|
|
8
8
|
setup: async ({ services: e, root: t }) => {
|
|
@@ -0,0 +1,163 @@
|
|
|
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-CbQ7agX3.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) {
|
|
71
|
+
let t = "";
|
|
72
|
+
return (e.street_number || e.route) && (t = [e.street_number, e.route].filter(Boolean).join(" "), e.subpremise && (t = `${e.subpremise}/${t}`)), {
|
|
73
|
+
address1: t,
|
|
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: ["addressComponents", "formattedAddress"] }), a.addressComponents && (d(r, {
|
|
132
|
+
...m(p(a.addressComponents)),
|
|
133
|
+
formattedAddress: a.formattedAddress
|
|
134
|
+
}), t.dispatchEvent(new CustomEvent(n("google", "populate"), {
|
|
135
|
+
bubbles: !0,
|
|
136
|
+
detail: {
|
|
137
|
+
addressProvider: "google",
|
|
138
|
+
place: a,
|
|
139
|
+
formattedAddress: a.formattedAddress,
|
|
140
|
+
addressComponents: a.addressComponents
|
|
141
|
+
}
|
|
142
|
+
})));
|
|
143
|
+
}), s;
|
|
144
|
+
},
|
|
145
|
+
onCurrentLocation: async (n, { field: i, services: a, provider: o }) => {
|
|
146
|
+
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();
|
|
147
|
+
if (h && f) try {
|
|
148
|
+
let n = new FormData();
|
|
149
|
+
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);
|
|
150
|
+
let i = await (await t(u, {
|
|
151
|
+
method: "POST",
|
|
152
|
+
body: n,
|
|
153
|
+
headers: {
|
|
154
|
+
"X-Requested-With": "XMLHttpRequest",
|
|
155
|
+
Accept: "application/json"
|
|
156
|
+
}
|
|
157
|
+
}, e(l))).json();
|
|
158
|
+
i?.results?.[0]?.address_components && d(a, m(p(i.results[0].address_components)));
|
|
159
|
+
} catch {}
|
|
160
|
+
}
|
|
161
|
+
});
|
|
162
|
+
//#endregion
|
|
163
|
+
export { _ as googleAddressModule };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as e, r as t, t as n } from "./api-
|
|
1
|
+
import { a as e, r as t, t as n } from "./api-DYYsVIub.js";
|
|
2
2
|
import { n as r, t as i } from "./scripts-CbQ7agX3.js";
|
|
3
3
|
//#region src/js/modules/captchas/hcaptcha.ts
|
|
4
4
|
async function a(n) {
|
|
@@ -17,7 +17,7 @@ async function a(n) {
|
|
|
17
17
|
}), await d, i("hcaptcha", e);
|
|
18
18
|
}
|
|
19
19
|
var o = n({
|
|
20
|
-
|
|
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
|
-
|
|
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();
|