@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.
Files changed (383) hide show
  1. package/CHANGELOG.md +57 -0
  2. package/dist/chunks/{address-country-Rx6GQTND.js → address-country-Dn71jroa.js} +10 -4
  3. package/dist/chunks/{address-finder-k7_BXaRe.js → address-finder-O49uDRoR.js} +2 -2
  4. package/dist/chunks/{address-state-BwE01m2_.js → address-state-ByYatUur.js} +154 -143
  5. package/dist/chunks/{api-DqpfkZWL.js → api-D6kJ7kXZ.js} +183 -179
  6. package/dist/chunks/{api-BUb6P-xu.js → api-DYYsVIub.js} +77 -47
  7. package/dist/chunks/{api-sPqGbOww.js → api-ghNr2uxX.js} +15 -9
  8. package/dist/chunks/{bpoint-Dlq34XH1.js → bpoint-D0RKFM4F.js} +3 -3
  9. package/dist/chunks/calculations-YEoVCG2q.js +310 -0
  10. package/dist/chunks/{captcha-eu-CGm8Lbrj.js → captcha-eu-DERJbXnH.js} +5 -4
  11. package/dist/chunks/{checkbox-radio-BY2aTCOG.js → checkbox-radio-gsm8QPJg.js} +74 -75
  12. package/dist/chunks/{combobox-C0EuExSI.js → combobox-CWNdx4Fk.js} +290 -279
  13. package/dist/chunks/conditions-DqNHLTbN.js +464 -0
  14. package/dist/chunks/country-from-ip-DDj_mFki.js +29 -0
  15. package/dist/chunks/csrf-DxHg_ZYt.js +61 -0
  16. package/dist/chunks/{custom-google-maps-BsaSirEZ.js → custom-google-maps-C4l2S3GO.js} +9 -3
  17. package/dist/chunks/{custom-link-CJ1-FjEM.js → custom-link-CLazgKYH.js} +8 -2
  18. package/dist/chunks/{custom-maps-DYW_pBid.js → custom-maps-DqcAlD0v.js} +10 -4
  19. package/dist/chunks/{date-picker-5CA_-zGb.js → date-picker-RUnevF7l.js} +456 -430
  20. package/dist/chunks/{dist-BdUy8m_p.js → dist-ZLeW0zZ3.js} +1280 -452
  21. package/dist/chunks/{eway-D9_m8ooj.js → eway-or6dtjoT.js} +3 -3
  22. package/dist/chunks/field-references.resolver-Ca8MguFv.js +104 -0
  23. package/dist/chunks/{file-upload-rqfZNqlH.js → file-upload-Bm-TXyNB.js} +104 -96
  24. package/dist/chunks/friendly-captcha-v1-GFqCt1Mh.js +34 -0
  25. package/dist/chunks/{friendly-captcha-v2-CLSAbkqx.js → friendly-captcha-v2-WoW246JG.js} +6 -5
  26. package/dist/chunks/{friendly-challenge-8uPatWqk.js → friendly-challenge-DPG9MJb1.js} +111 -102
  27. package/dist/chunks/{go-cardless-DAT3ZaQf.js → go-cardless-DzJ-0FKg.js} +2 -2
  28. package/dist/chunks/google-address-C1P1nTDM.js +163 -0
  29. package/dist/chunks/{hcaptcha-CGLAmgjO.js → hcaptcha-D0T8aIHz.js} +3 -3
  30. package/dist/chunks/{hidden-D7_Ch-QN.js → hidden-BZhXnNPe.js} +8 -2
  31. package/dist/chunks/http-C2QdHuWO.js +27 -0
  32. package/dist/chunks/{leaflet-src-j-lHNmhR.js → leaflet-src-DE6rv6M-.js} +42 -46
  33. package/dist/chunks/{loqate-CJPzBmSm.js → loqate-DD1S7PY9.js} +2 -2
  34. package/dist/chunks/{mollie-Bibhl67p.js → mollie-DG8Ju83x.js} +2 -2
  35. package/dist/chunks/{moneris-H2wSqk9h.js → moneris-C8m3Fvqu.js} +3 -3
  36. package/dist/chunks/opayo-B3EvrVxw.js +188 -0
  37. package/dist/chunks/{paddle-DkvIxQdG.js → paddle-BIYR9Um3.js} +3 -3
  38. package/dist/chunks/{password-validation-T0vDQPCr.js → password-validation-C8_uO_c_.js} +18 -12
  39. package/dist/chunks/{paypal-CQpAF7Ua.js → paypal-B_yxIo2d.js} +7 -5
  40. package/dist/chunks/{payway-CwDkC7YZ.js → payway-CeOzS0sL.js} +3 -3
  41. package/dist/chunks/{phone-country-D3ayr60L.js → phone-country-bAqje17P.js} +80 -63
  42. package/dist/chunks/{place-kit-BGHklIZ-.js → place-kit-BE5gi3vo.js} +3 -3
  43. package/dist/chunks/{placekit-autocomplete.esm-DWVabQlq.js → placekit-autocomplete.esm-CZZERYur.js} +11 -15
  44. package/dist/chunks/{recaptcha-enterprise-XPId5-bS.js → recaptcha-enterprise-CruXddZq.js} +4 -4
  45. package/dist/chunks/{recaptcha-shared-CLYJvojk.js → recaptcha-shared-AQRMDMme.js} +1 -1
  46. package/dist/chunks/{recaptcha-v2-checkbox-Cy-0PEPc.js → recaptcha-v2-checkbox-CCnJYCnG.js} +4 -4
  47. package/dist/chunks/{recaptcha-v2-invisible-BwRH540O.js → recaptcha-v2-invisible-BuVqRRYn.js} +4 -4
  48. package/dist/chunks/{recaptcha-v3-No4Ykrhk.js → recaptcha-v3-CloqhO2A.js} +4 -4
  49. package/dist/chunks/{repeater-BVnPUqTj.js → repeater-DwE27jI1.js} +25 -19
  50. package/dist/chunks/request-profile-DhwkeCpS.js +10 -0
  51. package/dist/chunks/rich-text-uV4o_pGk.js +361 -0
  52. package/dist/chunks/{chunk-3b4jIN3o.js → rolldown-runtime-DtPi1Y-2.js} +2 -2
  53. package/dist/chunks/{sdk-BhHAYgga.js → sdk-lkwSvlpM.js} +282 -234
  54. package/dist/chunks/{shared-Bx9s0i0P.js → shared-OKhSay59.js} +27 -21
  55. package/dist/chunks/{signature-xz4QO7CR.js → signature-7cldFbqj.js} +160 -112
  56. package/dist/chunks/{snaptcha-DKx98oon.js → snaptcha-C04kNGYQ.js} +2 -2
  57. package/dist/chunks/{square-DwdcOI1G.js → square-DEzxv9D9.js} +8 -6
  58. package/dist/chunks/{stripe-DaoG2FT1.js → stripe-CVPQGDz3.js} +10 -11
  59. package/dist/chunks/{summary-Dks0gXS3.js → summary-BF_8mrXI.js} +47 -45
  60. package/dist/chunks/{survey-likert-DkE6bR7B.js → survey-likert-fk1hUPff.js} +7 -1
  61. package/dist/chunks/{survey-rank-DN6x4IZM.js → survey-rank-BsLGl2LX.js} +37 -25
  62. package/dist/chunks/{survey-rating-BnsNL9U5.js → survey-rating-DVS6e6fM.js} +17 -5
  63. package/dist/chunks/{table-CAjCJHrL.js → table-DnIBdeKF.js} +21 -15
  64. package/dist/chunks/{text-limit-Bn18WrPU.js → text-limit-LGMPhFuC.js} +40 -34
  65. package/dist/chunks/{theme-classes-Tv7q7ToE.js → theme-classes-DAQuEqdP.js} +1 -1
  66. package/dist/chunks/{turnstile-DJakPzQD.js → turnstile-n9DNyPxi.js} +3 -3
  67. package/dist/chunks/{upload-manager-W-QDgxKD.js → upload-manager-BbiUosZq.js} +410 -350
  68. package/dist/chunks/{utils-Vqp8i_RM.js → utils-DpUBPadZ.js} +20 -14
  69. package/dist/css/formie-base.css +104 -1
  70. package/dist/css/theme/_messages.css +2 -0
  71. package/dist/css/theme/_tokens.css +31 -25
  72. package/dist/css/theme/fields/_signature.css +2 -1
  73. package/dist/css/theme/forms/_form.css +5 -1
  74. package/dist/index.d.ts +5 -4
  75. package/dist/index.d.ts.map +1 -1
  76. package/dist/index.js +1778 -1425
  77. package/dist/js/contracts/client.d.ts +5 -3
  78. package/dist/js/contracts/client.d.ts.map +1 -1
  79. package/dist/js/contracts/common.d.ts +2 -2
  80. package/dist/js/contracts/common.d.ts.map +1 -1
  81. package/dist/js/contracts/modules.d.ts +37 -12
  82. package/dist/js/contracts/modules.d.ts.map +1 -1
  83. package/dist/js/contracts/schema.d.ts +20 -38
  84. package/dist/js/contracts/schema.d.ts.map +1 -1
  85. package/dist/js/contracts/theme.d.ts +4 -1
  86. package/dist/js/contracts/theme.d.ts.map +1 -1
  87. package/dist/js/core/client-rendered-modules.d.ts +17 -0
  88. package/dist/js/core/client-rendered-modules.d.ts.map +1 -0
  89. package/dist/js/core/create-formie-client.d.ts.map +1 -1
  90. package/dist/js/core/field-error-aria.d.ts +23 -0
  91. package/dist/js/core/field-error-aria.d.ts.map +1 -0
  92. package/dist/js/core/hydrate-modules.d.ts +10 -8
  93. package/dist/js/core/hydrate-modules.d.ts.map +1 -1
  94. package/dist/js/core/submit-result-state.d.ts.map +1 -1
  95. package/dist/js/core/submit-result-ui.d.ts.map +1 -1
  96. package/dist/js/core/validation-focus.d.ts.map +1 -1
  97. package/dist/js/modules/address/address-finder.d.ts +1 -1
  98. package/dist/js/modules/address/address-finder.d.ts.map +1 -1
  99. package/dist/js/modules/address/factories.d.ts +3 -3
  100. package/dist/js/modules/address/factories.d.ts.map +1 -1
  101. package/dist/js/modules/address/google-address.d.ts +2 -1
  102. package/dist/js/modules/address/google-address.d.ts.map +1 -1
  103. package/dist/js/modules/address/index.d.ts +2 -2
  104. package/dist/js/modules/address/index.d.ts.map +1 -1
  105. package/dist/js/modules/address/loqate.d.ts +1 -1
  106. package/dist/js/modules/address/loqate.d.ts.map +1 -1
  107. package/dist/js/modules/address/place-kit.d.ts +1 -1
  108. package/dist/js/modules/address/place-kit.d.ts.map +1 -1
  109. package/dist/js/modules/captchas/captcha-eu.d.ts +1 -1
  110. package/dist/js/modules/captchas/captcha-eu.d.ts.map +1 -1
  111. package/dist/js/modules/captchas/factories.d.ts +11 -11
  112. package/dist/js/modules/captchas/factories.d.ts.map +1 -1
  113. package/dist/js/modules/captchas/friendly-captcha-v1.d.ts +1 -1
  114. package/dist/js/modules/captchas/friendly-captcha-v1.d.ts.map +1 -1
  115. package/dist/js/modules/captchas/friendly-captcha-v2.d.ts +1 -1
  116. package/dist/js/modules/captchas/friendly-captcha-v2.d.ts.map +1 -1
  117. package/dist/js/modules/captchas/hcaptcha.d.ts +1 -1
  118. package/dist/js/modules/captchas/hcaptcha.d.ts.map +1 -1
  119. package/dist/js/modules/captchas/index.d.ts +2 -2
  120. package/dist/js/modules/captchas/index.d.ts.map +1 -1
  121. package/dist/js/modules/captchas/recaptcha-enterprise.d.ts +1 -1
  122. package/dist/js/modules/captchas/recaptcha-enterprise.d.ts.map +1 -1
  123. package/dist/js/modules/captchas/recaptcha-v2-checkbox.d.ts +1 -1
  124. package/dist/js/modules/captchas/recaptcha-v2-checkbox.d.ts.map +1 -1
  125. package/dist/js/modules/captchas/recaptcha-v2-invisible.d.ts +1 -1
  126. package/dist/js/modules/captchas/recaptcha-v2-invisible.d.ts.map +1 -1
  127. package/dist/js/modules/captchas/recaptcha-v3.d.ts +1 -1
  128. package/dist/js/modules/captchas/recaptcha-v3.d.ts.map +1 -1
  129. package/dist/js/modules/captchas/snaptcha.d.ts +1 -1
  130. package/dist/js/modules/captchas/snaptcha.d.ts.map +1 -1
  131. package/dist/js/modules/captchas/turnstile.d.ts +1 -1
  132. package/dist/js/modules/captchas/turnstile.d.ts.map +1 -1
  133. package/dist/js/modules/fields/address-country.d.ts +2 -2
  134. package/dist/js/modules/fields/address-country.d.ts.map +1 -1
  135. package/dist/js/modules/fields/address-state.d.ts +2 -2
  136. package/dist/js/modules/fields/address-state.d.ts.map +1 -1
  137. package/dist/js/modules/fields/calculations.d.ts +2 -2
  138. package/dist/js/modules/fields/calculations.d.ts.map +1 -1
  139. package/dist/js/modules/fields/checkbox-radio.d.ts +2 -2
  140. package/dist/js/modules/fields/checkbox-radio.d.ts.map +1 -1
  141. package/dist/js/modules/fields/combobox.d.ts +2 -2
  142. package/dist/js/modules/fields/combobox.d.ts.map +1 -1
  143. package/dist/js/modules/fields/conditions/config.d.ts.map +1 -1
  144. package/dist/js/modules/fields/conditions/effects.d.ts +1 -0
  145. package/dist/js/modules/fields/conditions/effects.d.ts.map +1 -1
  146. package/dist/js/modules/fields/conditions/evaluator.d.ts +4 -1
  147. package/dist/js/modules/fields/conditions/evaluator.d.ts.map +1 -1
  148. package/dist/js/modules/fields/conditions/references.d.ts.map +1 -1
  149. package/dist/js/modules/fields/conditions/submission-context.d.ts +15 -0
  150. package/dist/js/modules/fields/conditions/submission-context.d.ts.map +1 -0
  151. package/dist/js/modules/fields/conditions/types.d.ts +3 -1
  152. package/dist/js/modules/fields/conditions/types.d.ts.map +1 -1
  153. package/dist/js/modules/fields/conditions/values.d.ts +1 -1
  154. package/dist/js/modules/fields/conditions/values.d.ts.map +1 -1
  155. package/dist/js/modules/fields/conditions.d.ts +2 -2
  156. package/dist/js/modules/fields/conditions.d.ts.map +1 -1
  157. package/dist/js/modules/fields/custom-google-maps.d.ts +2 -2
  158. package/dist/js/modules/fields/custom-google-maps.d.ts.map +1 -1
  159. package/dist/js/modules/fields/custom-link.d.ts +2 -2
  160. package/dist/js/modules/fields/custom-link.d.ts.map +1 -1
  161. package/dist/js/modules/fields/custom-maps.d.ts +2 -2
  162. package/dist/js/modules/fields/custom-maps.d.ts.map +1 -1
  163. package/dist/js/modules/fields/date-picker.d.ts +2 -2
  164. package/dist/js/modules/fields/date-picker.d.ts.map +1 -1
  165. package/dist/js/modules/fields/file-upload.d.ts +2 -2
  166. package/dist/js/modules/fields/file-upload.d.ts.map +1 -1
  167. package/dist/js/modules/fields/hidden.d.ts +2 -2
  168. package/dist/js/modules/fields/hidden.d.ts.map +1 -1
  169. package/dist/js/modules/fields/index.d.ts +2 -2
  170. package/dist/js/modules/fields/index.d.ts.map +1 -1
  171. package/dist/js/modules/fields/password-validation.d.ts +2 -2
  172. package/dist/js/modules/fields/password-validation.d.ts.map +1 -1
  173. package/dist/js/modules/fields/phone-country.d.ts +2 -2
  174. package/dist/js/modules/fields/phone-country.d.ts.map +1 -1
  175. package/dist/js/modules/fields/repeater.d.ts +2 -2
  176. package/dist/js/modules/fields/repeater.d.ts.map +1 -1
  177. package/dist/js/modules/fields/rich-text.d.ts +2 -2
  178. package/dist/js/modules/fields/rich-text.d.ts.map +1 -1
  179. package/dist/js/modules/fields/shared.d.ts +1 -0
  180. package/dist/js/modules/fields/shared.d.ts.map +1 -1
  181. package/dist/js/modules/fields/signature.d.ts +2 -2
  182. package/dist/js/modules/fields/signature.d.ts.map +1 -1
  183. package/dist/js/modules/fields/summary.d.ts +2 -2
  184. package/dist/js/modules/fields/summary.d.ts.map +1 -1
  185. package/dist/js/modules/fields/survey-likert.d.ts +2 -2
  186. package/dist/js/modules/fields/survey-likert.d.ts.map +1 -1
  187. package/dist/js/modules/fields/survey-rank.d.ts +2 -2
  188. package/dist/js/modules/fields/survey-rank.d.ts.map +1 -1
  189. package/dist/js/modules/fields/survey-rating.d.ts +2 -2
  190. package/dist/js/modules/fields/survey-rating.d.ts.map +1 -1
  191. package/dist/js/modules/fields/table.d.ts +2 -2
  192. package/dist/js/modules/fields/table.d.ts.map +1 -1
  193. package/dist/js/modules/fields/text-limit.d.ts +2 -2
  194. package/dist/js/modules/fields/text-limit.d.ts.map +1 -1
  195. package/dist/js/modules/fields/upload-manager.d.ts +2 -2
  196. package/dist/js/modules/fields/upload-manager.d.ts.map +1 -1
  197. package/dist/js/modules/loader.d.ts +10 -4
  198. package/dist/js/modules/loader.d.ts.map +1 -1
  199. package/dist/js/modules/payments/bpoint.d.ts +1 -1
  200. package/dist/js/modules/payments/bpoint.d.ts.map +1 -1
  201. package/dist/js/modules/payments/eway.d.ts +1 -1
  202. package/dist/js/modules/payments/eway.d.ts.map +1 -1
  203. package/dist/js/modules/payments/factories.d.ts +7 -7
  204. package/dist/js/modules/payments/factories.d.ts.map +1 -1
  205. package/dist/js/modules/payments/go-cardless.d.ts +1 -1
  206. package/dist/js/modules/payments/go-cardless.d.ts.map +1 -1
  207. package/dist/js/modules/payments/index.d.ts +2 -2
  208. package/dist/js/modules/payments/index.d.ts.map +1 -1
  209. package/dist/js/modules/payments/mollie.d.ts +1 -1
  210. package/dist/js/modules/payments/mollie.d.ts.map +1 -1
  211. package/dist/js/modules/payments/moneris.d.ts +1 -1
  212. package/dist/js/modules/payments/moneris.d.ts.map +1 -1
  213. package/dist/js/modules/payments/opayo.d.ts +1 -1
  214. package/dist/js/modules/payments/opayo.d.ts.map +1 -1
  215. package/dist/js/modules/payments/paddle.d.ts +1 -1
  216. package/dist/js/modules/payments/paddle.d.ts.map +1 -1
  217. package/dist/js/modules/payments/paypal.d.ts +1 -1
  218. package/dist/js/modules/payments/paypal.d.ts.map +1 -1
  219. package/dist/js/modules/payments/payway.d.ts +1 -1
  220. package/dist/js/modules/payments/payway.d.ts.map +1 -1
  221. package/dist/js/modules/payments/square.d.ts +1 -1
  222. package/dist/js/modules/payments/square.d.ts.map +1 -1
  223. package/dist/js/modules/payments/stripe.d.ts +1 -1
  224. package/dist/js/modules/payments/stripe.d.ts.map +1 -1
  225. package/dist/js/modules/payments/utils.d.ts +6 -0
  226. package/dist/js/modules/payments/utils.d.ts.map +1 -1
  227. package/dist/js/modules/registry.d.ts +6 -4
  228. package/dist/js/modules/registry.d.ts.map +1 -1
  229. package/dist/js/submit/pipeline.d.ts.map +1 -1
  230. package/dist/js/theme/browser-theme-state.generated.d.ts +24 -0
  231. package/dist/js/theme/browser-theme-state.generated.d.ts.map +1 -0
  232. package/dist/js/theme/theme-classes.d.ts +3 -3
  233. package/dist/js/theme/theme-classes.d.ts.map +1 -1
  234. package/dist/js/transport/forms-api.d.ts +5 -3
  235. package/dist/js/transport/forms-api.d.ts.map +1 -1
  236. package/dist/js/utils/country-from-ip.d.ts +2 -2
  237. package/dist/js/utils/country-from-ip.d.ts.map +1 -1
  238. package/dist/js/utils/csrf.d.ts +17 -0
  239. package/dist/js/utils/csrf.d.ts.map +1 -0
  240. package/dist/js/utils/field-references.parser.d.ts +1 -0
  241. package/dist/js/utils/field-references.parser.d.ts.map +1 -1
  242. package/dist/js/utils/field-references.resolver.d.ts.map +1 -1
  243. package/dist/js/utils/field-references.types.d.ts +1 -0
  244. package/dist/js/utils/field-references.types.d.ts.map +1 -1
  245. package/dist/js/utils/http.d.ts +3 -1
  246. package/dist/js/utils/http.d.ts.map +1 -1
  247. package/dist/js/utils/request-profile.d.ts +4 -0
  248. package/dist/js/utils/request-profile.d.ts.map +1 -0
  249. package/dist/js/utils/unload-warning.d.ts.map +1 -1
  250. package/dist/js/validation/rules/email.d.ts.map +1 -1
  251. package/dist/js/validation/rules/match.d.ts.map +1 -1
  252. package/dist/js/validation/rules/number.d.ts.map +1 -1
  253. package/dist/js/validation/rules/required.d.ts.map +1 -1
  254. package/dist/js/validation/rules/shared.d.ts.map +1 -1
  255. package/dist/js/validation/rules/url.d.ts.map +1 -1
  256. package/dist/js/validation/skip.d.ts +7 -0
  257. package/dist/js/validation/skip.d.ts.map +1 -0
  258. package/dist/js/validation/submit-readiness.d.ts.map +1 -1
  259. package/dist/js/validation/validator.d.ts.map +1 -1
  260. package/package.json +43 -12
  261. package/src/css/formie-base.css +104 -1
  262. package/src/css/theme/_messages.css +2 -0
  263. package/src/css/theme/_tokens.css +31 -25
  264. package/src/css/theme/fields/_signature.css +2 -1
  265. package/src/css/theme/forms/_form.css +5 -1
  266. package/src/index.ts +13 -8
  267. package/src/js/contracts/client.ts +5 -3
  268. package/src/js/contracts/common.ts +5 -6
  269. package/src/js/contracts/modules.ts +41 -12
  270. package/src/js/contracts/schema.ts +21 -43
  271. package/src/js/contracts/theme.ts +6 -1
  272. package/src/js/core/client-rendered-modules.ts +69 -0
  273. package/src/js/core/create-formie-client.ts +119 -73
  274. package/src/js/core/field-error-aria.ts +93 -0
  275. package/src/js/core/hydrate-modules.ts +54 -29
  276. package/src/js/core/submit-result-state.ts +34 -45
  277. package/src/js/core/submit-result-ui.ts +21 -65
  278. package/src/js/core/validation-focus.ts +20 -20
  279. package/src/js/modules/address/address-finder.ts +1 -1
  280. package/src/js/modules/address/factories.ts +15 -13
  281. package/src/js/modules/address/google-address.ts +10 -6
  282. package/src/js/modules/address/index.ts +2 -2
  283. package/src/js/modules/address/loqate.ts +1 -1
  284. package/src/js/modules/address/place-kit.ts +1 -1
  285. package/src/js/modules/captchas/captcha-eu.ts +2 -2
  286. package/src/js/modules/captchas/factories.ts +66 -42
  287. package/src/js/modules/captchas/friendly-captcha-v1.ts +12 -2
  288. package/src/js/modules/captchas/friendly-captcha-v2.ts +4 -2
  289. package/src/js/modules/captchas/hcaptcha.ts +5 -5
  290. package/src/js/modules/captchas/index.ts +2 -2
  291. package/src/js/modules/captchas/recaptcha-enterprise.ts +2 -2
  292. package/src/js/modules/captchas/recaptcha-v2-checkbox.ts +3 -3
  293. package/src/js/modules/captchas/recaptcha-v2-invisible.ts +2 -2
  294. package/src/js/modules/captchas/recaptcha-v3.ts +2 -2
  295. package/src/js/modules/captchas/snaptcha.ts +1 -1
  296. package/src/js/modules/captchas/turnstile.ts +3 -3
  297. package/src/js/modules/fields/address-country.ts +6 -4
  298. package/src/js/modules/fields/address-state.ts +20 -12
  299. package/src/js/modules/fields/calculations.ts +5 -3
  300. package/src/js/modules/fields/checkbox-radio.ts +24 -42
  301. package/src/js/modules/fields/combobox.ts +25 -9
  302. package/src/js/modules/fields/conditions/config.ts +17 -20
  303. package/src/js/modules/fields/conditions/effects.ts +23 -26
  304. package/src/js/modules/fields/conditions/evaluator.ts +21 -29
  305. package/src/js/modules/fields/conditions/references.ts +16 -5
  306. package/src/js/modules/fields/conditions/submission-context.ts +80 -0
  307. package/src/js/modules/fields/conditions/types.ts +3 -1
  308. package/src/js/modules/fields/conditions/values.ts +31 -6
  309. package/src/js/modules/fields/conditions.ts +59 -18
  310. package/src/js/modules/fields/custom-google-maps.ts +5 -3
  311. package/src/js/modules/fields/custom-link.ts +5 -3
  312. package/src/js/modules/fields/custom-maps.ts +5 -3
  313. package/src/js/modules/fields/date-picker.ts +40 -4
  314. package/src/js/modules/fields/file-upload.ts +19 -10
  315. package/src/js/modules/fields/hidden.ts +5 -3
  316. package/src/js/modules/fields/index.ts +2 -2
  317. package/src/js/modules/fields/password-validation.ts +5 -3
  318. package/src/js/modules/fields/phone-country.ts +33 -6
  319. package/src/js/modules/fields/repeater.ts +5 -3
  320. package/src/js/modules/fields/rich-text.ts +20 -4
  321. package/src/js/modules/fields/shared.ts +13 -0
  322. package/src/js/modules/fields/signature.ts +64 -6
  323. package/src/js/modules/fields/summary.ts +8 -20
  324. package/src/js/modules/fields/survey-likert.ts +5 -3
  325. package/src/js/modules/fields/survey-rank.ts +21 -3
  326. package/src/js/modules/fields/survey-rating.ts +17 -3
  327. package/src/js/modules/fields/table.ts +5 -3
  328. package/src/js/modules/fields/text-limit.ts +5 -3
  329. package/src/js/modules/fields/upload-manager.ts +190 -49
  330. package/src/js/modules/loader.ts +345 -281
  331. package/src/js/modules/payments/bpoint.ts +2 -2
  332. package/src/js/modules/payments/eway.ts +2 -2
  333. package/src/js/modules/payments/factories.ts +53 -52
  334. package/src/js/modules/payments/go-cardless.ts +1 -1
  335. package/src/js/modules/payments/index.ts +2 -2
  336. package/src/js/modules/payments/mollie.ts +1 -1
  337. package/src/js/modules/payments/moneris.ts +2 -2
  338. package/src/js/modules/payments/opayo.ts +21 -8
  339. package/src/js/modules/payments/paddle.ts +10 -6
  340. package/src/js/modules/payments/payment.ts +22 -18
  341. package/src/js/modules/payments/paypal.ts +1 -1
  342. package/src/js/modules/payments/payway.ts +2 -2
  343. package/src/js/modules/payments/square.ts +2 -2
  344. package/src/js/modules/payments/stripe.ts +5 -5
  345. package/src/js/modules/payments/utils.ts +14 -0
  346. package/src/js/modules/registry.ts +19 -11
  347. package/src/js/submit/pipeline.ts +10 -11
  348. package/src/js/theme/browser-theme-state.generated.ts +25 -0
  349. package/src/js/theme/theme-classes.ts +3 -3
  350. package/src/js/transport/forms-api.ts +66 -67
  351. package/src/js/utils/country-from-ip.ts +14 -9
  352. package/src/js/utils/csrf.ts +136 -0
  353. package/src/js/utils/field-references.parser.ts +13 -113
  354. package/src/js/utils/field-references.resolver.ts +27 -64
  355. package/src/js/utils/field-references.row-scope.ts +1 -1
  356. package/src/js/utils/field-references.types.ts +1 -0
  357. package/src/js/utils/http.ts +5 -5
  358. package/src/js/utils/request-profile.ts +10 -0
  359. package/src/js/utils/unload-warning.ts +12 -4
  360. package/src/js/validation/rules/email.ts +3 -5
  361. package/src/js/validation/rules/match.ts +2 -1
  362. package/src/js/validation/rules/minmax.ts +4 -43
  363. package/src/js/validation/rules/number.ts +3 -47
  364. package/src/js/validation/rules/pattern.ts +3 -8
  365. package/src/js/validation/rules/required.ts +2 -1
  366. package/src/js/validation/rules/shared.ts +5 -1
  367. package/src/js/validation/rules/url.ts +3 -10
  368. package/src/js/validation/skip.ts +9 -0
  369. package/src/js/validation/submit-readiness.ts +9 -2
  370. package/src/js/validation/validator.ts +35 -59
  371. package/dist/chunks/calculations-DERi2xaC.js +0 -299
  372. package/dist/chunks/conditions-65kBcFWW.js +0 -424
  373. package/dist/chunks/country-from-ip-BwxKaBuJ.js +0 -26
  374. package/dist/chunks/field-references.resolver-CHwn0G0L.js +0 -145
  375. package/dist/chunks/friendly-captcha-v1-C_2reOXr.js +0 -31
  376. package/dist/chunks/google-address-BH3Zhi06.js +0 -161
  377. package/dist/chunks/http-D-JExro7.js +0 -27
  378. package/dist/chunks/opayo-CR0DtsLa.js +0 -179
  379. package/dist/chunks/rich-text-Bg_--4TG.js +0 -349
  380. package/dist/js/modules/fields/conditions/transforms.d.ts +0 -3
  381. package/dist/js/modules/fields/conditions/transforms.d.ts.map +0 -1
  382. package/src/js/modules/fields/conditions/transforms.ts +0 -206
  383. package/src/js/modules/payments/stub-payment-module.ts +0 -87
