@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,18 +1,21 @@
|
|
|
1
|
-
import { n as e, t } from "./
|
|
2
|
-
import { a as n
|
|
3
|
-
import {
|
|
4
|
-
import { t as a } from "./
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
1
|
+
import { n as e, t } from "./rolldown-runtime-DtPi1Y-2.js";
|
|
2
|
+
import { a as n } from "./dist-ZLeW0zZ3.js";
|
|
3
|
+
import { a as r, r as i } from "./event-names-BCI2FLD8.js";
|
|
4
|
+
import { t as a } from "./debug-BV0DvdHx.js";
|
|
5
|
+
import { n as o, r as s, t as c } from "./csrf-DxHg_ZYt.js";
|
|
6
|
+
import { n as l } from "./http-C2QdHuWO.js";
|
|
7
|
+
import { t as u } from "./field-references.keys-58ZSTrCW.js";
|
|
8
|
+
import { t as d } from "./styles-BfoIZwJp.js";
|
|
9
|
+
import { l as f, n as p, u as m } from "./shared-OKhSay59.js";
|
|
7
10
|
//#region ../../node_modules/@uppy/utils/lib/NetworkError.js
|
|
8
|
-
var
|
|
11
|
+
var h = class extends Error {
|
|
9
12
|
cause;
|
|
10
13
|
isNetworkError;
|
|
11
14
|
request;
|
|
12
15
|
constructor(e, t = null) {
|
|
13
16
|
super("This looks like a network error, the endpoint might be blocked by an internet provider or a firewall."), this.cause = e, this.isNetworkError = !0, this.request = t;
|
|
14
17
|
}
|
|
15
|
-
},
|
|
18
|
+
}, g = class {
|
|
16
19
|
#e;
|
|
17
20
|
#t = !1;
|
|
18
21
|
#n;
|
|
@@ -26,55 +29,55 @@ var u = class extends Error {
|
|
|
26
29
|
done() {
|
|
27
30
|
this.#t ||= (clearTimeout(this.#e), this.#e = void 0, !0);
|
|
28
31
|
}
|
|
29
|
-
},
|
|
30
|
-
function
|
|
31
|
-
let { body: n = null, headers: r = {}, method: i = "GET", onBeforeRequest: a =
|
|
32
|
+
}, _ = () => {};
|
|
33
|
+
function v(e, t = {}) {
|
|
34
|
+
let { body: n = null, headers: r = {}, method: i = "GET", onBeforeRequest: a = _, onUploadProgress: o = _, shouldRetry: s = () => !0, onAfterResponse: c = _, onTimeout: l = _, responseType: u, retries: d = 3, signal: f = null, timeout: p = 3e4, withCredentials: m = !1 } = t, v = (e) => .3 * 2 ** (e - 1) * 1e3, y = new g(p, l);
|
|
32
35
|
function b(t = 0) {
|
|
33
|
-
return new Promise(async (l,
|
|
34
|
-
let
|
|
35
|
-
s(
|
|
36
|
-
b(t + 1).then(l,
|
|
37
|
-
}, v(t)) : (y.done(),
|
|
36
|
+
return new Promise(async (l, p) => {
|
|
37
|
+
let g = new XMLHttpRequest(), _ = (e) => {
|
|
38
|
+
s(g) && t < d ? setTimeout(() => {
|
|
39
|
+
b(t + 1).then(l, p);
|
|
40
|
+
}, v(t)) : (y.done(), p(e));
|
|
38
41
|
};
|
|
39
|
-
|
|
42
|
+
g.open(i, e, !0), g.withCredentials = m, u && (g.responseType = u), g.onload = async () => {
|
|
40
43
|
try {
|
|
41
|
-
await c(
|
|
44
|
+
await c(g, t);
|
|
42
45
|
} catch (e) {
|
|
43
|
-
e.request =
|
|
46
|
+
e.request = g, _(e);
|
|
44
47
|
return;
|
|
45
48
|
}
|
|
46
|
-
|
|
47
|
-
b(t + 1).then(l,
|
|
48
|
-
}, v(t)) : (y.done(),
|
|
49
|
-
},
|
|
49
|
+
g.status >= 200 && g.status < 300 ? (y.done(), l(g)) : s(g) && t < d ? setTimeout(() => {
|
|
50
|
+
b(t + 1).then(l, p);
|
|
51
|
+
}, v(t)) : (y.done(), p(new h(g.statusText, g)));
|
|
52
|
+
}, g.onerror = () => _(new h(g.statusText, g)), g.upload.onprogress = (e) => {
|
|
50
53
|
y.progress(), o(e);
|
|
51
54
|
}, r && Object.keys(r).forEach((e) => {
|
|
52
|
-
|
|
55
|
+
g.setRequestHeader(e, r[e]);
|
|
53
56
|
});
|
|
54
57
|
function x() {
|
|
55
|
-
|
|
58
|
+
g.abort(), p(new DOMException("Aborted", "AbortError"));
|
|
56
59
|
}
|
|
57
|
-
if (
|
|
60
|
+
if (f?.addEventListener("abort", x), f?.aborted) {
|
|
58
61
|
x();
|
|
59
62
|
return;
|
|
60
63
|
}
|
|
61
|
-
await a(
|
|
64
|
+
await a(g, t), g.send(n);
|
|
62
65
|
});
|
|
63
66
|
}
|
|
64
67
|
return b();
|
|
65
68
|
}
|
|
66
69
|
//#endregion
|
|
67
70
|
//#region ../../node_modules/@uppy/utils/lib/fileFilters.js
|
|
68
|
-
var
|
|
69
|
-
function
|
|
70
|
-
return e.filter((e) => !
|
|
71
|
+
var y = (e) => "error" in e && !!e.error, b = (e) => e.progress.uploadComplete;
|
|
72
|
+
function x(e) {
|
|
73
|
+
return e.filter((e) => !y(e) && !b(e));
|
|
71
74
|
}
|
|
72
|
-
function
|
|
75
|
+
function S(e) {
|
|
73
76
|
return e.filter((e) => !e.progress?.uploadStarted || !e.isRestored);
|
|
74
77
|
}
|
|
75
78
|
//#endregion
|
|
76
79
|
//#region ../../node_modules/@uppy/utils/lib/getFileNameAndExtension.js
|
|
77
|
-
function
|
|
80
|
+
function C(e) {
|
|
78
81
|
let t = e.lastIndexOf(".");
|
|
79
82
|
return t === -1 || t === e.length - 1 ? {
|
|
80
83
|
name: e,
|
|
@@ -86,7 +89,7 @@ function v(e) {
|
|
|
86
89
|
}
|
|
87
90
|
//#endregion
|
|
88
91
|
//#region ../../node_modules/@uppy/utils/lib/mimeTypes.js
|
|
89
|
-
var
|
|
92
|
+
var w = {
|
|
90
93
|
__proto__: null,
|
|
91
94
|
md: "text/markdown",
|
|
92
95
|
markdown: "text/markdown",
|
|
@@ -143,63 +146,63 @@ var y = {
|
|
|
143
146
|
};
|
|
144
147
|
//#endregion
|
|
145
148
|
//#region ../../node_modules/@uppy/utils/lib/getFileType.js
|
|
146
|
-
function
|
|
149
|
+
function T(e) {
|
|
147
150
|
if (e.type) return e.type;
|
|
148
|
-
let t = e.name ?
|
|
149
|
-
return t && t in
|
|
151
|
+
let t = e.name ? C(e.name).extension?.toLowerCase() : null;
|
|
152
|
+
return t && t in w ? w[t] : "application/octet-stream";
|
|
150
153
|
}
|
|
151
154
|
//#endregion
|
|
152
155
|
//#region ../../node_modules/@uppy/utils/lib/generateFileID.js
|
|
153
|
-
function
|
|
156
|
+
function E(e) {
|
|
154
157
|
return e.charCodeAt(0).toString(32);
|
|
155
158
|
}
|
|
156
|
-
function
|
|
159
|
+
function D(e) {
|
|
157
160
|
let t = "";
|
|
158
|
-
return e.replace(/[^A-Z0-9]/gi, (e) => (t += `-${
|
|
161
|
+
return e.replace(/[^A-Z0-9]/gi, (e) => (t += `-${E(e)}`, "/")) + t;
|
|
159
162
|
}
|
|
160
|
-
function
|
|
163
|
+
function ee(e, t) {
|
|
161
164
|
let n = t || "uppy";
|
|
162
|
-
return typeof e.name == "string" && (n += `-${
|
|
165
|
+
return typeof e.name == "string" && (n += `-${D(e.name.toLowerCase())}`), e.type !== void 0 && (n += `-${e.type}`), e.meta && typeof e.meta.relativePath == "string" && (n += `-${D(e.meta.relativePath.toLowerCase())}`), e.data?.size !== void 0 && (n += `-${e.data.size}`), e.data.lastModified !== void 0 && (n += `-${e.data.lastModified}`), n;
|
|
163
166
|
}
|
|
164
|
-
function
|
|
165
|
-
return !e.isRemote || !e.remote ? !1 : new Set([
|
|
167
|
+
function O(e) {
|
|
168
|
+
return !e.isRemote || !e.remote ? !1 : (/* @__PURE__ */ new Set([
|
|
166
169
|
"box",
|
|
167
170
|
"dropbox",
|
|
168
171
|
"drive",
|
|
169
172
|
"facebook",
|
|
170
173
|
"unsplash"
|
|
171
|
-
]).has(e.remote.provider);
|
|
174
|
+
])).has(e.remote.provider);
|
|
172
175
|
}
|
|
173
|
-
function
|
|
174
|
-
if (
|
|
175
|
-
let n =
|
|
176
|
-
return
|
|
176
|
+
function te(e, t) {
|
|
177
|
+
if (O(e)) return e.id;
|
|
178
|
+
let n = T(e);
|
|
179
|
+
return ee({
|
|
177
180
|
...e,
|
|
178
181
|
type: n
|
|
179
182
|
}, t);
|
|
180
183
|
}
|
|
181
184
|
//#endregion
|
|
182
185
|
//#region ../../node_modules/@uppy/utils/lib/getAllowedMetaFields.js
|
|
183
|
-
function
|
|
186
|
+
function k(e, t) {
|
|
184
187
|
return e === !0 ? Object.keys(t) : Array.isArray(e) ? e : [];
|
|
185
188
|
}
|
|
186
189
|
//#endregion
|
|
187
190
|
//#region ../../node_modules/@uppy/utils/lib/getTimeStamp.js
|
|
188
|
-
function
|
|
191
|
+
function A(e) {
|
|
189
192
|
return e < 10 ? `0${e}` : e.toString();
|
|
190
193
|
}
|
|
191
|
-
function
|
|
194
|
+
function j() {
|
|
192
195
|
let e = /* @__PURE__ */ new Date();
|
|
193
|
-
return `${
|
|
196
|
+
return `${A(e.getHours())}:${A(e.getMinutes())}:${A(e.getSeconds())}`;
|
|
194
197
|
}
|
|
195
198
|
//#endregion
|
|
196
199
|
//#region ../../node_modules/@uppy/utils/lib/isNetworkError.js
|
|
197
|
-
function
|
|
200
|
+
function ne(e) {
|
|
198
201
|
return e ? e.readyState === 4 && e.status === 0 : !1;
|
|
199
202
|
}
|
|
200
203
|
//#endregion
|
|
201
204
|
//#region ../../node_modules/@uppy/utils/lib/TaskQueue.js
|
|
202
|
-
var
|
|
205
|
+
var re = class {
|
|
203
206
|
#e = [];
|
|
204
207
|
#t = 0;
|
|
205
208
|
#n;
|
|
@@ -296,26 +299,26 @@ var A = class {
|
|
|
296
299
|
};
|
|
297
300
|
//#endregion
|
|
298
301
|
//#region ../../node_modules/@uppy/utils/lib/Translator.js
|
|
299
|
-
function
|
|
302
|
+
function ie(e, t, n) {
|
|
300
303
|
let r = [];
|
|
301
304
|
return e.forEach((e) => typeof e == "string" ? t[Symbol.split](e).forEach((e, t, i) => {
|
|
302
305
|
e !== "" && r.push(e), t < i.length - 1 && r.push(n);
|
|
303
306
|
}) : r.push(e)), r;
|
|
304
307
|
}
|
|
305
|
-
function
|
|
308
|
+
function M(e, t) {
|
|
306
309
|
let n = /\$/g, r = [e];
|
|
307
310
|
if (t == null) return r;
|
|
308
311
|
for (let e of Object.keys(t)) if (e !== "_") {
|
|
309
312
|
let i = t[e];
|
|
310
|
-
typeof i == "string" && (i = n[Symbol.replace](i, "$$$$")), r =
|
|
313
|
+
typeof i == "string" && (i = n[Symbol.replace](i, "$$$$")), r = ie(r, RegExp(`%\\{${e}\\}`, "g"), i);
|
|
311
314
|
}
|
|
312
315
|
return r;
|
|
313
316
|
}
|
|
314
|
-
var
|
|
317
|
+
var N = (e) => {
|
|
315
318
|
throw Error(`missing string: ${e}`);
|
|
316
|
-
},
|
|
319
|
+
}, P = class {
|
|
317
320
|
locale;
|
|
318
|
-
constructor(e, { onMissingKey: t =
|
|
321
|
+
constructor(e, { onMissingKey: t = N } = {}) {
|
|
319
322
|
this.locale = {
|
|
320
323
|
strings: {},
|
|
321
324
|
pluralize(e) {
|
|
@@ -343,14 +346,14 @@ var te = (e) => {
|
|
|
343
346
|
if (n ??= (this.#e(e), e), typeof n == "object") {
|
|
344
347
|
if (t && t.smart_count !== void 0) {
|
|
345
348
|
let e = this.locale.pluralize(t.smart_count);
|
|
346
|
-
return
|
|
349
|
+
return M(n[e], t);
|
|
347
350
|
}
|
|
348
351
|
throw Error("Attempted to use a string with plural forms, but no value was given for %{smart_count}");
|
|
349
352
|
}
|
|
350
353
|
if (typeof n != "string") throw Error("string was not a string");
|
|
351
|
-
return
|
|
354
|
+
return M(n, t);
|
|
352
355
|
}
|
|
353
|
-
},
|
|
356
|
+
}, ae = class {
|
|
354
357
|
uppy;
|
|
355
358
|
opts;
|
|
356
359
|
id;
|
|
@@ -383,7 +386,7 @@ var te = (e) => {
|
|
|
383
386
|
}, this.setPluginState(void 0), this.i18nInit();
|
|
384
387
|
}
|
|
385
388
|
i18nInit() {
|
|
386
|
-
let e = new
|
|
389
|
+
let e = new P([
|
|
387
390
|
this.defaultLocale,
|
|
388
391
|
this.uppy.locale,
|
|
389
392
|
this.opts.locale
|
|
@@ -397,7 +400,7 @@ var te = (e) => {
|
|
|
397
400
|
uninstall() {}
|
|
398
401
|
update(e) {}
|
|
399
402
|
afterUpdate() {}
|
|
400
|
-
},
|
|
403
|
+
}, oe = class {
|
|
401
404
|
#e;
|
|
402
405
|
#t = [];
|
|
403
406
|
constructor(e) {
|
|
@@ -449,15 +452,15 @@ var te = (e) => {
|
|
|
449
452
|
this.#e.getFile(e) && t();
|
|
450
453
|
});
|
|
451
454
|
}
|
|
452
|
-
},
|
|
455
|
+
}, se = {
|
|
453
456
|
debug: () => {},
|
|
454
457
|
warn: () => {},
|
|
455
|
-
error: (...e) => console.error(`[Uppy] [${
|
|
456
|
-
},
|
|
457
|
-
debug: (...e) => console.debug(`[Uppy] [${
|
|
458
|
-
warn: (...e) => console.warn(`[Uppy] [${
|
|
459
|
-
error: (...e) => console.error(`[Uppy] [${
|
|
460
|
-
},
|
|
458
|
+
error: (...e) => console.error(`[Uppy] [${j()}]`, ...e)
|
|
459
|
+
}, ce = {
|
|
460
|
+
debug: (...e) => console.debug(`[Uppy] [${j()}]`, ...e),
|
|
461
|
+
warn: (...e) => console.warn(`[Uppy] [${j()}]`, ...e),
|
|
462
|
+
error: (...e) => console.error(`[Uppy] [${j()}]`, ...e)
|
|
463
|
+
}, le = /* @__PURE__ */ t(((e, t) => {
|
|
461
464
|
t.exports = function(e) {
|
|
462
465
|
if (typeof e != "number" || Number.isNaN(e)) throw TypeError(`Expected a number, got ${typeof e}`);
|
|
463
466
|
let t = e < 0, n = Math.abs(e);
|
|
@@ -475,27 +478,28 @@ var te = (e) => {
|
|
|
475
478
|
], i = Math.min(Math.floor(Math.log(n) / Math.log(1024)), r.length - 1), a = Number(n / 1024 ** i), o = r[i];
|
|
476
479
|
return `${a >= 10 || a % 1 == 0 ? Math.round(a) : a.toFixed(1)} ${o}`;
|
|
477
480
|
};
|
|
478
|
-
})),
|
|
481
|
+
})), ue = /* @__PURE__ */ t(((e, t) => {
|
|
479
482
|
function n(e, t) {
|
|
480
483
|
this.text = e ||= "", this.hasWild = ~e.indexOf("*"), this.separator = t, this.parts = e.split(t);
|
|
481
484
|
}
|
|
482
485
|
n.prototype.match = function(e) {
|
|
483
486
|
var t = !0, n = this.parts, r, i = n.length, a;
|
|
484
|
-
if (typeof e == "string" || e instanceof String)
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
487
|
+
if (typeof e == "string" || e instanceof String) {
|
|
488
|
+
if (!this.hasWild && this.text != e) t = !1;
|
|
489
|
+
else {
|
|
490
|
+
for (a = (e || "").split(this.separator), r = 0; t && r < i; r++) if (n[r] === "*") continue;
|
|
491
|
+
else t = r < a.length && n[r] === a[r];
|
|
492
|
+
t &&= a;
|
|
493
|
+
}
|
|
494
|
+
} else if (typeof e.splice == "function") for (t = [], r = e.length; r--;) this.match(e[r]) && (t[t.length] = e[r]);
|
|
491
495
|
else if (typeof e == "object") for (var o in t = {}, e) this.match(o) && (t[o] = e[o]);
|
|
492
496
|
return t;
|
|
493
497
|
}, t.exports = function(e, t, r) {
|
|
494
498
|
var i = new n(e, r || /[\/\.]/);
|
|
495
499
|
return t === void 0 ? i : i.match(t);
|
|
496
500
|
};
|
|
497
|
-
})),
|
|
498
|
-
var n =
|
|
501
|
+
})), de = /* @__PURE__ */ t(((e, t) => {
|
|
502
|
+
var n = ue(), r = /[\/\+\.]/;
|
|
499
503
|
t.exports = function(e, t) {
|
|
500
504
|
function i(t) {
|
|
501
505
|
var i = n(t, e, r);
|
|
@@ -503,7 +507,7 @@ var te = (e) => {
|
|
|
503
507
|
}
|
|
504
508
|
return t ? i(t.split(";")[0]) : i;
|
|
505
509
|
};
|
|
506
|
-
})), F = /* @__PURE__ */ e(
|
|
510
|
+
})), F = /* @__PURE__ */ e(le(), 1), fe = /* @__PURE__ */ e(de(), 1), pe = {
|
|
507
511
|
maxFileSize: null,
|
|
508
512
|
minFileSize: null,
|
|
509
513
|
maxTotalFileSize: null,
|
|
@@ -518,7 +522,7 @@ var te = (e) => {
|
|
|
518
522
|
super(e), this.isUserFacing = t?.isUserFacing ?? !0, t?.file && (this.file = t.file);
|
|
519
523
|
}
|
|
520
524
|
isRestriction = !0;
|
|
521
|
-
},
|
|
525
|
+
}, me = class {
|
|
522
526
|
getI18n;
|
|
523
527
|
getOpts;
|
|
524
528
|
constructor(e, t) {
|
|
@@ -541,7 +545,7 @@ var te = (e) => {
|
|
|
541
545
|
}
|
|
542
546
|
validateSingleFile(e) {
|
|
543
547
|
let { maxFileSize: t, minFileSize: n, allowedFileTypes: r } = this.getOpts().restrictions;
|
|
544
|
-
if (r && !r.some((t) => t.includes("/") ? e.type ? (0,
|
|
548
|
+
if (r && !r.some((t) => t.includes("/") ? e.type ? (0, fe.default)(e.type.replace(/;.*?$/, ""), t) : !1 : t[0] === "." && e.extension ? e.extension.toLowerCase() === t.slice(1).toLowerCase() : !1)) {
|
|
545
549
|
let t = r.join(", ");
|
|
546
550
|
throw new I(this.getI18n()("youCanOnlyUploadFileTypes", { types: t }), { file: e });
|
|
547
551
|
}
|
|
@@ -568,7 +572,7 @@ var te = (e) => {
|
|
|
568
572
|
error: t
|
|
569
573
|
};
|
|
570
574
|
}
|
|
571
|
-
},
|
|
575
|
+
}, he = {
|
|
572
576
|
name: "@uppy/store-default",
|
|
573
577
|
description: "The default simple object-based store for Uppy.",
|
|
574
578
|
version: "5.0.0",
|
|
@@ -607,8 +611,8 @@ var te = (e) => {
|
|
|
607
611
|
"dist",
|
|
608
612
|
"CHANGELOG.md"
|
|
609
613
|
]
|
|
610
|
-
},
|
|
611
|
-
static VERSION =
|
|
614
|
+
}, ge = class {
|
|
615
|
+
static VERSION = he.version;
|
|
612
616
|
state = {};
|
|
613
617
|
#e = /* @__PURE__ */ new Set();
|
|
614
618
|
getState() {
|
|
@@ -637,33 +641,33 @@ var te = (e) => {
|
|
|
637
641
|
return e != null && (t == "object" || t == "function");
|
|
638
642
|
}
|
|
639
643
|
t.exports = n;
|
|
640
|
-
})),
|
|
644
|
+
})), _e = /* @__PURE__ */ t(((e, t) => {
|
|
641
645
|
t.exports = typeof global == "object" && global && global.Object === Object && global;
|
|
642
|
-
})),
|
|
643
|
-
var n =
|
|
646
|
+
})), ve = /* @__PURE__ */ t(((e, t) => {
|
|
647
|
+
var n = _e(), r = typeof self == "object" && self && self.Object === Object && self;
|
|
644
648
|
t.exports = n || r || Function("return this")();
|
|
645
|
-
})),
|
|
646
|
-
var n =
|
|
649
|
+
})), ye = /* @__PURE__ */ t(((e, t) => {
|
|
650
|
+
var n = ve();
|
|
647
651
|
t.exports = function() {
|
|
648
652
|
return n.Date.now();
|
|
649
653
|
};
|
|
650
|
-
})),
|
|
654
|
+
})), be = /* @__PURE__ */ t(((e, t) => {
|
|
651
655
|
var n = /\s/;
|
|
652
656
|
function r(e) {
|
|
653
657
|
for (var t = e.length; t-- && n.test(e.charAt(t)););
|
|
654
658
|
return t;
|
|
655
659
|
}
|
|
656
660
|
t.exports = r;
|
|
657
|
-
})),
|
|
658
|
-
var n =
|
|
661
|
+
})), xe = /* @__PURE__ */ t(((e, t) => {
|
|
662
|
+
var n = be(), r = /^\s+/;
|
|
659
663
|
function i(e) {
|
|
660
664
|
return e && e.slice(0, n(e) + 1).replace(r, "");
|
|
661
665
|
}
|
|
662
666
|
t.exports = i;
|
|
663
|
-
})),
|
|
664
|
-
t.exports =
|
|
665
|
-
})),
|
|
666
|
-
var n =
|
|
667
|
+
})), Se = /* @__PURE__ */ t(((e, t) => {
|
|
668
|
+
t.exports = ve().Symbol;
|
|
669
|
+
})), Ce = /* @__PURE__ */ t(((e, t) => {
|
|
670
|
+
var n = Se(), r = Object.prototype, i = r.hasOwnProperty, a = r.toString, o = n ? n.toStringTag : void 0;
|
|
667
671
|
function s(e) {
|
|
668
672
|
var t = i.call(e, o), n = e[o];
|
|
669
673
|
try {
|
|
@@ -674,31 +678,31 @@ var te = (e) => {
|
|
|
674
678
|
return r && (t ? e[o] = n : delete e[o]), s;
|
|
675
679
|
}
|
|
676
680
|
t.exports = s;
|
|
677
|
-
})),
|
|
681
|
+
})), we = /* @__PURE__ */ t(((e, t) => {
|
|
678
682
|
var n = Object.prototype.toString;
|
|
679
683
|
function r(e) {
|
|
680
684
|
return n.call(e);
|
|
681
685
|
}
|
|
682
686
|
t.exports = r;
|
|
683
|
-
})),
|
|
684
|
-
var n =
|
|
687
|
+
})), Te = /* @__PURE__ */ t(((e, t) => {
|
|
688
|
+
var n = Se(), r = Ce(), i = we(), a = "[object Null]", o = "[object Undefined]", s = n ? n.toStringTag : void 0;
|
|
685
689
|
function c(e) {
|
|
686
690
|
return e == null ? e === void 0 ? o : a : s && s in Object(e) ? r(e) : i(e);
|
|
687
691
|
}
|
|
688
692
|
t.exports = c;
|
|
689
|
-
})),
|
|
693
|
+
})), Ee = /* @__PURE__ */ t(((e, t) => {
|
|
690
694
|
function n(e) {
|
|
691
695
|
return typeof e == "object" && !!e;
|
|
692
696
|
}
|
|
693
697
|
t.exports = n;
|
|
694
|
-
})),
|
|
695
|
-
var n =
|
|
698
|
+
})), De = /* @__PURE__ */ t(((e, t) => {
|
|
699
|
+
var n = Te(), r = Ee(), i = "[object Symbol]";
|
|
696
700
|
function a(e) {
|
|
697
701
|
return typeof e == "symbol" || r(e) && n(e) == i;
|
|
698
702
|
}
|
|
699
703
|
t.exports = a;
|
|
700
|
-
})),
|
|
701
|
-
var n =
|
|
704
|
+
})), Oe = /* @__PURE__ */ t(((e, t) => {
|
|
705
|
+
var n = xe(), r = L(), i = De(), a = NaN, o = /^[-+]0x[0-9a-f]+$/i, s = /^0b[01]+$/i, c = /^0o[0-7]+$/i, l = parseInt;
|
|
702
706
|
function u(e) {
|
|
703
707
|
if (typeof e == "number") return e;
|
|
704
708
|
if (i(e)) return a;
|
|
@@ -712,8 +716,8 @@ var te = (e) => {
|
|
|
712
716
|
return u || c.test(e) ? l(e.slice(2), u ? 2 : 8) : o.test(e) ? a : +e;
|
|
713
717
|
}
|
|
714
718
|
t.exports = u;
|
|
715
|
-
})),
|
|
716
|
-
var n = L(), r =
|
|
719
|
+
})), ke = /* @__PURE__ */ t(((e, t) => {
|
|
720
|
+
var n = L(), r = ye(), i = Oe(), a = "Expected a function", o = Math.max, s = Math.min;
|
|
717
721
|
function c(e, t, c) {
|
|
718
722
|
var l, u, d, f, p, m, h = 0, g = !1, _ = !1, v = !0;
|
|
719
723
|
if (typeof e != "function") throw TypeError(a);
|
|
@@ -758,8 +762,8 @@ var te = (e) => {
|
|
|
758
762
|
return D.cancel = T, D.flush = E, D;
|
|
759
763
|
}
|
|
760
764
|
t.exports = c;
|
|
761
|
-
})),
|
|
762
|
-
var n =
|
|
765
|
+
})), Ae = /* @__PURE__ */ t(((e, t) => {
|
|
766
|
+
var n = ke(), r = L(), i = "Expected a function";
|
|
763
767
|
function a(e, t, a) {
|
|
764
768
|
var o = !0, s = !0;
|
|
765
769
|
if (typeof e != "function") throw TypeError(i);
|
|
@@ -770,7 +774,7 @@ var te = (e) => {
|
|
|
770
774
|
});
|
|
771
775
|
}
|
|
772
776
|
t.exports = a;
|
|
773
|
-
})),
|
|
777
|
+
})), je = /* @__PURE__ */ t(((e, t) => {
|
|
774
778
|
t.exports = function() {
|
|
775
779
|
var e = {}, t = e._fns = {};
|
|
776
780
|
e.emit = function(e, t, i, a, o, s, c) {
|
|
@@ -810,11 +814,11 @@ var te = (e) => {
|
|
|
810
814
|
}
|
|
811
815
|
return e;
|
|
812
816
|
};
|
|
813
|
-
})),
|
|
817
|
+
})), Me = "useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict", Ne = (e = 21) => {
|
|
814
818
|
let t = "", n = e | 0;
|
|
815
|
-
for (; n
|
|
819
|
+
for (; n-- > 0;) t += Me[Math.random() * 64 | 0];
|
|
816
820
|
return t;
|
|
817
|
-
},
|
|
821
|
+
}, Pe = {
|
|
818
822
|
name: "@uppy/core",
|
|
819
823
|
description: "Core module for the extensible JavaScript file upload widget with support for drag&drop, resumable uploads, previews, restrictions, file processing/encoding, remote providers like Instagram, Dropbox, Google Drive, S3 and more :dog:",
|
|
820
824
|
version: "5.2.0",
|
|
@@ -876,12 +880,12 @@ var te = (e) => {
|
|
|
876
880
|
};
|
|
877
881
|
//#endregion
|
|
878
882
|
//#region ../../node_modules/@uppy/core/lib/getFileName.js
|
|
879
|
-
function
|
|
883
|
+
function Fe(e, t) {
|
|
880
884
|
return t.name ? t.name : e.split("/")[0] === "image" ? `${e.split("/")[0]}.${e.split("/")[1]}` : "noname";
|
|
881
885
|
}
|
|
882
886
|
//#endregion
|
|
883
887
|
//#region ../../node_modules/@uppy/core/lib/locale.js
|
|
884
|
-
var
|
|
888
|
+
var Ie = { strings: {
|
|
885
889
|
addBulkFilesFailed: {
|
|
886
890
|
0: "Failed to add %{smart_count} file due to an internal error",
|
|
887
891
|
1: "Failed to add %{smart_count} files due to internal errors"
|
|
@@ -945,7 +949,7 @@ var je = { strings: {
|
|
|
945
949
|
} };
|
|
946
950
|
//#endregion
|
|
947
951
|
//#region ../../node_modules/@uppy/core/lib/supportsUploadProgress.js
|
|
948
|
-
function
|
|
952
|
+
function Le(e) {
|
|
949
953
|
if (e == null && typeof navigator < "u" && (e = navigator.userAgent), !e) return !0;
|
|
950
954
|
let t = /Edge\/(\d+\.\d+)/.exec(e);
|
|
951
955
|
if (!t) return !0;
|
|
@@ -954,17 +958,17 @@ function Me(e) {
|
|
|
954
958
|
}
|
|
955
959
|
//#endregion
|
|
956
960
|
//#region ../../node_modules/@uppy/core/lib/Uppy.js
|
|
957
|
-
var
|
|
961
|
+
var Re = /* @__PURE__ */ e(Ae(), 1), ze = /* @__PURE__ */ e(je(), 1), R = {
|
|
958
962
|
totalProgress: 0,
|
|
959
963
|
allowNewUpload: !0,
|
|
960
964
|
error: null,
|
|
961
965
|
recoveredState: null
|
|
962
|
-
},
|
|
963
|
-
static VERSION =
|
|
966
|
+
}, Be = class e {
|
|
967
|
+
static VERSION = Pe.version;
|
|
964
968
|
#e = Object.create(null);
|
|
965
969
|
#t;
|
|
966
970
|
#n;
|
|
967
|
-
#r = (0,
|
|
971
|
+
#r = (0, ze.default)();
|
|
968
972
|
#i = /* @__PURE__ */ new Set();
|
|
969
973
|
#a = /* @__PURE__ */ new Set();
|
|
970
974
|
#o = /* @__PURE__ */ new Set();
|
|
@@ -977,18 +981,18 @@ var Ne = /* @__PURE__ */ e(Te(), 1), Pe = /* @__PURE__ */ e(Ee(), 1), R = {
|
|
|
977
981
|
scheduledAutoProceed = null;
|
|
978
982
|
wasOffline = !1;
|
|
979
983
|
constructor(t) {
|
|
980
|
-
this.defaultLocale =
|
|
984
|
+
this.defaultLocale = Ie;
|
|
981
985
|
let n = {
|
|
982
986
|
id: "uppy",
|
|
983
987
|
autoProceed: !1,
|
|
984
988
|
allowMultipleUploadBatches: !0,
|
|
985
989
|
debug: !1,
|
|
986
|
-
restrictions:
|
|
990
|
+
restrictions: pe,
|
|
987
991
|
meta: {},
|
|
988
992
|
onBeforeFileAdded: (e, t) => !Object.hasOwn(t, e.id),
|
|
989
993
|
onBeforeUpload: (e) => e,
|
|
990
|
-
store: new
|
|
991
|
-
logger:
|
|
994
|
+
store: new ge(),
|
|
995
|
+
logger: se,
|
|
992
996
|
infoTimeout: 5e3
|
|
993
997
|
}, r = {
|
|
994
998
|
...n,
|
|
@@ -1000,19 +1004,19 @@ var Ne = /* @__PURE__ */ e(Te(), 1), Pe = /* @__PURE__ */ e(Ee(), 1), R = {
|
|
|
1000
1004
|
...n.restrictions,
|
|
1001
1005
|
...t?.restrictions
|
|
1002
1006
|
}
|
|
1003
|
-
}, t?.logger && t.debug ? this.log("You are using a custom `logger`, but also set `debug: true`, which uses built-in logger to output logs to console. Ignoring `debug: true` and using your custom `logger`.", "warning") : t?.debug && (this.opts.logger =
|
|
1007
|
+
}, t?.logger && t.debug ? this.log("You are using a custom `logger`, but also set `debug: true`, which uses built-in logger to output logs to console. Ignoring `debug: true` and using your custom `logger`.", "warning") : t?.debug && (this.opts.logger = ce), this.log(`Using Core v${e.VERSION}`), this.i18nInit(), this.store = this.opts.store, this.setState({
|
|
1004
1008
|
...R,
|
|
1005
1009
|
plugins: {},
|
|
1006
1010
|
files: {},
|
|
1007
1011
|
currentUploads: {},
|
|
1008
1012
|
capabilities: {
|
|
1009
|
-
uploadProgress:
|
|
1013
|
+
uploadProgress: Le(),
|
|
1010
1014
|
individualCancellation: !0,
|
|
1011
1015
|
resumableUploads: !1
|
|
1012
1016
|
},
|
|
1013
1017
|
meta: { ...this.opts.meta },
|
|
1014
1018
|
info: []
|
|
1015
|
-
}), this.#t = new
|
|
1019
|
+
}), this.#t = new me(() => this.opts, () => this.i18n), this.#n = this.store.subscribe((e, t, n) => {
|
|
1016
1020
|
this.emit("state-update", e, t, n), this.updateAll(t);
|
|
1017
1021
|
}), this.opts.debug && typeof window < "u" && (window[this.opts.id] = this), this.#b();
|
|
1018
1022
|
}
|
|
@@ -1054,7 +1058,7 @@ var Ne = /* @__PURE__ */ e(Te(), 1), Pe = /* @__PURE__ */ e(Ee(), 1), R = {
|
|
|
1054
1058
|
this.patchFilesState({ [e]: t });
|
|
1055
1059
|
}
|
|
1056
1060
|
i18nInit() {
|
|
1057
|
-
let e = new
|
|
1061
|
+
let e = new P([this.defaultLocale, this.opts.locale], { onMissingKey: (e) => this.log(`Missing i18n string: ${e}`, "error") });
|
|
1058
1062
|
this.i18n = e.translate.bind(e), this.i18nArray = e.translateArray.bind(e), this.locale = e.locale;
|
|
1059
1063
|
}
|
|
1060
1064
|
setOptions(e) {
|
|
@@ -1240,7 +1244,7 @@ var Ne = /* @__PURE__ */ e(Te(), 1), Pe = /* @__PURE__ */ e(Ee(), 1), R = {
|
|
|
1240
1244
|
}
|
|
1241
1245
|
checkIfFileAlreadyExists(e) {
|
|
1242
1246
|
let { files: t } = this.getState();
|
|
1243
|
-
return
|
|
1247
|
+
return !(!t[e] || t[e].isGhost);
|
|
1244
1248
|
}
|
|
1245
1249
|
#d(e) {
|
|
1246
1250
|
let t = e instanceof File ? {
|
|
@@ -1252,7 +1256,7 @@ var Ne = /* @__PURE__ */ e(Te(), 1), Pe = /* @__PURE__ */ e(Ee(), 1), R = {
|
|
|
1252
1256
|
isRemote: !1,
|
|
1253
1257
|
source: void 0,
|
|
1254
1258
|
preview: void 0
|
|
1255
|
-
} : e, n =
|
|
1259
|
+
} : e, n = T(t), r = Fe(n, t), i = C(r).extension, a = te(t, this.getID()), o = {
|
|
1256
1260
|
...t.meta,
|
|
1257
1261
|
name: r,
|
|
1258
1262
|
type: n
|
|
@@ -1408,20 +1412,22 @@ var Ne = /* @__PURE__ */ e(Te(), 1), Pe = /* @__PURE__ */ e(Ee(), 1), R = {
|
|
|
1408
1412
|
pauseAll() {
|
|
1409
1413
|
let e = { ...this.getState().files };
|
|
1410
1414
|
Object.keys(e).filter((t) => !e[t].progress.uploadComplete && e[t].progress.uploadStarted).forEach((t) => {
|
|
1411
|
-
|
|
1415
|
+
let n = {
|
|
1412
1416
|
...e[t],
|
|
1413
1417
|
isPaused: !0
|
|
1414
1418
|
};
|
|
1419
|
+
e[t] = n;
|
|
1415
1420
|
}), this.setState({ files: e }), this.emit("pause-all");
|
|
1416
1421
|
}
|
|
1417
1422
|
resumeAll() {
|
|
1418
1423
|
let e = { ...this.getState().files };
|
|
1419
1424
|
Object.keys(e).filter((t) => !e[t].progress.uploadComplete && e[t].progress.uploadStarted).forEach((t) => {
|
|
1420
|
-
|
|
1425
|
+
let n = {
|
|
1421
1426
|
...e[t],
|
|
1422
1427
|
isPaused: !1,
|
|
1423
1428
|
error: null
|
|
1424
1429
|
};
|
|
1430
|
+
e[t] = n;
|
|
1425
1431
|
}), this.setState({ files: e }), this.emit("resume-all");
|
|
1426
1432
|
}
|
|
1427
1433
|
#m() {
|
|
@@ -1498,7 +1504,7 @@ var Ne = /* @__PURE__ */ e(Te(), 1), Pe = /* @__PURE__ */ e(Ee(), 1), R = {
|
|
|
1498
1504
|
let e = this.#y(), t = null;
|
|
1499
1505
|
e != null && (t = Math.round(e * 100), t > 100 ? t = 100 : t < 0 && (t = 0)), this.emit("progress", t ?? 0), this.setState({ totalProgress: t ?? 0 });
|
|
1500
1506
|
}
|
|
1501
|
-
#v = (0,
|
|
1507
|
+
#v = (0, Re.default)(() => this.#_(), 500, {
|
|
1502
1508
|
leading: !0,
|
|
1503
1509
|
trailing: !0
|
|
1504
1510
|
});
|
|
@@ -1682,9 +1688,7 @@ var Ne = /* @__PURE__ */ e(Te(), 1), Pe = /* @__PURE__ */ e(Ee(), 1), R = {
|
|
|
1682
1688
|
case "warning":
|
|
1683
1689
|
n.warn(e);
|
|
1684
1690
|
break;
|
|
1685
|
-
default:
|
|
1686
|
-
n.debug(e);
|
|
1687
|
-
break;
|
|
1691
|
+
default: n.debug(e);
|
|
1688
1692
|
}
|
|
1689
1693
|
}
|
|
1690
1694
|
#S = /* @__PURE__ */ new Map();
|
|
@@ -1705,7 +1709,7 @@ var Ne = /* @__PURE__ */ e(Te(), 1), Pe = /* @__PURE__ */ e(Ee(), 1), R = {
|
|
|
1705
1709
|
#C(e, t = {}) {
|
|
1706
1710
|
let { forceAllowNewUpload: n = !1 } = t, { allowNewUpload: r, currentUploads: i } = this.getState();
|
|
1707
1711
|
if (!r && !n) throw Error("Cannot create a new upload: already uploading.");
|
|
1708
|
-
let a =
|
|
1712
|
+
let a = Ne();
|
|
1709
1713
|
return this.emit("upload", a, this.getFilesByIds(e)), this.setState({
|
|
1710
1714
|
allowNewUpload: this.opts.allowMultipleUploadBatches !== !1 && this.opts.allowMultipleUploads !== !1,
|
|
1711
1715
|
currentUploads: {
|
|
@@ -1814,7 +1818,7 @@ var Ne = /* @__PURE__ */ e(Te(), 1), Pe = /* @__PURE__ */ e(Ee(), 1), R = {
|
|
|
1814
1818
|
throw this.#s([e]), e;
|
|
1815
1819
|
}
|
|
1816
1820
|
}
|
|
1817
|
-
},
|
|
1821
|
+
}, Ve = {
|
|
1818
1822
|
name: "@uppy/xhr-upload",
|
|
1819
1823
|
description: "Plain and simple classic HTML multipart form uploads with Uppy, as well as uploads using the HTTP PUT method.",
|
|
1820
1824
|
version: "5.2.0",
|
|
@@ -1869,43 +1873,43 @@ var Ne = /* @__PURE__ */ e(Te(), 1), Pe = /* @__PURE__ */ e(Ee(), 1), R = {
|
|
|
1869
1873
|
vitest: "^3.2.4"
|
|
1870
1874
|
},
|
|
1871
1875
|
peerDependencies: { "@uppy/core": "^5.2.0" }
|
|
1872
|
-
},
|
|
1876
|
+
}, He = { strings: { uploadStalled: "Upload has not made any progress for %{seconds} seconds. You may want to retry it." } };
|
|
1873
1877
|
//#endregion
|
|
1874
1878
|
//#region ../../node_modules/@uppy/xhr-upload/lib/index.js
|
|
1875
|
-
function
|
|
1879
|
+
function Ue(e, t) {
|
|
1876
1880
|
let n = t;
|
|
1877
|
-
return n ||= /* @__PURE__ */ Error("Upload error"), typeof n == "string" && (n = Error(n)), n instanceof Error || (n = Object.assign(/* @__PURE__ */ Error("Upload error"), { data: n })),
|
|
1881
|
+
return n ||= /* @__PURE__ */ Error("Upload error"), typeof n == "string" && (n = Error(n)), n instanceof Error || (n = Object.assign(/* @__PURE__ */ Error("Upload error"), { data: n })), ne(e) ? (n = new h(n, e), n) : (n.request = e, n);
|
|
1878
1882
|
}
|
|
1879
|
-
function
|
|
1883
|
+
function We(e) {
|
|
1880
1884
|
return e.data.slice(0, e.data.size, e.meta.type);
|
|
1881
1885
|
}
|
|
1882
|
-
var
|
|
1886
|
+
var Ge = {
|
|
1883
1887
|
formData: !0,
|
|
1884
1888
|
fieldName: "file",
|
|
1885
1889
|
method: "post",
|
|
1886
1890
|
allowedMetaFields: !0,
|
|
1887
1891
|
bundle: !1,
|
|
1888
1892
|
headers: {},
|
|
1889
|
-
timeout:
|
|
1893
|
+
timeout: 3e4,
|
|
1890
1894
|
limit: 5,
|
|
1891
1895
|
withCredentials: !1,
|
|
1892
1896
|
responseType: ""
|
|
1893
|
-
},
|
|
1894
|
-
static VERSION =
|
|
1897
|
+
}, Ke = class extends ae {
|
|
1898
|
+
static VERSION = Ve.version;
|
|
1895
1899
|
#e;
|
|
1896
1900
|
#t;
|
|
1897
1901
|
uploaderEvents;
|
|
1898
1902
|
constructor(e, t) {
|
|
1899
1903
|
if (super(e, {
|
|
1900
|
-
...
|
|
1904
|
+
...Ge,
|
|
1901
1905
|
fieldName: t.bundle ? "files[]" : "file",
|
|
1902
1906
|
...t
|
|
1903
|
-
}), this.type = "uploader", this.id = this.opts.id || "XHRUpload", this.defaultLocale =
|
|
1907
|
+
}), this.type = "uploader", this.id = this.opts.id || "XHRUpload", this.defaultLocale = He, this.i18nInit(), this.#t = new re({ concurrency: this.opts.limit }), this.opts.bundle && !this.opts.formData) throw Error("`opts.formData` must be true when `opts.bundle` is enabled.");
|
|
1904
1908
|
if (this.opts.bundle && typeof this.opts.headers == "function") throw Error("`opts.headers` can not be a function when the `bundle: true` option is set.");
|
|
1905
1909
|
if (t?.allowedMetaFields === void 0 && "metaFields" in this.opts) throw Error("The `metaFields` option has been renamed to `allowedMetaFields`.");
|
|
1906
1910
|
this.uploaderEvents = Object.create(null), this.#e = (e) => async (t, n) => {
|
|
1907
1911
|
try {
|
|
1908
|
-
let r = await
|
|
1912
|
+
let r = await v(t, {
|
|
1909
1913
|
...n,
|
|
1910
1914
|
onBeforeRequest: (t, n) => this.opts.onBeforeRequest?.(t, n, e),
|
|
1911
1915
|
shouldRetry: this.opts.shouldRetry,
|
|
@@ -1941,7 +1945,7 @@ var Be = {
|
|
|
1941
1945
|
} catch (t) {
|
|
1942
1946
|
if (t.name === "AbortError") return;
|
|
1943
1947
|
let n = t.request;
|
|
1944
|
-
for (let r of e) this.uppy.emit("upload-error", this.uppy.getFile(r.id),
|
|
1948
|
+
for (let r of e) this.uppy.emit("upload-error", this.uppy.getFile(r.id), Ue(n, t), n);
|
|
1945
1949
|
throw t;
|
|
1946
1950
|
}
|
|
1947
1951
|
};
|
|
@@ -1956,7 +1960,7 @@ var Be = {
|
|
|
1956
1960
|
return typeof n == "function" ? r.headers = n(e) : Object.assign(r.headers, this.opts.headers), t && Object.assign(r.headers, t.headers), e.xhrUpload && Object.assign(r.headers, e.xhrUpload.headers), r;
|
|
1957
1961
|
}
|
|
1958
1962
|
addMetadata(e, t, n) {
|
|
1959
|
-
|
|
1963
|
+
k(n.allowedMetaFields, t).forEach((n) => {
|
|
1960
1964
|
let r = t[n];
|
|
1961
1965
|
Array.isArray(r) ? r.forEach((t) => e.append(n, t)) : e.append(n, r);
|
|
1962
1966
|
});
|
|
@@ -1964,18 +1968,18 @@ var Be = {
|
|
|
1964
1968
|
createFormDataUpload(e, t) {
|
|
1965
1969
|
let n = new FormData();
|
|
1966
1970
|
this.addMetadata(n, e.meta, t);
|
|
1967
|
-
let r =
|
|
1971
|
+
let r = We(e);
|
|
1968
1972
|
return e.name ? n.append(t.fieldName, r, e.meta.name) : n.append(t.fieldName, r), n;
|
|
1969
1973
|
}
|
|
1970
1974
|
createBundledUpload(e, t) {
|
|
1971
1975
|
let n = new FormData(), { meta: r } = this.uppy.getState();
|
|
1972
1976
|
return this.addMetadata(n, r, t), e.forEach((e) => {
|
|
1973
|
-
let t = this.getOptions(e), r =
|
|
1977
|
+
let t = this.getOptions(e), r = We(e);
|
|
1974
1978
|
e.name ? n.append(t.fieldName, r, e.name) : n.append(t.fieldName, r);
|
|
1975
1979
|
}), n;
|
|
1976
1980
|
}
|
|
1977
1981
|
async #n(e) {
|
|
1978
|
-
let t = new
|
|
1982
|
+
let t = new oe(this.uppy), n = new AbortController();
|
|
1979
1983
|
t.onFileRemove(e.id, () => n.abort()), t.onCancelAll(e.id, () => n.abort());
|
|
1980
1984
|
try {
|
|
1981
1985
|
await this.#t.add(async (t) => {
|
|
@@ -2019,7 +2023,7 @@ var Be = {
|
|
|
2019
2023
|
}
|
|
2020
2024
|
}
|
|
2021
2025
|
#i(e) {
|
|
2022
|
-
let t = this.getOptions(e), n =
|
|
2026
|
+
let t = this.getOptions(e), n = k(t.allowedMetaFields, e.meta);
|
|
2023
2027
|
return {
|
|
2024
2028
|
...e.remote?.body,
|
|
2025
2029
|
protocol: "multipart",
|
|
@@ -2054,7 +2058,7 @@ var Be = {
|
|
|
2054
2058
|
return;
|
|
2055
2059
|
}
|
|
2056
2060
|
this.opts.limit === 0 && this.uppy.log("[XHRUpload] When uploading multiple files at once, consider setting the `limit` option (to `10` for example), to limit the number of concurrent uploads, which helps prevent memory and network issues: https://uppy.io/docs/xhr-upload/#limit-0", "warning"), this.uppy.log("[XHRUpload] Uploading...");
|
|
2057
|
-
let t =
|
|
2061
|
+
let t = x(this.uppy.getFilesByIds(e)), n = S(t);
|
|
2058
2062
|
if (this.uppy.emit("upload-start", n), this.opts.bundle) {
|
|
2059
2063
|
if (t.some((e) => e.isRemote)) throw Error("Can’t upload remote files when the `bundle: true` option is set");
|
|
2060
2064
|
if (typeof this.opts.headers == "function") throw TypeError("`headers` may not be a function when the `bundle: true` option is set");
|
|
@@ -2081,83 +2085,109 @@ var Be = {
|
|
|
2081
2085
|
}
|
|
2082
2086
|
this.uppy.removeUploader(this.#o);
|
|
2083
2087
|
}
|
|
2084
|
-
},
|
|
2085
|
-
|
|
2086
|
-
function
|
|
2088
|
+
}, qe = "@layer formie-theme{.formie-upload-manager{gap:var(--formie-gap-field);flex-direction:column;display:flex}.formie-upload-manager-dropzone{justify-content:center;align-items:center;gap:var(--formie-space-2);padding:var(--formie-space-4);min-height:calc(var(--formie-control-height) * 3);border:var(--formie-border-width) dashed var(--formie-color-border-control);border-radius:var(--formie-radius-sm);background:var(--formie-color-surface-subtle);color:var(--formie-color-text);text-align:center;cursor:pointer;flex-direction:column;transition:border-color .15s,background-color .15s,box-shadow .15s;display:flex}.formie-upload-manager-dropzone:hover,.formie-upload-manager-dropzone.formie-upload-manager-dropzone-active{border-color:var(--formie-color-focus-ring);background:var(--formie-color-surface-muted)}.formie-upload-manager-dropzone:focus{outline:0}.formie-upload-manager-dropzone:focus-visible{box-shadow:0 0 0 var(--formie-focus-ring-width) var(--formie-color-focus-ring)}.formie-field-has-error .formie-upload-manager-dropzone{border-color:var(--formie-color-danger)}.formie-upload-manager-prompt{font-size:var(--formie-font-size-sm);color:var(--formie-color-text-muted);margin:0}.formie-upload-manager-list{gap:var(--formie-space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.formie-upload-manager-item{align-items:center;gap:var(--formie-space-2);padding:var(--formie-space-2) var(--formie-space-3);border:var(--formie-border-width) solid var(--formie-color-border-control);border-radius:var(--formie-radius-sm);background:var(--formie-color-surface);grid-template-columns:minmax(0,1fr) minmax(6.5rem,8rem) auto;display:grid}.formie-upload-manager-item.is-error{border-color:var(--formie-color-danger)}.formie-upload-manager-item.is-complete .formie-upload-manager-progress{opacity:0;visibility:hidden;pointer-events:none}.formie-upload-manager-filename{text-overflow:ellipsis;white-space:nowrap;font-size:var(--formie-font-size-sm);overflow:hidden}.formie-upload-manager-progress{justify-content:center;gap:var(--formie-space-1);min-height:var(--formie-button-icon-button-size);opacity:1;visibility:visible;flex-direction:column;align-self:center;transition:opacity .2s,visibility .2s;display:flex}.formie-upload-manager-progress-track{border-radius:var(--formie-radius-full);background:var(--formie-color-surface-muted);height:.375rem;position:relative;overflow:hidden}.formie-upload-manager-progress-bar{border-radius:inherit;background:var(--formie-color-primary);width:0;height:100%;transition:width .18s ease-out,background-color .2s}.formie-upload-manager-item.is-upload-complete .formie-upload-manager-progress-bar{background:var(--formie-color-success,var(--formie-color-primary));width:100%!important}.formie-upload-manager-item.is-uploading:not(.is-upload-complete) .formie-upload-manager-progress-track[data-indeterminate=true] .formie-upload-manager-progress-bar,.formie-upload-manager-item.is-preparing .formie-upload-manager-progress-bar,.formie-upload-manager-item.is-processing .formie-upload-manager-progress-bar{width:35%;animation:1.1s ease-in-out infinite formie-upload-manager-progress-indeterminate}.formie-upload-manager-item.is-processing .formie-upload-manager-progress-bar{opacity:.85}.formie-upload-manager-item.is-processing .formie-upload-manager-progress-label{color:var(--formie-color-text)}@keyframes formie-upload-manager-progress-indeterminate{0%{transform:translate(-120%)}to{transform:translate(320%)}}.formie-upload-manager-progress-label{font-size:var(--formie-font-size-xs);color:var(--formie-color-text-muted);text-align:center;white-space:nowrap;line-height:1.2}.formie-upload-manager-item.is-upload-complete .formie-upload-manager-progress-label{color:var(--formie-color-success-dark,var(--formie-color-primary));font-weight:var(--formie-font-weight-medium)}.formie-upload-manager-error{font-size:var(--formie-font-size-xs);color:var(--formie-color-danger);grid-column:1/-1}.formie-upload-manager-browse-button{margin-top:var(--formie-space-1)}.formie-upload-manager-actions{align-items:center;gap:var(--formie-space-2);flex-shrink:0;align-self:center;display:flex}.formie-upload-manager-sort-controls{border-radius:var(--formie-radius-sm);background:0 0;flex-direction:row;align-items:center;gap:.0625rem;padding:0;display:inline-flex}.formie-upload-manager-sort-controls[hidden]{display:none}.formie-upload-manager-sort-button,.formie-upload-manager-action-button{border-radius:var(--formie-radius-sm);width:1.375rem;height:1.375rem;color:var(--formie-color-text-muted);cursor:pointer;text-indent:-9999px;white-space:nowrap;background:0 0;border:0;justify-content:center;align-items:center;padding:0;font-size:0;line-height:0;transition:background-color .15s,color .15s,opacity .15s;display:inline-flex;position:relative;overflow:hidden}.formie-upload-manager-sort-button{width:1.375rem;height:1.375rem}.formie-upload-manager-sort-button:hover:not(:disabled),.formie-upload-manager-action-button:hover{background:var(--formie-color-surface-muted);color:var(--formie-color-text)}.formie-upload-manager-sort-button:focus-visible,.formie-upload-manager-action-button:focus-visible{box-shadow:0 0 0 var(--formie-focus-ring-width) var(--formie-color-focus-ring);outline:0}.formie-upload-manager-sort-button:disabled{opacity:.28;cursor:not-allowed}.formie-upload-manager-sort-button:after,.formie-upload-manager-action-button:after{content:\"\";background-color:currentColor;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.formie-upload-manager-sort-button[data-formie-icon=arrow-up]{--formie-upload-manager-icon-mask:var(--formie-icon-mask-arrow-up)}.formie-upload-manager-sort-button[data-formie-icon=arrow-down]{--formie-upload-manager-icon-mask:var(--formie-icon-mask-arrow-down)}.formie-upload-manager-action-button[data-formie-icon=close]{--formie-upload-manager-icon-mask:var(--formie-icon-mask-close)}.formie-upload-manager-sort-button:after{width:.75rem;height:.75rem;-webkit-mask-image:var(--formie-upload-manager-icon-mask);-webkit-mask-image:var(--formie-upload-manager-icon-mask);mask-image:var(--formie-upload-manager-icon-mask)}.formie-upload-manager-action-button:after{width:.825rem;height:.825rem;-webkit-mask-image:var(--formie-upload-manager-icon-mask);-webkit-mask-image:var(--formie-upload-manager-icon-mask);mask-image:var(--formie-upload-manager-icon-mask)}.formie-upload-manager-remove-button{flex-shrink:0}}", z = "[data-formie-upload-manager-root]", B = "[data-formie-upload-manager]", Je = "[data-formie-upload-manager-browse]", Ye = "[data-formie-upload-manager-input]", V = "[data-formie-upload-manager-status]", Xe = "[data-formie-upload-manager-list]", Ze = "[data-formie-upload-manager-sort-controls]", Qe = "[data-formie-upload-manager-sort=\"up\"]", $e = "[data-formie-upload-manager-sort=\"down\"]", H = "data-formie-file-upload-anchor", U = "data-formie-file-upload-asset-id", et = "data-formie-file-upload-token", W = "data-formie-file-upload-entry", tt = r("reset"), nt = i("repeater", "init-row"), rt = "upload-manager", it = "upload-manager", at = ["uploadManagerRequired", "uploadManagerFileLimit"], ot = 900, st = 95, ct = 12e4, G = a("fields", "upload-manager");
|
|
2089
|
+
d(rt, [qe]);
|
|
2090
|
+
function lt(e) {
|
|
2087
2091
|
return !!e && typeof e == "object" && !Array.isArray(e);
|
|
2088
2092
|
}
|
|
2089
|
-
function
|
|
2093
|
+
function K(e) {
|
|
2090
2094
|
let t = Number(e);
|
|
2091
2095
|
return Number.isInteger(t) && t > 0 ? t : null;
|
|
2092
2096
|
}
|
|
2093
|
-
function
|
|
2097
|
+
function q(e) {
|
|
2098
|
+
return typeof e == "string" ? e.trim() : "";
|
|
2099
|
+
}
|
|
2100
|
+
function J(e) {
|
|
2094
2101
|
return e.getAttribute("data-formie-field-handle")?.trim() || "";
|
|
2095
2102
|
}
|
|
2096
|
-
function
|
|
2103
|
+
function ut(e) {
|
|
2097
2104
|
if (!e) return "";
|
|
2098
2105
|
let t = e.querySelector("input[name=\"handle\"]");
|
|
2099
2106
|
return t instanceof HTMLInputElement && t.value.trim() ? t.value.trim() : e.getAttribute("data-formie-handle")?.trim() || "";
|
|
2100
2107
|
}
|
|
2101
|
-
function
|
|
2108
|
+
function Y(e) {
|
|
2102
2109
|
return Array.from(e.querySelectorAll("input[type=\"hidden\"]")).filter((e) => e instanceof HTMLInputElement);
|
|
2103
2110
|
}
|
|
2104
|
-
function
|
|
2105
|
-
let n =
|
|
2111
|
+
function dt(e, t) {
|
|
2112
|
+
let n = Y(e).find((e) => e.hasAttribute(H) || e.name === t.replace("[]", "") && e.value === "");
|
|
2106
2113
|
if (n) return n.setAttribute(H, "true"), n;
|
|
2107
2114
|
let r = document.createElement("input");
|
|
2108
2115
|
return r.type = "hidden", r.name = t.replace("[]", ""), r.value = "", r.setAttribute(H, "true"), e.prepend(r), r;
|
|
2109
2116
|
}
|
|
2110
|
-
function
|
|
2111
|
-
return
|
|
2117
|
+
function ft(e, t) {
|
|
2118
|
+
return Y(e).filter((e) => e.hasAttribute(U) || e.name === t && e.value.trim() !== "");
|
|
2112
2119
|
}
|
|
2113
|
-
function
|
|
2114
|
-
return
|
|
2120
|
+
function X(e, t) {
|
|
2121
|
+
return ft(e, t).map((e) => K(e.getAttribute(U)) ?? K(e.value)).filter((e) => e !== null);
|
|
2122
|
+
}
|
|
2123
|
+
function pt(e, t) {
|
|
2124
|
+
let n = {};
|
|
2125
|
+
return ft(e, t).forEach((e) => {
|
|
2126
|
+
let t = K(e.getAttribute(U)) ?? K(e.value), r = e.getAttribute(et)?.trim() || "";
|
|
2127
|
+
t && r && (n[t] = r);
|
|
2128
|
+
}), n;
|
|
2115
2129
|
}
|
|
2116
|
-
function
|
|
2117
|
-
let i = t;
|
|
2118
|
-
|
|
2130
|
+
function mt(e, t, n, r) {
|
|
2131
|
+
let i = t, a = n.endsWith("[]") ? n.slice(0, -2) : n;
|
|
2132
|
+
Y(e).filter((e) => e.hasAttribute(W) || e.name === n && e.value.trim() !== "").forEach((e) => {
|
|
2119
2133
|
e.remove();
|
|
2120
|
-
}), r.forEach((e) => {
|
|
2121
|
-
let
|
|
2122
|
-
|
|
2134
|
+
}), r.forEach(({ assetId: e, uploadToken: t, uploadUid: n, attachToken: r }, o) => {
|
|
2135
|
+
let s = document.createElement("input");
|
|
2136
|
+
if (s.type = "hidden", s.setAttribute(W, "true"), s.setAttribute(U, String(e)), n && r ? (s.name = `${a}[${o}][uploadUid]`, s.value = n) : (s.name = `${a}[${o}][assetId]`, s.value = String(e)), t && s.setAttribute(et, t), i.insertAdjacentElement("afterend", s), i = s, n && r) {
|
|
2137
|
+
let e = document.createElement("input");
|
|
2138
|
+
e.type = "hidden", e.name = `${a}[${o}][attachToken]`, e.value = r, e.setAttribute(W, "true"), i.insertAdjacentElement("afterend", e), i = e;
|
|
2139
|
+
}
|
|
2123
2140
|
});
|
|
2124
2141
|
}
|
|
2125
|
-
function
|
|
2142
|
+
function ht(e, t, n) {
|
|
2126
2143
|
let r = n.getAttribute("data-formie-upload-key")?.trim() || n.getAttribute("data-formie-input-id")?.trim() || "", i = {
|
|
2127
|
-
handle:
|
|
2128
|
-
fieldHandle:
|
|
2144
|
+
handle: ut(e),
|
|
2145
|
+
fieldHandle: J(t),
|
|
2129
2146
|
inputKey: r
|
|
2130
2147
|
};
|
|
2131
|
-
|
|
2132
|
-
[
|
|
2148
|
+
return e ? ([
|
|
2133
2149
|
"renderId",
|
|
2134
2150
|
"draftContextToken",
|
|
2135
2151
|
"draftContext",
|
|
2136
|
-
"submissionId"
|
|
2152
|
+
"submissionId",
|
|
2153
|
+
"siteId",
|
|
2154
|
+
"submissionEditToken",
|
|
2155
|
+
"resumeToken",
|
|
2156
|
+
"submissionUid",
|
|
2157
|
+
"uploadCreateToken"
|
|
2137
2158
|
].forEach((t) => {
|
|
2138
2159
|
let n = e.querySelector(`input[name="${t}"]`);
|
|
2139
2160
|
n instanceof HTMLInputElement && n.value.trim() && (i[t] = n.value.trim());
|
|
2140
|
-
});
|
|
2141
|
-
let a = e.querySelector("input[name=\"CRAFT_CSRF_TOKEN\"]");
|
|
2142
|
-
return a instanceof HTMLInputElement && a.value.trim() && (i.CRAFT_CSRF_TOKEN = a.value.trim()), i;
|
|
2161
|
+
}), o(i, e), i) : i;
|
|
2143
2162
|
}
|
|
2144
|
-
function
|
|
2145
|
-
let
|
|
2146
|
-
|
|
2147
|
-
|
|
2148
|
-
|
|
2149
|
-
|
|
2150
|
-
|
|
2163
|
+
function gt(e, t, n, r = {}) {
|
|
2164
|
+
let i = new FormData(), a = ut(e), o = J(t);
|
|
2165
|
+
return a && i.append("handle", a), o && i.append("fieldHandle", o), [
|
|
2166
|
+
"submissionUid",
|
|
2167
|
+
"resumeToken",
|
|
2168
|
+
"submissionEditToken",
|
|
2169
|
+
"siteId",
|
|
2170
|
+
"renderId",
|
|
2171
|
+
"draftContext",
|
|
2172
|
+
"draftContextToken"
|
|
2173
|
+
].forEach((t) => {
|
|
2174
|
+
let n = e?.querySelector(`input[name="${t}"]`);
|
|
2175
|
+
n instanceof HTMLInputElement && n.value.trim() && i.append(t, n.value.trim());
|
|
2176
|
+
}), n.forEach((e) => {
|
|
2177
|
+
i.append("assetIds[]", String(e));
|
|
2178
|
+
let t = r[e];
|
|
2179
|
+
t && i.append(`uploadTokens[${e}]`, t);
|
|
2180
|
+
}), c(i, e), i;
|
|
2151
2181
|
}
|
|
2152
|
-
function
|
|
2182
|
+
function _t(e) {
|
|
2153
2183
|
if (!e) return null;
|
|
2154
2184
|
let t = e.split(",").map((e) => e.trim()).filter(Boolean);
|
|
2155
2185
|
return t.length ? t : null;
|
|
2156
2186
|
}
|
|
2157
|
-
function
|
|
2187
|
+
function Z(e, t, n, r) {
|
|
2158
2188
|
return t?.trim() || e.getAttribute(n)?.trim() || r;
|
|
2159
2189
|
}
|
|
2160
|
-
function
|
|
2190
|
+
function vt(e) {
|
|
2161
2191
|
let t = e.querySelector("[data-formie-upload-manager-progress]");
|
|
2162
2192
|
if (!(t instanceof HTMLElement)) return {
|
|
2163
2193
|
track: null,
|
|
@@ -2171,28 +2201,28 @@ function X(e) {
|
|
|
2171
2201
|
label: i instanceof HTMLElement ? i : null
|
|
2172
2202
|
};
|
|
2173
2203
|
}
|
|
2174
|
-
function
|
|
2175
|
-
let { track: r, bar: i, label: a } =
|
|
2204
|
+
function Q(e, t, n = "uploading") {
|
|
2205
|
+
let { track: r, bar: i, label: a } = vt(e);
|
|
2176
2206
|
e.classList.add("is-uploading"), e.classList.remove("is-upload-complete", "is-complete", "is-processing", "is-preparing"), n === "processing" ? e.classList.add("is-processing") : n === "preparing" && e.classList.add("is-preparing"), r && r.setAttribute("data-indeterminate", "true"), i && (i.style.removeProperty("width"), i.setAttribute("data-progress", n)), a && (a.textContent = t);
|
|
2177
2207
|
}
|
|
2178
|
-
function
|
|
2179
|
-
let { track: r, bar: i, label: a } =
|
|
2180
|
-
e.classList.add("is-uploading"), e.classList.remove("is-upload-complete", "is-complete", "is-processing", "is-preparing"), r && r.setAttribute("data-indeterminate", "false"), i && (i.style.width = `${o}%`, i.setAttribute("data-progress", String(o))), a && (
|
|
2208
|
+
function yt(e, t, n) {
|
|
2209
|
+
let { track: r, bar: i, label: a } = vt(e), o = Math.max(0, Math.min(st, Math.round(t)));
|
|
2210
|
+
e.classList.add("is-uploading"), e.classList.remove("is-upload-complete", "is-complete", "is-processing", "is-preparing"), r && r.setAttribute("data-indeterminate", "false"), i && (i.style.width = `${o}%`, i.setAttribute("data-progress", String(o))), a && (a.textContent = n || (o > 0 ? `Uploading… ${o}%` : "Uploading…"));
|
|
2181
2211
|
}
|
|
2182
|
-
function
|
|
2212
|
+
function bt(e, t, n = {}) {
|
|
2183
2213
|
let { loaded: r = 0, total: i = 0 } = n;
|
|
2184
2214
|
if ((i > 0 ? r >= i : t >= 100) || t >= 100) {
|
|
2185
|
-
|
|
2215
|
+
Q(e, "Processing…", "processing");
|
|
2186
2216
|
return;
|
|
2187
2217
|
}
|
|
2188
2218
|
if (t <= 0 && r <= 0) {
|
|
2189
|
-
|
|
2219
|
+
Q(e, "Uploading…", "uploading");
|
|
2190
2220
|
return;
|
|
2191
2221
|
}
|
|
2192
|
-
let a = Math.min(
|
|
2193
|
-
|
|
2222
|
+
let a = Math.min(st, Math.max(1, Math.round(t)));
|
|
2223
|
+
yt(e, a, `Uploading… ${a}%`);
|
|
2194
2224
|
}
|
|
2195
|
-
function
|
|
2225
|
+
function xt(e, t) {
|
|
2196
2226
|
if (e instanceof XMLHttpRequest && e.responseText) try {
|
|
2197
2227
|
let t = JSON.parse(e.responseText);
|
|
2198
2228
|
if (t.message) return t.message;
|
|
@@ -2203,20 +2233,20 @@ function pt(e, t) {
|
|
|
2203
2233
|
} catch {}
|
|
2204
2234
|
return t instanceof Error && t.message ? t.message : "Upload failed.";
|
|
2205
2235
|
}
|
|
2206
|
-
function
|
|
2207
|
-
return e.status === 0
|
|
2236
|
+
function St(e) {
|
|
2237
|
+
return e.status === 0 || e.status >= 500;
|
|
2208
2238
|
}
|
|
2209
|
-
function
|
|
2210
|
-
let { track: t, bar: n, label: r } =
|
|
2239
|
+
function Ct(e) {
|
|
2240
|
+
let { track: t, bar: n, label: r } = vt(e);
|
|
2211
2241
|
e.classList.add("is-uploading", "is-upload-complete"), e.classList.remove("is-complete", "is-processing", "is-preparing"), t && t.setAttribute("data-indeterminate", "false"), n && (n.style.width = "100%", n.setAttribute("data-progress", "100")), r && (r.textContent = "Complete"), window.setTimeout(() => {
|
|
2212
2242
|
e.classList.add("is-complete"), e.classList.remove("is-uploading", "is-upload-complete");
|
|
2213
|
-
},
|
|
2243
|
+
}, ot);
|
|
2214
2244
|
}
|
|
2215
|
-
function
|
|
2245
|
+
function wt(e) {
|
|
2216
2246
|
let t = e === "up" ? "Move file up" : "Move file down", n = document.createElement("button");
|
|
2217
2247
|
return n.type = "button", n.className = "formie-upload-manager-sort-button", n.setAttribute("data-formie-upload-manager-sort", e), n.setAttribute("data-formie-icon", e === "up" ? "arrow-up" : "arrow-down"), n.setAttribute("aria-label", t), n.setAttribute("title", t), n.textContent = t, n;
|
|
2218
2248
|
}
|
|
2219
|
-
function
|
|
2249
|
+
function Tt(e, t) {
|
|
2220
2250
|
let n = document.createElement("li");
|
|
2221
2251
|
n.className = "formie-upload-manager-item", n.setAttribute("data-formie-upload-manager-item", "true");
|
|
2222
2252
|
let r = document.createElement("span");
|
|
@@ -2231,14 +2261,14 @@ function _t(e, t) {
|
|
|
2231
2261
|
s.className = "formie-upload-manager-progress-label", s.setAttribute("data-formie-upload-manager-progress-label", "true"), s.textContent = "Preparing…", a.append(o), i.append(a, s);
|
|
2232
2262
|
let c = document.createElement("div");
|
|
2233
2263
|
c.className = "formie-upload-manager-sort-controls", c.setAttribute("data-formie-upload-manager-sort-controls", "true"), c.hidden = !0;
|
|
2234
|
-
let l =
|
|
2264
|
+
let l = wt("up"), u = wt("down");
|
|
2235
2265
|
c.append(l, u);
|
|
2236
2266
|
let d = document.createElement("div");
|
|
2237
2267
|
d.className = "formie-upload-manager-actions", d.setAttribute("data-formie-upload-manager-actions", "true");
|
|
2238
2268
|
let f = document.createElement("button");
|
|
2239
2269
|
f.type = "button", f.className = "formie-upload-manager-action-button formie-upload-manager-remove-button", f.setAttribute("data-formie-upload-manager-remove", "true"), f.setAttribute("aria-label", "Remove file"), f.setAttribute("title", "Remove file"), f.setAttribute("data-formie-icon", "close"), f.textContent = "Remove", d.append(c, f);
|
|
2240
2270
|
let p = document.createElement("span");
|
|
2241
|
-
return p.className = "formie-upload-manager-error", p.setAttribute("data-formie-upload-manager-error", "true"), p.hidden = !0, n.append(r, i, d, p),
|
|
2271
|
+
return p.className = "formie-upload-manager-error", p.setAttribute("data-formie-upload-manager-error", "true"), p.hidden = !0, n.append(r, i, d, p), Q(n, "Preparing…", "preparing"), {
|
|
2242
2272
|
listItem: n,
|
|
2243
2273
|
filenameEl: r,
|
|
2244
2274
|
errorEl: p,
|
|
@@ -2247,28 +2277,34 @@ function _t(e, t) {
|
|
|
2247
2277
|
sortDownButton: u
|
|
2248
2278
|
};
|
|
2249
2279
|
}
|
|
2250
|
-
function
|
|
2251
|
-
let t =
|
|
2252
|
-
if (t?.name) return t.name
|
|
2253
|
-
let n =
|
|
2254
|
-
return
|
|
2280
|
+
function Et(e) {
|
|
2281
|
+
let t = Y(e).find((e) => e.hasAttribute(H));
|
|
2282
|
+
if (t?.name) return t.name.endsWith("[]") ? t.name : `${t.name}[]`;
|
|
2283
|
+
let n = J(e), r = n ? u(n) : "";
|
|
2284
|
+
return r ? `${r}[]` : "fields[fileUpload][]";
|
|
2255
2285
|
}
|
|
2256
|
-
function
|
|
2286
|
+
function Dt(e) {
|
|
2257
2287
|
return e.files.filter((e) => e.assetId !== null).length;
|
|
2258
2288
|
}
|
|
2259
2289
|
function $(e) {
|
|
2260
|
-
let t = e.files.
|
|
2261
|
-
|
|
2262
|
-
|
|
2263
|
-
|
|
2290
|
+
let t = e.files.filter((e) => e.assetId !== null).map((e) => ({
|
|
2291
|
+
assetId: e.assetId,
|
|
2292
|
+
uploadToken: e.uploadToken,
|
|
2293
|
+
uploadUid: e.uploadUid,
|
|
2294
|
+
attachToken: e.attachToken,
|
|
2295
|
+
filename: e.filename
|
|
2296
|
+
}));
|
|
2297
|
+
mt(e.field, e.anchorInput, e.assetInputName, t), e.statusInput && (e.statusInput.value = t.length ? "uploaded" : ""), p(e.field, "file-upload", "uploaded-assets-sync", { assets: t.map(({ assetId: e, filename: t }) => ({
|
|
2298
|
+
assetId: e,
|
|
2299
|
+
filename: t
|
|
2264
2300
|
})) });
|
|
2265
2301
|
}
|
|
2266
|
-
function
|
|
2267
|
-
|
|
2302
|
+
function Ot(e) {
|
|
2303
|
+
m(e, it, (e) => {
|
|
2268
2304
|
e.addValidator("uploadManagerRequired", ({ input: e }) => {
|
|
2269
2305
|
if (!e.matches(V)) return !0;
|
|
2270
2306
|
let t = e.closest("[data-formie-field-handle]");
|
|
2271
|
-
return !(t instanceof HTMLElement) || e.getAttribute("data-formie-validation-required") !== "true"
|
|
2307
|
+
return !(t instanceof HTMLElement) || e.getAttribute("data-formie-validation-required") !== "true" || X(t, Et(t)).length > 0;
|
|
2272
2308
|
}, ({ input: e, label: t, t: n }) => e.getAttribute("data-formie-required-message") ?? n("{label} cannot be blank.", { label: t })), e.addValidator("uploadManagerFileLimit", ({ input: e }) => {
|
|
2273
2309
|
if (!e.matches(V)) return !0;
|
|
2274
2310
|
let t = e.closest("[data-formie-field-handle]");
|
|
@@ -2276,41 +2312,41 @@ function yt(e) {
|
|
|
2276
2312
|
let n = t.querySelector(B);
|
|
2277
2313
|
if (!(n instanceof HTMLElement)) return !0;
|
|
2278
2314
|
let r = parseInt(n.getAttribute("data-formie-file-limit") || "", 10);
|
|
2279
|
-
return r
|
|
2315
|
+
return !r || X(t, Et(t)).length <= r;
|
|
2280
2316
|
}, ({ input: e, t }) => {
|
|
2281
2317
|
let n = e.closest("[data-formie-field-handle]")?.querySelector(B);
|
|
2282
2318
|
return n?.getAttribute("data-formie-validation-max-files-message") ?? t("Choose up to {files} files.", { files: n?.getAttribute("data-formie-file-limit") || "" });
|
|
2283
2319
|
});
|
|
2284
2320
|
});
|
|
2285
2321
|
}
|
|
2286
|
-
function
|
|
2287
|
-
|
|
2322
|
+
function kt(e) {
|
|
2323
|
+
f(e, it, at);
|
|
2288
2324
|
}
|
|
2289
|
-
function
|
|
2325
|
+
function At(e, t) {
|
|
2290
2326
|
if (e instanceof HTMLFormElement) return e;
|
|
2291
2327
|
let n = t.closest("form");
|
|
2292
2328
|
return n instanceof HTMLFormElement ? n : null;
|
|
2293
2329
|
}
|
|
2294
|
-
function
|
|
2295
|
-
let
|
|
2296
|
-
if (!(r instanceof HTMLElement)) return () => {};
|
|
2297
|
-
let i = r.querySelector(B);
|
|
2330
|
+
function jt(e, t, r) {
|
|
2331
|
+
let i = e.querySelector(z);
|
|
2298
2332
|
if (!(i instanceof HTMLElement)) return () => {};
|
|
2299
|
-
let
|
|
2300
|
-
if (!(
|
|
2301
|
-
let
|
|
2302
|
-
|
|
2303
|
-
let C =
|
|
2333
|
+
let a = i.querySelector(B);
|
|
2334
|
+
if (!(a instanceof HTMLElement)) return () => {};
|
|
2335
|
+
let o = i.querySelector(Ye), c = i.querySelector(Je), u = i.querySelector(Xe), d = i.querySelector(V);
|
|
2336
|
+
if (!(o instanceof HTMLInputElement) || !(u instanceof HTMLElement)) return () => {};
|
|
2337
|
+
let f = At(t, e), m = d instanceof HTMLInputElement ? d : null, h = Et(e), g = dt(e, h), _ = Z(a, r.uploadEndpoint, "data-formie-file-upload-upload-endpoint", "/actions/formie/file-upload/upload"), v = Z(a, r.deleteEndpoint, "data-formie-file-upload-delete-endpoint", "/actions/formie/file-upload/delete"), y = Z(a, r.hydrateEndpoint, "data-formie-file-upload-hydrate-endpoint", "/actions/formie/file-upload/hydrate"), b = r.limitFiles ?? K(a.getAttribute("data-formie-file-limit")), x = r.sizeLimit ?? parseFloat(a.getAttribute("data-formie-size-max-limit") || ""), S = r.sizeMinLimit ?? parseFloat(a.getAttribute("data-formie-size-min-limit") || ""), C = _t(r.accept ?? a.getAttribute("accept") ?? o.accept), w = {};
|
|
2338
|
+
b && (w.maxNumberOfFiles = b), x && (w.maxFileSize = x * 1e3 * 1e3), S && (w.minFileSize = S * 1e3 * 1e3), C && (w.allowedFileTypes = C);
|
|
2339
|
+
let T = new Be({
|
|
2304
2340
|
autoProceed: !0,
|
|
2305
|
-
restrictions:
|
|
2306
|
-
});
|
|
2307
|
-
|
|
2308
|
-
endpoint:
|
|
2341
|
+
restrictions: w
|
|
2342
|
+
}), E = s(f);
|
|
2343
|
+
T.use(Ke, {
|
|
2344
|
+
endpoint: _,
|
|
2309
2345
|
fieldName: "file",
|
|
2310
2346
|
formData: !0,
|
|
2311
|
-
withCredentials:
|
|
2312
|
-
timeout:
|
|
2313
|
-
shouldRetry:
|
|
2347
|
+
withCredentials: f?.dataset.formieRequestProfile !== "cross-origin-public",
|
|
2348
|
+
timeout: ct,
|
|
2349
|
+
shouldRetry: St,
|
|
2314
2350
|
headers: { Accept: "application/json" },
|
|
2315
2351
|
allowedMetaFields: [
|
|
2316
2352
|
"handle",
|
|
@@ -2320,7 +2356,11 @@ function St(e, t, n) {
|
|
|
2320
2356
|
"draftContextToken",
|
|
2321
2357
|
"draftContext",
|
|
2322
2358
|
"submissionId",
|
|
2323
|
-
"
|
|
2359
|
+
"siteId",
|
|
2360
|
+
"submissionEditToken",
|
|
2361
|
+
"resumeToken",
|
|
2362
|
+
"uploadCreateToken",
|
|
2363
|
+
...E ? [E.name] : []
|
|
2324
2364
|
],
|
|
2325
2365
|
getResponseData(e) {
|
|
2326
2366
|
try {
|
|
@@ -2329,206 +2369,226 @@ function St(e, t, n) {
|
|
|
2329
2369
|
return {};
|
|
2330
2370
|
}
|
|
2331
2371
|
},
|
|
2332
|
-
onBeforeRequest(e, t,
|
|
2333
|
-
|
|
2334
|
-
|
|
2335
|
-
|
|
2372
|
+
onBeforeRequest(e, t, r) {
|
|
2373
|
+
n(_, { profile: f?.dataset.formieRequestProfile }).forEach((t, n) => e.setRequestHeader(n, t));
|
|
2374
|
+
let i = s(f);
|
|
2375
|
+
i && e.setRequestHeader("X-CSRF-Token", i.value);
|
|
2376
|
+
let a = r[0];
|
|
2377
|
+
a?.id && a.size && e.upload.addEventListener("progress", (e) => {
|
|
2378
|
+
let t = M(a.id);
|
|
2336
2379
|
if (!t) return;
|
|
2337
2380
|
let n = 0;
|
|
2338
|
-
e.lengthComputable && e.total > 0 ? n = Math.round(e.loaded / e.total * 100) : e.loaded > 0 &&
|
|
2381
|
+
e.lengthComputable && e.total > 0 ? n = Math.round(e.loaded / e.total * 100) : e.loaded > 0 && a.size && (n = Math.min(100, Math.round(e.loaded / a.size * 100))), bt(t.listItem, n, {
|
|
2339
2382
|
loaded: e.loaded,
|
|
2340
|
-
total: e.lengthComputable ? e.total :
|
|
2383
|
+
total: e.lengthComputable ? e.total : a.size ?? void 0
|
|
2341
2384
|
});
|
|
2342
2385
|
});
|
|
2343
2386
|
}
|
|
2344
2387
|
});
|
|
2345
|
-
let
|
|
2388
|
+
let D = {
|
|
2346
2389
|
field: e,
|
|
2347
|
-
dropzone:
|
|
2390
|
+
dropzone: a,
|
|
2348
2391
|
browseInput: o,
|
|
2349
|
-
statusInput:
|
|
2350
|
-
fileList:
|
|
2351
|
-
anchorInput:
|
|
2352
|
-
assetInputName:
|
|
2353
|
-
uppy:
|
|
2392
|
+
statusInput: m,
|
|
2393
|
+
fileList: u,
|
|
2394
|
+
anchorInput: g,
|
|
2395
|
+
assetInputName: h,
|
|
2396
|
+
uppy: T,
|
|
2354
2397
|
files: []
|
|
2355
|
-
},
|
|
2356
|
-
|
|
2357
|
-
},
|
|
2358
|
-
let e =
|
|
2359
|
-
|
|
2360
|
-
let r = t.listItem.querySelector(
|
|
2398
|
+
}, ee = () => b ? Math.max(0, b - Dt(D)) : null, O = (e) => {
|
|
2399
|
+
a.classList.toggle("formie-upload-manager-dropzone-active", e);
|
|
2400
|
+
}, te = (e) => e.assetId !== null && !e.listItem.classList.contains("is-error"), k = () => {
|
|
2401
|
+
let e = D.files.length >= 2;
|
|
2402
|
+
D.files.forEach((t, n) => {
|
|
2403
|
+
let r = t.listItem.querySelector(Ze), i = t.listItem.querySelector(Qe), a = t.listItem.querySelector($e);
|
|
2361
2404
|
if (!(r instanceof HTMLElement)) return;
|
|
2362
|
-
let o = e &&
|
|
2363
|
-
r.hidden = !o, i instanceof HTMLButtonElement && (i.disabled = !o || n === 0), a instanceof HTMLButtonElement && (a.disabled = !o || n >=
|
|
2405
|
+
let o = e && te(t);
|
|
2406
|
+
r.hidden = !o, i instanceof HTMLButtonElement && (i.disabled = !o || n === 0), a instanceof HTMLButtonElement && (a.disabled = !o || n >= D.files.length - 1);
|
|
2364
2407
|
});
|
|
2365
|
-
},
|
|
2366
|
-
let n =
|
|
2367
|
-
if (n < 0 || r < 0 || r >=
|
|
2368
|
-
let i =
|
|
2369
|
-
|
|
2408
|
+
}, A = (e, t) => {
|
|
2409
|
+
let n = D.files.indexOf(e), r = n + t;
|
|
2410
|
+
if (n < 0 || r < 0 || r >= D.files.length) return;
|
|
2411
|
+
let i = D.files[r];
|
|
2412
|
+
D.files[n] = i, D.files[r] = e, t === -1 ? e.listItem.before(i.listItem) : e.listItem.after(i.listItem), $(D), k(), p(D.field, "file-upload", "uploaded-assets-reordered", { assets: D.files.filter((e) => e.assetId !== null).map((e) => ({
|
|
2370
2413
|
assetId: e.assetId,
|
|
2371
2414
|
filename: e.filename
|
|
2372
2415
|
})) });
|
|
2373
|
-
},
|
|
2416
|
+
}, j = (e, t, n, r) => {
|
|
2374
2417
|
t.addEventListener("click", () => {
|
|
2375
|
-
|
|
2418
|
+
ne(e);
|
|
2376
2419
|
}), n.addEventListener("click", () => {
|
|
2377
|
-
|
|
2420
|
+
A(e, -1);
|
|
2378
2421
|
}), r.addEventListener("click", () => {
|
|
2379
|
-
|
|
2422
|
+
A(e, 1);
|
|
2380
2423
|
});
|
|
2381
|
-
},
|
|
2382
|
-
if (t.uppyFileId &&
|
|
2383
|
-
let n = new FormData(), r =
|
|
2424
|
+
}, ne = async (t) => {
|
|
2425
|
+
if (t.uppyFileId && T.removeFile(t.uppyFileId), t.assetId) {
|
|
2426
|
+
let n = new FormData(), r = ht(f, e, a);
|
|
2384
2427
|
Object.entries(r).forEach(([e, t]) => {
|
|
2385
2428
|
n.append(e, t);
|
|
2386
|
-
}), n.append("assetId", String(t.assetId));
|
|
2429
|
+
}), n.append("assetId", String(t.assetId)), t.uploadToken && n.append("uploadToken", t.deleteToken || "");
|
|
2387
2430
|
try {
|
|
2388
|
-
await
|
|
2431
|
+
await l(v, {
|
|
2432
|
+
profile: f?.dataset.formieRequestProfile,
|
|
2389
2433
|
method: "POST",
|
|
2390
2434
|
body: n
|
|
2391
2435
|
});
|
|
2392
2436
|
} catch (e) {
|
|
2393
|
-
|
|
2437
|
+
G.warn("Failed to delete uploaded asset.", {
|
|
2394
2438
|
assetId: t.assetId,
|
|
2395
2439
|
error: e
|
|
2396
2440
|
});
|
|
2397
2441
|
}
|
|
2398
2442
|
}
|
|
2399
|
-
t.listItem.remove(),
|
|
2400
|
-
},
|
|
2401
|
-
let { listItem:
|
|
2402
|
-
|
|
2403
|
-
let
|
|
2443
|
+
t.listItem.remove(), D.files = D.files.filter((e) => e !== t), $(D), k();
|
|
2444
|
+
}, re = (t, n, r = null, i = null, a = null, o = null) => {
|
|
2445
|
+
let { listItem: s, removeButton: c, sortUpButton: l, sortDownButton: d } = Tt(e, n);
|
|
2446
|
+
s.classList.add("is-complete"), u.append(s);
|
|
2447
|
+
let f = {
|
|
2404
2448
|
assetId: t,
|
|
2449
|
+
uploadToken: r,
|
|
2450
|
+
deleteToken: i,
|
|
2451
|
+
uploadUid: a,
|
|
2452
|
+
attachToken: o,
|
|
2405
2453
|
filename: n,
|
|
2406
2454
|
uppyFileId: null,
|
|
2407
|
-
listItem:
|
|
2455
|
+
listItem: s
|
|
2408
2456
|
};
|
|
2409
|
-
|
|
2410
|
-
},
|
|
2411
|
-
let t =
|
|
2412
|
-
if (t.length)
|
|
2413
|
-
|
|
2457
|
+
j(f, c, l, d), D.files.push(f), k();
|
|
2458
|
+
}, ie = async () => {
|
|
2459
|
+
let t = X(e, h);
|
|
2460
|
+
if (!t.length) return;
|
|
2461
|
+
let n = pt(e, h);
|
|
2462
|
+
try {
|
|
2463
|
+
let r = (await l(y, {
|
|
2464
|
+
profile: f?.dataset.formieRequestProfile,
|
|
2414
2465
|
method: "POST",
|
|
2415
|
-
body:
|
|
2416
|
-
})).assets || [],
|
|
2466
|
+
body: gt(f, e, t, n)
|
|
2467
|
+
})).assets || [], i = new Map(r.map((e) => [K(e.assetId), e]).filter(([e]) => e !== null));
|
|
2417
2468
|
t.forEach((e) => {
|
|
2418
|
-
if (
|
|
2419
|
-
let t =
|
|
2420
|
-
t &&
|
|
2421
|
-
}), $(
|
|
2469
|
+
if (D.files.some((t) => t.assetId === e)) return;
|
|
2470
|
+
let t = i.get(e);
|
|
2471
|
+
t && re(e, t.filename || `Asset #${e}`, q(t.uploadToken) || n[e] || null, q(t.deleteToken) || null, q(t.uploadUid) || null, q(t.attachToken) || null);
|
|
2472
|
+
}), $(D), k();
|
|
2422
2473
|
} catch (e) {
|
|
2423
|
-
|
|
2474
|
+
G.warn("Failed to hydrate uploaded assets.", { error: e });
|
|
2424
2475
|
}
|
|
2425
|
-
}, M = (e) => e &&
|
|
2426
|
-
|
|
2476
|
+
}, M = (e) => e && D.files.find((t) => t.uppyFileId === e) || null;
|
|
2477
|
+
T.on("upload-progress", (e, t) => {
|
|
2427
2478
|
let n = M(e?.id);
|
|
2428
2479
|
if (!n) return;
|
|
2429
2480
|
let r = t.bytesTotal || 0, i = t.bytesUploaded || 0, a = r > 0 ? Math.round(i / r * 100) : 0;
|
|
2430
|
-
|
|
2481
|
+
bt(n.listItem, a, {
|
|
2431
2482
|
loaded: i,
|
|
2432
2483
|
total: r
|
|
2433
2484
|
});
|
|
2434
|
-
}),
|
|
2485
|
+
}), T.on("upload-retry", (e) => {
|
|
2435
2486
|
let t = M(e?.id);
|
|
2436
|
-
t &&
|
|
2437
|
-
}),
|
|
2487
|
+
t && Q(t.listItem, "Retrying…", "retrying");
|
|
2488
|
+
}), T.on("upload-success", (e, t) => {
|
|
2438
2489
|
let n = M(e?.id);
|
|
2439
2490
|
if (!n) return;
|
|
2440
|
-
let r = n.listItem.querySelector("[data-formie-upload-manager-error]"), i =
|
|
2491
|
+
let r = n.listItem.querySelector("[data-formie-upload-manager-error]"), i = lt(t?.body) ? t.body : {}, a = K(i.assetId);
|
|
2441
2492
|
if (!i.success || !a) {
|
|
2442
2493
|
if (n.listItem.classList.add("is-error"), n.listItem.classList.remove("is-uploading", "is-upload-complete", "is-processing", "is-preparing"), r instanceof HTMLElement) {
|
|
2443
|
-
r.hidden = !1, r.textContent =
|
|
2494
|
+
r.hidden = !1, r.textContent = xt(null, { message: "Upload failed." });
|
|
2444
2495
|
let e = i.errors ? Object.values(i.errors).flat().find(Boolean) : null;
|
|
2445
2496
|
e && (r.textContent = e);
|
|
2446
2497
|
}
|
|
2447
2498
|
return;
|
|
2448
2499
|
}
|
|
2449
|
-
n.assetId = a, n.filename = i.filename || n.filename,
|
|
2450
|
-
}),
|
|
2500
|
+
n.assetId = a, n.uploadToken = q(i.uploadToken) || null, n.deleteToken = q(i.deleteToken) || null, n.uploadUid = q(i.uploadUid) || null, n.attachToken = q(i.attachToken) || null, n.filename = i.filename || n.filename, Ct(n.listItem), $(D), k();
|
|
2501
|
+
}), T.on("upload-error", (e, t, n) => {
|
|
2451
2502
|
let r = M(e?.id);
|
|
2452
2503
|
if (!r) return;
|
|
2453
2504
|
let i = r.listItem.querySelector("[data-formie-upload-manager-error]");
|
|
2454
|
-
r.listItem.classList.add("is-error"), r.listItem.classList.remove("is-uploading", "is-upload-complete", "is-processing", "is-preparing"), i instanceof HTMLElement && (i.hidden = !1, i.textContent =
|
|
2455
|
-
}),
|
|
2456
|
-
let n =
|
|
2505
|
+
r.listItem.classList.add("is-error"), r.listItem.classList.remove("is-uploading", "is-upload-complete", "is-processing", "is-preparing"), i instanceof HTMLElement && (i.hidden = !1, i.textContent = xt(n, t));
|
|
2506
|
+
}), T.on("file-added", (t) => {
|
|
2507
|
+
let n = ee();
|
|
2457
2508
|
if (n !== null && n <= 0) {
|
|
2458
|
-
|
|
2509
|
+
T.removeFile(t.id), T.info("File limit reached.", "error", 3e3);
|
|
2459
2510
|
return;
|
|
2460
2511
|
}
|
|
2461
|
-
|
|
2462
|
-
let { listItem: r, removeButton:
|
|
2463
|
-
|
|
2464
|
-
let
|
|
2512
|
+
T.setFileMeta(t.id, ht(f, e, a));
|
|
2513
|
+
let { listItem: r, removeButton: i, sortUpButton: o, sortDownButton: s } = Tt(e, t.name || "Upload");
|
|
2514
|
+
u.append(r);
|
|
2515
|
+
let c = {
|
|
2465
2516
|
assetId: null,
|
|
2517
|
+
uploadToken: null,
|
|
2518
|
+
uploadUid: null,
|
|
2519
|
+
attachToken: null,
|
|
2466
2520
|
filename: t.name || "Upload",
|
|
2467
2521
|
uppyFileId: t.id,
|
|
2468
2522
|
listItem: r
|
|
2469
2523
|
};
|
|
2470
|
-
|
|
2524
|
+
j(c, i, o, s), D.files.push(c), k();
|
|
2471
2525
|
});
|
|
2472
2526
|
let N = () => {
|
|
2473
2527
|
o.click();
|
|
2474
2528
|
};
|
|
2475
|
-
|
|
2529
|
+
c?.addEventListener("click", (e) => {
|
|
2476
2530
|
e.preventDefault(), e.stopPropagation(), N();
|
|
2477
|
-
}),
|
|
2478
|
-
e.target instanceof Element && e.target.closest(
|
|
2479
|
-
}),
|
|
2531
|
+
}), a.addEventListener("click", (e) => {
|
|
2532
|
+
e.target instanceof Element && e.target.closest(Je) || N();
|
|
2533
|
+
}), a.addEventListener("keydown", (e) => {
|
|
2480
2534
|
(e.key === "Enter" || e.key === " ") && (e.preventDefault(), N());
|
|
2481
2535
|
}), o.addEventListener("change", () => {
|
|
2482
2536
|
if (!o.files?.length) return;
|
|
2483
2537
|
let e = Array.from(o.files);
|
|
2484
2538
|
o.value = "";
|
|
2485
2539
|
try {
|
|
2486
|
-
|
|
2540
|
+
T.addFiles(e.map((e) => ({
|
|
2487
2541
|
name: e.name,
|
|
2488
2542
|
type: e.type,
|
|
2489
2543
|
data: e
|
|
2490
2544
|
})));
|
|
2491
2545
|
} catch (e) {
|
|
2492
|
-
e instanceof Error &&
|
|
2546
|
+
e instanceof Error && T.info(e.message, "error", 3e3);
|
|
2493
2547
|
}
|
|
2494
2548
|
}), ["dragenter", "dragover"].forEach((e) => {
|
|
2495
|
-
|
|
2496
|
-
e.preventDefault(), e.stopPropagation(),
|
|
2549
|
+
a.addEventListener(e, (e) => {
|
|
2550
|
+
e.preventDefault(), e.stopPropagation(), O(!0);
|
|
2497
2551
|
});
|
|
2498
2552
|
}), ["dragleave", "drop"].forEach((e) => {
|
|
2499
|
-
|
|
2500
|
-
e.preventDefault(), e.stopPropagation(),
|
|
2553
|
+
a.addEventListener(e, (e) => {
|
|
2554
|
+
e.preventDefault(), e.stopPropagation(), O(!1);
|
|
2501
2555
|
});
|
|
2502
|
-
}),
|
|
2556
|
+
}), a.addEventListener("drop", (e) => {
|
|
2503
2557
|
let t = e.dataTransfer;
|
|
2504
2558
|
if (!t?.files?.length) return;
|
|
2505
2559
|
let n = Array.from(t.files);
|
|
2506
2560
|
try {
|
|
2507
|
-
|
|
2561
|
+
T.addFiles(n.map((e) => ({
|
|
2508
2562
|
name: e.name,
|
|
2509
2563
|
type: e.type,
|
|
2510
2564
|
data: e
|
|
2511
2565
|
})));
|
|
2512
2566
|
} catch (e) {
|
|
2513
|
-
e instanceof Error &&
|
|
2567
|
+
e instanceof Error && T.info(e.message, "error", 3e3);
|
|
2514
2568
|
}
|
|
2515
2569
|
});
|
|
2516
2570
|
let P = () => {
|
|
2517
|
-
|
|
2571
|
+
D.files.forEach((e) => {
|
|
2518
2572
|
e.listItem.remove();
|
|
2519
|
-
}),
|
|
2573
|
+
}), D.files = [], T.cancelAll(), mt(e, g, h, []);
|
|
2520
2574
|
};
|
|
2521
|
-
return
|
|
2522
|
-
|
|
2575
|
+
return f?.addEventListener(tt, P), ie(), () => {
|
|
2576
|
+
f?.removeEventListener(tt, P), T.destroy(), D.files = [];
|
|
2523
2577
|
};
|
|
2524
2578
|
}
|
|
2525
|
-
var
|
|
2526
|
-
|
|
2579
|
+
var Mt = {
|
|
2580
|
+
moduleId: `formie:${rt}`,
|
|
2581
|
+
version: 2,
|
|
2582
|
+
surfaces: [
|
|
2583
|
+
"server-rendered",
|
|
2584
|
+
"client-rendered",
|
|
2585
|
+
"cp-edit"
|
|
2586
|
+
],
|
|
2527
2587
|
kind: "field",
|
|
2528
2588
|
match: (e) => !!e.target.querySelector(z),
|
|
2529
2589
|
setup: async (e) => {
|
|
2530
2590
|
let t = e.options || {}, n = e.form, r = /* @__PURE__ */ new WeakSet(), i = [];
|
|
2531
|
-
|
|
2591
|
+
Ot(n);
|
|
2532
2592
|
let a = (e) => {
|
|
2533
2593
|
let a = /* @__PURE__ */ new Set();
|
|
2534
2594
|
e instanceof HTMLElement && e.hasAttribute("data-formie-field-handle") && a.add(e), e instanceof Element && (e.querySelectorAll("[data-formie-field-handle]").forEach((e) => {
|
|
@@ -2537,22 +2597,22 @@ var Ct = {
|
|
|
2537
2597
|
let t = e.closest("[data-formie-field-handle]");
|
|
2538
2598
|
t instanceof HTMLElement && a.add(t);
|
|
2539
2599
|
})), a.forEach((e) => {
|
|
2540
|
-
r.has(e)
|
|
2600
|
+
!r.has(e) && e.querySelector(z) && (r.add(e), i.push(jt(e, n, t)));
|
|
2541
2601
|
});
|
|
2542
2602
|
};
|
|
2543
2603
|
a(e.target);
|
|
2544
2604
|
let o = (e) => {
|
|
2545
2605
|
let t = e.detail;
|
|
2546
|
-
if (!
|
|
2606
|
+
if (!lt(t)) return;
|
|
2547
2607
|
let n = t.row;
|
|
2548
2608
|
n instanceof HTMLElement && a(n);
|
|
2549
2609
|
};
|
|
2550
|
-
return n?.addEventListener(
|
|
2551
|
-
n?.removeEventListener(
|
|
2610
|
+
return n?.addEventListener(nt, o), G.log("Module setup.", { count: i.length }), await e.emit("formie:module:upload-manager:init", { count: i.length }), { destroy: () => {
|
|
2611
|
+
n?.removeEventListener(nt, o), i.forEach((e) => {
|
|
2552
2612
|
e();
|
|
2553
|
-
}),
|
|
2613
|
+
}), kt(n), G.log("Module destroy."), e.emit("formie:module:upload-manager:destroy", {});
|
|
2554
2614
|
} };
|
|
2555
2615
|
}
|
|
2556
2616
|
};
|
|
2557
2617
|
//#endregion
|
|
2558
|
-
export {
|
|
2618
|
+
export { Mt as uploadManagerModule };
|