@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.
- package/CHANGELOG.md +80 -0
- package/dist/chunks/{address-country-Rx6GQTND.js → address-country-BcEQKw0T.js} +11 -5
- package/dist/chunks/{address-finder-k7_BXaRe.js → address-finder-BWGINCSA.js} +3 -3
- package/dist/chunks/address-state-DI3ndhMU.js +365 -0
- package/dist/chunks/{api-BUb6P-xu.js → api-BK9b340y.js} +93 -63
- package/dist/chunks/{api-DqpfkZWL.js → api-Dxl_CKw-.js} +202 -193
- package/dist/chunks/{api-sPqGbOww.js → api-ghNr2uxX.js} +15 -9
- package/dist/chunks/{async-nPFRNQ06.js → async-2GdXNFCE.js} +18 -1
- package/dist/chunks/{bpoint-Dlq34XH1.js → bpoint-BwtuyN_O.js} +3 -3
- package/dist/chunks/calculations-YEoVCG2q.js +310 -0
- package/dist/chunks/{captcha-eu-CGm8Lbrj.js → captcha-eu-DWLoQFKB.js} +6 -5
- package/dist/chunks/{checkbox-radio-BY2aTCOG.js → checkbox-radio-gsm8QPJg.js} +74 -75
- package/dist/chunks/{combobox-C0EuExSI.js → combobox-Ba08_cHL.js} +340 -328
- package/dist/chunks/conditions-Ceeg6ReZ.js +467 -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-DaPvMrop.js} +467 -443
- package/dist/chunks/{dist-D6i-VNgM.js → dist-ZLeW0zZ3.js} +1281 -453
- package/dist/chunks/{eway-D9_m8ooj.js → eway-uw0DzU-L.js} +5 -5
- package/dist/chunks/field-references.resolver-Ca8MguFv.js +104 -0
- package/dist/chunks/{file-upload-rqfZNqlH.js → file-upload-B8_mH012.js} +119 -99
- package/dist/chunks/friendly-captcha-v1-CVXaXgDO.js +34 -0
- package/dist/chunks/{friendly-captcha-v2-CLSAbkqx.js → friendly-captcha-v2-DkeIVTKI.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-c4wLJdOt.js} +2 -2
- package/dist/chunks/google-address-JHYvjwgN.js +168 -0
- package/dist/chunks/{hcaptcha-CGLAmgjO.js → hcaptcha-Dt3ELLlP.js} +4 -4
- 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-m51iPyO1.js} +3 -3
- package/dist/chunks/{mollie-Bibhl67p.js → mollie-Bn0PX173.js} +2 -2
- package/dist/chunks/{moneris-H2wSqk9h.js → moneris-BRbUvI4t.js} +3 -3
- package/dist/chunks/opayo-BwWdInEP.js +188 -0
- package/dist/chunks/{paddle-DkvIxQdG.js → paddle-CympHVvd.js} +4 -4
- package/dist/chunks/{password-validation-D06uH9va.js → password-validation-C8_uO_c_.js} +18 -12
- package/dist/chunks/{paypal-CQpAF7Ua.js → paypal-h75h6wae.js} +8 -6
- package/dist/chunks/{payway-CwDkC7YZ.js → payway-C9rHTCC_.js} +4 -4
- package/dist/chunks/{phone-country-D3ayr60L.js → phone-country-B8fv-L5_.js} +80 -63
- package/dist/chunks/{place-kit-BGHklIZ-.js → place-kit-BnZGQ-L1.js} +11 -11
- 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-CUs8BO6V.js} +4 -4
- package/dist/chunks/{recaptcha-shared-CLYJvojk.js → recaptcha-shared-DTbTw-MF.js} +2 -2
- package/dist/chunks/{recaptcha-v2-checkbox-Cy-0PEPc.js → recaptcha-v2-checkbox-P1McW4Pv.js} +4 -4
- package/dist/chunks/{recaptcha-v2-invisible-BwRH540O.js → recaptcha-v2-invisible-FGDqozSP.js} +4 -4
- package/dist/chunks/{recaptcha-v3-No4Ykrhk.js → recaptcha-v3-CflUHeZD.js} +4 -4
- package/dist/chunks/{repeater-BVnPUqTj.js → repeater-CyhDbozO.js} +60 -40
- 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/{scripts-CbQ7agX3.js → scripts-DrccjrFv.js} +1 -1
- 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/skip-CEW89ExY.js +7 -0
- package/dist/chunks/{snaptcha-DKx98oon.js → snaptcha-C3QLYxFT.js} +2 -2
- package/dist/chunks/{square-DwdcOI1G.js → square-C1z5DPVw.js} +9 -7
- package/dist/chunks/{stripe-DaoG2FT1.js → stripe-Dmkdkq1y.js} +11 -12
- package/dist/chunks/{summary-Dks0gXS3.js → summary-Bn-g5SDx.js} +48 -46
- 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-j7MlLLCc.js} +22 -16
- 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-ptihQfLl.js} +4 -4
- package/dist/chunks/{upload-manager-W-QDgxKD.js → upload-manager-BW7l-BhF.js} +459 -387
- 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 +1779 -1415
- 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 +3 -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 +12 -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/async.d.ts +1 -0
- package/dist/js/utils/async.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 +132 -86
- 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 +51 -45
- package/src/js/core/submit-result-ui.ts +25 -68
- 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 +102 -40
- 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 +14 -8
- 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 +11 -9
- package/src/js/modules/fields/address-state.ts +94 -35
- 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 +28 -9
- package/src/js/modules/fields/conditions/config.ts +17 -20
- package/src/js/modules/fields/conditions/effects.ts +25 -29
- 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 +65 -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 +40 -7
- package/src/js/modules/fields/file-upload.ts +62 -23
- 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 +35 -8
- package/src/js/modules/fields/repeater.ts +60 -7
- 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 +244 -67
- 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/async.ts +34 -0
- 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 +14 -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 +49 -61
- package/dist/chunks/address-state-BwE01m2_.js +0 -344
- 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,424 +0,0 @@
|
|
|
1
|
-
import { t as e } from "./debug-BV0DvdHx.js";
|
|
2
|
-
import { t } from "./field-references.keys-58ZSTrCW.js";
|
|
3
|
-
import { n } from "./shared-Bx9s0i0P.js";
|
|
4
|
-
import { a as r, o as i } from "./dist-D6i-VNgM.js";
|
|
5
|
-
//#region src/js/modules/fields/conditions/config.ts
|
|
6
|
-
var a = "[data-formie-conditions]";
|
|
7
|
-
function o(e) {
|
|
8
|
-
if (!e || typeof e != "object") return null;
|
|
9
|
-
let t = e, n = t.transformerParams;
|
|
10
|
-
return {
|
|
11
|
-
raw: typeof t.raw == "string" ? t.raw : "",
|
|
12
|
-
target: typeof t.target == "string" ? t.target : "",
|
|
13
|
-
handle: typeof t.handle == "string" ? t.handle : "",
|
|
14
|
-
selector: typeof t.selector == "string" ? t.selector : "",
|
|
15
|
-
defaultValue: typeof t.defaultValue == "string" ? t.defaultValue : "",
|
|
16
|
-
transformerId: typeof t.transformerId == "string" ? t.transformerId : "",
|
|
17
|
-
transformerParams: n && typeof n == "object" ? Object.fromEntries(Object.entries(n).map(([e, t]) => [e, String(t ?? "")])) : {},
|
|
18
|
-
isValid: t.isValid !== !1
|
|
19
|
-
};
|
|
20
|
-
}
|
|
21
|
-
function s(e) {
|
|
22
|
-
let t = Array.from(e.querySelectorAll(a));
|
|
23
|
-
return e.matches("[data-formie-conditions]") ? [e, ...t] : t;
|
|
24
|
-
}
|
|
25
|
-
function c(e) {
|
|
26
|
-
let t = e.getAttribute("data-formie-conditions");
|
|
27
|
-
if (!t) return null;
|
|
28
|
-
try {
|
|
29
|
-
let e = JSON.parse(t), n = Array.isArray(e.conditions) ? e.conditions.filter((e) => {
|
|
30
|
-
if (!e || typeof e != "object") return !1;
|
|
31
|
-
let t = e;
|
|
32
|
-
return typeof t.field == "string" && typeof t.condition == "string";
|
|
33
|
-
}).map((e) => {
|
|
34
|
-
let t = e;
|
|
35
|
-
return {
|
|
36
|
-
field: e.field,
|
|
37
|
-
source: o(t.source),
|
|
38
|
-
condition: e.condition,
|
|
39
|
-
value: e.value
|
|
40
|
-
};
|
|
41
|
-
}) : [];
|
|
42
|
-
return {
|
|
43
|
-
showRule: e.showRule === "hide" ? "hide" : "show",
|
|
44
|
-
conditionRule: e.conditionRule === "any" ? "any" : "all",
|
|
45
|
-
clearOnHide: e.clearOnHide !== !1,
|
|
46
|
-
isNested: !!e.isNested,
|
|
47
|
-
conditions: n
|
|
48
|
-
};
|
|
49
|
-
} catch (e) {
|
|
50
|
-
return console.error("[formie] Invalid condition JSON.", e), null;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
//#endregion
|
|
54
|
-
//#region src/js/modules/fields/conditions/effects.ts
|
|
55
|
-
var l = "data-formie-conditions-disabled", u = "data-formie-preserve-disabled", d = "data-formie-conditionally-hidden", f = "data-formie-page-hidden", p = "formie-conditionally-hidden", m = "fui-cp-muted-conditional-field", h = "fui-cp-muted-conditional-field--expanded", g = "data-formie-cp-muted", _ = "formie-page-hidden", v = "data-formie-row-hidden", y = "formie-row-hidden", b = "data-formie-field-count", x = "[data-formie-row], [data-formie-subfield-row], [data-formie-nested-field-row]", ee = ":scope > [data-formie-field]";
|
|
56
|
-
function S(e) {
|
|
57
|
-
e.querySelectorAll("input, select, textarea").forEach((e) => {
|
|
58
|
-
!(e instanceof HTMLInputElement) && !(e instanceof HTMLSelectElement) && !(e instanceof HTMLTextAreaElement) || (e instanceof HTMLInputElement && (e.type === "checkbox" || e.type === "radio" ? e.checked = !1 : e.type !== "hidden" && (e.value = "")), e instanceof HTMLSelectElement && (e.multiple ? Array.from(e.options).forEach((e) => {
|
|
59
|
-
e.selected = !1;
|
|
60
|
-
}) : e.selectedIndex = 0), e instanceof HTMLTextAreaElement && (e.value = ""));
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
function te(e, t) {
|
|
64
|
-
let n = e.hasAttribute("data-formie-page"), r = n ? f : d, i = n ? _ : p, a = e.hasAttribute(r);
|
|
65
|
-
return t ? (a || e.setAttribute(r, "true"), e.classList.contains(i) || e.classList.add(i)) : (a && e.removeAttribute(r), e.classList.contains(i) && e.classList.remove(i)), a !== t;
|
|
66
|
-
}
|
|
67
|
-
var C = "button[type=\"submit\"], button[data-formie-action], input[type=\"submit\"]";
|
|
68
|
-
function w(e, t) {
|
|
69
|
-
if (e instanceof HTMLButtonElement || e instanceof HTMLInputElement) {
|
|
70
|
-
if (t) {
|
|
71
|
-
e.hasAttribute(l) || (e.hasAttribute("disabled") && e.setAttribute(u, "true"), e.setAttribute(l, "true")), e.setAttribute("disabled", "true");
|
|
72
|
-
return;
|
|
73
|
-
}
|
|
74
|
-
e.hasAttribute(l) && (e.hasAttribute(u) ? (e.setAttribute("disabled", "true"), e.removeAttribute(u)) : e.removeAttribute("disabled"), e.removeAttribute(l));
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
function T(e, t) {
|
|
78
|
-
e.matches(C) && w(e, t), e.querySelectorAll(C).forEach((e) => {
|
|
79
|
-
w(e, t);
|
|
80
|
-
}), e.querySelectorAll("input, textarea, select").forEach((e) => {
|
|
81
|
-
if (t) {
|
|
82
|
-
e.hasAttribute(l) || (e.hasAttribute("disabled") && e.setAttribute(u, "true"), e.setAttribute(l, "true")), e.setAttribute("disabled", "true");
|
|
83
|
-
return;
|
|
84
|
-
}
|
|
85
|
-
e.hasAttribute(l) && (e.hasAttribute(u) ? (e.setAttribute("disabled", "true"), e.removeAttribute(u)) : e.removeAttribute("disabled"), e.removeAttribute(l));
|
|
86
|
-
});
|
|
87
|
-
}
|
|
88
|
-
function ne(e) {
|
|
89
|
-
return !e.hasAttribute(d) && !e.hasAttribute(f) && !e.hasAttribute(v) && !e.hasAttribute("hidden");
|
|
90
|
-
}
|
|
91
|
-
function E(e) {
|
|
92
|
-
let t = Array.from(e.querySelectorAll(ee)).filter((e) => ne(e)).length;
|
|
93
|
-
if (t > 0) {
|
|
94
|
-
let n = String(t);
|
|
95
|
-
e.getAttribute(b) !== n && e.setAttribute(b, n), e.hasAttribute(v) && e.removeAttribute(v), e.classList.contains(y) && e.classList.remove(y);
|
|
96
|
-
return;
|
|
97
|
-
}
|
|
98
|
-
e.hasAttribute(b) && e.removeAttribute(b), e.hasAttribute(v) || e.setAttribute(v, "true"), e.classList.contains(y) || e.classList.add(y);
|
|
99
|
-
}
|
|
100
|
-
function D(e) {
|
|
101
|
-
e.removeAttribute(g), e.classList.remove(m), e.classList.remove(h);
|
|
102
|
-
}
|
|
103
|
-
function O(e) {
|
|
104
|
-
e.removeAttribute(d), e.removeAttribute(f), e.classList.remove(p), e.classList.remove(_);
|
|
105
|
-
}
|
|
106
|
-
function k(e) {
|
|
107
|
-
let t = e.closest(x);
|
|
108
|
-
for (; t;) E(t), t = t.parentElement?.closest(x) || null;
|
|
109
|
-
}
|
|
110
|
-
function A(e, t, n, r = {}) {
|
|
111
|
-
if (r.displayMode === "muted") return j(e, t);
|
|
112
|
-
let i = !1;
|
|
113
|
-
return (e.hasAttribute(g) || e.classList.contains(m) || e.classList.contains(h)) && (D(e), i = !0), i = te(e, t) || i, T(e, t), k(e), t && n && i && S(e), i;
|
|
114
|
-
}
|
|
115
|
-
function j(e, t) {
|
|
116
|
-
let n = !1;
|
|
117
|
-
return t ? ((e.hasAttribute(d) || e.hasAttribute(f) || e.classList.contains(p) || e.classList.contains(_)) && (O(e), n = !0), e.hasAttribute(g) || (e.setAttribute(g, "true"), n = !0), e.classList.contains(m) || (e.classList.add(m), n = !0)) : ((e.hasAttribute(g) || e.classList.contains(m) || e.classList.contains(h)) && (D(e), n = !0), (e.hasAttribute(d) || e.hasAttribute(f) || e.classList.contains(p) || e.classList.contains(_)) && (O(e), n = !0)), k(e), n;
|
|
118
|
-
}
|
|
119
|
-
//#endregion
|
|
120
|
-
//#region src/js/modules/fields/conditions/references.ts
|
|
121
|
-
var M = "input, select, textarea", re = "[data-formie-repeater-item], [data-formie-table-row]";
|
|
122
|
-
function N(e) {
|
|
123
|
-
return e instanceof HTMLInputElement || e instanceof HTMLSelectElement || e instanceof HTMLTextAreaElement;
|
|
124
|
-
}
|
|
125
|
-
function ie(e) {
|
|
126
|
-
let t = e.querySelector(M);
|
|
127
|
-
if (!t) return null;
|
|
128
|
-
let n = t.getAttribute("name") || "", r = Array.from(n.matchAll(/\[(\d+)\]/g));
|
|
129
|
-
return r.length && r[r.length - 1]?.[1] || null;
|
|
130
|
-
}
|
|
131
|
-
function P(e) {
|
|
132
|
-
return e.closest(re);
|
|
133
|
-
}
|
|
134
|
-
function F(e) {
|
|
135
|
-
return Array.from(e.querySelectorAll(M)).filter((e) => N(e));
|
|
136
|
-
}
|
|
137
|
-
function I(e) {
|
|
138
|
-
let t = e.getAttribute("name") || "";
|
|
139
|
-
return Array.from(t.matchAll(/\[([^\]]+)\]/g)).map((e) => e[1] || "").filter(Boolean);
|
|
140
|
-
}
|
|
141
|
-
function L(e, t) {
|
|
142
|
-
if (!t) return !0;
|
|
143
|
-
let n = t.split(/[.:]/).filter(Boolean);
|
|
144
|
-
if (!n.length) return !0;
|
|
145
|
-
let r = I(e);
|
|
146
|
-
return r.length < n.length ? !1 : n.every((e, t) => r[r.length - n.length + t] === e);
|
|
147
|
-
}
|
|
148
|
-
function R(e, t) {
|
|
149
|
-
if (!t) return e;
|
|
150
|
-
let n = e.filter((e) => L(e, t));
|
|
151
|
-
return n.length ? n : e;
|
|
152
|
-
}
|
|
153
|
-
function z(e, t) {
|
|
154
|
-
let n = P(e);
|
|
155
|
-
if (!n) return t;
|
|
156
|
-
let r = t.filter((e) => P(e) === n);
|
|
157
|
-
return r.length ? r : t;
|
|
158
|
-
}
|
|
159
|
-
function B(e) {
|
|
160
|
-
return e.source?.target === "field" && e.source.handle ? e.source : null;
|
|
161
|
-
}
|
|
162
|
-
function V(e, r, i) {
|
|
163
|
-
let a = B(i);
|
|
164
|
-
if (!a || a.target !== "field" || !a.handle) return [];
|
|
165
|
-
let o = n(a.handle), s = Array.from(e.querySelectorAll(`[data-formie-field-handle="${o}"]`));
|
|
166
|
-
if (s.length) return z(r, s).flatMap((e) => R(F(e), a.selector));
|
|
167
|
-
let c = n(t(a.handle)), l = Array.from(e.querySelectorAll(`[name="${c}"]`)).filter((e) => N(e)), u = Array.from(e.querySelectorAll(`[name="${c}[]"]`)).filter((e) => N(e));
|
|
168
|
-
if (l.length || u.length) return z(r, [...l, ...u]);
|
|
169
|
-
if (!a.handle.includes("__ROW__")) return [];
|
|
170
|
-
let d = ie(r);
|
|
171
|
-
if (d) {
|
|
172
|
-
let r = n(t(a.handle.replace(/__ROW__/g, d))), i = Array.from(e.querySelectorAll(`[name="${r}"]`)).filter((e) => N(e)), o = Array.from(e.querySelectorAll(`[name="${r}[]"]`)).filter((e) => N(e));
|
|
173
|
-
if (i.length || o.length) return [...i, ...o];
|
|
174
|
-
}
|
|
175
|
-
let f = t(a.handle).replace(/[.*+?^${}()|[\]\\]/g, "\\$&").replace(/__ROW__/g, "\\d+"), p = new RegExp(f);
|
|
176
|
-
return Array.from(e.querySelectorAll("[name]")).filter((e) => N(e) && p.test(e.getAttribute("name") || ""));
|
|
177
|
-
}
|
|
178
|
-
//#endregion
|
|
179
|
-
//#region src/js/modules/fields/conditions/transforms.ts
|
|
180
|
-
function H(e) {
|
|
181
|
-
return e == null ? "" : String(e);
|
|
182
|
-
}
|
|
183
|
-
function U(e) {
|
|
184
|
-
if (typeof e == "boolean") return e;
|
|
185
|
-
if (typeof e == "number") return e !== 0;
|
|
186
|
-
let t = H(e).trim().toLowerCase();
|
|
187
|
-
return !(!t || [
|
|
188
|
-
"0",
|
|
189
|
-
"false",
|
|
190
|
-
"no",
|
|
191
|
-
"off"
|
|
192
|
-
].includes(t));
|
|
193
|
-
}
|
|
194
|
-
function W(e) {
|
|
195
|
-
return e.toLowerCase().replace(/\b\w/g, (e) => e.toUpperCase());
|
|
196
|
-
}
|
|
197
|
-
function G(e, t) {
|
|
198
|
-
let n = Number.isFinite(Number(t.decimals)) ? Number(t.decimals) : 0, r = t.decimalPoint ?? ".", i = t.thousandsSeparator ?? ",", [a, o = ""] = e.toFixed(n).split("."), s = a.replace(/\B(?=(\d{3})+(?!\d))/g, i);
|
|
199
|
-
return n === 0 ? s : `${s}${r}${o}`;
|
|
200
|
-
}
|
|
201
|
-
function K(e) {
|
|
202
|
-
return String(e).padStart(2, "0");
|
|
203
|
-
}
|
|
204
|
-
function q(e, t) {
|
|
205
|
-
return [
|
|
206
|
-
["Y", String(e.getFullYear())],
|
|
207
|
-
["m", K(e.getMonth() + 1)],
|
|
208
|
-
["d", K(e.getDate())],
|
|
209
|
-
["j", String(e.getDate())],
|
|
210
|
-
["H", K(e.getHours())],
|
|
211
|
-
["h", K((e.getHours() + 11) % 12 + 1)],
|
|
212
|
-
["i", K(e.getMinutes())],
|
|
213
|
-
["A", e.getHours() >= 12 ? "PM" : "AM"],
|
|
214
|
-
["F", e.toLocaleString(void 0, { month: "long" })]
|
|
215
|
-
].reduce((e, [t, n]) => e.replaceAll(t, n), t);
|
|
216
|
-
}
|
|
217
|
-
function J(e) {
|
|
218
|
-
switch (e) {
|
|
219
|
-
case "datetimeUs12": return "m/d/Y h:i A";
|
|
220
|
-
case "datetimeEu12": return "d/m/Y h:i A";
|
|
221
|
-
case "datetimeEu24": return "d/m/Y H:i";
|
|
222
|
-
case "datetimeIso24": return "Y-m-d H:i";
|
|
223
|
-
case "dateUs": return "m/d/Y";
|
|
224
|
-
case "dateEu": return "d/m/Y";
|
|
225
|
-
case "isoDate": return "Y-m-d";
|
|
226
|
-
case "dateLong": return "F j, Y";
|
|
227
|
-
case "time12": return "h:i A";
|
|
228
|
-
case "time24": return "H:i";
|
|
229
|
-
default: return "";
|
|
230
|
-
}
|
|
231
|
-
}
|
|
232
|
-
function ae(e, t) {
|
|
233
|
-
let n = t.transformerId, r = t.transformerParams;
|
|
234
|
-
switch (n) {
|
|
235
|
-
case "round":
|
|
236
|
-
case "floor":
|
|
237
|
-
case "ceil": {
|
|
238
|
-
let t = Number(e);
|
|
239
|
-
return Number.isFinite(t) ? String(n === "round" ? Math.round(t) : n === "floor" ? Math.floor(t) : Math.ceil(t)) : e;
|
|
240
|
-
}
|
|
241
|
-
case "format": {
|
|
242
|
-
let t = Number(e);
|
|
243
|
-
if (Number.isFinite(t) && e.trim() !== "") return G(t, r);
|
|
244
|
-
let n = r.preset || "", i = n === "custom" ? r.pattern || "" : J(n);
|
|
245
|
-
if (!i) return e;
|
|
246
|
-
let a = new Date(e);
|
|
247
|
-
return Number.isNaN(a.getTime()) ? e : q(a, i);
|
|
248
|
-
}
|
|
249
|
-
case "lower": return e.toLowerCase();
|
|
250
|
-
case "upper": return e.toUpperCase();
|
|
251
|
-
case "title": return W(e);
|
|
252
|
-
case "capitalize": return e && e.charAt(0).toUpperCase() + e.slice(1);
|
|
253
|
-
case "replace": {
|
|
254
|
-
let t = r.search || "";
|
|
255
|
-
return t ? e.split(t).join(r.replace || "") : e;
|
|
256
|
-
}
|
|
257
|
-
case "truncate": {
|
|
258
|
-
let t = Math.max(1, Number.parseInt(r.length || "50", 10) || 50), n = r.suffix || "...";
|
|
259
|
-
return e.length <= t ? e : `${e.slice(0, Math.max(0, t - n.length))}${n}`;
|
|
260
|
-
}
|
|
261
|
-
case "map": return U(e) ? r.trueLabel || "Yes" : r.falseLabel || "No";
|
|
262
|
-
default: return e;
|
|
263
|
-
}
|
|
264
|
-
}
|
|
265
|
-
function oe(e, t) {
|
|
266
|
-
if (!t) return e;
|
|
267
|
-
let n = t.transformerId ? e.map((e) => ae(e, t)) : e;
|
|
268
|
-
return (n.length === 0 || n.every((e) => e.trim() === "")) && t.defaultValue ? [t.defaultValue] : n;
|
|
269
|
-
}
|
|
270
|
-
//#endregion
|
|
271
|
-
//#region src/js/modules/fields/conditions/values.ts
|
|
272
|
-
function se(e, t) {
|
|
273
|
-
return e.name || `__condition_input_${t}`;
|
|
274
|
-
}
|
|
275
|
-
function Y(e) {
|
|
276
|
-
return (e.id ? e.ownerDocument.querySelector(`label[for="${e.id}"]`)?.textContent?.trim() : "") || e.closest("label")?.textContent?.trim() || "";
|
|
277
|
-
}
|
|
278
|
-
function ce(e, t = "") {
|
|
279
|
-
let n = e[0];
|
|
280
|
-
if (!n) return [];
|
|
281
|
-
if (n instanceof HTMLInputElement) {
|
|
282
|
-
if (n.type === "checkbox") {
|
|
283
|
-
let n = e.filter((e) => e instanceof HTMLInputElement && e.checked);
|
|
284
|
-
return t === "label" ? n.map((e) => Y(e)).filter(Boolean) : n.map((e) => e.value);
|
|
285
|
-
}
|
|
286
|
-
if (n.type === "radio") {
|
|
287
|
-
let n = e.filter((e) => e instanceof HTMLInputElement && e.checked);
|
|
288
|
-
return t === "label" ? n.map((e) => Y(e)).filter(Boolean) : n.map((e) => e.value);
|
|
289
|
-
}
|
|
290
|
-
if (n.type === "file") return Array.from(n.files || []).map((e) => e.name);
|
|
291
|
-
}
|
|
292
|
-
return n instanceof HTMLSelectElement && n.multiple ? t === "label" ? Array.from(n.selectedOptions).map((e) => e.label || e.text) : Array.from(n.selectedOptions).map((e) => e.value) : n instanceof HTMLSelectElement && t === "label" ? Array.from(n.selectedOptions).map((e) => e.label || e.text) : e.map((e) => e.value);
|
|
293
|
-
}
|
|
294
|
-
function X(e) {
|
|
295
|
-
return ["input", "change"];
|
|
296
|
-
}
|
|
297
|
-
function le(e, t = null) {
|
|
298
|
-
let n = /* @__PURE__ */ new Map();
|
|
299
|
-
return e.forEach((e, t) => {
|
|
300
|
-
let r = se(e, t), i = n.get(r) || [];
|
|
301
|
-
i.push(e), n.set(r, i);
|
|
302
|
-
}), oe(Array.from(n.values()).flatMap((e) => ce(e, t?.selector || "")), t);
|
|
303
|
-
}
|
|
304
|
-
//#endregion
|
|
305
|
-
//#region src/js/modules/fields/conditions/evaluator.ts
|
|
306
|
-
function ue(e) {
|
|
307
|
-
return e.closest("[data-formie-conditionally-hidden]") || e.closest("[data-formie-page-hidden]") || e.closest("[hidden]") || e.closest("[aria-hidden=\"true\"]") ? !1 : !!(e.offsetWidth || e.offsetHeight || e.getClientRects().length);
|
|
308
|
-
}
|
|
309
|
-
function de(e) {
|
|
310
|
-
return e.length ? e.some((e) => ue(e)) : null;
|
|
311
|
-
}
|
|
312
|
-
function fe(e, t) {
|
|
313
|
-
return r(e, e.conditions.map((e) => {
|
|
314
|
-
let n = t(e);
|
|
315
|
-
return i(e, le(n, B(e)), { visibility: de(n) });
|
|
316
|
-
}));
|
|
317
|
-
}
|
|
318
|
-
//#endregion
|
|
319
|
-
//#region src/js/modules/fields/conditions.ts
|
|
320
|
-
var Z = 4, Q = e("conditions");
|
|
321
|
-
function $(e) {
|
|
322
|
-
let t = /* @__PURE__ */ new Set();
|
|
323
|
-
return e.filter((e) => t.has(e) ? !1 : (t.add(e), !0));
|
|
324
|
-
}
|
|
325
|
-
var pe = {
|
|
326
|
-
id: "conditions",
|
|
327
|
-
kind: "field",
|
|
328
|
-
match: (e) => e.target instanceof HTMLElement && (e.target.matches("[data-formie-conditions]") || !!e.target.querySelector("[data-formie-conditions]")),
|
|
329
|
-
setup: async (e) => {
|
|
330
|
-
let t = e.target instanceof HTMLElement ? e.target : e.root;
|
|
331
|
-
if (!s(t).length) {
|
|
332
|
-
Q.log("No condition nodes in scope.");
|
|
333
|
-
return;
|
|
334
|
-
}
|
|
335
|
-
let n = [], r = [], i = !1, a = !1, o = () => {
|
|
336
|
-
n.forEach((e) => {
|
|
337
|
-
e();
|
|
338
|
-
}), n.length = 0;
|
|
339
|
-
}, l = () => s(t).flatMap((e) => {
|
|
340
|
-
let n = c(e);
|
|
341
|
-
return !n || !n.conditions.length ? [] : [{
|
|
342
|
-
node: e,
|
|
343
|
-
settings: n,
|
|
344
|
-
sourceInputs: $(n.conditions.flatMap((n) => V(t, e, n)))
|
|
345
|
-
}];
|
|
346
|
-
}), u = e.options?.cpDisplayMode === "muted" ? "muted" : "hide", d = !1, f = () => {
|
|
347
|
-
let n = !1;
|
|
348
|
-
return r.forEach((r) => {
|
|
349
|
-
let i = fe(r.settings, (e) => V(t, r.node, e)), a = r.node.hasAttribute("data-formie-page") ? "hide" : u, o = A(r.node, i.shouldHide, r.settings.clearOnHide, { displayMode: a });
|
|
350
|
-
n ||= o, Q.log("Condition evaluated.", {
|
|
351
|
-
shouldHide: i.shouldHide,
|
|
352
|
-
finalResult: i.finalResult,
|
|
353
|
-
stateChanged: o
|
|
354
|
-
}), e.emit("formie:conditions:evaluated", {
|
|
355
|
-
node: r.node,
|
|
356
|
-
shouldHide: i.shouldHide,
|
|
357
|
-
finalResult: i.finalResult,
|
|
358
|
-
clearOnHide: r.settings.clearOnHide
|
|
359
|
-
});
|
|
360
|
-
}), n;
|
|
361
|
-
}, p = () => {
|
|
362
|
-
if (!d) {
|
|
363
|
-
d = !0;
|
|
364
|
-
try {
|
|
365
|
-
for (let e = 0; e < Z && f(); e += 1) e === Z - 1 && Q.warn("Reached max evaluation passes.", { maxPasses: Z });
|
|
366
|
-
} finally {
|
|
367
|
-
d = !1;
|
|
368
|
-
}
|
|
369
|
-
}
|
|
370
|
-
}, m = () => {
|
|
371
|
-
d || i || (i = !0, requestAnimationFrame(() => {
|
|
372
|
-
i = !1, !d && p();
|
|
373
|
-
}));
|
|
374
|
-
}, h = () => {
|
|
375
|
-
if ($(r.flatMap((e) => e.sourceInputs)).forEach((e) => {
|
|
376
|
-
let t = () => {
|
|
377
|
-
m();
|
|
378
|
-
};
|
|
379
|
-
X(e).forEach((n) => {
|
|
380
|
-
e.addEventListener(n, t);
|
|
381
|
-
}), n.push(() => {
|
|
382
|
-
X(e).forEach((n) => {
|
|
383
|
-
e.removeEventListener(n, t);
|
|
384
|
-
});
|
|
385
|
-
});
|
|
386
|
-
}), e.form) {
|
|
387
|
-
let t = () => {
|
|
388
|
-
window.setTimeout(() => {
|
|
389
|
-
m();
|
|
390
|
-
}, 0);
|
|
391
|
-
};
|
|
392
|
-
e.form.addEventListener("reset", t), n.push(() => {
|
|
393
|
-
e.form?.removeEventListener("reset", t);
|
|
394
|
-
});
|
|
395
|
-
}
|
|
396
|
-
}, g = () => {
|
|
397
|
-
o(), r = l(), h(), Q.log("Rebuilt condition graph.", { entryCount: r.length }), m();
|
|
398
|
-
}, _ = () => {
|
|
399
|
-
d || a || (a = !0, requestAnimationFrame(() => {
|
|
400
|
-
a = !1, !d && g();
|
|
401
|
-
}));
|
|
402
|
-
}, v = new MutationObserver((e) => {
|
|
403
|
-
if (d) return;
|
|
404
|
-
let t = e.some((e) => e.type === "childList" && (e.addedNodes.length > 0 || e.removedNodes.length > 0)), n = e.some((e) => e.type === "attributes");
|
|
405
|
-
t ? _() : n && m();
|
|
406
|
-
});
|
|
407
|
-
return v.observe(t, {
|
|
408
|
-
childList: !0,
|
|
409
|
-
subtree: !0,
|
|
410
|
-
attributes: !0,
|
|
411
|
-
attributeFilter: [
|
|
412
|
-
"hidden",
|
|
413
|
-
"aria-hidden",
|
|
414
|
-
"data-formie-conditionally-hidden",
|
|
415
|
-
"data-formie-page-hidden",
|
|
416
|
-
"data-formie-row-hidden"
|
|
417
|
-
]
|
|
418
|
-
}), g(), await e.emit("formie:module:conditions:init", { count: r.length }), Q.log("Module setup complete.", { entryCount: r.length }), { destroy: () => {
|
|
419
|
-
o(), v.disconnect(), Q.log("Module destroy."), e.emit("formie:module:conditions:destroy", {});
|
|
420
|
-
} };
|
|
421
|
-
}
|
|
422
|
-
};
|
|
423
|
-
//#endregion
|
|
424
|
-
export { pe as conditionsModule };
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
//#region src/js/utils/country-from-ip.ts
|
|
2
|
-
var e = "formie/address/country-from-ip", t = null;
|
|
3
|
-
function n(e) {
|
|
4
|
-
return new URL(e.startsWith("/") ? e : `/actions/${e}`, window.location.origin).toString();
|
|
5
|
-
}
|
|
6
|
-
async function r(r = e) {
|
|
7
|
-
return t ||= (async () => {
|
|
8
|
-
try {
|
|
9
|
-
let e = await fetch(n(r), { headers: { Accept: "application/json" } });
|
|
10
|
-
if (!e.ok) return null;
|
|
11
|
-
let t = await e.json();
|
|
12
|
-
return t?.countryCode ? t : null;
|
|
13
|
-
} catch {
|
|
14
|
-
return null;
|
|
15
|
-
}
|
|
16
|
-
})(), t;
|
|
17
|
-
}
|
|
18
|
-
function i(t = e) {
|
|
19
|
-
return (e) => {
|
|
20
|
-
r(t).then((t) => {
|
|
21
|
-
e(t?.countryCode?.toLowerCase() || "");
|
|
22
|
-
});
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
//#endregion
|
|
26
|
-
export { r as n, i as t };
|
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
import { n as e, r as t, t as n } from "./field-references.keys-58ZSTrCW.js";
|
|
2
|
-
//#region src/js/utils/field-references.parser.ts
|
|
3
|
-
function r(e) {
|
|
4
|
-
let t = e.split(";").map((e) => e.trim()).filter(Boolean);
|
|
5
|
-
if (!t.length) return {
|
|
6
|
-
source: "",
|
|
7
|
-
transforms: []
|
|
8
|
-
};
|
|
9
|
-
let [n, ...r] = t, i = [], a = null;
|
|
10
|
-
return r.forEach((e) => {
|
|
11
|
-
if (e.startsWith("transform=")) {
|
|
12
|
-
a && i.push(a), a = {
|
|
13
|
-
id: decodeURIComponent(e.slice(10) || "").trim(),
|
|
14
|
-
params: {}
|
|
15
|
-
};
|
|
16
|
-
return;
|
|
17
|
-
}
|
|
18
|
-
if (!a || !e.includes("=")) return;
|
|
19
|
-
let [t, n] = e.split("=", 2), r = (t || "").trim();
|
|
20
|
-
!r || r === "transform" || (a.params[r] = decodeURIComponent(n || "").trim());
|
|
21
|
-
}), a && i.push(a), {
|
|
22
|
-
source: n || "",
|
|
23
|
-
transforms: i
|
|
24
|
-
};
|
|
25
|
-
}
|
|
26
|
-
function i(e) {
|
|
27
|
-
let n = String(e || "").trim();
|
|
28
|
-
if (!n) return {
|
|
29
|
-
raw: n,
|
|
30
|
-
target: "",
|
|
31
|
-
key: "",
|
|
32
|
-
selector: "",
|
|
33
|
-
defaultValue: "",
|
|
34
|
-
transforms: [],
|
|
35
|
-
isToken: !1,
|
|
36
|
-
isValid: !1
|
|
37
|
-
};
|
|
38
|
-
let i = n.match(/^\{([a-zA-Z]+)(?::(.*))?\}$/);
|
|
39
|
-
if (!i) return {
|
|
40
|
-
raw: n,
|
|
41
|
-
target: "",
|
|
42
|
-
key: t(n),
|
|
43
|
-
selector: "",
|
|
44
|
-
defaultValue: "",
|
|
45
|
-
transforms: [],
|
|
46
|
-
isToken: !1,
|
|
47
|
-
isValid: !0
|
|
48
|
-
};
|
|
49
|
-
let a = (i[1] || "").trim().toLowerCase(), [o, s = ""] = (i[2] || "").trim().split("|", 2), { source: c, transforms: l } = r(o || "");
|
|
50
|
-
if (a !== "field") return {
|
|
51
|
-
raw: n,
|
|
52
|
-
target: "",
|
|
53
|
-
key: "",
|
|
54
|
-
selector: "",
|
|
55
|
-
defaultValue: s.trim(),
|
|
56
|
-
transforms: l,
|
|
57
|
-
isToken: !0,
|
|
58
|
-
isValid: !1
|
|
59
|
-
};
|
|
60
|
-
let u = c.indexOf(":"), d = u === -1 ? c : c.slice(0, u), f = u === -1 ? "" : c.slice(u + 1), p = t(d);
|
|
61
|
-
return {
|
|
62
|
-
raw: n,
|
|
63
|
-
target: "field",
|
|
64
|
-
key: p,
|
|
65
|
-
selector: f.trim(),
|
|
66
|
-
defaultValue: s.trim(),
|
|
67
|
-
transforms: l,
|
|
68
|
-
isToken: !0,
|
|
69
|
-
isValid: p !== ""
|
|
70
|
-
};
|
|
71
|
-
}
|
|
72
|
-
//#endregion
|
|
73
|
-
//#region src/js/utils/field-references.registry.ts
|
|
74
|
-
function a(e) {
|
|
75
|
-
return e instanceof HTMLInputElement || e instanceof HTMLTextAreaElement || e instanceof HTMLSelectElement;
|
|
76
|
-
}
|
|
77
|
-
function o(e, t, n) {
|
|
78
|
-
let r = t.trim(), i = String(n.name || "").trim();
|
|
79
|
-
if (!r || !i) return;
|
|
80
|
-
let a = e.get(r) || {
|
|
81
|
-
key: r,
|
|
82
|
-
names: [],
|
|
83
|
-
inputs: []
|
|
84
|
-
};
|
|
85
|
-
a.names.includes(i) || a.names.push(i), a.inputs.includes(n) || a.inputs.push(n), e.set(r, a);
|
|
86
|
-
}
|
|
87
|
-
function s(t) {
|
|
88
|
-
let n = /* @__PURE__ */ new Map();
|
|
89
|
-
return Array.from(t.querySelectorAll("[name]")).filter((e) => a(e)).forEach((t) => {
|
|
90
|
-
let r = e(t.name);
|
|
91
|
-
r && o(n, r, t);
|
|
92
|
-
}), n;
|
|
93
|
-
}
|
|
94
|
-
//#endregion
|
|
95
|
-
//#region src/js/utils/field-references.resolver.ts
|
|
96
|
-
function c(e) {
|
|
97
|
-
if (!e.length) return "";
|
|
98
|
-
let t = e[0];
|
|
99
|
-
if (t instanceof HTMLSelectElement && t.multiple) return Array.from(t.selectedOptions).map((e) => e.value);
|
|
100
|
-
if (e.some((e) => e instanceof HTMLInputElement && (e.type === "checkbox" || e.type === "radio"))) {
|
|
101
|
-
let t = e.flatMap((e) => !(e instanceof HTMLInputElement) || !e.checked ? [] : [e.value]);
|
|
102
|
-
return t.length > 1 ? t : t[0] || "";
|
|
103
|
-
}
|
|
104
|
-
return t.value;
|
|
105
|
-
}
|
|
106
|
-
function l(e, n) {
|
|
107
|
-
return e.get(t(n)) || null;
|
|
108
|
-
}
|
|
109
|
-
function u(e, t) {
|
|
110
|
-
let n = i(e), r = n.key, a = l(t, r);
|
|
111
|
-
if (!a) return {
|
|
112
|
-
key: r,
|
|
113
|
-
value: n.defaultValue,
|
|
114
|
-
found: !1
|
|
115
|
-
};
|
|
116
|
-
let o = c(a.inputs);
|
|
117
|
-
return {
|
|
118
|
-
key: r,
|
|
119
|
-
value: o === "" && n.defaultValue !== "" ? n.defaultValue : o,
|
|
120
|
-
found: !0
|
|
121
|
-
};
|
|
122
|
-
}
|
|
123
|
-
function d(e, t, r) {
|
|
124
|
-
let a = i(e), o = a.key;
|
|
125
|
-
if (!o) return {
|
|
126
|
-
key: o,
|
|
127
|
-
value: a.defaultValue,
|
|
128
|
-
found: !1
|
|
129
|
-
};
|
|
130
|
-
let s = r ? l(r, o) : null, c = (s?.names?.length ? s.names : [n(o)]).flatMap((e) => {
|
|
131
|
-
let n = t.getAll(e).map((e) => String(e ?? ""));
|
|
132
|
-
return n.length ? n : t.getAll(`${e}[]`).map((e) => String(e ?? ""));
|
|
133
|
-
}).filter((e) => e !== "");
|
|
134
|
-
return c.length ? {
|
|
135
|
-
key: o,
|
|
136
|
-
value: c.length > 1 ? c : c[0],
|
|
137
|
-
found: !0
|
|
138
|
-
} : {
|
|
139
|
-
key: o,
|
|
140
|
-
value: a.defaultValue,
|
|
141
|
-
found: !1
|
|
142
|
-
};
|
|
143
|
-
}
|
|
144
|
-
//#endregion
|
|
145
|
-
export { i, u as n, s as r, d as t };
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { t as e } from "./api-BUb6P-xu.js";
|
|
2
|
-
//#region src/js/modules/captchas/friendly-captcha-v1.ts
|
|
3
|
-
var t = e({
|
|
4
|
-
id: "friendly-captcha-v1",
|
|
5
|
-
defaultPlaceholderSelector: "[data-friendly-captcha-placeholder]",
|
|
6
|
-
defaultTokenFieldNames: ["frc-captcha-solution"],
|
|
7
|
-
load: async () => import("./friendly-challenge-8uPatWqk.js"),
|
|
8
|
-
mount: ({ api: e, container: t, provider: n, services: r }) => new e.WidgetInstance(t, {
|
|
9
|
-
sitekey: n.siteKey || "",
|
|
10
|
-
startMode: n.startMode || "none",
|
|
11
|
-
language: n.language || "en",
|
|
12
|
-
solutionFieldName: "frc-captcha-solution",
|
|
13
|
-
doneCallback: (e) => {
|
|
14
|
-
typeof e == "string" && e.trim() !== "" && r.tokens.write(e.trim()), r.errors.clear();
|
|
15
|
-
},
|
|
16
|
-
errorCallback: () => {
|
|
17
|
-
r.tokens.clear();
|
|
18
|
-
}
|
|
19
|
-
}),
|
|
20
|
-
screen: async ({ widget: e, placeholder: t, services: n, stageCtx: r }) => {
|
|
21
|
-
if (!n.tokens.has() && (await e.start(), !await n.tokens.wait())) {
|
|
22
|
-
let e = n.errors.getDefaultMessage();
|
|
23
|
-
n.errors.show(e, t), r.abort(e);
|
|
24
|
-
}
|
|
25
|
-
},
|
|
26
|
-
unmount: ({ widget: e, services: t }) => {
|
|
27
|
-
e.destroy(), t.tokens.clear();
|
|
28
|
-
}
|
|
29
|
-
});
|
|
30
|
-
//#endregion
|
|
31
|
-
export { t as friendlyCaptchaV1Module };
|