@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,19 @@
1
1
  import { t as e } from "./debug-BV0DvdHx.js";
2
- import { t } from "./styles-BfoIZwJp.js";
3
- import { r as n, t as r } from "./shared-Bx9s0i0P.js";
2
+ import { n as t } from "./theme-classes-DAQuEqdP.js";
3
+ import { t as n } from "./styles-BfoIZwJp.js";
4
+ import { i as r, n as i } from "./shared-OKhSay59.js";
4
5
  //#region ../../node_modules/tom-select/dist/esm/contrib/microevent.js
5
- function i(e, t) {
6
+ function a(e, t) {
6
7
  e.split(/\s+/).forEach((e) => {
7
8
  t(e);
8
9
  });
9
10
  }
10
- var a = class {
11
+ var o = class {
11
12
  constructor() {
12
13
  this._events = {};
13
14
  }
14
15
  on(e, t) {
15
- i(e, (e) => {
16
+ a(e, (e) => {
16
17
  let n = this._events[e] || [];
17
18
  n.push(t), this._events[e] = n;
18
19
  });
@@ -23,7 +24,7 @@ var a = class {
23
24
  this._events = {};
24
25
  return;
25
26
  }
26
- i(e, (e) => {
27
+ a(e, (e) => {
27
28
  if (n === 1) {
28
29
  delete this._events[e];
29
30
  return;
@@ -34,7 +35,7 @@ var a = class {
34
35
  }
35
36
  trigger(e, ...t) {
36
37
  var n = this;
37
- i(e, (e) => {
38
+ a(e, (e) => {
38
39
  let r = n._events[e];
39
40
  r !== void 0 && r.forEach((e) => {
40
41
  e.apply(n, t);
@@ -44,7 +45,7 @@ var a = class {
44
45
  };
45
46
  //#endregion
46
47
  //#region ../../node_modules/tom-select/dist/esm/contrib/microplugin.js
47
- function o(e) {
48
+ function s(e) {
48
49
  return e.plugins = {}, class extends e {
49
50
  constructor() {
50
51
  super(...arguments), this.plugins = {
@@ -86,8 +87,8 @@ function o(e) {
86
87
  }
87
88
  //#endregion
88
89
  //#region ../../node_modules/@orchidjs/unicode-variants/dist/esm/regex.js
89
- var s = (e) => (e = e.filter(Boolean), e.length < 2 ? e[0] || "" : f(e) == 1 ? "[" + e.join("") + "]" : "(?:" + e.join("|") + ")"), c = (e) => {
90
- if (!u(e)) return e.join("");
90
+ var c = (e) => (e = e.filter(Boolean), e.length < 2 ? e[0] || "" : p(e) == 1 ? "[" + e.join("") + "]" : "(?:" + e.join("|") + ")"), l = (e) => {
91
+ if (!d(e)) return e.join("");
91
92
  let t = "", n = 0, r = () => {
92
93
  n > 1 && (t += "{" + n + "}");
93
94
  };
@@ -98,14 +99,14 @@ var s = (e) => (e = e.filter(Boolean), e.length < 2 ? e[0] || "" : f(e) == 1 ? "
98
99
  }
99
100
  r(), t += i, n = 1;
100
101
  }), r(), t;
101
- }, l = (e) => s(Array.from(e)), u = (e) => new Set(e).size !== e.length, d = (e) => (e + "").replace(/([\$\(\)\*\+\.\?\[\]\^\{\|\}\\])/gu, "\\$1"), f = (e) => e.reduce((e, t) => Math.max(e, p(t)), 0), p = (e) => Array.from(e).length, m = (e) => {
102
+ }, u = (e) => c(Array.from(e)), d = (e) => new Set(e).size !== e.length, f = (e) => (e + "").replace(/([\$\(\)\*\+\.\?\[\]\^\{\|\}\\])/gu, "\\$1"), p = (e) => e.reduce((e, t) => Math.max(e, m(t)), 0), m = (e) => Array.from(e).length, h = (e) => {
102
103
  if (e.length === 1) return [[e]];
103
104
  let t = [];
104
- return m(e.substring(1)).forEach(function(n) {
105
+ return h(e.substring(1)).forEach(function(n) {
105
106
  let r = n.slice(0);
106
107
  r[0] = e.charAt(0) + r[0], t.push(r), r = n.slice(0), r.unshift(e.charAt(0)), t.push(r);
107
108
  }), t;
108
- }, h = [[0, 65535]], g, _, v = 3, y = {}, b = {
109
+ }, g = [[0, 65535]], _, v, y = 3, b = {}, x = {
109
110
  "/": "⁄∕",
110
111
  0: "߀",
111
112
  a: "ⱥɐɑ",
@@ -148,51 +149,51 @@ var s = (e) => (e = e.filter(Boolean), e.length < 2 ? e[0] || "" : f(e) == 1 ? "
148
149
  z: "ƶȥɀⱬꝣ",
149
150
  hv: "ƕ"
150
151
  };
151
- for (let e in b) {
152
- let t = b[e] || "";
152
+ for (let e in x) {
153
+ let t = x[e] || "";
153
154
  for (let n = 0; n < t.length; n++) {
154
155
  let r = t.substring(n, n + 1);
155
- y[r] = e;
156
+ b[r] = e;
156
157
  }
157
158
  }
158
- var x = RegExp(Object.keys(y).join("|") + "|[̀-ͯ·ʾʼ]", "gu"), S = (e) => {
159
- g === void 0 && (g = ie(e || h));
160
- }, ee = (e, t = "NFKD") => e.normalize(t), C = (e) => Array.from(e).reduce((e, t) => e + te(t), ""), te = (e) => (e = ee(e).toLowerCase().replace(x, (e) => y[e] || ""), ee(e, "NFC"));
161
- function* ne(e) {
159
+ var S = RegExp(Object.keys(b).join("|") + "|[̀-ͯ·ʾʼ]", "gu"), ee = (e) => {
160
+ _ === void 0 && (_ = ae(e || g));
161
+ }, te = (e, t = "NFKD") => e.normalize(t), C = (e) => Array.from(e).reduce((e, t) => e + ne(t), ""), ne = (e) => (e = te(e).toLowerCase().replace(S, (e) => b[e] || ""), te(e, "NFC"));
162
+ function* re(e) {
162
163
  for (let [t, n] of e) for (let e = t; e <= n; e++) {
163
164
  let t = String.fromCharCode(e), n = C(t);
164
- n != t.toLowerCase() && (n.length > v || n.length != 0 && (yield {
165
+ n != t.toLowerCase() && (n.length > y || n.length != 0 && (yield {
165
166
  folded: n,
166
167
  composed: t,
167
168
  code_point: e
168
169
  }));
169
170
  }
170
171
  }
171
- var re = (e) => {
172
+ var ie = (e) => {
172
173
  let t = {}, n = (e, n) => {
173
- let r = t[e] || /* @__PURE__ */ new Set(), i = RegExp("^" + l(r) + "$", "iu");
174
- n.match(i) || (r.add(d(n)), t[e] = r);
174
+ let r = t[e] || /* @__PURE__ */ new Set(), i = RegExp("^" + u(r) + "$", "iu");
175
+ n.match(i) || (r.add(f(n)), t[e] = r);
175
176
  };
176
- for (let t of ne(e)) n(t.folded, t.folded), n(t.folded, t.composed);
177
+ for (let t of re(e)) n(t.folded, t.folded), n(t.folded, t.composed);
177
178
  return t;
178
- }, ie = (e) => {
179
- let t = re(e), n = {}, r = [];
179
+ }, ae = (e) => {
180
+ let t = ie(e), n = {}, r = [];
180
181
  for (let e in t) {
181
182
  let i = t[e];
182
- i && (n[e] = l(i)), e.length > 1 && r.push(d(e));
183
+ i && (n[e] = u(i)), e.length > 1 && r.push(f(e));
183
184
  }
184
185
  r.sort((e, t) => t.length - e.length);
185
- let i = s(r);
186
- return _ = RegExp("^" + i, "u"), n;
187
- }, ae = (e, t = 1) => {
186
+ let i = c(r);
187
+ return v = RegExp("^" + i, "u"), n;
188
+ }, oe = (e, t = 1) => {
188
189
  let n = 0;
189
- return e = e.map((e) => (g[e] && (n += e.length), g[e] || e)), n >= t ? c(e) : "";
190
- }, oe = (e, t = 1) => (t = Math.max(t, e.length - 1), s(m(e).map((e) => ae(e, t)))), se = (e, t = !0) => {
190
+ return e = e.map((e) => (_[e] && (n += e.length), _[e] || e)), n >= t ? l(e) : "";
191
+ }, se = (e, t = 1) => (t = Math.max(t, e.length - 1), c(h(e).map((e) => oe(e, t)))), w = (e, t = !0) => {
191
192
  let n = +(e.length > 1);
192
- return s(e.map((e) => {
193
+ return c(e.map((e) => {
193
194
  let r = [], i = t ? e.length() : e.length() - 1;
194
- for (let t = 0; t < i; t++) r.push(oe(e.substrs[t] || "", n));
195
- return c(r);
195
+ for (let t = 0; t < i; t++) r.push(se(e.substrs[t] || "", n));
196
+ return l(r);
196
197
  }));
197
198
  }, ce = (e, t) => {
198
199
  for (let n of t) {
@@ -201,13 +202,13 @@ var re = (e) => {
201
202
  if (!(n.parts.filter((e) => {
202
203
  for (let n of t) {
203
204
  if (n.start === e.start && n.substr === e.substr) return !1;
204
- if (!(e.length == 1 || n.length == 1) && (e.start < n.start && e.end > n.start || n.start < e.start && n.end > e.start)) return !0;
205
+ if (e.length != 1 && n.length != 1 && (e.start < n.start && e.end > n.start || n.start < e.start && n.end > e.start)) return !0;
205
206
  }
206
207
  return !1;
207
208
  }).length > 0)) return !0;
208
209
  }
209
210
  return !1;
210
- }, w = class e {
211
+ }, le = class e {
211
212
  parts;
212
213
  substrs;
213
214
  start;
@@ -235,28 +236,29 @@ var re = (e) => {
235
236
  substr: o
236
237
  }), r;
237
238
  }
238
- }, le = (e) => {
239
- S(), e = C(e);
240
- let t = "", n = [new w()];
239
+ }, ue = (e) => {
240
+ ee(), e = C(e);
241
+ let t = "", n = [new le()];
241
242
  for (let r = 0; r < e.length; r++) {
242
- let i = e.substring(r).match(_), a = e.substring(r, r + 1), o = i ? i[0] : null, s = [], c = /* @__PURE__ */ new Set();
243
+ let i = e.substring(r).match(v), a = e.substring(r, r + 1), o = i ? i[0] : null, s = [], c = /* @__PURE__ */ new Set();
243
244
  for (let e of n) {
244
245
  let t = e.last();
245
- if (!t || t.length == 1 || t.end <= r) if (o) {
246
- let t = o.length;
247
- e.add({
246
+ if (!t || t.length == 1 || t.end <= r) {
247
+ if (o) {
248
+ let t = o.length;
249
+ e.add({
250
+ start: r,
251
+ end: r + t,
252
+ length: t,
253
+ substr: o
254
+ }), c.add("1");
255
+ } else e.add({
248
256
  start: r,
249
- end: r + t,
250
- length: t,
251
- substr: o
252
- }), c.add("1");
253
- } else e.add({
254
- start: r,
255
- end: r + 1,
256
- length: 1,
257
- substr: a
258
- }), c.add("2");
259
- else if (o) {
257
+ end: r + 1,
258
+ length: 1,
259
+ substr: a
260
+ }), c.add("2");
261
+ } else if (o) {
260
262
  let n = e.clone(r, t), i = o.length;
261
263
  n.add({
262
264
  start: r,
@@ -272,15 +274,15 @@ var re = (e) => {
272
274
  continue;
273
275
  }
274
276
  if (r > 0 && c.size == 1 && !c.has("3")) {
275
- t += se(n, !1);
276
- let e = new w(), r = n[0];
277
+ t += w(n, !1);
278
+ let e = new le(), r = n[0];
277
279
  r && e.add(r.last()), n = [e];
278
280
  }
279
281
  }
280
- return t += se(n, !0), t;
281
- }, ue = (e, t) => {
282
- if (e) return e[t];
282
+ return t += w(n, !0), t;
283
283
  }, de = (e, t) => {
284
+ if (e) return e[t];
285
+ }, fe = (e, t) => {
284
286
  if (e) {
285
287
  for (var n, r = t.split("."); (n = r.shift()) && (e = e[n]););
286
288
  return e;
@@ -295,7 +297,7 @@ var re = (e) => {
295
297
  }, D = (e, t) => {
296
298
  if (Array.isArray(e)) e.forEach(t);
297
299
  else for (var n in e) e.hasOwnProperty(n) && t(e[n], n);
298
- }, fe = (e, t) => typeof e == "number" && typeof t == "number" ? e > t ? 1 : e < t ? -1 : 0 : (e = C(e + "").toLowerCase(), t = C(t + "").toLowerCase(), e > t ? 1 : t > e ? -1 : 0), pe = class {
300
+ }, pe = (e, t) => typeof e == "number" && typeof t == "number" ? e > t ? 1 : e < t ? -1 : 0 : (e = C(e + "").toLowerCase(), t = C(t + "").toLowerCase(), e > t ? 1 : t > e ? -1 : 0), me = class {
299
301
  items;
300
302
  settings;
301
303
  constructor(e, t) {
@@ -305,9 +307,9 @@ var re = (e) => {
305
307
  if (!e || !e.length) return [];
306
308
  let r = [], i = e.split(/\s+/);
307
309
  var a;
308
- return n && (a = RegExp("^(" + Object.keys(n).map(d).join("|") + "):(.*)$")), i.forEach((e) => {
310
+ return n && (a = RegExp("^(" + Object.keys(n).map(f).join("|") + "):(.*)$")), i.forEach((e) => {
309
311
  let n, i = null, o = null;
310
- a && (n = e.match(a)) && (i = n[1], e = n[2]), e.length > 0 && (o = this.settings.diacritics ? le(e) || null : d(e), o && t && (o = "\\b" + o)), r.push({
312
+ a && (n = e.match(a)) && (i = n[1], e = n[2]), e.length > 0 && (o = this.settings.diacritics ? ue(e) || null : f(e), o && t && (o = "\\b" + o)), r.push({
311
313
  string: e,
312
314
  regex: o ? new RegExp(o, "iu") : null,
313
315
  field: i
@@ -383,7 +385,7 @@ var re = (e) => {
383
385
  } else n = n.filter((e) => e.field !== "$score");
384
386
  return n.length ? function(e, t) {
385
387
  var r, i;
386
- for (let a of n) if (i = a.field, r = (a.direction === "desc" ? -1 : 1) * fe(o(i, e), o(i, t)), r) return r;
388
+ for (let a of n) if (i = a.field, r = (a.direction === "desc" ? -1 : 1) * pe(o(i, e), o(i, t)), r) return r;
387
389
  return 0;
388
390
  } : null;
389
391
  }
@@ -407,7 +409,7 @@ var re = (e) => {
407
409
  total: 0,
408
410
  items: [],
409
411
  weights: n,
410
- getAttrFn: r.nesting ? de : ue
412
+ getAttrFn: r.nesting ? fe : de
411
413
  };
412
414
  }
413
415
  search(e, t) {
@@ -428,7 +430,7 @@ var re = (e) => {
428
430
  let o = n._getSortFunction(i);
429
431
  return o && i.items.sort(o), i.total = i.items.length, typeof t.limit == "number" && (i.items = i.items.slice(0, t.limit)), i;
430
432
  }
431
- }, O = (e) => e == null ? null : k(e), k = (e) => typeof e == "boolean" ? e ? "1" : "0" : e + "", A = (e) => (e + "").replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;"), me = (e, t) => t > 0 ? window.setTimeout(e, t) : (e.call(null), null), he = (e, t) => {
433
+ }, O = (e) => e == null ? null : k(e), k = (e) => typeof e == "boolean" ? e ? "1" : "0" : e + "", A = (e) => (e + "").replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;"), he = (e, t) => t > 0 ? window.setTimeout(e, t) : (e.call(null), null), ge = (e, t) => {
432
434
  var n;
433
435
  return function(r, i) {
434
436
  var a = this;
@@ -436,7 +438,7 @@ var re = (e) => {
436
438
  n = null, a.loadedSearches[r] = !0, e.call(a, r, i);
437
439
  }, t);
438
440
  };
439
- }, ge = (e, t, n) => {
441
+ }, _e = (e, t, n) => {
440
442
  var r, i = e.trigger, a = {};
441
443
  e.trigger = function() {
442
444
  var n = arguments[0];
@@ -444,7 +446,7 @@ var re = (e) => {
444
446
  else return i.apply(e, arguments);
445
447
  }, n.apply(e, []), e.trigger = i;
446
448
  for (r of t) r in a && i.apply(e, a[r]);
447
- }, _e = (e) => ({
449
+ }, ve = (e) => ({
448
450
  start: e.selectionStart || 0,
449
451
  length: (e.selectionEnd || 0) - (e.selectionStart || 0)
450
452
  }), j = (e, t = !1) => {
@@ -459,37 +461,37 @@ var re = (e) => {
459
461
  }, R = (e) => {
460
462
  if (e.jquery) return e[0];
461
463
  if (e instanceof HTMLElement) return e;
462
- if (z(e)) {
464
+ if (ye(e)) {
463
465
  var t = document.createElement("template");
464
466
  return t.innerHTML = e.trim(), t.content.firstChild;
465
467
  }
466
468
  return document.querySelector(e);
467
- }, z = (e) => typeof e == "string" && e.indexOf("<") > -1, ve = (e) => e.replace(/['"\\]/g, "\\$&"), B = (e, t) => {
469
+ }, ye = (e) => typeof e == "string" && e.indexOf("<") > -1, be = (e) => e.replace(/['"\\]/g, "\\$&"), z = (e, t) => {
468
470
  var n = document.createEvent("HTMLEvents");
469
471
  n.initEvent(t, !0, !1), e.dispatchEvent(n);
470
- }, V = (e, t) => {
472
+ }, B = (e, t) => {
471
473
  Object.assign(e.style, t);
472
- }, H = (e, ...t) => {
473
- var n = ye(t);
474
- e = be(e), e.map((e) => {
474
+ }, V = (e, ...t) => {
475
+ var n = U(t);
476
+ e = W(e), e.map((e) => {
475
477
  n.map((t) => {
476
478
  e.classList.add(t);
477
479
  });
478
480
  });
479
- }, U = (e, ...t) => {
480
- var n = ye(t);
481
- e = be(e), e.map((e) => {
481
+ }, H = (e, ...t) => {
482
+ var n = U(t);
483
+ e = W(e), e.map((e) => {
482
484
  n.map((t) => {
483
485
  e.classList.remove(t);
484
486
  });
485
487
  });
486
- }, ye = (e) => {
488
+ }, U = (e) => {
487
489
  var t = [];
488
490
  return L(e, (e) => {
489
491
  typeof e == "string" && (e = e.trim().split(/[\t\n\f\r\s]/)), Array.isArray(e) && (t = t.concat(e));
490
492
  }), t.filter(Boolean);
491
- }, be = (e) => (Array.isArray(e) || (e = [e]), e), W = (e, t, n) => {
492
- if (!(n && !n.contains(e))) for (; e && e.matches;) {
493
+ }, W = (e) => (Array.isArray(e) || (e = [e]), e), G = (e, t, n) => {
494
+ if (!n || n.contains(e)) for (; e && e.matches;) {
493
495
  if (e.matches(t)) return e;
494
496
  e = e.parentNode;
495
497
  }
@@ -498,11 +500,11 @@ var re = (e) => {
498
500
  t ||= e.nodeName;
499
501
  for (var n = 0; e = e.previousElementSibling;) e.matches(t) && n++;
500
502
  return n;
501
- }, G = (e, t) => {
503
+ }, K = (e, t) => {
502
504
  L(t, (t, n) => {
503
505
  t == null ? e.removeAttribute(n) : e.setAttribute(n, "" + t);
504
506
  });
505
- }, K = (e, t) => {
507
+ }, q = (e, t) => {
506
508
  e.parentNode && e.parentNode.replaceChild(t, e);
507
509
  }, we = (e, t) => {
508
510
  if (t === null) return;
@@ -518,7 +520,7 @@ var re = (e) => {
518
520
  var i = e.splitText(n.index);
519
521
  i.splitText(n[0].length);
520
522
  var a = i.cloneNode(!0);
521
- return r.appendChild(a), K(i, r), 1;
523
+ return r.appendChild(a), q(i, r), 1;
522
524
  }
523
525
  return 0;
524
526
  }, r = (e) => {
@@ -533,7 +535,7 @@ var re = (e) => {
533
535
  var t = e.parentNode;
534
536
  t.replaceChild(e.firstChild, e), t.normalize();
535
537
  });
536
- }, q = !(typeof navigator > "u") && /Mac/.test(navigator.userAgent) ? "metaKey" : "ctrlKey", Ee = {
538
+ }, J = !(typeof navigator > "u") && /Mac/.test(navigator.userAgent) ? "metaKey" : "ctrlKey", Ee = {
537
539
  options: [],
538
540
  optgroups: [],
539
541
  plugins: [],
@@ -610,7 +612,7 @@ function De(e, t) {
610
612
  return typeof n == "string" && n.length && (t = Object.assign(t, JSON.parse(n))), t;
611
613
  }, g = (e, t) => {
612
614
  var r = O(e.value);
613
- if (r != null && !(!r && !n.allowEmptyOption)) {
615
+ if (r != null && (r || n.allowEmptyOption)) {
614
616
  if (d.hasOwnProperty(r)) {
615
617
  if (t) {
616
618
  var c = d[r][s];
@@ -649,56 +651,56 @@ function De(e, t) {
649
651
  }
650
652
  //#endregion
651
653
  //#region ../../node_modules/tom-select/dist/esm/tom-select.js
652
- var J = 0, Y = class extends o(a) {
654
+ var Oe = 0, Y = class extends s(o) {
653
655
  constructor(e, t) {
654
- super(), this.order = 0, this.isOpen = !1, this.isDisabled = !1, this.isReadOnly = !1, this.isInvalid = !1, this.isValid = !0, this.isLocked = !1, this.isFocused = !1, this.isInputHidden = !1, this.isSetup = !1, this.isDropdownContentStale = !0, this.ignoreFocus = !1, this.ignoreHover = !1, this.hasOptions = !1, this.lastValue = "", this.caretPos = 0, this.loading = 0, this.loadedSearches = {}, this.activeOption = null, this.activeItems = [], this.optgroups = {}, this.options = {}, this.userOptions = {}, this.items = [], this.refreshTimeout = null, J++;
656
+ super(), this.order = 0, this.isOpen = !1, this.isDisabled = !1, this.isReadOnly = !1, this.isInvalid = !1, this.isValid = !0, this.isLocked = !1, this.isFocused = !1, this.isInputHidden = !1, this.isSetup = !1, this.isDropdownContentStale = !0, this.ignoreFocus = !1, this.ignoreHover = !1, this.hasOptions = !1, this.lastValue = "", this.caretPos = 0, this.loading = 0, this.loadedSearches = {}, this.activeOption = null, this.activeItems = [], this.optgroups = {}, this.options = {}, this.userOptions = {}, this.items = [], this.refreshTimeout = null, Oe++;
655
657
  var n, r = R(e);
656
658
  if (r.tomselect) throw Error("Tom Select already initialized on this element");
657
659
  r.tomselect = this, n = (window.getComputedStyle && window.getComputedStyle(r, null)).getPropertyValue("direction");
658
660
  let i = De(r, t);
659
- this.settings = i, this.input = r, this.tabIndex = r.tabIndex || 0, this.is_select_tag = r.tagName.toLowerCase() === "select", this.rtl = /rtl/i.test(n), this.inputId = P(r, "tomselect-" + J), this.isRequired = r.required, this.sifter = new pe(this.options, { diacritics: i.diacritics }), i.mode = i.mode || (i.maxItems === 1 ? "single" : "multi"), typeof i.hideSelected != "boolean" && (i.hideSelected = i.mode === "multi"), typeof i.hidePlaceholder != "boolean" && (i.hidePlaceholder = i.mode !== "multi");
661
+ this.settings = i, this.input = r, this.tabIndex = r.tabIndex || 0, this.is_select_tag = r.tagName.toLowerCase() === "select", this.rtl = /rtl/i.test(n), this.inputId = P(r, "tomselect-" + Oe), this.isRequired = r.required, this.sifter = new me(this.options, { diacritics: i.diacritics }), i.mode = i.mode || (i.maxItems === 1 ? "single" : "multi"), typeof i.hideSelected != "boolean" && (i.hideSelected = i.mode === "multi"), typeof i.hidePlaceholder != "boolean" && (i.hidePlaceholder = i.mode !== "multi");
660
662
  var a = i.createFilter;
661
- typeof a != "function" && (typeof a == "string" && (a = new RegExp(a)), a instanceof RegExp ? i.createFilter = (e) => a.test(e) : i.createFilter = (e) => this.settings.duplicates || !this.options[e]), this.initializePlugins(i.plugins), this.setupCallbacks(), this.setupTemplates();
663
+ typeof a != "function" && (typeof a == "string" && (a = new RegExp(a)), i.createFilter = a instanceof RegExp ? (e) => a.test(e) : (e) => this.settings.duplicates || !this.options[e]), this.initializePlugins(i.plugins), this.setupCallbacks(), this.setupTemplates();
662
664
  let o = R("<div>"), s = R("<div>"), c = this._render("dropdown"), l = R("<div role=\"listbox\" tabindex=\"-1\">"), u = this.input.getAttribute("class") || "", d = i.mode;
663
665
  var f;
664
- H(o, i.wrapperClass, u, d), H(s, i.controlClass), I(o, s), H(c, i.dropdownClass, d), i.copyClassesToDropdown && H(c, u), H(l, i.dropdownContentClass), I(c, l), R(i.dropdownParent || o).appendChild(c), z(i.controlInput) ? (f = R(i.controlInput), L([
666
+ V(o, i.wrapperClass, u, d), V(s, i.controlClass), I(o, s), V(c, i.dropdownClass, d), i.copyClassesToDropdown && V(c, u), V(l, i.dropdownContentClass), I(c, l), R(i.dropdownParent || o).appendChild(c), ye(i.controlInput) ? (f = R(i.controlInput), L([
665
667
  "autocorrect",
666
668
  "autocapitalize",
667
669
  "autocomplete",
668
670
  "spellcheck",
669
671
  "aria-label"
670
672
  ], (e) => {
671
- r.getAttribute(e) && G(f, { [e]: r.getAttribute(e) });
673
+ r.getAttribute(e) && K(f, { [e]: r.getAttribute(e) });
672
674
  }), f.tabIndex = -1, s.appendChild(f), this.focus_node = f) : i.controlInput ? (f = R(i.controlInput), this.focus_node = f) : (f = R("<input/>"), this.focus_node = s), this.wrapper = o, this.dropdown = c, this.dropdown_content = l, this.control = s, this.control_input = f, this.setup();
673
675
  }
674
676
  setup() {
675
677
  let e = this, t = e.settings, n = e.control_input, r = e.dropdown, i = e.dropdown_content, a = e.wrapper, o = e.control, s = e.input, c = e.focus_node, l = { passive: !0 }, u = e.inputId + "-ts-dropdown";
676
- G(i, { id: u }), G(c, {
678
+ K(i, { id: u }), K(c, {
677
679
  role: "combobox",
678
680
  "aria-haspopup": "listbox",
679
681
  "aria-expanded": "false",
680
682
  "aria-controls": u
681
683
  });
682
- let f = P(c, e.inputId + "-ts-control"), p = "label[for='" + ve(e.inputId) + "']", m = document.querySelector(p), h = e.focus.bind(e);
684
+ let d = P(c, e.inputId + "-ts-control"), p = "label[for='" + be(e.inputId) + "']", m = document.querySelector(p), h = e.focus.bind(e);
683
685
  if (m) {
684
- M(m, "click", h), G(m, { for: f });
686
+ M(m, "click", h), K(m, { for: d });
685
687
  let t = P(m, e.inputId + "-ts-label");
686
- G(c, { "aria-labelledby": t }), G(i, { "aria-labelledby": t });
688
+ K(c, { "aria-labelledby": t }), K(i, { "aria-labelledby": t });
687
689
  }
688
690
  if (a.style.width = s.style.width, a.style.minWidth = s.style.minWidth, a.style.maxWidth = s.style.maxWidth, e.plugins.names.length) {
689
691
  let t = "plugin-" + e.plugins.names.join(" plugin-");
690
- H([a, r], t);
692
+ V([a, r], t);
691
693
  }
692
- (t.maxItems === null || t.maxItems > 1) && e.is_select_tag && G(s, { multiple: "multiple" }), t.placeholder && G(n, { placeholder: t.placeholder }), !t.splitOn && t.delimiter && (t.splitOn = RegExp("\\s*" + d(t.delimiter) + "+\\s*")), t.load && t.loadThrottle && (t.load = he(t.load, t.loadThrottle)), M(r, "mousemove", () => {
694
+ (t.maxItems === null || t.maxItems > 1) && e.is_select_tag && K(s, { multiple: "multiple" }), t.placeholder && K(n, { placeholder: t.placeholder }), !t.splitOn && t.delimiter && (t.splitOn = RegExp("\\s*" + f(t.delimiter) + "+\\s*")), t.load && t.loadThrottle && (t.load = ge(t.load, t.loadThrottle)), M(r, "mousemove", () => {
693
695
  e.ignoreHover = !1;
694
696
  }), M(r, "mouseenter", (t) => {
695
- var n = W(t.target, "[data-selectable]", r);
697
+ var n = G(t.target, "[data-selectable]", r);
696
698
  n && e.onOptionHover(t, n);
697
699
  }, { capture: !0 }), M(r, "click", (t) => {
698
- let n = W(t.target, "[data-selectable]");
700
+ let n = G(t.target, "[data-selectable]");
699
701
  n && (e.onOptionSelect(t, n), j(t, !0));
700
702
  }), M(o, "click", (t) => {
701
- var r = W(t.target, "[data-ts-item]", o);
703
+ var r = G(t.target, "[data-ts-item]", o);
702
704
  if (r && e.onItemSelect(t, r)) {
703
705
  j(t, !0);
704
706
  return;
@@ -722,7 +724,7 @@ var J = 0, Y = class extends o(a) {
722
724
  }, this.revertSettings = {
723
725
  innerHTML: s.innerHTML,
724
726
  tabIndex: s.tabIndex
725
- }, s.tabIndex = -1, s.insertAdjacentElement("afterend", e.wrapper), e.sync(!1), t.items = [], delete t.optgroups, delete t.options, e.refreshItems(), e.close(!1), e.inputState(), e.isSetup = !0, e.on("change", this.onChange), H(s, "tomselected", "ts-hidden-accessible"), e.trigger("initialize"), t.preload === !0 && e.preload();
727
+ }, s.tabIndex = -1, s.insertAdjacentElement("afterend", e.wrapper), e.sync(!1), t.items = [], delete t.optgroups, delete t.options, e.refreshItems(), e.close(!1), e.inputState(), e.isSetup = !0, e.on("change", this.onChange), V(s, "tomselected", "ts-hidden-accessible"), e.trigger("initialize"), t.preload === !0 && e.preload();
726
728
  }
727
729
  setupOptions(e = [], t = []) {
728
730
  this.addOptions(e), L(t, (e) => {
@@ -786,7 +788,7 @@ var J = 0, Y = class extends o(a) {
786
788
  }
787
789
  onMouseDown() {}
788
790
  onChange() {
789
- B(this.input, "input"), B(this.input, "change");
791
+ z(this.input, "input"), z(this.input, "change");
790
792
  }
791
793
  onPaste(e) {
792
794
  var t = this;
@@ -821,7 +823,7 @@ var J = 0, Y = class extends o(a) {
821
823
  }
822
824
  switch (e.keyCode) {
823
825
  case 65:
824
- if (N(q, e) && t.control_input.value == "") {
826
+ if (N(J, e) && t.control_input.value == "") {
825
827
  j(e), t.selectAll();
826
828
  return;
827
829
  }
@@ -861,7 +863,7 @@ var J = 0, Y = class extends o(a) {
861
863
  t.deleteSelection(e);
862
864
  return;
863
865
  }
864
- t.isInputHidden && !N(q, e) && j(e);
866
+ t.isInputHidden && !N(J, e) && j(e);
865
867
  }
866
868
  onInput(e) {
867
869
  if (this.isLocked) return;
@@ -871,7 +873,7 @@ var J = 0, Y = class extends o(a) {
871
873
  this._onInput();
872
874
  return;
873
875
  }
874
- this.refreshTimeout && window.clearTimeout(this.refreshTimeout), this.refreshTimeout = me(() => {
876
+ this.refreshTimeout && window.clearTimeout(this.refreshTimeout), this.refreshTimeout = he(() => {
875
877
  this.refreshTimeout = null, this._onInput();
876
878
  }, this.settings.refreshThrottle);
877
879
  }
@@ -914,7 +916,7 @@ var J = 0, Y = class extends o(a) {
914
916
  }
915
917
  onItemSelect(e, t) {
916
918
  var n = this;
917
- return !n.isLocked && n.settings.mode === "multi" ? (j(e), n.setActiveItem(t, e), !0) : !1;
919
+ return !n.isLocked && n.settings.mode === "multi" && (j(e), n.setActiveItem(t, e), !0);
918
920
  }
919
921
  canLoad(e) {
920
922
  return !(!this.settings.load || this.loadedSearches.hasOwnProperty(e));
@@ -922,13 +924,13 @@ var J = 0, Y = class extends o(a) {
922
924
  load(e) {
923
925
  let t = this;
924
926
  if (!t.canLoad(e)) return;
925
- H(t.wrapper, t.settings.loadingClass), t.loading++;
927
+ V(t.wrapper, t.settings.loadingClass), t.loading++;
926
928
  let n = t.loadCallback.bind(t);
927
929
  t.settings.load.call(t, e, n);
928
930
  }
929
931
  loadCallback(e, t) {
930
932
  let n = this;
931
- n.loading = Math.max(n.loading - 1, 0), n.isDropdownContentStale = !0, n.clearActiveOption(), n.setupOptions(e, t), n.refreshOptions(n.isFocused && !n.isInputHidden), n.loading || U(n.wrapper, n.settings.loadingClass), n.trigger("load", e, t);
933
+ n.loading = Math.max(n.loading - 1, 0), n.isDropdownContentStale = !0, n.clearActiveOption(), n.setupOptions(e, t), n.refreshOptions(n.isFocused && !n.isInputHidden), n.loading || H(n.wrapper, n.settings.loadingClass), n.trigger("load", e, t);
932
934
  }
933
935
  preload() {
934
936
  var e = this.wrapper.classList;
@@ -936,14 +938,14 @@ var J = 0, Y = class extends o(a) {
936
938
  }
937
939
  setTextboxValue(e = "") {
938
940
  var t = this.control_input;
939
- t.value !== e && (t.value = e, B(t, "update"), this.lastValue = e);
941
+ t.value !== e && (t.value = e, z(t, "update"), this.lastValue = e);
940
942
  }
941
943
  getValue() {
942
944
  return this.is_select_tag && this.input.hasAttribute("multiple") ? this.items : this.items.join(this.settings.delimiter);
943
945
  }
944
946
  setValue(e, t) {
945
947
  var n = t ? [] : ["change"];
946
- ge(this, n, () => {
948
+ _e(this, n, () => {
947
949
  this.clear(t), this.addItems(e, t);
948
950
  });
949
951
  }
@@ -960,23 +962,23 @@ var J = 0, Y = class extends o(a) {
960
962
  if (r = t && t.type.toLowerCase(), r === "click" && N("shiftKey", t) && n.activeItems.length) {
961
963
  for (c = n.getLastActive(), a = Array.prototype.indexOf.call(n.control.children, c), o = Array.prototype.indexOf.call(n.control.children, e), a > o && (s = a, a = o, o = s), i = a; i <= o; i++) e = n.control.children[i], n.activeItems.indexOf(e) === -1 && n.setActiveItemClass(e);
962
964
  j(t);
963
- } else r === "click" && N(q, t) || r === "keydown" && N("shiftKey", t) ? e.classList.contains("active") ? n.removeActiveItem(e) : n.setActiveItemClass(e) : (n.clearActiveItems(), n.setActiveItemClass(e));
965
+ } else r === "click" && N(J, t) || r === "keydown" && N("shiftKey", t) ? e.classList.contains("active") ? n.removeActiveItem(e) : n.setActiveItemClass(e) : (n.clearActiveItems(), n.setActiveItemClass(e));
964
966
  n.inputState(), n.isFocused || n.focus();
965
967
  }
966
968
  }
967
969
  setActiveItemClass(e) {
968
970
  let t = this, n = t.control.querySelector(".last-active");
969
- n && U(n, "last-active"), H(e, "active last-active"), t.trigger("item_select", e), t.activeItems.indexOf(e) == -1 && t.activeItems.push(e);
971
+ n && H(n, "last-active"), V(e, "active last-active"), t.trigger("item_select", e), t.activeItems.indexOf(e) == -1 && t.activeItems.push(e);
970
972
  }
971
973
  removeActiveItem(e) {
972
974
  var t = this.activeItems.indexOf(e);
973
- this.activeItems.splice(t, 1), U(e, "active");
975
+ this.activeItems.splice(t, 1), H(e, "active");
974
976
  }
975
977
  clearActiveItems() {
976
- U(this.activeItems, "active"), this.activeItems = [];
978
+ H(this.activeItems, "active"), this.activeItems = [];
977
979
  }
978
980
  setActiveOption(e, t = !0) {
979
- e !== this.activeOption && (this.clearActiveOption(), e && (this.activeOption = e, G(this.focus_node, { "aria-activedescendant": e.getAttribute("id") }), G(e, { "aria-selected": "true" }), H(e, "active"), t && this.scrollToOption(e)));
981
+ e !== this.activeOption && (this.clearActiveOption(), e && (this.activeOption = e, K(this.focus_node, { "aria-activedescendant": e.getAttribute("id") }), K(e, { "aria-selected": "true" }), V(e, "active"), t && this.scrollToOption(e)));
980
982
  }
981
983
  scrollToOption(e, t) {
982
984
  if (!e) return;
@@ -988,7 +990,7 @@ var J = 0, Y = class extends o(a) {
988
990
  t && (n.style.scrollBehavior = t), n.scrollTop = e, n.style.scrollBehavior = "";
989
991
  }
990
992
  clearActiveOption() {
991
- this.activeOption && (U(this.activeOption, "active"), G(this.activeOption, { "aria-selected": null })), this.activeOption = null, G(this.focus_node, { "aria-activedescendant": null });
993
+ this.activeOption && (H(this.activeOption, "active"), K(this.activeOption, { "aria-selected": null })), this.activeOption = null, K(this.focus_node, { "aria-activedescendant": null });
992
994
  }
993
995
  selectAll() {
994
996
  let e = this;
@@ -1000,7 +1002,7 @@ var J = 0, Y = class extends o(a) {
1000
1002
  }
1001
1003
  inputState() {
1002
1004
  var e = this;
1003
- e.control.contains(e.control_input) && (G(e.control_input, { placeholder: e.settings.placeholder }), e.activeItems.length > 0 || !e.isFocused && e.settings.hidePlaceholder && e.items.length > 0 ? (e.setTextboxValue(), e.isInputHidden = !0) : (e.settings.hidePlaceholder && e.items.length > 0 && G(e.control_input, { placeholder: "" }), e.isInputHidden = !1), e.wrapper.classList.toggle("input-hidden", e.isInputHidden));
1005
+ e.control.contains(e.control_input) && (K(e.control_input, { placeholder: e.settings.placeholder }), e.activeItems.length > 0 || !e.isFocused && e.settings.hidePlaceholder && e.items.length > 0 ? (e.setTextboxValue(), e.isInputHidden = !0) : (e.settings.hidePlaceholder && e.items.length > 0 && K(e.control_input, { placeholder: "" }), e.isInputHidden = !1), e.wrapper.classList.toggle("input-hidden", e.isInputHidden));
1004
1006
  }
1005
1007
  inputValue() {
1006
1008
  return this.control_input.value.trim();
@@ -1034,7 +1036,7 @@ var J = 0, Y = class extends o(a) {
1034
1036
  if (r.settings.score && (n = r.settings.score.call(r, e), typeof n != "function")) throw Error("Tom Select \"score\" setting must be a function that returns a function");
1035
1037
  return r.isDropdownContentStale || e !== r.lastQuery ? (r.lastQuery = e, /(.)\1{15,}/.test(e) && (e = ""), t = r.sifter.search(e, Object.assign(i, { score: n })), r.currentResults = t) : t = Object.assign({}, r.currentResults), r.settings.hideSelected && (t.items = t.items.filter((e) => {
1036
1038
  let t = O(e.id);
1037
- return !(t !== null && r.items.indexOf(t) !== -1);
1039
+ return t === null || r.items.indexOf(t) === -1;
1038
1040
  })), t;
1039
1041
  }
1040
1042
  refreshOptions(e = !0) {
@@ -1072,10 +1074,10 @@ var J = 0, Y = class extends o(a) {
1072
1074
  }
1073
1075
  t = p.optgroups[a], t === void 0 ? a = "" : e = t.$order;
1074
1076
  let [r, c] = b(a, e);
1075
- n > 0 && (u = u.cloneNode(!0), G(u, {
1077
+ n > 0 && (u = u.cloneNode(!0), K(u, {
1076
1078
  id: s.$id + "-clone-" + n,
1077
1079
  "aria-selected": null
1078
- }), u.classList.add("ts-cloned"), U(u, "active"), p.activeOption && p.activeOption.dataset.value == i && l && l.dataset.group === a.toString() && (_ = u)), c.appendChild(u), a != "" && (d[a] = r);
1080
+ }), u.classList.add("ts-cloned"), H(u, "active"), p.activeOption && p.activeOption.dataset.value == i && l && l.dataset.group === a.toString() && (_ = u)), c.appendChild(u), a != "" && (d[a] = r);
1079
1081
  }
1080
1082
  }
1081
1083
  p.settings.lockOptgroupOrder && f.sort((e, t) => e.order - t.order), s = document.createDocumentFragment(), L(f, (e) => {
@@ -1127,7 +1129,7 @@ var J = 0, Y = class extends o(a) {
1127
1129
  }
1128
1130
  registerOptionGroup(e) {
1129
1131
  var t = O(e[this.settings.optgroupValueField]);
1130
- return t === null ? !1 : (e.$order = e.$order || ++this.order, this.optgroups[t] = e, t);
1132
+ return t !== null && (e.$order = e.$order || ++this.order, this.optgroups[t] = e, t);
1131
1133
  }
1132
1134
  addOptionGroup(e, t) {
1133
1135
  var n;
@@ -1151,11 +1153,11 @@ var J = 0, Y = class extends o(a) {
1151
1153
  if (t.$order = t.$order || s.$order, delete n.options[a], n.uncacheValue(o), n.options[o] = t, c) {
1152
1154
  if (n.dropdown_content.contains(c)) {
1153
1155
  let e = n._render("option", t);
1154
- K(c, e), n.activeOption === c && n.setActiveOption(e);
1156
+ q(c, e), n.activeOption === c && n.setActiveOption(e);
1155
1157
  }
1156
1158
  c.remove();
1157
1159
  }
1158
- l && (i = n.items.indexOf(a), i !== -1 && n.items.splice(i, 1, o), r = n._render("item", t), l.classList.contains("active") && H(r, "active"), K(l, r)), n.isDropdownContentStale = !0;
1160
+ l && (i = n.items.indexOf(a), i !== -1 && n.items.splice(i, 1, o), r = n._render("item", t), l.classList.contains("active") && V(r, "active"), q(l, r)), n.isDropdownContentStale = !0;
1159
1161
  }
1160
1162
  removeOption(e, t) {
1161
1163
  let n = this;
@@ -1204,10 +1206,10 @@ var J = 0, Y = class extends o(a) {
1204
1206
  }
1205
1207
  addItem(e, t) {
1206
1208
  var n = t ? [] : ["change", "dropdown_close"];
1207
- ge(this, n, () => {
1209
+ _e(this, n, () => {
1208
1210
  var n, r;
1209
1211
  let i = this, a = i.settings.mode, o = O(e);
1210
- if (!(o && i.items.indexOf(o) !== -1 && (a === "single" && i.close(), a === "single" || !i.settings.duplicates)) && !(o === null || !i.options.hasOwnProperty(o)) && (a === "single" && i.clear(t), !(a === "multi" && i.isFull()))) {
1212
+ if (!(o && i.items.indexOf(o) !== -1 && (a === "single" && i.close(), a === "single" || !i.settings.duplicates)) && o !== null && i.options.hasOwnProperty(o) && (a === "single" && i.clear(t), !(a === "multi" && i.isFull()))) {
1211
1213
  if (n = i._render("item", i.options[o]), i.control.contains(n) && (n = n.cloneNode(!0)), r = i.isFull(), i.items.splice(i.caretPos, 0, o), i.insertAtCaret(n), i.isSetup) {
1212
1214
  if (!i.isPending && i.settings.hideSelected) {
1213
1215
  let e = i.getOption(o), t = i.getAdjacent(e, 1);
@@ -1224,7 +1226,7 @@ var J = 0, Y = class extends o(a) {
1224
1226
  if (e = n.getItem(e), !e) return;
1225
1227
  var r, i;
1226
1228
  let a = e.dataset.value;
1227
- r = Ce(e), e.remove(), e.classList.contains("active") && (i = n.activeItems.indexOf(e), n.activeItems.splice(i, 1), U(e, "active")), n.items.splice(r, 1), n.isDropdownContentStale = !0, !n.settings.persist && n.userOptions.hasOwnProperty(a) && n.removeOption(a, t), r < n.caretPos && n.setCaret(n.caretPos - 1), n.updateOriginalInput({ silent: t }), n.refreshState(), n.positionDropdown(), n.trigger("item_remove", a, e);
1229
+ r = Ce(e), e.remove(), e.classList.contains("active") && (i = n.activeItems.indexOf(e), n.activeItems.splice(i, 1), H(e, "active")), n.items.splice(r, 1), n.isDropdownContentStale = !0, !n.settings.persist && n.userOptions.hasOwnProperty(a) && n.removeOption(a, t), r < n.caretPos && n.setCaret(n.caretPos - 1), n.updateOriginalInput({ silent: t }), n.refreshState(), n.positionDropdown(), n.trigger("item_remove", a, e);
1228
1230
  }
1229
1231
  createItem(e = null, t = () => {}) {
1230
1232
  arguments.length === 3 && (t = arguments[2]), typeof t != "function" && (t = () => {});
@@ -1268,7 +1270,7 @@ var J = 0, Y = class extends o(a) {
1268
1270
  if (t.is_select_tag) {
1269
1271
  let e = [], a = t.input.querySelectorAll("option:checked").length;
1270
1272
  function o(n, r, o) {
1271
- return n ||= R("<option value=\"" + A(r) + "\">" + A(o) + "</option>"), n != i && t.input.append(n), e.push(n), (n != i || a > 0) && (n.selected = !0), n;
1273
+ return n ||= R("<option value=\"" + A(r) + "\">" + A(o) + "</option>"), n != i && t.input.append(n), e.push(n), (n != i || a > 0 || t.settings.mode == "multi") && (n.selected = !0), n;
1272
1274
  }
1273
1275
  t.input.querySelectorAll("option:checked").forEach((e) => {
1274
1276
  e.selected = !1;
@@ -1280,22 +1282,22 @@ var J = 0, Y = class extends o(a) {
1280
1282
  }
1281
1283
  open() {
1282
1284
  var e = this;
1283
- e.isLocked || e.isOpen || e.settings.mode === "multi" && e.isFull() || (e.isOpen = !0, G(e.focus_node, { "aria-expanded": "true" }), e.refreshState(), V(e.dropdown, {
1285
+ e.isLocked || e.isOpen || e.settings.mode === "multi" && e.isFull() || (e.isOpen = !0, K(e.focus_node, { "aria-expanded": "true" }), e.refreshState(), B(e.dropdown, {
1284
1286
  visibility: "hidden",
1285
1287
  display: "block"
1286
- }), e.positionDropdown(), V(e.dropdown, {
1288
+ }), e.positionDropdown(), B(e.dropdown, {
1287
1289
  visibility: "visible",
1288
1290
  display: "block"
1289
1291
  }), e.focus(), e.trigger("dropdown_open", e.dropdown));
1290
1292
  }
1291
1293
  close(e = !0) {
1292
1294
  var t = this, n = t.isOpen;
1293
- e && (t.setTextboxValue(), t.settings.mode === "single" && t.items.length && t.inputState()), t.isOpen = !1, G(t.focus_node, { "aria-expanded": "false" }), V(t.dropdown, { display: "none" }), t.settings.hideSelected && t.clearActiveOption(), t.refreshState(), n && t.trigger("dropdown_close", t.dropdown);
1295
+ e && (t.setTextboxValue(), t.settings.mode === "single" && t.items.length && t.inputState()), t.isOpen = !1, K(t.focus_node, { "aria-expanded": "false" }), B(t.dropdown, { display: "none" }), t.settings.hideSelected && t.clearActiveOption(), t.refreshState(), n && t.trigger("dropdown_close", t.dropdown);
1294
1296
  }
1295
1297
  positionDropdown() {
1296
1298
  if (this.settings.dropdownParent === "body") {
1297
1299
  var e = this.control, t = e.getBoundingClientRect(), n = e.offsetHeight + t.top + window.scrollY, r = t.left + window.scrollX;
1298
- V(this.dropdown, {
1300
+ B(this.dropdown, {
1299
1301
  width: t.width + "px",
1300
1302
  top: n + "px",
1301
1303
  left: r + "px"
@@ -1314,7 +1316,7 @@ var J = 0, Y = class extends o(a) {
1314
1316
  }
1315
1317
  deleteSelection(e) {
1316
1318
  var t, n, r, i, a = this;
1317
- t = e && e.keyCode === 8 ? -1 : 1, n = _e(a.control_input);
1319
+ t = e && e.keyCode === 8 ? -1 : 1, n = ve(a.control_input);
1318
1320
  let o = [];
1319
1321
  if (a.activeItems.length) i = xe(a.activeItems, t), r = Ce(i), t > 0 && r++, L(a.activeItems, (e) => o.push(e));
1320
1322
  else if ((a.isFocused || a.settings.mode === "single") && a.items.length) {
@@ -1331,7 +1333,7 @@ var J = 0, Y = class extends o(a) {
1331
1333
  }
1332
1334
  advanceSelection(e, t) {
1333
1335
  var n, r, i = this;
1334
- i.rtl && (e *= -1), !i.inputValue().length && (N(q, t) || N("shiftKey", t) ? (n = i.getLastActive(e), r = n ? n.classList.contains("active") ? i.getAdjacent(n, e, "item") : n : e > 0 ? i.control_input.nextElementSibling : i.control_input.previousElementSibling, r && (r.classList.contains("active") && i.removeActiveItem(n), i.setActiveItemClass(r))) : i.moveCaret(e));
1336
+ i.rtl && (e *= -1), !i.inputValue().length && (N(J, t) || N("shiftKey", t) ? (n = i.getLastActive(e), r = n ? n.classList.contains("active") ? i.getAdjacent(n, e, "item") : n : e > 0 ? i.control_input.nextElementSibling : i.control_input.previousElementSibling, r && (r.classList.contains("active") && i.removeActiveItem(n), i.setActiveItemClass(r))) : i.moveCaret(e));
1335
1337
  }
1336
1338
  moveCaret(e) {}
1337
1339
  getLastActive(e) {
@@ -1369,15 +1371,15 @@ var J = 0, Y = class extends o(a) {
1369
1371
  }
1370
1372
  destroy() {
1371
1373
  var e = this, t = e.revertSettings;
1372
- e.trigger("destroy"), e.off(), e.wrapper.remove(), e.dropdown.remove(), e.input.innerHTML = t.innerHTML, e.input.tabIndex = t.tabIndex, U(e.input, "tomselected", "ts-hidden-accessible"), e._destroy(), delete e.input.tomselect;
1374
+ e.trigger("destroy"), e.off(), e.wrapper.remove(), e.dropdown.remove(), e.input.innerHTML = t.innerHTML, e.input.tabIndex = t.tabIndex, H(e.input, "tomselected", "ts-hidden-accessible"), e._destroy(), delete e.input.tomselect;
1373
1375
  }
1374
1376
  render(e, t) {
1375
1377
  var n, r;
1376
1378
  let i = this;
1377
1379
  if (typeof this.settings.render[e] != "function" || (r = i.settings.render[e].call(this, t, A), !r)) return null;
1378
- if (r = R(r), e === "option" || e === "option_create" ? t[i.settings.disabledField] ? G(r, { "aria-disabled": "true" }) : G(r, { "data-selectable": "" }) : e === "optgroup" && (n = t.group[i.settings.optgroupValueField], G(r, { "data-group": n }), t.group[i.settings.disabledField] && G(r, { "data-disabled": "" })), e === "option" || e === "item") {
1380
+ if (r = R(r), e === "option" || e === "option_create" ? t[i.settings.disabledField] ? K(r, { "aria-disabled": "true" }) : K(r, { "data-selectable": "" }) : e === "optgroup" && (n = t.group[i.settings.optgroupValueField], K(r, { "data-group": n }), t.group[i.settings.disabledField] && K(r, { "data-disabled": "" })), e === "option" || e === "item") {
1379
1381
  let n = k(t[i.settings.valueField]);
1380
- G(r, { "data-value": n }), e === "item" ? (H(r, i.settings.itemClass), G(r, { "data-ts-item": "" })) : (H(r, i.settings.optionClass), G(r, {
1382
+ K(r, { "data-value": n }), e === "item" ? (V(r, i.settings.itemClass), K(r, { "data-ts-item": "" })) : (V(r, i.settings.optionClass), K(r, {
1381
1383
  role: "option",
1382
1384
  id: t.$id
1383
1385
  }), t.$div = r, i.options[n] = t);
@@ -1408,28 +1410,28 @@ var J = 0, Y = class extends o(a) {
1408
1410
  return e === "after" && (t = i.apply(r, arguments)), a = n.apply(r, arguments), e === "instead" ? a : (e === "before" && (t = i.apply(r, arguments)), t);
1409
1411
  };
1410
1412
  }
1411
- }, Oe = (e, t, n, r) => {
1413
+ }, ke = (e, t, n, r) => {
1412
1414
  e.addEventListener(t, n, r);
1413
1415
  };
1414
- function ke() {
1415
- Oe(this.input, "change", () => {
1416
+ function Ae() {
1417
+ ke(this.input, "change", () => {
1416
1418
  this.sync();
1417
1419
  });
1418
1420
  }
1419
1421
  //#endregion
1420
1422
  //#region ../../node_modules/tom-select/dist/esm/plugins/checkbox_options/plugin.js
1421
- var Ae = (e) => e == null ? null : je(e), je = (e) => typeof e == "boolean" ? e ? "1" : "0" : e + "", Me = (e, t = !1) => {
1423
+ var je = (e) => e == null ? null : Me(e), Me = (e) => typeof e == "boolean" ? e ? "1" : "0" : e + "", Ne = (e, t = !1) => {
1422
1424
  e && (e.preventDefault(), t && e.stopPropagation());
1423
- }, Ne = (e) => {
1425
+ }, Pe = (e) => {
1424
1426
  if (e.jquery) return e[0];
1425
1427
  if (e instanceof HTMLElement) return e;
1426
- if (Pe(e)) {
1428
+ if (Fe(e)) {
1427
1429
  var t = document.createElement("template");
1428
1430
  return t.innerHTML = e.trim(), t.content.firstChild;
1429
1431
  }
1430
1432
  return document.querySelector(e);
1431
- }, Pe = (e) => typeof e == "string" && e.indexOf("<") > -1;
1432
- function Fe(e) {
1433
+ }, Fe = (e) => typeof e == "string" && e.indexOf("<") > -1;
1434
+ function Ie(e) {
1433
1435
  var t = this, n = t.onOptionSelect;
1434
1436
  t.settings.hideSelected = !1;
1435
1437
  let r = Object.assign({
@@ -1448,11 +1450,11 @@ function Fe(e) {
1448
1450
  t.hook("after", "setupTemplates", () => {
1449
1451
  var e = t.settings.render.option;
1450
1452
  t.settings.render.option = (n, a) => {
1451
- var o = Ne(e.call(t, n, a)), s = document.createElement("input");
1453
+ var o = Pe(e.call(t, n, a)), s = document.createElement("input");
1452
1454
  r.className && s.classList.add(r.className), s.addEventListener("click", function(e) {
1453
- Me(e);
1455
+ Ne(e);
1454
1456
  }), s.type = "checkbox";
1455
- let c = Ae(n[t.settings.valueField]);
1457
+ let c = je(n[t.settings.valueField]);
1456
1458
  return i(s, !!(c && t.items.indexOf(c) > -1)), o.prepend(s), o;
1457
1459
  };
1458
1460
  }), t.on("item_remove", (e) => {
@@ -1463,7 +1465,7 @@ function Fe(e) {
1463
1465
  n && a(n);
1464
1466
  }), t.hook("instead", "onOptionSelect", (e, r) => {
1465
1467
  if (r.classList.contains("selected")) {
1466
- r.classList.remove("selected"), t.removeItem(r.dataset.value), t.refreshOptions(), Me(e, !0);
1468
+ r.classList.remove("selected"), t.removeItem(r.dataset.value), t.refreshOptions(), Ne(e, !0);
1467
1469
  return;
1468
1470
  }
1469
1471
  n.call(t, e, r), a(r);
@@ -1471,16 +1473,16 @@ function Fe(e) {
1471
1473
  }
1472
1474
  //#endregion
1473
1475
  //#region ../../node_modules/tom-select/dist/esm/plugins/clear_button/plugin.js
1474
- var Ie = (e) => {
1476
+ var Le = (e) => {
1475
1477
  if (e.jquery) return e[0];
1476
1478
  if (e instanceof HTMLElement) return e;
1477
- if (Le(e)) {
1479
+ if (Re(e)) {
1478
1480
  var t = document.createElement("template");
1479
1481
  return t.innerHTML = e.trim(), t.content.firstChild;
1480
1482
  }
1481
1483
  return document.querySelector(e);
1482
- }, Le = (e) => typeof e == "string" && e.indexOf("<") > -1;
1483
- function Re(e) {
1484
+ }, Re = (e) => typeof e == "string" && e.indexOf("<") > -1;
1485
+ function ze(e) {
1484
1486
  let t = this, n = Object.assign({
1485
1487
  className: "clear-button",
1486
1488
  title: "Clear All",
@@ -1489,7 +1491,7 @@ function Re(e) {
1489
1491
  html: (e) => `<div class="${e.className}" title="${e.title}" role="${e.role}" tabindex="${e.tabindex}">&times;</div>`
1490
1492
  }, e);
1491
1493
  t.on("initialize", () => {
1492
- var e = Ie(n.html(n));
1494
+ var e = Le(n.html(n));
1493
1495
  e.addEventListener("click", (e) => {
1494
1496
  t.isLocked || (t.clear(), t.settings.mode === "single" && t.settings.allowEmptyOption && t.addItem(""), t.refreshOptions(!1), e.preventDefault(), e.stopPropagation());
1495
1497
  }), t.control.appendChild(e);
@@ -1497,38 +1499,38 @@ function Re(e) {
1497
1499
  }
1498
1500
  //#endregion
1499
1501
  //#region ../../node_modules/tom-select/dist/esm/plugins/drag_drop/plugin.js
1500
- var ze = (e, t = !1) => {
1502
+ var Be = (e, t = !1) => {
1501
1503
  e && (e.preventDefault(), t && e.stopPropagation());
1502
1504
  }, X = (e, t, n, r) => {
1503
1505
  e.addEventListener(t, n, r);
1504
- }, Be = (e, t) => {
1506
+ }, Ve = (e, t) => {
1505
1507
  if (Array.isArray(e)) e.forEach(t);
1506
1508
  else for (var n in e) e.hasOwnProperty(n) && t(e[n], n);
1507
- }, Ve = (e) => {
1509
+ }, He = (e) => {
1508
1510
  if (e.jquery) return e[0];
1509
1511
  if (e instanceof HTMLElement) return e;
1510
- if (He(e)) {
1512
+ if (Ue(e)) {
1511
1513
  var t = document.createElement("template");
1512
1514
  return t.innerHTML = e.trim(), t.content.firstChild;
1513
1515
  }
1514
1516
  return document.querySelector(e);
1515
- }, He = (e) => typeof e == "string" && e.indexOf("<") > -1, Ue = (e, t) => {
1516
- Be(t, (t, n) => {
1517
+ }, Ue = (e) => typeof e == "string" && e.indexOf("<") > -1, We = (e, t) => {
1518
+ Ve(t, (t, n) => {
1517
1519
  t == null ? e.removeAttribute(n) : e.setAttribute(n, "" + t);
1518
1520
  });
1519
- }, We = (e, t) => {
1521
+ }, Ge = (e, t) => {
1520
1522
  var n;
1521
1523
  (n = e.parentNode) == null || n.insertBefore(t, e.nextSibling);
1522
- }, Ge = (e, t) => {
1524
+ }, Ke = (e, t) => {
1523
1525
  var n;
1524
1526
  (n = e.parentNode) == null || n.insertBefore(t, e);
1525
- }, Ke = (e, t) => {
1527
+ }, qe = (e, t) => {
1526
1528
  do
1527
1529
  if (t = t?.previousElementSibling, e == t) return !0;
1528
1530
  while (t && t.previousElementSibling);
1529
1531
  return !1;
1530
1532
  };
1531
- function qe() {
1533
+ function Je() {
1532
1534
  var e = this;
1533
1535
  if (e.settings.mode !== "multi") return;
1534
1536
  var t = e.lock, n = e.unlock;
@@ -1536,10 +1538,10 @@ function qe() {
1536
1538
  e.hook("after", "setupTemplates", () => {
1537
1539
  var t = e.settings.render.item;
1538
1540
  e.settings.render.item = (n, a) => {
1539
- let o = Ve(t.call(e, n, a));
1540
- Ue(o, { draggable: "true" });
1541
+ let o = He(t.call(e, n, a));
1542
+ We(o, { draggable: "true" });
1541
1543
  let s = (e) => {
1542
- r || ze(e), e.stopPropagation();
1544
+ r || Be(e), e.stopPropagation();
1543
1545
  }, c = (e) => {
1544
1546
  i = o, setTimeout(() => {
1545
1547
  o.classList.add("ts-dragging");
@@ -1549,7 +1551,7 @@ function qe() {
1549
1551
  }, u = () => {
1550
1552
  o.classList.remove("ts-drag-over");
1551
1553
  }, d = (e, t) => {
1552
- t !== void 0 && (Ke(t, o) ? We(e, t) : Ge(e, t));
1554
+ t !== void 0 && (qe(t, o) ? Ge(e, t) : Ke(e, t));
1553
1555
  };
1554
1556
  return X(o, "mousedown", s), X(o, "dragstart", c), X(o, "dragenter", l), X(o, "dragover", l), X(o, "dragleave", u), X(o, "dragend", () => {
1555
1557
  var t;
@@ -1567,18 +1569,18 @@ function qe() {
1567
1569
  }
1568
1570
  //#endregion
1569
1571
  //#region ../../node_modules/tom-select/dist/esm/plugins/dropdown_header/plugin.js
1570
- var Je = (e, t = !1) => {
1572
+ var Ye = (e, t = !1) => {
1571
1573
  e && (e.preventDefault(), t && e.stopPropagation());
1572
- }, Ye = (e) => {
1574
+ }, Xe = (e) => {
1573
1575
  if (e.jquery) return e[0];
1574
1576
  if (e instanceof HTMLElement) return e;
1575
- if (Xe(e)) {
1577
+ if (Ze(e)) {
1576
1578
  var t = document.createElement("template");
1577
1579
  return t.innerHTML = e.trim(), t.content.firstChild;
1578
1580
  }
1579
1581
  return document.querySelector(e);
1580
- }, Xe = (e) => typeof e == "string" && e.indexOf("<") > -1;
1581
- function Ze(e) {
1582
+ }, Ze = (e) => typeof e == "string" && e.indexOf("<") > -1;
1583
+ function Qe(e) {
1582
1584
  let t = this, n = Object.assign({
1583
1585
  title: "Untitled",
1584
1586
  headerClass: "dropdown-header",
@@ -1588,36 +1590,36 @@ function Ze(e) {
1588
1590
  html: (e) => "<div class=\"" + e.headerClass + "\"><div class=\"" + e.titleRowClass + "\"><span class=\"" + e.labelClass + "\">" + e.title + "</span><a class=\"" + e.closeClass + "\">&times;</a></div></div>"
1589
1591
  }, e);
1590
1592
  t.on("initialize", () => {
1591
- var e = Ye(n.html(n)), r = e.querySelector("." + n.closeClass);
1593
+ var e = Xe(n.html(n)), r = e.querySelector("." + n.closeClass);
1592
1594
  r && r.addEventListener("click", (e) => {
1593
- Je(e, !0), t.close();
1595
+ Ye(e, !0), t.close();
1594
1596
  }), t.dropdown.insertBefore(e, t.dropdown.firstChild);
1595
1597
  });
1596
1598
  }
1597
1599
  //#endregion
1598
1600
  //#region ../../node_modules/tom-select/dist/esm/plugins/caret_position/plugin.js
1599
- var Qe = (e, t) => {
1601
+ var $e = (e, t) => {
1600
1602
  if (Array.isArray(e)) e.forEach(t);
1601
1603
  else for (var n in e) e.hasOwnProperty(n) && t(e[n], n);
1602
- }, $e = (e, ...t) => {
1603
- var n = et(t);
1604
- e = tt(e), e.map((e) => {
1604
+ }, et = (e, ...t) => {
1605
+ var n = tt(t);
1606
+ e = nt(e), e.map((e) => {
1605
1607
  n.map((t) => {
1606
1608
  e.classList.remove(t);
1607
1609
  });
1608
1610
  });
1609
- }, et = (e) => {
1611
+ }, tt = (e) => {
1610
1612
  var t = [];
1611
- return Qe(e, (e) => {
1613
+ return $e(e, (e) => {
1612
1614
  typeof e == "string" && (e = e.trim().split(/[\t\n\f\r\s]/)), Array.isArray(e) && (t = t.concat(e));
1613
1615
  }), t.filter(Boolean);
1614
- }, tt = (e) => (Array.isArray(e) || (e = [e]), e), nt = (e, t) => {
1616
+ }, nt = (e) => (Array.isArray(e) || (e = [e]), e), rt = (e, t) => {
1615
1617
  if (!e) return -1;
1616
1618
  t ||= e.nodeName;
1617
1619
  for (var n = 0; e = e.previousElementSibling;) e.matches(t) && n++;
1618
1620
  return n;
1619
1621
  };
1620
- function rt() {
1622
+ function it() {
1621
1623
  var e = this;
1622
1624
  e.hook("instead", "setCaret", (t) => {
1623
1625
  e.settings.mode === "single" || !e.control.contains(e.control_input) ? t = e.items.length : (t = Math.max(0, Math.min(e.items.length, t)), t != e.caretPos && !e.isPending && e.controlChildren().forEach((n, r) => {
@@ -1627,60 +1629,58 @@ function rt() {
1627
1629
  if (!e.isFocused) return;
1628
1630
  let n = e.getLastActive(t);
1629
1631
  if (n) {
1630
- let r = nt(n);
1631
- e.setCaret(t > 0 ? r + 1 : r), e.setActiveItem(), $e(n, "last-active");
1632
+ let r = rt(n);
1633
+ e.setCaret(t > 0 ? r + 1 : r), e.setActiveItem(), et(n, "last-active");
1632
1634
  } else e.setCaret(e.caretPos + t);
1633
1635
  });
1634
1636
  }
1635
1637
  //#endregion
1636
1638
  //#region ../../node_modules/tom-select/dist/esm/plugins/dropdown_input/plugin.js
1637
- var it = 27, at = 9, ot = (e, t = !1) => {
1639
+ var at = 27, ot = 9, st = (e, t = !1) => {
1638
1640
  e && (e.preventDefault(), t && e.stopPropagation());
1639
- }, st = (e, t, n, r) => {
1641
+ }, ct = (e, t, n, r) => {
1640
1642
  e.addEventListener(t, n, r);
1641
- }, ct = (e, t) => {
1643
+ }, lt = (e, t) => {
1642
1644
  if (Array.isArray(e)) e.forEach(t);
1643
1645
  else for (var n in e) e.hasOwnProperty(n) && t(e[n], n);
1644
- }, lt = (e) => {
1646
+ }, ut = (e) => {
1645
1647
  if (e.jquery) return e[0];
1646
1648
  if (e instanceof HTMLElement) return e;
1647
- if (ut(e)) {
1649
+ if (dt(e)) {
1648
1650
  var t = document.createElement("template");
1649
1651
  return t.innerHTML = e.trim(), t.content.firstChild;
1650
1652
  }
1651
1653
  return document.querySelector(e);
1652
- }, ut = (e) => typeof e == "string" && e.indexOf("<") > -1, dt = (e, ...t) => {
1653
- var n = ft(t);
1654
- e = pt(e), e.map((e) => {
1654
+ }, dt = (e) => typeof e == "string" && e.indexOf("<") > -1, ft = (e, ...t) => {
1655
+ var n = pt(t);
1656
+ e = mt(e), e.map((e) => {
1655
1657
  n.map((t) => {
1656
1658
  e.classList.add(t);
1657
1659
  });
1658
1660
  });
1659
- }, ft = (e) => {
1661
+ }, pt = (e) => {
1660
1662
  var t = [];
1661
- return ct(e, (e) => {
1663
+ return lt(e, (e) => {
1662
1664
  typeof e == "string" && (e = e.trim().split(/[\t\n\f\r\s]/)), Array.isArray(e) && (t = t.concat(e));
1663
1665
  }), t.filter(Boolean);
1664
- }, pt = (e) => (Array.isArray(e) || (e = [e]), e);
1665
- function mt() {
1666
+ }, mt = (e) => (Array.isArray(e) || (e = [e]), e);
1667
+ function ht() {
1666
1668
  let e = this;
1667
1669
  e.settings.shouldOpen = !0, e.hook("before", "setup", () => {
1668
- e.focus_node = e.control, dt(e.control_input, "dropdown-input");
1669
- let t = lt("<div class=\"dropdown-input-wrap\">");
1670
+ e.focus_node = e.control, ft(e.control_input, "dropdown-input");
1671
+ let t = ut("<div class=\"dropdown-input-wrap\">");
1670
1672
  t.append(e.control_input), e.dropdown.insertBefore(t, e.dropdown.firstChild);
1671
- let n = lt("<input class=\"items-placeholder\" tabindex=\"-1\" />");
1673
+ let n = ut("<input class=\"items-placeholder\" tabindex=\"-1\" />");
1672
1674
  n.placeholder = e.settings.placeholder || "", e.control.append(n);
1673
1675
  let r = e.input?.getAttribute("aria-label");
1674
1676
  r && n.setAttribute("aria-label", r);
1675
1677
  }), e.on("initialize", () => {
1676
1678
  e.control_input.addEventListener("keydown", (t) => {
1677
1679
  switch (t.keyCode) {
1678
- case it:
1679
- e.isOpen && (ot(t, !0), e.close()), e.clearActiveItems();
1680
- return;
1681
1680
  case at:
1682
- e.focus_node.tabIndex = -1;
1683
- break;
1681
+ e.isOpen && (st(t, !0), e.close()), e.clearActiveItems();
1682
+ return;
1683
+ case ot: e.focus_node.tabIndex = -1;
1684
1684
  }
1685
1685
  return e.onKeyDown.call(e, t);
1686
1686
  }), e.on("blur", () => {
@@ -1691,7 +1691,7 @@ function mt() {
1691
1691
  let t = e.onBlur;
1692
1692
  e.hook("instead", "onBlur", (n) => {
1693
1693
  if (!(n && n.relatedTarget == e.control_input)) return t.call(e);
1694
- }), st(e.control_input, "blur", () => e.onBlur()), e.hook("before", "close", () => {
1694
+ }), ct(e.control_input, "blur", () => e.onBlur()), e.hook("before", "close", () => {
1695
1695
  e.isOpen && e.focus_node.focus({ preventScroll: !0 });
1696
1696
  });
1697
1697
  });
@@ -1701,7 +1701,7 @@ function mt() {
1701
1701
  var Z = (e, t, n, r) => {
1702
1702
  e.addEventListener(t, n, r);
1703
1703
  };
1704
- function ht() {
1704
+ function gt() {
1705
1705
  var e = this;
1706
1706
  e.on("initialize", () => {
1707
1707
  var t = document.createElement("span"), n = e.control_input;
@@ -1721,39 +1721,39 @@ function ht() {
1721
1721
  }
1722
1722
  //#endregion
1723
1723
  //#region ../../node_modules/tom-select/dist/esm/plugins/no_backspace_delete/plugin.js
1724
- function gt() {
1724
+ function _t() {
1725
1725
  var e = this, t = e.deleteSelection;
1726
1726
  this.hook("instead", "deleteSelection", (n) => e.activeItems.length ? t.call(e, n) : !1);
1727
1727
  }
1728
1728
  //#endregion
1729
1729
  //#region ../../node_modules/tom-select/dist/esm/plugins/no_active_items/plugin.js
1730
- function _t() {
1730
+ function vt() {
1731
1731
  this.hook("instead", "setActiveItem", () => {}), this.hook("instead", "selectAll", () => {});
1732
1732
  }
1733
1733
  //#endregion
1734
1734
  //#region ../../node_modules/tom-select/dist/esm/plugins/optgroup_columns/plugin.js
1735
- var vt = 37, yt = 39, bt = (e, t, n) => {
1735
+ var yt = 37, bt = 39, xt = (e, t, n) => {
1736
1736
  for (; e && e.matches;) {
1737
1737
  if (e.matches(t)) return e;
1738
1738
  e = e.parentNode;
1739
1739
  }
1740
- }, xt = (e, t) => {
1740
+ }, St = (e, t) => {
1741
1741
  if (!e) return -1;
1742
1742
  t ||= e.nodeName;
1743
1743
  for (var n = 0; e = e.previousElementSibling;) e.matches(t) && n++;
1744
1744
  return n;
1745
1745
  };
1746
- function St() {
1746
+ function Ct() {
1747
1747
  var e = this, t = e.onKeyDown;
1748
1748
  e.hook("instead", "onKeyDown", (n) => {
1749
1749
  var r, i, a, o;
1750
- if (!e.isOpen || !(n.keyCode === vt || n.keyCode === yt)) return t.call(e, n);
1751
- e.ignoreHover = !0, o = bt(e.activeOption, "[data-group]"), r = xt(e.activeOption, "[data-selectable]"), o && (o = n.keyCode === vt ? o.previousSibling : o.nextSibling, o && (a = o.querySelectorAll("[data-selectable]"), i = a[Math.min(a.length - 1, r)], i && e.setActiveOption(i)));
1750
+ if (!e.isOpen || n.keyCode !== yt && n.keyCode !== bt) return t.call(e, n);
1751
+ e.ignoreHover = !0, o = xt(e.activeOption, "[data-group]"), r = St(e.activeOption, "[data-selectable]"), o && (o = n.keyCode === yt ? o.previousSibling : o.nextSibling, o && (a = o.querySelectorAll("[data-selectable]"), i = a[Math.min(a.length - 1, r)], i && e.setActiveOption(i)));
1752
1752
  });
1753
1753
  }
1754
1754
  //#endregion
1755
1755
  //#region ../../node_modules/tom-select/dist/esm/plugins/remove_button/plugin.js
1756
- var Ct = (e) => (e + "").replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;"), wt = (e, t = !1) => {
1756
+ var wt = (e, t = !1) => {
1757
1757
  e && (e.preventDefault(), t && e.stopPropagation());
1758
1758
  }, Tt = (e, t, n, r) => {
1759
1759
  e.addEventListener(t, n, r);
@@ -1767,27 +1767,28 @@ var Ct = (e) => (e + "").replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>
1767
1767
  return document.querySelector(e);
1768
1768
  }, Dt = (e) => typeof e == "string" && e.indexOf("<") > -1;
1769
1769
  function Ot(e) {
1770
- let t = Object.assign({
1771
- label: "&times;",
1770
+ let t = this, n = Object.assign({
1771
+ label: "×",
1772
1772
  title: "Remove",
1773
1773
  className: "remove",
1774
- append: !0
1774
+ tabindex: -1,
1775
+ role: "button",
1776
+ html: (e) => {
1777
+ let t = document.createElement("div");
1778
+ return t.className = e.className || "", t.title = e.title || "", t.setAttribute("role", e.role || "button"), t.tabIndex = e.tabindex ?? -1, t.textContent = e.label || "", t;
1779
+ }
1775
1780
  }, e);
1776
- var n = this;
1777
- if (t.append) {
1778
- var r = "<a href=\"javascript:void(0)\" class=\"" + t.className + "\" tabindex=\"-1\" title=\"" + Ct(t.title) + "\">" + t.label + "</a>";
1779
- n.hook("after", "setupTemplates", () => {
1780
- var e = n.settings.render.item;
1781
- n.settings.render.item = (t, i) => {
1782
- var a = Et(e.call(n, t, i)), o = Et(r);
1783
- return a.appendChild(o), Tt(o, "mousedown", (e) => {
1784
- wt(e, !0);
1785
- }), Tt(o, "click", (e) => {
1786
- n.isLocked || (wt(e, !0), !n.isLocked && n.shouldDelete([a], e) && (n.removeItem(a), n.refreshOptions(!1), n.inputState()));
1787
- }), a;
1788
- };
1789
- });
1790
- }
1781
+ t.hook("after", "setupTemplates", () => {
1782
+ var e = t.settings.render.item;
1783
+ t.settings.render.item = (r, i) => {
1784
+ var a = Et(e.call(t, r, i)), o = Et(n.html(n));
1785
+ return a.appendChild(o), Tt(o, "mousedown", (e) => {
1786
+ wt(e, !0);
1787
+ }), Tt(o, "click", (e) => {
1788
+ t.isLocked || (wt(e, !0), !t.isLocked && t.shouldDelete([a], e) && (t.removeItem(a), t.refreshOptions(!1), t.inputState()));
1789
+ }), a;
1790
+ };
1791
+ });
1791
1792
  }
1792
1793
  //#endregion
1793
1794
  //#region ../../node_modules/tom-select/dist/esm/plugins/restore_on_backspace/plugin.js
@@ -1820,7 +1821,7 @@ var At = (e, t) => {
1820
1821
  }, Nt = (e) => (Array.isArray(e) || (e = [e]), e);
1821
1822
  function Pt() {
1822
1823
  let e = this, t = e.canLoad, n = e.clearActiveOption, r = e.loadCallback;
1823
- var i = {}, a, o = !1, s, c = [], l = !1, u;
1824
+ var i = {}, a, o = !1, s, c = [], l = !1, u, d = [], f = [];
1824
1825
  if (e.settings.shouldLoadMore || (e.settings.shouldLoadMore = () => {
1825
1826
  if (a.clientHeight / (a.scrollHeight - a.scrollTop) > .9) return !0;
1826
1827
  if (e.activeOption) {
@@ -1830,7 +1831,7 @@ function Pt() {
1830
1831
  return !1;
1831
1832
  }), !e.settings.firstUrl) throw "virtual_scroll plugin requires a firstUrl() method";
1832
1833
  e.settings.sortField = [{ field: "$order" }, { field: "$score" }];
1833
- let d = (t) => typeof e.settings.maxOptions == "number" && a.children.length >= e.settings.maxOptions ? !1 : !!(t in i && i[t]), f = (t, n) => e.items.indexOf(n) >= 0 || c.indexOf(n) >= 0;
1834
+ let p = (t) => e.settings.maxOptions !== null && typeof e.settings.maxOptions == "number" && a.children.length >= e.settings.maxOptions ? !1 : !!(t in i && i[t]), m = (t, n) => e.items.indexOf(n) >= 0 || c.indexOf(n) >= 0;
1834
1835
  e.setNextUrl = (e, t) => {
1835
1836
  i[e] = t;
1836
1837
  }, e.getUrl = (t) => {
@@ -1843,55 +1844,53 @@ function Pt() {
1843
1844
  i = {};
1844
1845
  }, e.hook("instead", "clearActiveOption", () => {
1845
1846
  if (!o) return n.call(e);
1846
- }), e.hook("instead", "canLoad", (n) => n in i ? d(n) : t.call(e, n)), e.hook("instead", "loadCallback", (t, n) => {
1847
- if (!o) e.clearOptions(f);
1848
- else if (s) {
1847
+ }), e.hook("instead", "canLoad", (n) => n in i ? p(n) : t.call(e, n)), e.hook("instead", "loadCallback", (t, n) => {
1848
+ if (!o) {
1849
+ let t = e.lastValue === "" ? m : (t, n) => e.items.indexOf(n) >= 0 || f.indexOf(n) >= 0;
1850
+ e.clearOptions(t);
1851
+ } else if (s) {
1849
1852
  let n = t[0];
1850
1853
  n !== void 0 && (s.dataset.value = n[e.settings.valueField]);
1851
1854
  }
1852
- r.call(e, t, n), !o && !l && (l = !0, e.lastValue === "" && (c = Object.keys(e.options), u = i[""])), o = !1;
1855
+ r.call(e, t, n), !o && !l && (l = !0, e.lastValue === "" && (c = Object.keys(e.options), u = i[""], d = Object.values(e.options))), o = !1;
1853
1856
  }), e.hook("before", "refreshOptions", () => {
1854
1857
  e.activeOption && e.activeOption.getAttribute("role") !== "option" && e.setActiveOption(e.activeOption.previousElementSibling);
1855
1858
  }), e.hook("after", "refreshOptions", () => {
1856
1859
  let t = e.lastValue;
1857
1860
  var n;
1858
- d(t) ? (n = e.render("loading_more", { query: t }), n && (n.setAttribute("data-selectable", ""), s = n)) : t in i && !a.querySelector(".no-results") && (n = e.render("no_more_results", { query: t })), n && (jt(n, e.settings.optionClass), a.append(n));
1861
+ p(t) ? (n = e.render("loading_more", { query: t }), n && (n.setAttribute("data-selectable", ""), s = n)) : t in i && !a.querySelector(".no-results") && (n = e.render("no_more_results", { query: t })), n && (jt(n, e.settings.optionClass), a.append(n));
1859
1862
  });
1860
- let p = () => {
1861
- l && (e.clearOptions(f), u && (i[""] = u));
1863
+ let h = () => {
1864
+ l && (e.addOptions(d), e.clearOptions(m), u && (i[""] = u));
1862
1865
  };
1863
1866
  e.on("type", (t) => {
1864
- t === "" && (p(), e.refreshOptions(!1));
1865
- }), e.on("dropdown_close", p), e.on("initialize", () => {
1866
- c = Object.keys(e.options), a = e.dropdown_content, e.settings.render = Object.assign({}, {
1867
+ t === "" && (h(), e.refreshOptions(!1));
1868
+ }), e.on("dropdown_close", h), e.on("initialize", () => {
1869
+ f = Object.keys(e.options), c = Object.keys(e.options), a = e.dropdown_content, e.settings.render = Object.assign({}, {
1867
1870
  loading_more: () => "<div class=\"loading-more-results\">Loading more results ... </div>",
1868
1871
  no_more_results: () => "<div class=\"no-more-results\">No more results</div>"
1869
1872
  }, e.settings.render), a.addEventListener("scroll", () => {
1870
- e.settings.shouldLoadMore.call(e) && d(e.lastValue) && (o || (o = !0, e.load.call(e, e.lastValue)));
1873
+ e.settings.shouldLoadMore.call(e) && p(e.lastValue) && (o || (o = !0, e.load.call(e, e.lastValue)));
1871
1874
  });
1872
1875
  });
1873
1876
  }
1874
- Y.define("change_listener", ke), Y.define("checkbox_options", Fe), Y.define("clear_button", Re), Y.define("drag_drop", qe), Y.define("dropdown_header", Ze), Y.define("caret_position", rt), Y.define("dropdown_input", mt), Y.define("input_autogrow", ht), Y.define("no_backspace_delete", gt), Y.define("no_active_items", _t), Y.define("optgroup_columns", St), Y.define("remove_button", Ot), Y.define("restore_on_backspace", kt), Y.define("virtual_scroll", Pt);
1877
+ Y.define("change_listener", Ae), Y.define("checkbox_options", Ie), Y.define("clear_button", ze), Y.define("drag_drop", Je), Y.define("dropdown_header", Qe), Y.define("caret_position", it), Y.define("dropdown_input", ht), Y.define("input_autogrow", gt), Y.define("no_backspace_delete", _t), Y.define("no_active_items", vt), Y.define("optgroup_columns", Ct), Y.define("remove_button", Ot), Y.define("restore_on_backspace", kt), Y.define("virtual_scroll", Pt);
1875
1878
  var Ft = Y, It = ".formie-field .ts-wrapper.formie-combobox{width:100%;min-height:0;box-shadow:none;background:0 0;border:0;padding:0;display:block;position:relative}.formie-field select[data-formie-combobox-input].tomselected,.formie-field select[data-formie-combobox-input].ts-hidden-accessible{display:none!important}.formie-field .ts-wrapper.formie-combobox .ts-control{box-sizing:border-box;z-index:1;border:var(--formie-border-width) solid var(--formie-color-border-control);border-radius:var(--formie-radius-sm);background-color:var(--formie-color-surface);width:100%;min-height:var(--formie-control-height);padding:calc(var(--formie-control-padding-y) - 1px) var(--formie-control-padding-x);box-shadow:none;font-size:var(--formie-control-font-size);line-height:var(--formie-line-height-tight);color:var(--formie-color-text);align-items:center;gap:var(--formie-space-1);background-image:none;flex-wrap:wrap;transition:border-color .15s,box-shadow .15s,background-color .15s;display:flex;position:relative;overflow:hidden}.formie-field .ts-wrapper.formie-combobox.single .ts-control{--ts-pr-min:var(--formie-control-padding-x);--ts-pr-caret:calc(var(--formie-select-indicator-size) + var(--formie-space-1));background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M7 7l3-3 3 3m0 6l-3 3-3-3' stroke='%239CA3AF' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E\");background-position:right var(--formie-space-2) center;background-repeat:no-repeat;background-size:var(--formie-select-indicator-size) var(--formie-select-indicator-size);padding-right:calc(var(--formie-control-padding-x) + var(--formie-select-indicator-size) + var(--formie-space-2))!important}.formie-field .ts-wrapper.formie-combobox.single .ts-control:after{display:none}.formie-field .ts-wrapper.formie-combobox.multi .ts-control{padding:calc(var(--formie-control-padding-y) - 2px) var(--formie-control-padding-x) calc(var(--formie-control-padding-y) - 4px);--ts-pr-min:var(--formie-control-padding-x)}.formie-field .ts-wrapper.formie-combobox.multi.has-items .ts-control{padding-left:var(--formie-control-padding-x)}.formie-field .ts-wrapper.formie-combobox .ts-control>input{min-width:7rem;max-width:100%;color:var(--formie-color-text);font:inherit;font-size:var(--formie-control-font-size);line-height:inherit;flex:auto;min-height:0!important;max-height:none!important;box-shadow:none!important;background:0 0!important;border:0!important;margin:0!important;padding:0!important}.formie-field .ts-wrapper.formie-combobox .ts-control>input:focus{outline:none!important}.formie-field .ts-wrapper.formie-combobox.has-items .ts-control>input{margin:0 var(--formie-space-1)!important}.formie-field .ts-wrapper.formie-combobox.input-hidden .ts-control>input{opacity:0;position:absolute;left:-10000px}.formie-field .ts-wrapper.formie-combobox.single .ts-control,.formie-field .ts-wrapper.formie-combobox.single .ts-control>input{cursor:pointer}.formie-field .ts-wrapper.formie-combobox.single.input-active .ts-control,.formie-field .ts-wrapper.formie-combobox.single.input-active .ts-control>input{cursor:text}.formie-field .ts-wrapper.formie-combobox .ts-control .items-placeholder{color:var(--formie-color-text-muted);font:inherit;font-size:var(--formie-control-font-size)}.formie-field .ts-wrapper.formie-combobox .ts-control>input::placeholder{color:var(--formie-color-text-muted)}.formie-field .ts-wrapper.formie-combobox.focus .ts-control,.formie-field .ts-wrapper.formie-combobox .ts-control:focus-within,.formie-field .ts-wrapper.formie-combobox.dropdown-active .ts-control{border-color:var(--formie-color-focus-ring);box-shadow:var(--formie-shadow-focus);border-radius:var(--formie-radius-sm);outline:0}.formie-field-has-error .ts-wrapper.formie-combobox .ts-control{border-color:var(--formie-color-danger)}.formie-field-has-error .ts-wrapper.formie-combobox.focus .ts-control,.formie-field-has-error .ts-wrapper.formie-combobox .ts-control:focus-within,.formie-field-has-error .ts-wrapper.formie-combobox.dropdown-active .ts-control{border-color:var(--formie-color-danger);box-shadow:var(--formie-shadow-danger-focus)}.formie-field .ts-wrapper.formie-combobox.multi .ts-control>.item,.formie-field .ts-wrapper.formie-combobox.multi .ts-control [data-value]{align-items:center;gap:var(--formie-space-1);margin:0 var(--formie-space-1) var(--formie-space-1) 0;padding:0 var(--formie-space-2);background:var(--formie-color-surface-muted,#0f172a0f);border:var(--formie-border-width) solid var(--formie-color-border);border-radius:var(--formie-radius-sm);box-shadow:none;color:var(--formie-color-text);text-shadow:none;line-height:calc(var(--formie-control-height) - var(--formie-space-3));background-image:none;display:inline-flex}.formie-field .ts-wrapper.formie-combobox.multi .ts-control>.item.active,.formie-field .ts-wrapper.formie-combobox.multi .ts-control [data-value].active{background:var(--formie-color-surface-muted,#0f172a0f);color:var(--formie-color-text)}.formie-field .ts-wrapper.formie-combobox.plugin-remove_button .item{align-items:center;gap:var(--formie-space-1);display:inline-flex}.formie-field .ts-wrapper.formie-combobox.plugin-remove_button:not(.rtl) .item{padding-right:var(--formie-space-2)!important}.formie-field .ts-wrapper.formie-combobox.plugin-remove_button .item .remove{box-shadow:none;color:var(--formie-color-text-muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;margin:0;padding:0;font-size:1.125em;line-height:1;text-decoration:none;display:inline-flex}.formie-field .ts-wrapper.formie-combobox.plugin-remove_button .item .remove:hover,.formie-field .ts-wrapper.formie-combobox.plugin-remove_button .item .remove:focus{color:var(--formie-color-text);background:0 0;text-decoration:none}.formie-field .ts-wrapper.formie-combobox .ts-dropdown{width:100%;z-index:var(--formie-z-popover,30);border:var(--formie-border-width) solid var(--formie-color-border);border-radius:var(--formie-radius-sm);background:var(--formie-color-surface);box-shadow:var(--formie-shadow-popover,0 8px 24px #0f172a1f);margin-top:var(--formie-space-1);box-sizing:border-box;position:absolute;top:100%;left:0}.formie-field .ts-wrapper.formie-combobox .ts-dropdown-content{scroll-behavior:smooth;max-height:200px;overflow:hidden auto}.formie-field .ts-wrapper.formie-combobox .ts-dropdown .option,.formie-field .ts-wrapper.formie-combobox .ts-dropdown .optgroup-header,.formie-field .ts-wrapper.formie-combobox .ts-dropdown .no-results{color:var(--formie-color-text);padding:var(--formie-space-2) var(--formie-control-padding-x)}.formie-field .ts-wrapper.formie-combobox .ts-dropdown [data-selectable]{cursor:pointer}.formie-field .ts-wrapper.formie-combobox .ts-dropdown .option.active,.formie-field .ts-wrapper.formie-combobox .ts-dropdown .option:hover,.formie-field .ts-wrapper.formie-combobox .ts-dropdown .active{background:var(--formie-color-surface-muted,#0f172a0d);color:var(--formie-color-text)}.formie-field .ts-wrapper.formie-combobox .ts-dropdown .highlight{background:#3b82f62e;border-radius:2px}.formie-field .ts-wrapper.formie-combobox.disabled .ts-control{opacity:.6;background-color:var(--formie-color-surface-muted,#0f172a0a);cursor:not-allowed}", Lt = "select[data-formie-combobox-input]", Q = "combobox", $ = e("fields", "combobox");
1876
- t(Q, [It]);
1877
- var Rt = [
1878
- "formie-select",
1879
- "formie-dropdown-input",
1880
- "formie-input-error"
1881
- ];
1879
+ n(Q, [It]);
1880
+ var Rt = ["formie-select", "formie-dropdown-input"];
1882
1881
  function zt(e) {
1883
- let t = [];
1884
- return Rt.forEach((n) => {
1885
- e.classList.contains(n) && (e.classList.remove(n), t.push(n));
1886
- }), t;
1882
+ let n = [];
1883
+ return [...Rt, ...t(e, "fieldControlError")].forEach((t) => {
1884
+ e.classList.contains(t) && (e.classList.remove(t), n.push(t));
1885
+ }), n;
1887
1886
  }
1888
1887
  function Bt(e, t) {
1889
1888
  t.forEach((t) => {
1890
1889
  e.classList.add(t);
1891
1890
  });
1892
1891
  }
1893
- function Vt(e) {
1894
- Rt.forEach((t) => {
1892
+ function Vt(e, n) {
1893
+ [...Rt, ...t(n, "fieldControlError")].forEach((t) => {
1895
1894
  e.classList.remove(t);
1896
1895
  });
1897
1896
  }
@@ -1903,14 +1902,14 @@ function Ut(e) {
1903
1902
  }
1904
1903
  function Wt(e, t = {}) {
1905
1904
  e._formieTomSelect?.destroy();
1906
- let n = t.multiple === !0, i = zt(e), a = Ht(e, t.placeholder), o = {
1905
+ let n = Array.from(e.selectedOptions, (e) => e.value).filter(Boolean), r = e.form, a = t.multiple === !0, o = zt(e), s = Ht(e, t.placeholder), c = {
1907
1906
  create: !1,
1908
- maxItems: n ? null : 1,
1909
- plugins: n ? ["remove_button"] : [],
1910
- hideSelected: n ? !0 : null,
1911
- clearAfterSelect: n,
1912
- closeAfterSelect: !n,
1913
- allowEmptyOption: !n,
1907
+ maxItems: a ? null : 1,
1908
+ plugins: a ? ["remove_button"] : [],
1909
+ hideSelected: a ? !0 : null,
1910
+ clearAfterSelect: a,
1911
+ closeAfterSelect: !a,
1912
+ allowEmptyOption: !a,
1914
1913
  openOnFocus: !0,
1915
1914
  diacritics: !0,
1916
1915
  copyClassesToDropdown: !1,
@@ -1919,34 +1918,46 @@ function Wt(e, t = {}) {
1919
1918
  e.dispatchEvent(new Event("input", { bubbles: !0 })), e.dispatchEvent(new Event("change", { bubbles: !0 }));
1920
1919
  }
1921
1920
  };
1922
- a && (o.placeholder = a), r(e, Q, "before-init", {
1921
+ s && (c.placeholder = s), i(e, Q, "before-init", {
1923
1922
  select: e,
1924
- options: o
1923
+ options: c
1925
1924
  });
1926
- let s = new Ft(e, o);
1927
- return Ut(s), Vt(s.wrapper), s.dropdown && Vt(s.dropdown), e.style.display = "none", e._formieTomSelect = s, $.log("Initialized.", {
1925
+ let l = new Ft(e, c);
1926
+ Ut(l), Vt(l.wrapper, e), l.dropdown && Vt(l.dropdown, e), e.style.display = "none", e._formieTomSelect = l;
1927
+ let u = (e) => {
1928
+ queueMicrotask(() => {
1929
+ e.defaultPrevented || l.setValue(n);
1930
+ });
1931
+ };
1932
+ return r?.addEventListener("reset", u), $.log("Initialized.", {
1928
1933
  inputName: e.name,
1929
- multiple: n
1930
- }), r(e, Q, "after-init", {
1931
- combobox: s,
1932
- options: o
1934
+ multiple: a
1935
+ }), i(e, Q, "after-init", {
1936
+ combobox: l,
1937
+ options: c
1933
1938
  }), () => {
1934
- s.destroy(), e.style.removeProperty("display"), Bt(e, i), delete e._formieTomSelect, $.log("Destroyed.", { inputName: e.name });
1939
+ r?.removeEventListener("reset", u), l.destroy(), e.style.removeProperty("display"), Bt(e, o), delete e._formieTomSelect, $.log("Destroyed.", { inputName: e.name });
1935
1940
  };
1936
1941
  }
1937
1942
  var Gt = {
1938
- id: Q,
1943
+ moduleId: `formie:${Q}`,
1944
+ version: 2,
1945
+ surfaces: [
1946
+ "server-rendered",
1947
+ "client-rendered",
1948
+ "cp-edit"
1949
+ ],
1939
1950
  kind: "field",
1940
1951
  match: (e) => !!e.target.querySelector(Lt),
1941
1952
  setup: async (e) => {
1942
- let t = e.options || {}, r = n(e), i = r.map((e) => {
1953
+ let t = e.options || {}, n = r(e), i = n.map((e) => {
1943
1954
  let n = e.querySelector(Lt);
1944
1955
  return n instanceof HTMLSelectElement ? Wt(n, t) : ($.warn("Field missing combobox select; skipping."), () => {});
1945
1956
  });
1946
- return $.log("Module setup.", { fieldCount: r.length }), await e.emit("formie:module:combobox:init", { count: i.length }), { destroy: () => {
1957
+ return $.log("Module setup.", { fieldCount: n.length }), await e.emit("formie:module:combobox:init", { count: i.length }), { destroy: () => {
1947
1958
  i.forEach((e) => {
1948
1959
  e();
1949
- }), $.log("Module destroy.", { fieldCount: r.length }), e.emit("formie:module:combobox:destroy", {});
1960
+ }), $.log("Module destroy.", { fieldCount: n.length }), e.emit("formie:module:combobox:destroy", {});
1950
1961
  } };
1951
1962
  }
1952
1963
  };