@verbb/formie-browser 1.0.12 → 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 +57 -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-5CA_-zGb.js → date-picker-RUnevF7l.js} +456 -430
- package/dist/chunks/{dist-BdUy8m_p.js → dist-ZLeW0zZ3.js} +1280 -452
- 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-T0vDQPCr.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-xz4QO7CR.js → signature-7cldFbqj.js} +160 -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-Bn18WrPU.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/fields/_signature.css +2 -1
- 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 -1425
- 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/fields/_signature.css +2 -1
- 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 +119 -73
- 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 +40 -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 +64 -6
- 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-DERi2xaC.js +0 -299
- package/dist/chunks/conditions-65kBcFWW.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,12 +1,12 @@
|
|
|
1
1
|
import { s as e } from "./event-names-BCI2FLD8.js";
|
|
2
|
-
import { t } from "./api-
|
|
3
|
-
import {
|
|
2
|
+
import { t } from "./api-D6kJ7kXZ.js";
|
|
3
|
+
import { i as n, t as r } from "./theme-classes-DAQuEqdP.js";
|
|
4
4
|
import { r as i } from "./scripts-CbQ7agX3.js";
|
|
5
5
|
import { t as a } from "./styles-BfoIZwJp.js";
|
|
6
6
|
//#endregion
|
|
7
7
|
//#region src/js/modules/payments/stripe.ts
|
|
8
8
|
a("stripe", ["@layer formie-theme{.formie-stripe-placeholder{justify-content:center;align-items:center;gap:var(--formie-space-2);width:100%;min-height:12rem;padding:var(--formie-space-4);border:var(--formie-border-width) solid var(--formie-color-border-control);border-radius:var(--formie-radius-sm);background:var(--formie-color-surface);color:var(--formie-color-text-muted);text-align:center;box-sizing:border-box;flex-direction:column;display:flex}.formie-stripe-placeholder[hidden]{display:none}}"]);
|
|
9
|
-
var o = "FORMIE_STRIPE_SCRIPT", s = e("stripe", "confirm"), c = "[data-formie-stripe-elements-placeholder]", l = new Set([
|
|
9
|
+
var o = "FORMIE_STRIPE_SCRIPT", s = e("stripe", "confirm"), c = "[data-formie-stripe-elements-placeholder]", l = /* @__PURE__ */ new Set([
|
|
10
10
|
"BIF",
|
|
11
11
|
"CLP",
|
|
12
12
|
"DJF",
|
|
@@ -17,7 +17,6 @@ var o = "FORMIE_STRIPE_SCRIPT", s = e("stripe", "confirm"), c = "[data-formie-st
|
|
|
17
17
|
"MGA",
|
|
18
18
|
"PYG",
|
|
19
19
|
"RWF",
|
|
20
|
-
"UGX",
|
|
21
20
|
"VND",
|
|
22
21
|
"VUV",
|
|
23
22
|
"XAF",
|
|
@@ -25,7 +24,7 @@ var o = "FORMIE_STRIPE_SCRIPT", s = e("stripe", "confirm"), c = "[data-formie-st
|
|
|
25
24
|
"XPF"
|
|
26
25
|
]);
|
|
27
26
|
function u(e, t) {
|
|
28
|
-
return l.has(t.toUpperCase()) ? Math.ceil(e) : Math.
|
|
27
|
+
return l.has(t.toUpperCase()) ? Math.ceil(e) : Math.round((e + 2 ** -52) * 100);
|
|
29
28
|
}
|
|
30
29
|
function d(e, t) {
|
|
31
30
|
e && (n(e, t, "fieldErrors", "fieldError"), e.querySelectorAll("[data-payment-placeholder-error]").forEach((e) => {
|
|
@@ -35,10 +34,10 @@ function d(e, t) {
|
|
|
35
34
|
function f(e, t, n = "Loading payment options...") {
|
|
36
35
|
if (!e) return;
|
|
37
36
|
d(e, t), e.removeAttribute("hidden"), e.innerHTML = "";
|
|
38
|
-
let r = document.createElement("div");
|
|
39
|
-
r.className = "formie-loading";
|
|
40
37
|
let i = document.createElement("div");
|
|
41
|
-
i
|
|
38
|
+
r(i, t, "loading");
|
|
39
|
+
let a = document.createElement("div");
|
|
40
|
+
a.textContent = n, e.append(i, a);
|
|
42
41
|
}
|
|
43
42
|
function p(e, t, n) {
|
|
44
43
|
if (!e) return;
|
|
@@ -47,7 +46,7 @@ function p(e, t, n) {
|
|
|
47
46
|
i.setAttribute("data-payment-placeholder-error", ""), i.textContent = n, r(i, t, "fieldError"), e.appendChild(i);
|
|
48
47
|
}
|
|
49
48
|
var m = t({
|
|
50
|
-
|
|
49
|
+
moduleId: "formie:stripe",
|
|
51
50
|
defaultRequiredInputSuffixes: ["stripePaymentIntentId"],
|
|
52
51
|
load: async (e) => {
|
|
53
52
|
let { provider: t } = e.options, n = t.publishableKey;
|
|
@@ -122,11 +121,11 @@ var m = t({
|
|
|
122
121
|
let t = e.field;
|
|
123
122
|
t.__formieStripeWidget = null, t.__formieStripeElements = void 0, t.__formieStripeInstance = null, t.__formieStripeLastClientSecret = void 0, t.__formieStripeEvaluateAndRender = null, t.__formieStripeDynamicUnbind?.(), t.__formieStripeDynamicUnbind = null;
|
|
124
123
|
},
|
|
125
|
-
|
|
124
|
+
onBeforePayment: async (e) => {
|
|
126
125
|
let { widget: t, services: n, field: r } = e, i = r, a = t;
|
|
127
126
|
if (a?.elements || (i.__formieStripeEvaluateAndRender?.(), a = i.__formieStripeWidget || null), !a?.elements) return !1;
|
|
128
127
|
let o = await a.elements.submit();
|
|
129
|
-
return o?.error
|
|
128
|
+
return !o?.error || (n.addError(o.error.message), !1);
|
|
130
129
|
},
|
|
131
130
|
setup: async (e) => {
|
|
132
131
|
let { services: t, options: n } = e, r = n.provider, i = e.target;
|
|
@@ -1,37 +1,33 @@
|
|
|
1
1
|
import { t as e } from "./debug-BV0DvdHx.js";
|
|
2
|
-
import {
|
|
3
|
-
import { n } from "./http-
|
|
2
|
+
import { a as t } from "./theme-classes-DAQuEqdP.js";
|
|
3
|
+
import { r as n } from "./http-C2QdHuWO.js";
|
|
4
4
|
import { t as r } from "./async-nPFRNQ06.js";
|
|
5
5
|
import { t as i } from "./styles-BfoIZwJp.js";
|
|
6
|
-
import {
|
|
6
|
+
import { i as a, n as o } from "./shared-OKhSay59.js";
|
|
7
7
|
//#region src/css/theme/fields/_summary.css?inline
|
|
8
|
-
var s = "@layer formie-theme{.formie-summary-container{padding:var(--formie-summary-padding);border:var(--formie-border-width) solid var(--formie-color-border);border-radius:var(--formie-radius-sm)}.formie-summary-heading{color:var(--formie-color-heading)}.formie-summary-blocks{gap:var(--formie-gap-summary);display:grid}.formie-summary-blocks[data-formie-loading=true]{min-height:calc(var(--formie-loading-size) + var(--formie-space-4));position:relative}.formie-summary-blocks[data-formie-loading=true]>*{opacity:0;pointer-events:none}.formie-summary-blocks[data-formie-loading=true]:before{content:\"\";background:var(--formie-color-bg);border-radius:inherit;z-index:1;display:block;position:absolute;inset:0}.formie-summary-blocks[data-formie-loading=true]:after{width:var(--formie-loading-size);height:var(--formie-loading-size);content:\"\";border:var(--formie-loading-border-width) solid var(--formie-loading-color);border-radius:var(--formie-radius-full);z-index:2;animation:formie-loading-spin var(--formie-loading-speed) linear infinite;border-top-color:#0000;border-right-color:#0000;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}}", c = "[data-formie-summary-blocks]", l = "[data-formie-summary-container]", u = "formie/fields/get-summary-html", d = "
|
|
9
|
-
i(
|
|
10
|
-
function
|
|
8
|
+
var s = "@layer formie-theme{.formie-summary-container{padding:var(--formie-summary-padding);border:var(--formie-border-width) solid var(--formie-color-border);border-radius:var(--formie-radius-sm)}.formie-summary-heading{color:var(--formie-color-heading)}.formie-summary-blocks{gap:var(--formie-gap-summary);display:grid}.formie-summary-blocks[data-formie-loading=true]{min-height:calc(var(--formie-loading-size) + var(--formie-space-4));position:relative}.formie-summary-blocks[data-formie-loading=true]>*{opacity:0;pointer-events:none}.formie-summary-blocks[data-formie-loading=true]:before{content:\"\";background:var(--formie-color-bg);border-radius:inherit;z-index:1;display:block;position:absolute;inset:0}.formie-summary-blocks[data-formie-loading=true]:after{width:var(--formie-loading-size);height:var(--formie-loading-size);content:\"\";border:var(--formie-loading-border-width) solid var(--formie-loading-color);border-radius:var(--formie-radius-full);z-index:2;animation:formie-loading-spin var(--formie-loading-speed) linear infinite;border-top-color:#0000;border-right-color:#0000;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}}", c = "[data-formie-summary-blocks]", l = "[data-formie-summary-container]", u = "formie/fields/get-summary-html", d = "summary", f = e("fields", "summary");
|
|
9
|
+
i(d, [s]);
|
|
10
|
+
function p() {
|
|
11
11
|
let e = new URL(window.location.href);
|
|
12
12
|
return e.hash = "", e.toString();
|
|
13
13
|
}
|
|
14
|
-
function
|
|
15
|
-
return {
|
|
16
|
-
accessToken: e.querySelector("[data-formie-summary-token]")?.value?.trim() || null,
|
|
17
|
-
themeConfig: t.getAttribute(d)?.trim() || null,
|
|
18
|
-
frontendTheme: t.getAttribute(f)?.trim() || null
|
|
19
|
-
};
|
|
14
|
+
function m(e) {
|
|
15
|
+
return { accessToken: e.querySelector("[data-formie-summary-token]")?.value?.trim() || null };
|
|
20
16
|
}
|
|
21
|
-
async function
|
|
17
|
+
async function h(e, t, r) {
|
|
22
18
|
if (!t.accessToken) throw Error("Summary field requires an access token.");
|
|
23
19
|
let i = new FormData(e);
|
|
24
|
-
return i.set("action", u), i.set("accessToken", t.accessToken),
|
|
20
|
+
return i.set("action", u), i.set("accessToken", t.accessToken), n(p(), {
|
|
25
21
|
method: "POST",
|
|
26
22
|
body: i,
|
|
27
23
|
signal: r,
|
|
28
24
|
headers: { Accept: "text/html" }
|
|
29
25
|
});
|
|
30
26
|
}
|
|
31
|
-
function
|
|
27
|
+
function g(e, n) {
|
|
32
28
|
let i = e.closest("form");
|
|
33
|
-
if (!(i instanceof HTMLFormElement)) return
|
|
34
|
-
let a = !1, s = !0, u = !1,
|
|
29
|
+
if (!(i instanceof HTMLFormElement)) return f.warn("Missing form ancestor; skipping field."), () => {};
|
|
30
|
+
let a = !1, s = !0, u = !1, p = 0, g = 0, _ = null, v = () => {
|
|
35
31
|
let t = e.querySelector(c);
|
|
36
32
|
return t instanceof HTMLElement ? t : null;
|
|
37
33
|
}, y = () => {
|
|
@@ -47,72 +43,78 @@ function v(e, n) {
|
|
|
47
43
|
n.removeAttribute("data-formie-loading"), n.removeAttribute("aria-busy"), t(n, i, "loading", !1);
|
|
48
44
|
}
|
|
49
45
|
};
|
|
50
|
-
b(!!
|
|
46
|
+
b(!!m(e).accessToken);
|
|
51
47
|
let x = () => {
|
|
52
|
-
!u || a && !s || (
|
|
48
|
+
!u || a && !s || (f.log("Queueing fetch."), S());
|
|
53
49
|
}, S = r(async () => {
|
|
54
|
-
let t =
|
|
50
|
+
let t = m(e);
|
|
55
51
|
if (!v() || !t.accessToken) {
|
|
56
|
-
|
|
52
|
+
f.warn("Missing state for fetch.", t), b(!1);
|
|
57
53
|
return;
|
|
58
54
|
}
|
|
59
|
-
|
|
60
|
-
let n =
|
|
61
|
-
|
|
55
|
+
g += 1;
|
|
56
|
+
let n = g, r = p;
|
|
57
|
+
_?.abort(), _ = new AbortController(), b(!0);
|
|
62
58
|
try {
|
|
63
|
-
let c = await
|
|
64
|
-
if (n !==
|
|
65
|
-
let u = y(),
|
|
66
|
-
|
|
67
|
-
let v =
|
|
68
|
-
u && v instanceof HTMLElement ? u.replaceWith(v) : u && (u.innerHTML = c), a = !0, s =
|
|
59
|
+
let c = await h(i, t, _.signal);
|
|
60
|
+
if (n !== g) return;
|
|
61
|
+
let u = y(), m = document.createElement("template");
|
|
62
|
+
m.innerHTML = c.trim();
|
|
63
|
+
let v = m.content.querySelector(l);
|
|
64
|
+
u && v instanceof HTMLElement ? u.replaceWith(v) : u && (u.innerHTML = c), a = !0, s = p !== r, f.log("Fetch complete.", {
|
|
69
65
|
isDirty: s,
|
|
70
|
-
dirtyVersion:
|
|
66
|
+
dirtyVersion: p,
|
|
71
67
|
requestVersion: n
|
|
72
|
-
}), o(e,
|
|
68
|
+
}), o(e, d, "fetch-summary", {
|
|
73
69
|
summary: e,
|
|
74
70
|
html: c
|
|
75
71
|
});
|
|
76
72
|
} catch (e) {
|
|
77
73
|
if (e instanceof DOMException && e.name === "AbortError") {
|
|
78
|
-
|
|
74
|
+
f.log("Fetch aborted.");
|
|
79
75
|
return;
|
|
80
76
|
}
|
|
81
77
|
console.error("[formie] Failed to load summary field HTML.", e);
|
|
82
78
|
} finally {
|
|
83
|
-
n ===
|
|
79
|
+
n === g && (b(!1), _ = null, s && x());
|
|
84
80
|
}
|
|
85
81
|
}, 300), C = (t) => {
|
|
86
82
|
let n = t?.target;
|
|
87
|
-
n instanceof Node && e.contains(n) || (s = !0,
|
|
83
|
+
n instanceof Node && e.contains(n) || (s = !0, p += 1, f.log("Marked dirty.", { dirtyVersion: p }));
|
|
88
84
|
}, w = (e) => {
|
|
89
85
|
C(e), x();
|
|
90
86
|
}, T = () => {
|
|
91
|
-
s = !0,
|
|
87
|
+
s = !0, f.log("Submit result received; refreshing."), x();
|
|
92
88
|
}, E = () => {
|
|
93
|
-
s = !0,
|
|
89
|
+
s = !0, f.log("Page navigation received; refreshing."), x();
|
|
94
90
|
}, D = new IntersectionObserver((t) => {
|
|
95
|
-
u = !!t[0]?.isIntersecting, u && (
|
|
91
|
+
u = !!t[0]?.isIntersecting, u && (f.log("Field became visible."), o(e, d, "field-visible", { summary: e }), x());
|
|
96
92
|
}, {
|
|
97
93
|
root: i,
|
|
98
94
|
rootMargin: "50px"
|
|
99
95
|
});
|
|
100
96
|
return D.observe(e), i.addEventListener("input", w), i.addEventListener("change", w), n.addEventListener("formie:page:navigate:after", E), n.addEventListener("formie:submit:result", T), () => {
|
|
101
|
-
|
|
97
|
+
_?.abort(), D.disconnect(), i.removeEventListener("input", w), i.removeEventListener("change", w), n.removeEventListener("formie:page:navigate:after", E), n.removeEventListener("formie:submit:result", T), f.log("Field destroyed.");
|
|
102
98
|
};
|
|
103
99
|
}
|
|
104
|
-
var
|
|
105
|
-
|
|
100
|
+
var _ = {
|
|
101
|
+
moduleId: `formie:${d}`,
|
|
102
|
+
version: 2,
|
|
103
|
+
surfaces: [
|
|
104
|
+
"server-rendered",
|
|
105
|
+
"client-rendered",
|
|
106
|
+
"cp-edit"
|
|
107
|
+
],
|
|
106
108
|
kind: "field",
|
|
107
109
|
match: (e) => !!e.target.querySelector(c),
|
|
108
110
|
setup: async (e) => {
|
|
109
|
-
let t = a(e).map((t) =>
|
|
110
|
-
return
|
|
111
|
+
let t = a(e).map((t) => g(t, e.root));
|
|
112
|
+
return f.log("Module setup.", { fieldCount: t.length }), await e.emit("formie:module:summary:init", { count: t.length }), { destroy: () => {
|
|
111
113
|
t.forEach((e) => {
|
|
112
114
|
e();
|
|
113
|
-
}),
|
|
115
|
+
}), f.log("Module destroy.", { fieldCount: t.length }), e.emit("formie:module:summary:destroy", {});
|
|
114
116
|
} };
|
|
115
117
|
}
|
|
116
118
|
};
|
|
117
119
|
//#endregion
|
|
118
|
-
export {
|
|
120
|
+
export { _ as summaryModule };
|
|
@@ -5,7 +5,13 @@ import { t as n } from "./_survey-presentations-RbSqcQph.js";
|
|
|
5
5
|
var r = "[data-formie-likert-field-layout]", i = "survey-likert", a = e("fields", "survey-likert");
|
|
6
6
|
t(i, [n]);
|
|
7
7
|
var o = {
|
|
8
|
-
|
|
8
|
+
moduleId: `formie:${i}`,
|
|
9
|
+
version: 2,
|
|
10
|
+
surfaces: [
|
|
11
|
+
"server-rendered",
|
|
12
|
+
"client-rendered",
|
|
13
|
+
"cp-edit"
|
|
14
|
+
],
|
|
9
15
|
kind: "field",
|
|
10
16
|
match: (e) => e.target instanceof HTMLElement && (e.target.matches(r) || !!e.target.querySelector(r)),
|
|
11
17
|
setup: async (e) => {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as e } from "./debug-BV0DvdHx.js";
|
|
2
2
|
import { t } from "./styles-BfoIZwJp.js";
|
|
3
|
-
import {
|
|
3
|
+
import { n } from "./shared-OKhSay59.js";
|
|
4
4
|
import { t as r } from "./_survey-presentations-RbSqcQph.js";
|
|
5
5
|
//#region src/js/modules/fields/survey-rank.ts
|
|
6
6
|
var i = "[data-formie-survey-rank]", a = "[data-formie-survey-rank-list]", o = "[data-formie-survey-rank-item]", s = "[data-formie-rank-handle]", c = "formie-rank-placeholder", l = .42, u = "survey-rank", d = e("fields", "survey-rank");
|
|
@@ -72,43 +72,55 @@ function w(e, t) {
|
|
|
72
72
|
function T(e) {
|
|
73
73
|
let t = e.querySelector(a);
|
|
74
74
|
if (!(t instanceof HTMLElement)) return d.warn("Missing rank list; skipping field."), () => {};
|
|
75
|
-
let r =
|
|
76
|
-
if (
|
|
77
|
-
|
|
75
|
+
let r = p(t), i = e.closest("form"), o = null, c = null, l = null, h = null, g = null, T = null, E = null, D = null, O = null, k = !1, A = [], j = () => {
|
|
76
|
+
if (o && c ? (t.insertBefore(o, c), c.remove()) : c && c.remove(), o && l && (w(o, l), o.removeAttribute("data-formie-rank-dragging")), g && T !== null) try {
|
|
77
|
+
g.releasePointerCapture(T);
|
|
78
78
|
} catch {}
|
|
79
|
-
|
|
80
|
-
},
|
|
81
|
-
if (!
|
|
82
|
-
e.preventDefault(), C(
|
|
83
|
-
let n = _(
|
|
84
|
-
|
|
85
|
-
let
|
|
86
|
-
|
|
87
|
-
},
|
|
88
|
-
e.pointerId ===
|
|
79
|
+
o = null, c = null, l = null, h = null, g = null, T = null, E = null, D = null, O = null, t.removeAttribute("data-formie-rank-sorting"), k && (f(t), n(e, u, "reorder", { rankField: e })), k = !1;
|
|
80
|
+
}, M = (e) => {
|
|
81
|
+
if (!o || !c || !h || e.pointerId !== T) return;
|
|
82
|
+
e.preventDefault(), C(o, e, h);
|
|
83
|
+
let n = _(o), r = O === null || n >= O;
|
|
84
|
+
O = n;
|
|
85
|
+
let i = v(o, t, c, r);
|
|
86
|
+
i !== E && (E = i, y(t, c, o, i));
|
|
87
|
+
}, N = (e) => {
|
|
88
|
+
e.pointerId === T && (document.removeEventListener("pointermove", M), document.removeEventListener("pointerup", N), document.removeEventListener("pointercancel", N), c && D !== null && (k = m(t, c) !== D), j());
|
|
89
89
|
};
|
|
90
|
-
|
|
90
|
+
p(t).forEach((e) => {
|
|
91
91
|
if (!e.querySelector(s)) return;
|
|
92
92
|
let n = (n) => {
|
|
93
93
|
if (n.button !== 0 || n.target instanceof HTMLInputElement) return;
|
|
94
94
|
n.preventDefault();
|
|
95
|
-
let
|
|
96
|
-
|
|
97
|
-
x: n.clientX -
|
|
98
|
-
y: n.clientY -
|
|
99
|
-
},
|
|
95
|
+
let r = e.getBoundingClientRect();
|
|
96
|
+
o = e, g = e, T = n.pointerId, h = {
|
|
97
|
+
x: n.clientX - r.left,
|
|
98
|
+
y: n.clientY - r.top
|
|
99
|
+
}, l = x(e), c = b(t, e), D = m(t, c), k = !1, S(e, r), e.setAttribute("data-formie-rank-dragging", "true"), t.setAttribute("data-formie-rank-sorting", "true"), e.setPointerCapture(n.pointerId), O = _(e), E = v(e, t, c, !0), document.addEventListener("pointermove", M), document.addEventListener("pointerup", N), document.addEventListener("pointercancel", N);
|
|
100
100
|
};
|
|
101
|
-
e.addEventListener("pointerdown", n),
|
|
101
|
+
e.addEventListener("pointerdown", n), A.push(() => {
|
|
102
102
|
e.removeEventListener("pointerdown", n);
|
|
103
103
|
});
|
|
104
|
-
})
|
|
105
|
-
|
|
104
|
+
});
|
|
105
|
+
let P = (e) => {
|
|
106
|
+
queueMicrotask(() => {
|
|
107
|
+
e.defaultPrevented || (document.removeEventListener("pointermove", M), document.removeEventListener("pointerup", N), document.removeEventListener("pointercancel", N), j(), r.forEach((e) => t.appendChild(e)), f(t));
|
|
108
|
+
});
|
|
109
|
+
};
|
|
110
|
+
return i?.addEventListener("reset", P), f(t), () => {
|
|
111
|
+
i?.removeEventListener("reset", P), document.removeEventListener("pointermove", M), document.removeEventListener("pointerup", N), document.removeEventListener("pointercancel", N), A.forEach((e) => {
|
|
106
112
|
e();
|
|
107
|
-
}),
|
|
113
|
+
}), j();
|
|
108
114
|
};
|
|
109
115
|
}
|
|
110
116
|
var E = {
|
|
111
|
-
|
|
117
|
+
moduleId: `formie:${u}`,
|
|
118
|
+
version: 2,
|
|
119
|
+
surfaces: [
|
|
120
|
+
"server-rendered",
|
|
121
|
+
"client-rendered",
|
|
122
|
+
"cp-edit"
|
|
123
|
+
],
|
|
112
124
|
kind: "field",
|
|
113
125
|
match: (e) => e.target instanceof HTMLElement && (e.target.matches(i) || !!e.target.querySelector(i)),
|
|
114
126
|
setup: async (e) => {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as e } from "./debug-BV0DvdHx.js";
|
|
2
2
|
import { t } from "./styles-BfoIZwJp.js";
|
|
3
|
-
import {
|
|
3
|
+
import { n } from "./shared-OKhSay59.js";
|
|
4
4
|
import { t as r } from "./_survey-presentations-RbSqcQph.js";
|
|
5
5
|
//#region src/js/modules/fields/survey-rating.ts
|
|
6
6
|
var i = "[data-formie-survey-rating]", a = "[data-formie-survey-rating-stars]", o = "[data-formie-rating-option]", s = "input[data-formie-rating-input]", c = "data-formie-rating-pressed-while-checked", l = "survey-rating", u = e("fields", "survey-rating");
|
|
@@ -25,7 +25,7 @@ function p(e) {
|
|
|
25
25
|
let n = Array.from(t.querySelectorAll(o)).indexOf(e);
|
|
26
26
|
n >= 0 && t.setAttribute("data-formie-rating-hover", String(n + 1));
|
|
27
27
|
};
|
|
28
|
-
|
|
28
|
+
t.querySelectorAll(o).forEach((e) => {
|
|
29
29
|
if (!(e instanceof HTMLElement)) return;
|
|
30
30
|
let t = e.querySelector(s), n = () => {
|
|
31
31
|
if (t instanceof HTMLInputElement) {
|
|
@@ -62,14 +62,26 @@ function p(e) {
|
|
|
62
62
|
i.addEventListener("click", a), r.push(() => {
|
|
63
63
|
i.removeEventListener("click", a), i.removeAttribute(c);
|
|
64
64
|
});
|
|
65
|
-
})
|
|
66
|
-
|
|
65
|
+
});
|
|
66
|
+
let m = e.closest("form"), h = (e) => {
|
|
67
|
+
queueMicrotask(() => {
|
|
68
|
+
e.defaultPrevented || (i(), d(t).forEach((e) => e.removeAttribute(c)), f(t));
|
|
69
|
+
});
|
|
70
|
+
};
|
|
71
|
+
return m?.addEventListener("reset", h), f(t), () => {
|
|
72
|
+
m?.removeEventListener("reset", h), r.forEach((e) => {
|
|
67
73
|
e();
|
|
68
74
|
}), i(), t.removeAttribute("data-formie-rating-value");
|
|
69
75
|
};
|
|
70
76
|
}
|
|
71
77
|
var m = {
|
|
72
|
-
|
|
78
|
+
moduleId: `formie:${l}`,
|
|
79
|
+
version: 2,
|
|
80
|
+
surfaces: [
|
|
81
|
+
"server-rendered",
|
|
82
|
+
"client-rendered",
|
|
83
|
+
"cp-edit"
|
|
84
|
+
],
|
|
73
85
|
kind: "field",
|
|
74
86
|
match: (e) => e.target instanceof HTMLElement && (e.target.matches(i) || !!e.target.querySelector(i)),
|
|
75
87
|
setup: async (e) => {
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { n as e } from "./async-nPFRNQ06.js";
|
|
2
2
|
import { t } from "./styles-BfoIZwJp.js";
|
|
3
|
-
import {
|
|
3
|
+
import { n, o as r, s as i } from "./shared-OKhSay59.js";
|
|
4
4
|
//#region src/css/theme/fields/_table.css?inline
|
|
5
5
|
var a = "@layer formie-theme{.formie-table-wrapper{-webkit-overflow-scrolling:touch;max-width:100%;overflow:auto hidden}.formie-table{width:var(--formie-table-width);margin-bottom:var(--formie-table-margin-bottom);border-collapse:var(--formie-table-border-collapse)}.formie-table th{text-align:var(--formie-table-th-text-align);font-size:var(--formie-table-th-font-size);font-weight:var(--formie-table-th-font-weight);color:var(--formie-table-th-color,var(--formie-color-text-muted))}.formie-table th,.formie-table td{padding:var(--formie-table-row-padding);vertical-align:top}.formie-table th:first-child,.formie-table td:first-child{padding-left:0}.formie-table th:last-child,.formie-table td:last-child{padding-right:0}.formie-table [data-col-remove]{width:calc(var(--formie-button-icon-button-size) + (var(--formie-table-row-padding) * 2));min-width:calc(var(--formie-button-icon-button-size) + (var(--formie-table-row-padding) * 2));white-space:nowrap;text-align:center;vertical-align:middle}.formie-table [data-formie-table-column-type=checkbox]{text-align:center;vertical-align:middle}.formie-table [data-formie-table-column-type=checkbox] .formie-checkbox-option{width:100%;min-height:var(--formie-check-size);justify-content:center;align-items:center;margin:0;display:flex}.formie-table [data-formie-table-column-type=checkbox] .formie-checkbox-option-label{width:var(--formie-check-size);min-width:var(--formie-check-size);height:var(--formie-check-size);margin:0 auto;padding-left:0;font-size:0;line-height:0;display:block}.formie-table [data-formie-table-column-type=checkbox] .formie-checkbox-option-label:before{position:static}.formie-table-color-input{min-width:4rem;padding:var(--formie-space-1)}.formie-table-multiline-input{min-height:calc(var(--formie-control-height) + var(--formie-space-2))}.formie-table-remove-button{vertical-align:middle;display:inline-flex}.formie-button.formie-table-add-button{width:auto;max-width:100%;padding-left:var(--formie-table-add-button-padding-left);justify-content:center;justify-self:start;align-items:center;display:inline-flex;position:relative}.formie-button.formie-table-add-button:before{content:\"\";width:var(--formie-table-add-button-width);height:var(--formie-table-add-button-height);left:var(--formie-table-add-button-left);-webkit-mask-image:var(--formie-table-add-button-icon-mask);-webkit-mask-image:var(--formie-table-add-button-icon-mask);mask-image:var(--formie-table-add-button-icon-mask);background-color:currentColor;display:block;position:absolute;top:50%;transform:translateY(-50%);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}}", o = "[data-formie-table-field-layout]", s = "[data-formie-table]", c = "[data-formie-table-body]", l = "[data-formie-table-row]", u = "[data-formie-table-add]", d = "[data-formie-table-remove]", f = "data-formie-template-id", p = "data-formie-table-row-id", m = "table";
|
|
6
6
|
t(m, [a]);
|
|
7
7
|
function h(e, t) {
|
|
8
|
-
return
|
|
8
|
+
return r(e, t);
|
|
9
9
|
}
|
|
10
10
|
function g(e) {
|
|
11
11
|
return e.querySelectorAll(l).length;
|
|
@@ -21,46 +21,52 @@ function v(e, t) {
|
|
|
21
21
|
let n = parseInt(e.getAttribute("data-formie-max-rows") || "", 10);
|
|
22
22
|
e.disabled = n > 0 && t >= n;
|
|
23
23
|
}
|
|
24
|
-
function y(t,
|
|
24
|
+
function y(t, r) {
|
|
25
25
|
let a = t.querySelector(s), o = t.querySelector(c), y = t.querySelector(u);
|
|
26
26
|
if (!(a instanceof HTMLElement) || !(o instanceof HTMLElement)) return () => {};
|
|
27
27
|
let b = /* @__PURE__ */ new Map(), x = _(t), S = () => {
|
|
28
28
|
t.querySelectorAll(d).forEach((e) => {
|
|
29
29
|
if (!(e instanceof HTMLElement) || b.has(e)) return;
|
|
30
|
-
let
|
|
31
|
-
|
|
32
|
-
let
|
|
33
|
-
if (!(
|
|
30
|
+
let r = (r) => {
|
|
31
|
+
r.preventDefault();
|
|
32
|
+
let i = e.closest(l);
|
|
33
|
+
if (!(i instanceof HTMLElement)) return;
|
|
34
34
|
let a = parseInt((y instanceof HTMLButtonElement ? y.getAttribute("data-formie-min-rows") : "") || "", 10);
|
|
35
|
-
a > 0 && g(t) <= a || (
|
|
35
|
+
a > 0 && g(t) <= a || (i.remove(), v(y instanceof HTMLButtonElement ? y : null, g(t)), n(t, m, "remove", {
|
|
36
36
|
table: t,
|
|
37
|
-
row:
|
|
37
|
+
row: i
|
|
38
38
|
}));
|
|
39
39
|
};
|
|
40
|
-
e.addEventListener("click",
|
|
40
|
+
e.addEventListener("click", r), b.set(e, r);
|
|
41
41
|
});
|
|
42
42
|
}, C = async () => {
|
|
43
|
-
if (
|
|
43
|
+
if (r.static || !(y instanceof HTMLButtonElement) || !y.getAttribute("data-formie-table-add")) return;
|
|
44
44
|
let a = y.getAttribute(f) || t.getAttribute(f), s = parseInt(y.getAttribute("data-formie-max-rows") || "", 10);
|
|
45
45
|
if (s > 0 && g(t) >= s) return;
|
|
46
46
|
let c = h(t, a);
|
|
47
47
|
if (!c) return;
|
|
48
|
-
let l =
|
|
49
|
-
u.setAttribute("data-formie-table-row", "true"), u.setAttribute(p, String(x - 1)), u.innerHTML = l, o.appendChild(u), await e(50), S(), v(y, g(t)),
|
|
48
|
+
let l = i(c).replaceAll("__ROW__", String(x++)), u = document.createElement("tr");
|
|
49
|
+
u.setAttribute("data-formie-table-row", "true"), u.setAttribute(p, String(x - 1)), u.innerHTML = l, o.appendChild(u), await e(50), S(), v(y, g(t)), n(t, m, "append", {
|
|
50
50
|
table: t,
|
|
51
51
|
row: u
|
|
52
52
|
});
|
|
53
53
|
}, w = (e) => {
|
|
54
54
|
e.preventDefault(), C();
|
|
55
55
|
};
|
|
56
|
-
return y instanceof HTMLButtonElement && !
|
|
56
|
+
return y instanceof HTMLButtonElement && !r.static && y.addEventListener("click", w), S(), v(y instanceof HTMLButtonElement ? y : null, g(t)), n(t, m, "init", { table: t }), () => {
|
|
57
57
|
y instanceof HTMLButtonElement && y.removeEventListener("click", w), b.forEach((e, t) => {
|
|
58
58
|
t.removeEventListener("click", e);
|
|
59
59
|
});
|
|
60
60
|
};
|
|
61
61
|
}
|
|
62
62
|
var b = {
|
|
63
|
-
|
|
63
|
+
moduleId: `formie:${m}`,
|
|
64
|
+
version: 2,
|
|
65
|
+
surfaces: [
|
|
66
|
+
"server-rendered",
|
|
67
|
+
"client-rendered",
|
|
68
|
+
"cp-edit"
|
|
69
|
+
],
|
|
64
70
|
kind: "field",
|
|
65
71
|
match: (e) => e.target instanceof HTMLElement && (e.target.matches(o) || !!e.target.querySelector(o)),
|
|
66
72
|
setup: async (e) => {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t } from "./
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
1
|
+
import { p as e } from "./dist-ZLeW0zZ3.js";
|
|
2
|
+
import { i as t } from "./i18n-BY1ds1BL.js";
|
|
3
|
+
import { t as n } from "./styles-BfoIZwJp.js";
|
|
4
|
+
import { a as r, l as i, u as a } from "./shared-OKhSay59.js";
|
|
5
5
|
//#region src/css/theme/fields/_text-limit.css?inline
|
|
6
6
|
var o = "@layer formie-theme{.formie-limit-number{font-weight:var(--formie-font-weight-semibold);color:var(--formie-color-text)}.formie-limit-number-error{color:var(--formie-color-danger)}}", s = "input[data-formie-single-line-text-input], textarea[data-formie-multi-line-text-input]", c = [
|
|
7
7
|
"textMinCharacterLimit",
|
|
@@ -9,7 +9,7 @@ var o = "@layer formie-theme{.formie-limit-number{font-weight:var(--formie-font-
|
|
|
9
9
|
"textMinWordLimit",
|
|
10
10
|
"textMaxWordLimit"
|
|
11
11
|
], l = "text-limit", u = "data-formie-text-limit-allow-overtype", d = "{count, plural, one{character allowed} other{characters allowed}}", f = "{count, plural, one{character left} other{characters left}}", p = "{count, plural, one{character over limit} other{characters over limit}}", m = "{count, plural, one{word allowed} other{words allowed}}", h = "{count, plural, one{word left} other{words left}}", g = "{count, plural, one{word over limit} other{words over limit}}", _ = /* @__PURE__ */ new WeakMap();
|
|
12
|
-
|
|
12
|
+
n("text-limit", [o]);
|
|
13
13
|
function v(e) {
|
|
14
14
|
return e instanceof HTMLInputElement || e instanceof HTMLTextAreaElement;
|
|
15
15
|
}
|
|
@@ -28,33 +28,33 @@ function S(e) {
|
|
|
28
28
|
function C(e) {
|
|
29
29
|
return e.value === "";
|
|
30
30
|
}
|
|
31
|
-
function w(
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
if (!v(
|
|
35
|
-
let
|
|
36
|
-
return !
|
|
31
|
+
function w(t) {
|
|
32
|
+
a(t, l, (t) => {
|
|
33
|
+
t.addValidator("textMinCharacterLimit", ({ input: t }) => {
|
|
34
|
+
if (!v(t)) return !0;
|
|
35
|
+
let n = y(t, "data-formie-min-chars");
|
|
36
|
+
return !n || C(t) ? !0 : e(t.value).graphemeCount >= n;
|
|
37
37
|
}, ({ label: e, input: t, t: n }) => t.getAttribute("data-formie-validation-min-characters-message") || n("{label} must be no less than {min} characters.", {
|
|
38
38
|
label: e,
|
|
39
39
|
min: t.getAttribute("data-formie-min-chars") || ""
|
|
40
|
-
})),
|
|
41
|
-
if (!v(
|
|
42
|
-
let
|
|
43
|
-
return !
|
|
40
|
+
})), t.addValidator("textMaxCharacterLimit", ({ input: t }) => {
|
|
41
|
+
if (!v(t) || S(t)) return !0;
|
|
42
|
+
let n = y(t, "data-formie-max-chars");
|
|
43
|
+
return !n || C(t) ? !0 : e(t.value).graphemeCount <= n;
|
|
44
44
|
}, ({ label: e, input: t, t: n }) => t.getAttribute("data-formie-validation-max-characters-message") || n("{label} must be no greater than {max} characters.", {
|
|
45
45
|
label: e,
|
|
46
46
|
max: t.getAttribute("data-formie-max-chars") || ""
|
|
47
|
-
})),
|
|
48
|
-
if (!v(
|
|
49
|
-
let
|
|
50
|
-
return !
|
|
47
|
+
})), t.addValidator("textMinWordLimit", ({ input: t }) => {
|
|
48
|
+
if (!v(t)) return !0;
|
|
49
|
+
let n = y(t, "data-formie-min-words");
|
|
50
|
+
return !n || t.value.trim() === "" || e(t.value).wordCount >= n;
|
|
51
51
|
}, ({ label: e, input: t, t: n }) => t.getAttribute("data-formie-validation-min-words-message") || n("{label} must be no less than {min} words.", {
|
|
52
52
|
label: e,
|
|
53
53
|
min: t.getAttribute("data-formie-min-words") || ""
|
|
54
|
-
})),
|
|
55
|
-
if (!v(
|
|
56
|
-
let
|
|
57
|
-
return !
|
|
54
|
+
})), t.addValidator("textMaxWordLimit", ({ input: t }) => {
|
|
55
|
+
if (!v(t) || S(t)) return !0;
|
|
56
|
+
let n = y(t, "data-formie-max-words");
|
|
57
|
+
return !n || t.value.trim() === "" || e(t.value).wordCount <= n;
|
|
58
58
|
}, ({ label: e, input: t, t: n }) => t.getAttribute("data-formie-validation-max-words-message") || n("{label} must be no greater than {max} words.", {
|
|
59
59
|
label: e,
|
|
60
60
|
max: t.getAttribute("data-formie-max-words") || ""
|
|
@@ -62,7 +62,7 @@ function w(e) {
|
|
|
62
62
|
});
|
|
63
63
|
}
|
|
64
64
|
function T(e) {
|
|
65
|
-
|
|
65
|
+
i(e, l, c);
|
|
66
66
|
}
|
|
67
67
|
function E(e) {
|
|
68
68
|
if (_.has(e)) return _.get(e) || null;
|
|
@@ -79,24 +79,30 @@ function D(e, t, n) {
|
|
|
79
79
|
function O(e, t) {
|
|
80
80
|
return e === "character" ? t === "allowed" ? d : t === "over" ? p : f : t === "allowed" ? m : t === "over" ? g : h;
|
|
81
81
|
}
|
|
82
|
-
function k(
|
|
82
|
+
function k(e, n, r, i, a) {
|
|
83
83
|
let o = D(n, r, a), s = o === "allowed" ? i : Math.abs(r), c = document.createElement("span");
|
|
84
84
|
c.className = o === "over" ? "formie-limit-number formie-limit-number-error" : "formie-limit-number", c.textContent = String(s);
|
|
85
85
|
let l = O(a, o);
|
|
86
|
-
|
|
86
|
+
e.replaceChildren(c, document.createTextNode(` ${t(l, { count: s })}`));
|
|
87
87
|
}
|
|
88
|
-
function A(
|
|
89
|
-
let
|
|
90
|
-
if (!
|
|
91
|
-
let
|
|
92
|
-
if (
|
|
93
|
-
k(
|
|
88
|
+
function A(t) {
|
|
89
|
+
let n = y(t, "data-formie-max-chars"), r = y(t, "data-formie-max-words"), i = E(t);
|
|
90
|
+
if (!i) return;
|
|
91
|
+
let a = e(t.value);
|
|
92
|
+
if (n > 0) {
|
|
93
|
+
k(i, t, n - a.graphemeCount, n, "character");
|
|
94
94
|
return;
|
|
95
95
|
}
|
|
96
|
-
|
|
96
|
+
r > 0 && k(i, t, r - a.wordCount, r, "word");
|
|
97
97
|
}
|
|
98
98
|
var j = {
|
|
99
|
-
|
|
99
|
+
moduleId: "formie:text-limit",
|
|
100
|
+
version: 2,
|
|
101
|
+
surfaces: [
|
|
102
|
+
"server-rendered",
|
|
103
|
+
"client-rendered",
|
|
104
|
+
"cp-edit"
|
|
105
|
+
],
|
|
100
106
|
kind: "field",
|
|
101
107
|
match: (e) => !!e.target.querySelector(s),
|
|
102
108
|
setup: async (e) => {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as e, i as t, o as n, r, t as i } from "./api-
|
|
1
|
+
import { a as e, i as t, o as n, r, t as i } from "./api-DYYsVIub.js";
|
|
2
2
|
import { r as a } from "./scripts-CbQ7agX3.js";
|
|
3
3
|
//#region src/js/modules/captchas/turnstile.ts
|
|
4
4
|
function o(e) {
|
|
@@ -16,7 +16,7 @@ async function s(t) {
|
|
|
16
16
|
});
|
|
17
17
|
}
|
|
18
18
|
var c = i({
|
|
19
|
-
|
|
19
|
+
moduleId: "formie:turnstile",
|
|
20
20
|
defaultPlaceholderSelector: "[data-turnstile-placeholder]",
|
|
21
21
|
defaultTokenFieldNames: ["cf-turnstile-response"],
|
|
22
22
|
load: ({ options: e }) => s(e.provider),
|
|
@@ -42,7 +42,7 @@ var c = i({
|
|
|
42
42
|
}
|
|
43
43
|
});
|
|
44
44
|
},
|
|
45
|
-
|
|
45
|
+
challenge: ({ api: e, widget: t, placeholder: n, services: r, provider: i, stageCtx: a }) => {
|
|
46
46
|
if (!r.tokens.has()) return e.execute(t), r.tokens.wait(o(i)).then((e) => {
|
|
47
47
|
if (!e) {
|
|
48
48
|
let e = r.errors.getDefaultMessage();
|