@@ -1,18 +1,21 @@
1
- import { n as e, t } from "./chunk-3b4jIN3o.js";
2
- import { a as n, r } from "./event-names-BCI2FLD8.js";
3
- import { t as i } from "./debug-BV0DvdHx.js";
4
- import { t as a } from "./http-D-JExro7.js";
5
- import { t as o } from "./styles-BfoIZwJp.js";
6
- import { c as s, l as c, t as l } from "./shared-Bx9s0i0P.js";
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 u = class extends Error {
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
- }, d = class {
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
- }, f = () => {};
30
- function p(e, t = {}) {
31
- let { body: n = null, headers: r = {}, method: i = "GET", onBeforeRequest: a = f, onUploadProgress: o = f, shouldRetry: s = () => !0, onAfterResponse: c = f, onTimeout: l = f, responseType: p, retries: m = 3, signal: h = null, timeout: g = 3e4, withCredentials: _ = !1 } = t, v = (e) => .3 * 2 ** (e - 1) * 1e3, y = new d(g, l);
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, d) => {
34
- let f = new XMLHttpRequest(), g = (e) => {
35
- s(f) && t < m ? setTimeout(() => {
36
- b(t + 1).then(l, d);
37
- }, v(t)) : (y.done(), d(e));
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
- f.open(i, e, !0), f.withCredentials = _, p && (f.responseType = p), f.onload = async () => {
42
+ g.open(i, e, !0), g.withCredentials = m, u && (g.responseType = u), g.onload = async () => {
40
43
  try {
41
- await c(f, t);
44
+ await c(g, t);
42
45
  } catch (e) {
43
- e.request = f, g(e);
46
+ e.request = g, _(e);
44
47
  return;
45
48
  }
46
- f.status >= 200 && f.status < 300 ? (y.done(), l(f)) : s(f) && t < m ? setTimeout(() => {
47
- b(t + 1).then(l, d);
48
- }, v(t)) : (y.done(), d(new u(f.statusText, f)));
49
- }, f.onerror = () => g(new u(f.statusText, f)), f.upload.onprogress = (e) => {
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
- f.setRequestHeader(e, r[e]);
55
+ g.setRequestHeader(e, r[e]);
53
56
  });
54
57
  function x() {
55
- f.abort(), d(new DOMException("Aborted", "AbortError"));
58
+ g.abort(), p(new DOMException("Aborted", "AbortError"));
56
59
  }
57
- if (h?.addEventListener("abort", x), h?.aborted) {
60
+ if (f?.addEventListener("abort", x), f?.aborted) {
58
61
  x();
59
62
  return;
60
63
  }
61
- await a(f, t), f.send(n);
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 m = (e) => "error" in e && !!e.error, h = (e) => e.progress.uploadComplete;
69
- function g(e) {
70
- return e.filter((e) => !m(e) && !h(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 _(e) {
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 v(e) {
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 y = {
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 b(e) {
149
+ function T(e) {
147
150
  if (e.type) return e.type;
148
- let t = e.name ? v(e.name).extension?.toLowerCase() : null;
149
- return t && t in y ? y[t] : "application/octet-stream";
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 x(e) {
156
+ function E(e) {
154
157
  return e.charCodeAt(0).toString(32);
155
158
  }
156
- function S(e) {
159
+ function D(e) {
157
160
  let t = "";
158
- return e.replace(/[^A-Z0-9]/gi, (e) => (t += `-${x(e)}`, "/")) + t;
161
+ return e.replace(/[^A-Z0-9]/gi, (e) => (t += `-${E(e)}`, "/")) + t;
159
162
  }
160
- function C(e, t) {
163
+ function ee(e, t) {
161
164
  let n = t || "uppy";
162
- return typeof e.name == "string" && (n += `-${S(e.name.toLowerCase())}`), e.type !== void 0 && (n += `-${e.type}`), e.meta && typeof e.meta.relativePath == "string" && (n += `-${S(e.meta.relativePath.toLowerCase())}`), e.data?.size !== void 0 && (n += `-${e.data.size}`), e.data.lastModified !== void 0 && (n += `-${e.data.lastModified}`), 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 w(e) {
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 T(e, t) {
174
- if (w(e)) return e.id;
175
- let n = b(e);
176
- return C({
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 E(e, t) {
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 D(e) {
191
+ function A(e) {
189
192
  return e < 10 ? `0${e}` : e.toString();
190
193
  }
191
- function O() {
194
+ function j() {
192
195
  let e = /* @__PURE__ */ new Date();
193
- return `${D(e.getHours())}:${D(e.getMinutes())}:${D(e.getSeconds())}`;
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 k(e) {
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 A = class {
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 ee(e, t, n) {
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 j(e, t) {
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 = ee(r, RegExp(`%\\{${e}\\}`, "g"), i);
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 te = (e) => {
317
+ var N = (e) => {
315
318
  throw Error(`missing string: ${e}`);
316
- }, M = class {
319
+ }, P = class {
317
320
  locale;
318
- constructor(e, { onMissingKey: t = te } = {}) {
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 j(n[e], t);
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 j(n, t);
354
+ return M(n, t);
352
355
  }
353
- }, N = class {
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 M([
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
- }, P = class {
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
- }, ne = {
455
+ }, se = {
453
456
  debug: () => {},
454
457
  warn: () => {},
455
- error: (...e) => console.error(`[Uppy] [${O()}]`, ...e)
456
- }, re = {
457
- debug: (...e) => console.debug(`[Uppy] [${O()}]`, ...e),
458
- warn: (...e) => console.warn(`[Uppy] [${O()}]`, ...e),
459
- error: (...e) => console.error(`[Uppy] [${O()}]`, ...e)
460
- }, ie = /* @__PURE__ */ t(((e, t) => {
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
- })), ae = /* @__PURE__ */ t(((e, t) => {
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) if (!this.hasWild && this.text != e) t = !1;
485
- else {
486
- for (a = (e || "").split(this.separator), r = 0; t && r < i; r++) if (n[r] === "*") continue;
487
- else t = r < a.length ? n[r] === a[r] : !1;
488
- t &&= a;
489
- }
490
- else if (typeof e.splice == "function") for (t = [], r = e.length; r--;) this.match(e[r]) && (t[t.length] = e[r]);
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
- })), oe = /* @__PURE__ */ t(((e, t) => {
498
- var n = ae(), r = /[\/\+\.]/;
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(ie(), 1), se = /* @__PURE__ */ e(oe(), 1), ce = {
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
- }, le = class {
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, se.default)(e.type.replace(/;.*?$/, ""), t) : !1 : t[0] === "." && e.extension ? e.extension.toLowerCase() === t.slice(1).toLowerCase() : !1)) {
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
- }, ue = {
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
- }, de = class {
611
- static VERSION = ue.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
- })), fe = /* @__PURE__ */ t(((e, t) => {
644
+ })), _e = /* @__PURE__ */ t(((e, t) => {
641
645
  t.exports = typeof global == "object" && global && global.Object === Object && global;
642
- })), pe = /* @__PURE__ */ t(((e, t) => {
643
- var n = fe(), r = typeof self == "object" && self && self.Object === Object && self;
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
- })), me = /* @__PURE__ */ t(((e, t) => {
646
- var n = pe();
649
+ })), ye = /* @__PURE__ */ t(((e, t) => {
650
+ var n = ve();
647
651
  t.exports = function() {
648
652
  return n.Date.now();
649
653
  };
650
- })), he = /* @__PURE__ */ t(((e, t) => {
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
- })), ge = /* @__PURE__ */ t(((e, t) => {
658
- var n = he(), r = /^\s+/;
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
- })), _e = /* @__PURE__ */ t(((e, t) => {
664
- t.exports = pe().Symbol;
665
- })), ve = /* @__PURE__ */ t(((e, t) => {
666
- var n = _e(), r = Object.prototype, i = r.hasOwnProperty, a = r.toString, o = n ? n.toStringTag : void 0;
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
- })), ye = /* @__PURE__ */ t(((e, t) => {
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
- })), be = /* @__PURE__ */ t(((e, t) => {
684
- var n = _e(), r = ve(), i = ye(), a = "[object Null]", o = "[object Undefined]", s = n ? n.toStringTag : void 0;
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
- })), xe = /* @__PURE__ */ t(((e, t) => {
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
- })), Se = /* @__PURE__ */ t(((e, t) => {
695
- var n = be(), r = xe(), i = "[object Symbol]";
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
- })), Ce = /* @__PURE__ */ t(((e, t) => {
701
- var n = ge(), r = L(), i = Se(), a = NaN, o = /^[-+]0x[0-9a-f]+$/i, s = /^0b[01]+$/i, c = /^0o[0-7]+$/i, l = parseInt;
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
- })), we = /* @__PURE__ */ t(((e, t) => {
716
- var n = L(), r = me(), i = Ce(), a = "Expected a function", o = Math.max, s = Math.min;
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
- })), Te = /* @__PURE__ */ t(((e, t) => {
762
- var n = we(), r = L(), i = "Expected a function";
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
- })), Ee = /* @__PURE__ */ t(((e, t) => {
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
- })), De = "useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict", Oe = (e = 21) => {
817
+ })), Me = "useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict", Ne = (e = 21) => {
814
818
  let t = "", n = e | 0;
815
- for (; n--;) t += De[Math.random() * 64 | 0];
819
+ for (; n-- > 0;) t += Me[Math.random() * 64 | 0];
816
820
  return t;
817
- }, ke = {
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 Ae(e, t) {
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 je = { strings: {
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 Me(e) {
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 Ne = /* @__PURE__ */ e(Te(), 1), Pe = /* @__PURE__ */ e(Ee(), 1), R = {
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
- }, Fe = class e {
963
- static VERSION = ke.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, Pe.default)();
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 = je;
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: ce,
990
+ restrictions: pe,
987
991
  meta: {},
988
992
  onBeforeFileAdded: (e, t) => !Object.hasOwn(t, e.id),
989
993
  onBeforeUpload: (e) => e,
990
- store: new de(),
991
- logger: ne,
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 = re), this.log(`Using Core v${e.VERSION}`), this.i18nInit(), this.store = this.opts.store, this.setState({
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: Me(),
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 le(() => this.opts, () => this.i18n), this.#n = this.store.subscribe((e, t, n) => {
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 M([this.defaultLocale, this.opts.locale], { onMissingKey: (e) => this.log(`Missing i18n string: ${e}`, "error") });
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 !!(t[e] && !t[e].isGhost);
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 = b(t), r = Ae(n, t), i = v(r).extension, a = T(t, this.getID()), o = {
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
- e[t] = {
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
- e[t] = {
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, Ne.default)(() => this.#_(), 500, {
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 = Oe();
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
- }, Ie = {
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
- }, Le = { strings: { uploadStalled: "Upload has not made any progress for %{seconds} seconds. You may want to retry it." } };
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 Re(e, t) {
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 })), k(e) ? (n = new u(n, e), n) : (n.request = e, 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 ze(e) {
1883
+ function We(e) {
1880
1884
  return e.data.slice(0, e.data.size, e.meta.type);
1881
1885
  }
1882
- var Be = {
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: 30 * 1e3,
1893
+ timeout: 3e4,
1890
1894
  limit: 5,
1891
1895
  withCredentials: !1,
1892
1896
  responseType: ""
1893
- }, Ve = class extends N {
1894
- static VERSION = Ie.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
- ...Be,
1904
+ ...Ge,
1901
1905
  fieldName: t.bundle ? "files[]" : "file",
1902
1906
  ...t
1903
- }), this.type = "uploader", this.id = this.opts.id || "XHRUpload", this.defaultLocale = Le, this.i18nInit(), this.#t = new A({ concurrency: this.opts.limit }), this.opts.bundle && !this.opts.formData) throw Error("`opts.formData` must be true when `opts.bundle` is enabled.");
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 p(t, {
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), Re(n, t), n);
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
- E(n.allowedMetaFields, t).forEach((n) => {
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 = ze(e);
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 = ze(e);
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 P(this.uppy), n = new AbortController();
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 = E(t.allowedMetaFields, e.meta);
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 = g(this.uppy.getFilesByIds(e)), n = _(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
- }, He = "@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]", Ue = "[data-formie-upload-manager-browse]", We = "[data-formie-upload-manager-input]", V = "[data-formie-upload-manager-status]", Ge = "[data-formie-upload-manager-list]", Ke = "[data-formie-upload-manager-sort-controls]", qe = "[data-formie-upload-manager-sort=\"up\"]", Je = "[data-formie-upload-manager-sort=\"down\"]", H = "data-formie-file-upload-anchor", Ye = "data-formie-file-upload-asset-id", Xe = n("reset"), Ze = r("repeater", "init-row"), Qe = "upload-manager", $e = "upload-manager", et = ["uploadManagerRequired", "uploadManagerFileLimit"], tt = 900, nt = 95, rt = 12e4, U = i("fields", "upload-manager");
2085
- o(Qe, [He]);
2086
- function W(e) {
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 G(e) {
2093
+ function K(e) {
2090
2094
  let t = Number(e);
2091
2095
  return Number.isInteger(t) && t > 0 ? t : null;
2092
2096
  }
2093
- function K(e) {
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 it(e) {
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 q(e) {
2108
+ function Y(e) {
2102
2109
  return Array.from(e.querySelectorAll("input[type=\"hidden\"]")).filter((e) => e instanceof HTMLInputElement);
2103
2110
  }
2104
- function at(e, t) {
2105
- let n = q(e).find((e) => e.hasAttribute(H) || e.name === t.replace("[]", "") && e.value === "");
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 ot(e, t) {
2111
- return q(e).filter((e) => e.name === t && e.value.trim() !== "");
2117
+ function ft(e, t) {
2118
+ return Y(e).filter((e) => e.hasAttribute(U) || e.name === t && e.value.trim() !== "");
2112
2119
  }
2113
- function J(e, t) {
2114
- return ot(e, t).map((e) => G(e.value)).filter((e) => e !== null);
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 st(e, t, n, r) {
2117
- let i = t;
2118
- ot(e, n).forEach((e) => {
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 t = document.createElement("input");
2122
- t.type = "hidden", t.name = n, t.value = String(e), t.setAttribute(Ye, "true"), i.insertAdjacentElement("afterend", t), i = t;
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 ct(e, t, n) {
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: it(e),
2128
- fieldHandle: K(t),
2144
+ handle: ut(e),
2145
+ fieldHandle: J(t),
2129
2146
  inputKey: r
2130
2147
  };
2131
- if (!e) return i;
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 lt(e, t, n) {
2145
- let r = new FormData(), i = it(e), a = K(t);
2146
- i && r.append("handle", i), a && r.append("fieldHandle", a);
2147
- let o = e?.querySelector("input[name=\"submissionUid\"]");
2148
- return o instanceof HTMLInputElement && o.value.trim() && r.append("submissionUid", o.value.trim()), n.forEach((e) => {
2149
- r.append("assetIds[]", String(e));
2150
- }), r;
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 ut(e) {
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 Y(e, t, n, r) {
2187
+ function Z(e, t, n, r) {
2158
2188
  return t?.trim() || e.getAttribute(n)?.trim() || r;
2159
2189
  }
2160
- function X(e) {
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 Z(e, t, n = "uploading") {
2175
- let { track: r, bar: i, label: a } = X(e);
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 dt(e, t, n) {
2179
- let { track: r, bar: i, label: a } = X(e), o = Math.max(0, Math.min(nt, Math.round(t)));
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 && (n ? a.textContent = n : o > 0 ? a.textContent = `Uploading… ${o}%` : a.textContent = "Uploading…");
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 ft(e, t, n = {}) {
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
- Z(e, "Processing…", "processing");
2215
+ Q(e, "Processing…", "processing");
2186
2216
  return;
2187
2217
  }
2188
2218
  if (t <= 0 && r <= 0) {
2189
- Z(e, "Uploading…", "uploading");
2219
+ Q(e, "Uploading…", "uploading");
2190
2220
  return;
2191
2221
  }
2192
- let a = Math.min(nt, Math.max(1, Math.round(t)));
2193
- dt(e, a, `Uploading… ${a}%`);
2222
+ let a = Math.min(st, Math.max(1, Math.round(t)));
2223
+ yt(e, a, `Uploading… ${a}%`);
2194
2224
  }
2195
- function pt(e, t) {
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 mt(e) {
2207
- return e.status === 0 ? !0 : e.status >= 500;
2236
+ function St(e) {
2237
+ return e.status === 0 || e.status >= 500;
2208
2238
  }
2209
- function ht(e) {
2210
- let { track: t, bar: n, label: r } = X(e);
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
- }, tt);
2243
+ }, ot);
2214
2244
  }
2215
- function gt(e) {
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 _t(e, t) {
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 = gt("up"), u = gt("down");
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), Z(n, "Preparing…", "preparing"), {
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 Q(e) {
2251
- let t = q(e).find((e) => e.hasAttribute(Ye));
2252
- if (t?.name) return t.name;
2253
- let n = K(e);
2254
- return n ? `fields[${n}][]` : "fields[fileUpload][]";
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 vt(e) {
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.map((e) => e.assetId).filter((e) => e !== null);
2261
- st(e.field, e.anchorInput, e.assetInputName, t), e.statusInput && (e.statusInput.value = t.length ? "uploaded" : ""), l(e.field, "file-upload", "uploaded-assets-sync", { assets: t.map((t) => ({
2262
- assetId: t,
2263
- filename: e.files.find((e) => e.assetId === t)?.filename || ""
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 yt(e) {
2267
- c(e, $e, (e) => {
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" ? !0 : J(t, Q(t)).length > 0;
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 ? J(t, Q(t)).length <= r : !0;
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 bt(e) {
2287
- s(e, $e, et);
2322
+ function kt(e) {
2323
+ f(e, it, at);
2288
2324
  }
2289
- function xt(e, t) {
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 St(e, t, n) {
2295
- let r = e.querySelector(z);
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 o = r.querySelector(We), s = r.querySelector(Ue), c = r.querySelector(Ge), u = r.querySelector(V);
2300
- if (!(o instanceof HTMLInputElement) || !(c instanceof HTMLElement)) return () => {};
2301
- let d = xt(t, e), f = u instanceof HTMLInputElement ? u : null, p = Q(e), m = at(e, p), h = Y(i, n.uploadEndpoint, "data-formie-file-upload-upload-endpoint", "/actions/formie/file-upload/upload"), g = Y(i, n.deleteEndpoint, "data-formie-file-upload-delete-endpoint", "/actions/formie/file-upload/delete"), _ = Y(i, n.hydrateEndpoint, "data-formie-file-upload-hydrate-endpoint", "/actions/formie/file-upload/hydrate"), v = n.limitFiles ?? G(i.getAttribute("data-formie-file-limit")), y = n.sizeLimit ?? parseFloat(i.getAttribute("data-formie-size-max-limit") || ""), b = n.sizeMinLimit ?? parseFloat(i.getAttribute("data-formie-size-min-limit") || ""), x = ut(n.accept ?? i.getAttribute("accept") ?? o.accept), S = {};
2302
- v && (S.maxNumberOfFiles = v), y && (S.maxFileSize = y * 1e3 * 1e3), b && (S.minFileSize = b * 1e3 * 1e3), x && (S.allowedFileTypes = x);
2303
- let C = new Fe({
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: S
2306
- });
2307
- C.use(Ve, {
2308
- endpoint: h,
2341
+ restrictions: w
2342
+ }), E = s(f);
2343
+ T.use(Ke, {
2344
+ endpoint: _,
2309
2345
  fieldName: "file",
2310
2346
  formData: !0,
2311
- withCredentials: !0,
2312
- timeout: rt,
2313
- shouldRetry: mt,
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
- "CRAFT_CSRF_TOKEN"
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, n) {
2333
- let r = n[0];
2334
- !r?.id || !r.size || e.upload.addEventListener("progress", (e) => {
2335
- let t = M(r.id);
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 && r.size && (n = Math.min(100, Math.round(e.loaded / r.size * 100))), ft(t.listItem, n, {
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 : r.size ?? void 0
2383
+ total: e.lengthComputable ? e.total : a.size ?? void 0
2341
2384
  });
2342
2385
  });
2343
2386
  }
2344
2387
  });
2345
- let w = {
2388
+ let D = {
2346
2389
  field: e,
2347
- dropzone: i,
2390
+ dropzone: a,
2348
2391
  browseInput: o,
2349
- statusInput: f,
2350
- fileList: c,
2351
- anchorInput: m,
2352
- assetInputName: p,
2353
- uppy: C,
2392
+ statusInput: m,
2393
+ fileList: u,
2394
+ anchorInput: g,
2395
+ assetInputName: h,
2396
+ uppy: T,
2354
2397
  files: []
2355
- }, T = () => v ? Math.max(0, v - vt(w)) : null, E = (e) => {
2356
- i.classList.toggle("formie-upload-manager-dropzone-active", e);
2357
- }, D = (e) => e.assetId !== null && !e.listItem.classList.contains("is-error"), O = () => {
2358
- let e = w.files.length >= 2;
2359
- w.files.forEach((t, n) => {
2360
- let r = t.listItem.querySelector(Ke), i = t.listItem.querySelector(qe), a = t.listItem.querySelector(Je);
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 && D(t);
2363
- r.hidden = !o, i instanceof HTMLButtonElement && (i.disabled = !o || n === 0), a instanceof HTMLButtonElement && (a.disabled = !o || n >= w.files.length - 1);
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
- }, k = (e, t) => {
2366
- let n = w.files.indexOf(e), r = n + t;
2367
- if (n < 0 || r < 0 || r >= w.files.length) return;
2368
- let i = w.files[r];
2369
- w.files[n] = i, w.files[r] = e, t === -1 ? e.listItem.before(i.listItem) : e.listItem.after(i.listItem), $(w), O(), l(w.field, "file-upload", "uploaded-assets-reordered", { assets: w.files.filter((e) => e.assetId !== null).map((e) => ({
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
- }, A = (e, t, n, r) => {
2416
+ }, j = (e, t, n, r) => {
2374
2417
  t.addEventListener("click", () => {
2375
- ee(e);
2418
+ ne(e);
2376
2419
  }), n.addEventListener("click", () => {
2377
- k(e, -1);
2420
+ A(e, -1);
2378
2421
  }), r.addEventListener("click", () => {
2379
- k(e, 1);
2422
+ A(e, 1);
2380
2423
  });
2381
- }, ee = async (t) => {
2382
- if (t.uppyFileId && C.removeFile(t.uppyFileId), t.assetId) {
2383
- let n = new FormData(), r = ct(d, e, i);
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 a(g, {
2431
+ await l(v, {
2432
+ profile: f?.dataset.formieRequestProfile,
2389
2433
  method: "POST",
2390
2434
  body: n
2391
2435
  });
2392
2436
  } catch (e) {
2393
- U.warn("Failed to delete uploaded asset.", {
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(), w.files = w.files.filter((e) => e !== t), $(w), O();
2400
- }, j = (t, n) => {
2401
- let { listItem: r, removeButton: i, sortUpButton: a, sortDownButton: o } = _t(e, n);
2402
- r.classList.add("is-complete"), c.append(r);
2403
- let s = {
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: r
2455
+ listItem: s
2408
2456
  };
2409
- A(s, i, a, o), w.files.push(s), O();
2410
- }, te = async () => {
2411
- let t = J(e, p);
2412
- if (t.length) try {
2413
- let n = (await a(_, {
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: lt(d, e, t)
2416
- })).assets || [], r = new Map(n.map((e) => [G(e.assetId), e]).filter(([e]) => e !== null));
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 (w.files.some((t) => t.assetId === e)) return;
2419
- let t = r.get(e);
2420
- t && j(e, t.filename || `Asset #${e}`);
2421
- }), $(w), O();
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
- U.warn("Failed to hydrate uploaded assets.", { error: e });
2474
+ G.warn("Failed to hydrate uploaded assets.", { error: e });
2424
2475
  }
2425
- }, M = (e) => e && w.files.find((t) => t.uppyFileId === e) || null;
2426
- C.on("upload-progress", (e, t) => {
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
- ft(n.listItem, a, {
2481
+ bt(n.listItem, a, {
2431
2482
  loaded: i,
2432
2483
  total: r
2433
2484
  });
2434
- }), C.on("upload-retry", (e) => {
2485
+ }), T.on("upload-retry", (e) => {
2435
2486
  let t = M(e?.id);
2436
- t && Z(t.listItem, "Retrying…", "retrying");
2437
- }), C.on("upload-success", (e, t) => {
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 = W(t?.body) ? t.body : {}, a = G(i.assetId);
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 = pt(null, { message: "Upload failed." });
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, ht(n.listItem), $(w), O();
2450
- }), C.on("upload-error", (e, t, n) => {
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 = pt(n, t));
2455
- }), C.on("file-added", (t) => {
2456
- let n = T();
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
- C.removeFile(t.id), C.info("File limit reached.", "error", 3e3);
2509
+ T.removeFile(t.id), T.info("File limit reached.", "error", 3e3);
2459
2510
  return;
2460
2511
  }
2461
- C.setFileMeta(t.id, ct(d, e, i));
2462
- let { listItem: r, removeButton: a, sortUpButton: o, sortDownButton: s } = _t(e, t.name || "Upload");
2463
- c.append(r);
2464
- let l = {
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
- A(l, a, o, s), w.files.push(l), O();
2524
+ j(c, i, o, s), D.files.push(c), k();
2471
2525
  });
2472
2526
  let N = () => {
2473
2527
  o.click();
2474
2528
  };
2475
- s?.addEventListener("click", (e) => {
2529
+ c?.addEventListener("click", (e) => {
2476
2530
  e.preventDefault(), e.stopPropagation(), N();
2477
- }), i.addEventListener("click", (e) => {
2478
- e.target instanceof Element && e.target.closest(Ue) || N();
2479
- }), i.addEventListener("keydown", (e) => {
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
- C.addFiles(e.map((e) => ({
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 && C.info(e.message, "error", 3e3);
2546
+ e instanceof Error && T.info(e.message, "error", 3e3);
2493
2547
  }
2494
2548
  }), ["dragenter", "dragover"].forEach((e) => {
2495
- i.addEventListener(e, (e) => {
2496
- e.preventDefault(), e.stopPropagation(), E(!0);
2549
+ a.addEventListener(e, (e) => {
2550
+ e.preventDefault(), e.stopPropagation(), O(!0);
2497
2551
  });
2498
2552
  }), ["dragleave", "drop"].forEach((e) => {
2499
- i.addEventListener(e, (e) => {
2500
- e.preventDefault(), e.stopPropagation(), E(!1);
2553
+ a.addEventListener(e, (e) => {
2554
+ e.preventDefault(), e.stopPropagation(), O(!1);
2501
2555
  });
2502
- }), i.addEventListener("drop", (e) => {
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
- C.addFiles(n.map((e) => ({
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 && C.info(e.message, "error", 3e3);
2567
+ e instanceof Error && T.info(e.message, "error", 3e3);
2514
2568
  }
2515
2569
  });
2516
2570
  let P = () => {
2517
- w.files.forEach((e) => {
2571
+ D.files.forEach((e) => {
2518
2572
  e.listItem.remove();
2519
- }), w.files = [], C.cancelAll(), st(e, m, p, []);
2573
+ }), D.files = [], T.cancelAll(), mt(e, g, h, []);
2520
2574
  };
2521
- return d?.addEventListener(Xe, P), te(), () => {
2522
- d?.removeEventListener(Xe, P), C.destroy(), w.files = [];
2575
+ return f?.addEventListener(tt, P), ie(), () => {
2576
+ f?.removeEventListener(tt, P), T.destroy(), D.files = [];
2523
2577
  };
2524
2578
  }
2525
- var Ct = {
2526
- id: Qe,
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
- yt(n);
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) || !e.querySelector(z) || (r.add(e), i.push(St(e, n, t)));
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 (!W(t)) return;
2606
+ if (!lt(t)) return;
2547
2607
  let n = t.row;
2548
2608
  n instanceof HTMLElement && a(n);
2549
2609
  };
2550
- return n?.addEventListener(Ze, o), U.log("Module setup.", { count: i.length }), await e.emit("formie:module:upload-manager:init", { count: i.length }), { destroy: () => {
2551
- n?.removeEventListener(Ze, o), i.forEach((e) => {
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
- }), bt(n), U.log("Module destroy."), e.emit("formie:module:upload-manager:destroy", {});
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 { Ct as uploadManagerModule };
2618
+ export { Mt as uploadManagerModule };