@wix/form-elements 0.0.0-stage → 1.53.0

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 (237) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +118 -2
  3. package/dist/component/appointment-rac-Qa4fzPC_.js +1005 -0
  4. package/dist/component/bookings-address-rac-D9M-ozbl.js +6 -0
  5. package/dist/component/bookings-email-rac-BsQBkcmz.js +6 -0
  6. package/dist/component/bookings-first-name-rac-B3Ttwrj1.js +6 -0
  7. package/dist/component/bookings-header-rac-D1SGpqGf.js +8 -0
  8. package/dist/component/bookings-last-name-rac-B9O--4tU.js +6 -0
  9. package/dist/component/bookings-login-bar-rac-CHzNCOWx.js +74 -0
  10. package/dist/component/bookings-phone-rac-DhCGxcEU.js +6 -0
  11. package/dist/component/bookings-rich-text-rac-CftLqeZI.js +8 -0
  12. package/dist/component/calling-country-codes-PyWuOTmF.js +243 -0
  13. package/dist/component/checkbox-field-rac-B4NsTbRK.js +625 -0
  14. package/dist/component/checkbox-group-field-headless-qntvm5XF.js +204 -0
  15. package/dist/component/checkbox-group-field-rac-DwHc_GX9.js +33 -0
  16. package/dist/component/checkbox-group-rac-C1L8G1Y6.js +6 -0
  17. package/dist/component/checkbox-rac-DfbwQtOy.js +6 -0
  18. package/dist/component/chevron-down-icon-CcpVm6B-.js +15 -0
  19. package/dist/component/contacts-address-rac-Bstl5CRy.js +6 -0
  20. package/dist/component/contacts-birthdate-rac-DA4ijdaj.js +6 -0
  21. package/dist/component/contacts-company-rac-m0NA2GWU.js +6 -0
  22. package/dist/component/contacts-email-rac-DPVSYPew.js +6 -0
  23. package/dist/component/contacts-first-name-rac-C-JRqRzG.js +6 -0
  24. package/dist/component/contacts-last-name-rac-COBf-dyW.js +6 -0
  25. package/dist/component/contacts-phone-rac-Cw70dW7b.js +6 -0
  26. package/dist/component/contacts-position-rac-CMz19BR-.js +6 -0
  27. package/dist/component/contacts-subscribe-rac-KpLlwquo.js +13 -0
  28. package/dist/component/contacts-tax-id-rac-_uTLfEkF.js +6 -0
  29. package/dist/component/custom-focus-class-_483Pkwp.js +4 -0
  30. package/dist/component/data-hooks-Dkw1pbRj.js +6 -0
  31. package/dist/component/date-availability-DPHhHaFW.js +49 -0
  32. package/dist/component/date-input-field-rac-BrdGNXKw.js +286 -0
  33. package/dist/component/date-input-rac-D93biRsl.js +6 -0
  34. package/dist/component/date-picker-field-rac-ByhJ3Koo.js +304 -0
  35. package/dist/component/date-picker-rac-CuwcuCmJ.js +6 -0
  36. package/dist/component/date-time-input-field-rac-DY1u3LS6.js +421 -0
  37. package/dist/component/date-time-input-rac-BuGAMm_l.js +6 -0
  38. package/dist/component/default-limits-D7qVv_Hv.js +6 -0
  39. package/dist/component/dext-checkbox-group-rac-C3jCmtB7.js +18 -0
  40. package/dist/component/dext-checkbox-rac-dOvFH4gX.js +6 -0
  41. package/dist/component/dext-date-picker-rac-Bq6xFRoL.js +6 -0
  42. package/dist/component/dext-date-time-input-rac-9BE7wXiZ.js +6 -0
  43. package/dist/component/dext-dropdown-rac-j2ACAxk6.js +6 -0
  44. package/dist/component/dext-email-rac-CLoZGIl3.js +6 -0
  45. package/dist/component/dext-number-input-rac-D8IxqGdJ.js +6 -0
  46. package/dist/component/dext-phone-rac-B2Y-Ou4W.js +6 -0
  47. package/dist/component/dext-radio-group-rac-C88xnXTc.js +18 -0
  48. package/dist/component/dext-rating-input-rac-BArLS_bA.js +6 -0
  49. package/dist/component/dext-tags-rac-B9tKb852.js +18 -0
  50. package/dist/component/dext-text-area-rac-cBh24v0g.js +6 -0
  51. package/dist/component/dext-text-input-rac-B75yIKQa.js +6 -0
  52. package/dist/component/dext-url-input-rac-Da6T681p.js +6 -0
  53. package/dist/component/donation-rac-A0HtRtbH.js +305 -0
  54. package/dist/component/dropdown-field-headless-CYpFgZ3H.js +84 -0
  55. package/dist/component/dropdown-field-rac-B5emHw3_.js +32 -0
  56. package/dist/component/dropdown-rac-CRj3gKMe.js +6 -0
  57. package/dist/component/ecom-address-rac-ClBWgRGU.js +6 -0
  58. package/dist/component/ecom-subscription-checkbox-rac-DLvoidqP.js +49 -0
  59. package/dist/component/email-input-field-rac-Dq1HVu3Y.js +507 -0
  60. package/dist/component/error-icon-hZxQ6DEy.js +15 -0
  61. package/dist/component/events-repeater-rac-BwbNXM88.js +247 -0
  62. package/dist/component/events-rsvp-rac-BzVK7JNO.js +38 -0
  63. package/dist/component/field-error-headless-D40GACk4.js +34 -0
  64. package/dist/component/field-label-headless-Beq2Tn6V.js +52 -0
  65. package/dist/component/field-rac.module-DXfwku6m.js +21 -0
  66. package/dist/component/fieldset-headless-CD3fds9J.js +54 -0
  67. package/dist/component/file-upload-rac-BHqXPy1r.js +484 -0
  68. package/dist/component/find-child-C60k4CxG.js +11 -0
  69. package/dist/component/fixed-payment-rac-CSmY8yrQ.js +62 -0
  70. package/dist/component/form-Dn-MrArr.js +8890 -0
  71. package/dist/component/form-element-classes-Bi-nNM8q.js +55 -0
  72. package/dist/component/form.css +1 -0
  73. package/dist/component/form.js +9 -0
  74. package/dist/component/format-currency-BwShJ9vM.js +44 -0
  75. package/dist/component/get-first-day-of-the-week-DvnsxYhQ.js +118 -0
  76. package/dist/component/header-field-rac-DlUZ8kEf.js +25 -0
  77. package/dist/component/header-rac-CKAFxlLV.js +6 -0
  78. package/dist/component/headless-styles-CmcyA_pi.js +20 -0
  79. package/dist/component/helpers-HmkkXrh2.js +12 -0
  80. package/dist/component/image-choice-rac-DHtMOk8B.js +141 -0
  81. package/dist/component/index-0TWILUAM.js +64 -0
  82. package/dist/component/index-DS4A9cSk.js +2290 -0
  83. package/dist/component/isObject-BAwJJxQ3.js +34 -0
  84. package/dist/component/messages_ar-BZXnU2Gj.js +3517 -0
  85. package/dist/component/messages_ar-L1BYLZbF.js +20 -0
  86. package/dist/component/messages_ar-PAHg01OB.js +299 -0
  87. package/dist/component/messages_bg-CO56qlOt.js +299 -0
  88. package/dist/component/messages_bg-CQcGl0Yi.js +20 -0
  89. package/dist/component/messages_bg-DgbMwIbv.js +3515 -0
  90. package/dist/component/messages_ca-BAHE5nuo.js +3515 -0
  91. package/dist/component/messages_ca-BRoHmzRw.js +20 -0
  92. package/dist/component/messages_ca-Bl6rZi_O.js +299 -0
  93. package/dist/component/messages_cs-BADd3t_h.js +3515 -0
  94. package/dist/component/messages_cs-CDyWDExk.js +298 -0
  95. package/dist/component/messages_cs-wn5UmrBw.js +20 -0
  96. package/dist/component/messages_da-BPnmb9Qb.js +20 -0
  97. package/dist/component/messages_da-BvVUWnBz.js +3515 -0
  98. package/dist/component/messages_da-DHlpaT4q.js +298 -0
  99. package/dist/component/messages_de-2czOmM8X.js +3515 -0
  100. package/dist/component/messages_de-BKgzIF1d.js +298 -0
  101. package/dist/component/messages_de-Bwx84N0O.js +20 -0
  102. package/dist/component/messages_el-BnuYMjcf.js +299 -0
  103. package/dist/component/messages_el-_D2RUBSU.js +20 -0
  104. package/dist/component/messages_el-qCyH12Uq.js +3515 -0
  105. package/dist/component/messages_en-BWaixPd6.js +3518 -0
  106. package/dist/component/messages_en-CBBcgtxs.js +296 -0
  107. package/dist/component/messages_en-DvSLxqKp.js +20 -0
  108. package/dist/component/messages_es-Cq6i2xci.js +3515 -0
  109. package/dist/component/messages_es-DlGCLaYi.js +298 -0
  110. package/dist/component/messages_es-rCKXnGf0.js +20 -0
  111. package/dist/component/messages_fi-B-ciZGqD.js +3515 -0
  112. package/dist/component/messages_fi-DzKva_Wq.js +299 -0
  113. package/dist/component/messages_fi-PCCXPo0O.js +20 -0
  114. package/dist/component/messages_fr-2im0dcYp.js +3515 -0
  115. package/dist/component/messages_fr-DMFilq1G.js +298 -0
  116. package/dist/component/messages_fr-DQa1dT9u.js +20 -0
  117. package/dist/component/messages_he-Bb1qTc2Y.js +299 -0
  118. package/dist/component/messages_he-BfIkDo1h.js +3515 -0
  119. package/dist/component/messages_he-DwIysfDp.js +20 -0
  120. package/dist/component/messages_hi-Bty6ytCh.js +3515 -0
  121. package/dist/component/messages_hi-C-6UHGbM.js +298 -0
  122. package/dist/component/messages_hi-DF1w6b6B.js +20 -0
  123. package/dist/component/messages_hr-BXzIzU3d.js +20 -0
  124. package/dist/component/messages_hr-CiU1ZVrx.js +3515 -0
  125. package/dist/component/messages_hr-tRSM9lmc.js +299 -0
  126. package/dist/component/messages_hu-ChzHFUtB.js +3515 -0
  127. package/dist/component/messages_hu-D86Taf9R.js +299 -0
  128. package/dist/component/messages_hu-Z9XpByCO.js +20 -0
  129. package/dist/component/messages_id-3952ilBE.js +20 -0
  130. package/dist/component/messages_id-CPuhTUYV.js +298 -0
  131. package/dist/component/messages_id-Ddr3ijST.js +3515 -0
  132. package/dist/component/messages_it-B-A1X4BZ.js +298 -0
  133. package/dist/component/messages_it-DnUTUabT.js +20 -0
  134. package/dist/component/messages_it-eY6GnuZC.js +3515 -0
  135. package/dist/component/messages_ja-B3PxHv2c.js +3515 -0
  136. package/dist/component/messages_ja-Ced6ZBxD.js +298 -0
  137. package/dist/component/messages_ja-Cg7CqBUL.js +20 -0
  138. package/dist/component/messages_ko-DBCjHG4c.js +3515 -0
  139. package/dist/component/messages_ko-PKIrqwPk.js +298 -0
  140. package/dist/component/messages_ko-zvhtZMGA.js +20 -0
  141. package/dist/component/messages_lt-DV3hdFsp.js +3515 -0
  142. package/dist/component/messages_lt-DywusvNm.js +20 -0
  143. package/dist/component/messages_lt-zxcCPHno.js +299 -0
  144. package/dist/component/messages_lv-BEowUv-S.js +299 -0
  145. package/dist/component/messages_lv-DggJE2f9.js +20 -0
  146. package/dist/component/messages_lv-hIonzpTs.js +3515 -0
  147. package/dist/component/messages_ms-Ca0m7bf7.js +20 -0
  148. package/dist/component/messages_ms-Cvypo0vi.js +299 -0
  149. package/dist/component/messages_ms-DoMzA8a3.js +3515 -0
  150. package/dist/component/messages_nl-CEmANR_r.js +3515 -0
  151. package/dist/component/messages_nl-CZR4TvNo.js +298 -0
  152. package/dist/component/messages_nl-DgVYmdO9.js +20 -0
  153. package/dist/component/messages_no-B2BBaGBH.js +298 -0
  154. package/dist/component/messages_no-DJfJSlDm.js +3515 -0
  155. package/dist/component/messages_no-hPkfRJQ9.js +20 -0
  156. package/dist/component/messages_pl-Bzph-WyD.js +20 -0
  157. package/dist/component/messages_pl-ChJVH7RO.js +3515 -0
  158. package/dist/component/messages_pl-rCMsbMbN.js +298 -0
  159. package/dist/component/messages_pt-Bv63V1uB.js +3515 -0
  160. package/dist/component/messages_pt-CBgCNF3T.js +20 -0
  161. package/dist/component/messages_pt-Cx0FF6uF.js +298 -0
  162. package/dist/component/messages_ro-BvLoD_wE.js +299 -0
  163. package/dist/component/messages_ro-CMzcu-9b.js +20 -0
  164. package/dist/component/messages_ro-PVRK7Gx4.js +3515 -0
  165. package/dist/component/messages_ru-8BI6MYA0.js +3515 -0
  166. package/dist/component/messages_ru-BhRKVmVC.js +298 -0
  167. package/dist/component/messages_ru-C_BaQo57.js +20 -0
  168. package/dist/component/messages_sk-Bgi_3583.js +3515 -0
  169. package/dist/component/messages_sk-CrsC7rOj.js +20 -0
  170. package/dist/component/messages_sk-CtF-ei23.js +299 -0
  171. package/dist/component/messages_sl-B5t-KKi8.js +299 -0
  172. package/dist/component/messages_sl-BFdYWVHd.js +3515 -0
  173. package/dist/component/messages_sl-NqfmyUP1.js +20 -0
  174. package/dist/component/messages_sv-Bd1CcY6G.js +3515 -0
  175. package/dist/component/messages_sv-DPRT-DpN.js +20 -0
  176. package/dist/component/messages_sv-bQwbNmjr.js +298 -0
  177. package/dist/component/messages_th-BauH9qdo.js +20 -0
  178. package/dist/component/messages_th-C_dL_PCq.js +298 -0
  179. package/dist/component/messages_th-DEWm01uD.js +3515 -0
  180. package/dist/component/messages_tl-CouXLNcW.js +299 -0
  181. package/dist/component/messages_tl-D2t9Y_ZC.js +3515 -0
  182. package/dist/component/messages_tl-UDZY8Wuk.js +20 -0
  183. package/dist/component/messages_tr-2-OHesob.js +3515 -0
  184. package/dist/component/messages_tr-CpsxYTDb.js +20 -0
  185. package/dist/component/messages_tr-DHXnlj_j.js +298 -0
  186. package/dist/component/messages_uk-CPK4y5lH.js +298 -0
  187. package/dist/component/messages_uk-DIuQ2HoD.js +3515 -0
  188. package/dist/component/messages_uk-gPkmA_ar.js +20 -0
  189. package/dist/component/messages_vi-CgxB4Ey0.js +20 -0
  190. package/dist/component/messages_vi-DZeFWgwp.js +3515 -0
  191. package/dist/component/messages_vi-Det8i7_V.js +298 -0
  192. package/dist/component/messages_zh-D53_A4N9.js +298 -0
  193. package/dist/component/messages_zh-O552w5dp.js +20 -0
  194. package/dist/component/messages_zh-nG7LNxIt.js +3515 -0
  195. package/dist/component/multiline-address-field-rac-C0PUrp9n.js +1574 -0
  196. package/dist/component/multiline-address-rac-BuIrCxJO.js +6 -0
  197. package/dist/component/non-modal-popover-DtIMXHbe.js +63 -0
  198. package/dist/component/number-input-field-rac-DY3hBv5k.js +89 -0
  199. package/dist/component/number-input-rac-LU2RRhXv.js +6 -0
  200. package/dist/component/numeric-input-utils-CuBMi4-a.js +45 -0
  201. package/dist/component/options-layout-constants-DEfIEJWD.js +6 -0
  202. package/dist/component/options-rac.module-KM-VT_KY.js +7 -0
  203. package/dist/component/password-rac-CKUa-xXB.js +142 -0
  204. package/dist/component/payment-field-utils-DobiK5Xh.js +12 -0
  205. package/dist/component/payment-input-rac-4-nB0Dtf.js +137 -0
  206. package/dist/component/phone-input-field-rac-D-WSiybW.js +473 -0
  207. package/dist/component/phone-rac-CHpAV4y9.js +6 -0
  208. package/dist/component/product-list-rac-43aeb4bH.js +263 -0
  209. package/dist/component/quiz-radio-group-rac-CIp82PU6.js +13 -0
  210. package/dist/component/radio-group-field-rac-Ctu5L43b.js +40 -0
  211. package/dist/component/radio-group-field-rac.module-xWCK2zEh.js +124 -0
  212. package/dist/component/radio-group-rac-C2z9k9zW.js +6 -0
  213. package/dist/component/rating-input-field-rac-FGf61_-a.js +130 -0
  214. package/dist/component/rating-input-rac-B4_5V8X4.js +6 -0
  215. package/dist/component/rich-content-rac.module-DuFIPLXP.js +49 -0
  216. package/dist/component/rich-text-field-rac-B1PbdTgi.js +22 -0
  217. package/dist/component/rich-text-rac-D1PDXRg5.js +6 -0
  218. package/dist/component/ricos-viewer-chunk-B4rfbgjA.js +5 -0
  219. package/dist/component/service-dropdown-rac-DIFcHwYR.js +142 -0
  220. package/dist/component/services-multi-choice-rac-BVgZsVc2.js +76 -0
  221. package/dist/component/signature-rac-DoznfA7u.js +795 -0
  222. package/dist/component/submit-button-rac-DQFhhUWx.js +115 -0
  223. package/dist/component/tags-field-rac-F3yYmtiN.js +201 -0
  224. package/dist/component/tags-rac-BkJ8931D.js +6 -0
  225. package/dist/component/text-area-field-rac-BQXCdqvK.js +69 -0
  226. package/dist/component/text-area-rac-CI4idsCI.js +6 -0
  227. package/dist/component/text-input-field-rac-Di3rvMr8.js +24 -0
  228. package/dist/component/text-input-headless-BFldUMDr.js +44 -0
  229. package/dist/component/text-input-rac-v2DSKy7B.js +6 -0
  230. package/dist/component/time-input-rac-CcbyfeiV.js +152 -0
  231. package/dist/component/url-input-field-rac-CcMmHuDT.js +71 -0
  232. package/dist/component/url-input-rac-DtbctKi2.js +6 -0
  233. package/dist/component/use-invoke-callback-UH73A_J3.js +15 -0
  234. package/dist/component/use-service-options-base-Cr8hJp01.js +48 -0
  235. package/dist/component/use-synced-display-value-DcAxdn3M.js +19 -0
  236. package/dist/form.d.ts +6930 -0
  237. package/package.json +164 -3
@@ -0,0 +1,484 @@
1
+ import t, { useState as Q, useRef as z, useMemo as oe, useEffect as se, useCallback as P, createContext as pe, useContext as fe } from "react";
2
+ import { RicosViewer as Ee } from "@wix/ricos/viewer";
3
+ import B from "classnames";
4
+ import { E as Fe } from "./error-icon-hZxQ6DEy.js";
5
+ import { s as I } from "./field-rac.module-DXfwku6m.js";
6
+ import { r as re, H as ge, V as he, h as ne, l as le } from "./form-element-classes-Bi-nNM8q.js";
7
+ import { ac as xe, aq as ie, al as be, i as Ce, ao as Le, e as ae, ap as De, ad as ce, ag as q, ai as Ne } from "./form-Dn-MrArr.js";
8
+ import { f as h, a as V } from "./find-child-C60k4CxG.js";
9
+ import { b as ve, a as ye, D as _e, E as Te } from "./field-error-headless-D40GACk4.js";
10
+ import { L as Be } from "./field-label-headless-Beq2Tn6V.js";
11
+ import { DropZone as Re, Text as Se, FileTrigger as Me, Button as de, ProgressBar as Ie } from "react-aria-components";
12
+ const we = {
13
+ Video: "video/*",
14
+ Image: "image/*",
15
+ Audio: "audio/*",
16
+ Document: ".ai, .cdr, .csv, .doc, .docb, .docx, .dot, .dotx, .dwg, .eps, .epub, .fla, .gpx, .ical, .icalendar, .ics, .ifb, .indd, .ipynb, .key, .kml, .kmz, .mobi, .mtf, .mtx, .numbers, .odg, .odp, .ods, .odt, .otp, .ots, .ott, .oxps, .pages, .pdf, .pdn, .pkg, .pot, .potx, .pps, .ppsx, .ppt, .pptx, .psd, .pub, .rtf, .sldx, .txt, .json, .vcf, .xcf, .xls, .xlsx, .xlt, .xltx, .xlw, .xps,.xml,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document,application/pdf,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/vnd.ms-excel",
17
+ Archive: ".zip, .rar, .tar, .tar.gz, .gz, .gzip, .jar, .7z, .fgz, .webarchive",
18
+ Model3D: ".gltf, .glb"
19
+ }, Ae = (e) => {
20
+ const { actions: r, formId: n } = xe();
21
+ return async (o, i, d) => {
22
+ if (!(r != null && r.uploadFile) || !o.length)
23
+ return r != null && r.uploadFile || console.error("No uploadFile action"), o.length || console.error("No files to upload"), [];
24
+ const x = o.map(({ file: l }) => r.uploadFile({
25
+ file: l,
26
+ formId: n,
27
+ uploadTarget: e
28
+ }).then((s) => {
29
+ const { id: b, displayName: m, url: c, isPrivate: N } = s, v = {
30
+ fileId: b,
31
+ displayName: m || l.name,
32
+ url: N ? void 0 : c,
33
+ fileType: l.type || "application/octet-stream"
34
+ };
35
+ return i({
36
+ file: l,
37
+ uploadedFile: v
38
+ }), v;
39
+ }).catch((s) => {
40
+ d(s, l);
41
+ }));
42
+ return (await Promise.all(x)).filter((l) => l !== void 0);
43
+ };
44
+ };
45
+ function Ze({ valueSliderLimit: e, value: r, explanationText: n, target: o, onChange: i, uploadFileFormats: d, onBlur: x, onFilesCleared: D }) {
46
+ const [l, s] = Q(Ue(r)), [b, m] = Q(r || []), [c, N] = Q(), v = Ae(o), { t: E } = ie(), U = be().includes(Ce.BUTTONS_HOVER), { setFormStatus: y } = Le(), S = z(!1), _ = z(i);
47
+ _.current = i;
48
+ const C = oe(() => l.some((u) => u.state === "uploading"), [
49
+ l
50
+ ]);
51
+ se(() => {
52
+ S.current !== C && (S.current = C, y(o, C ? ae.BUSY : ae.READY));
53
+ }, [
54
+ C,
55
+ y,
56
+ o
57
+ ]);
58
+ const k = P(() => {
59
+ if (!l.length)
60
+ return n;
61
+ const F = l.filter((u) => u.state === "uploading").length;
62
+ if (F) {
63
+ const u = l.filter((p) => p.state === "uploaded" && p.file.size > 0).length, g = u / (u + F);
64
+ return E("form.file-upload.uploading", {
65
+ count: Math.round(g * 100)
66
+ });
67
+ }
68
+ return n || E("form.file-upload.explanation-text", {
69
+ count: l.length
70
+ });
71
+ }, [
72
+ l,
73
+ n,
74
+ E
75
+ ]), M = P(async (F) => {
76
+ await v(F, ({ file: u, uploadedFile: g }) => {
77
+ s((p) => p.map((f) => f.file === u ? {
78
+ file: u,
79
+ state: "uploaded"
80
+ } : f)), m((p) => {
81
+ var L;
82
+ const f = [
83
+ ...p
84
+ ].concat(g);
85
+ return (L = _.current) == null || L.call(_, f), f;
86
+ });
87
+ }, (u, g) => {
88
+ s((p) => p.map((f) => f.file === g ? {
89
+ file: g,
90
+ state: "error",
91
+ errorMessage: E("form.file-upload.error.upload-failed")
92
+ } : f));
93
+ });
94
+ }, [
95
+ v,
96
+ E
97
+ ]), O = async (F) => {
98
+ if (c && N(void 0), F) {
99
+ if (l.length + F.length > e) {
100
+ N(E("form.file-upload.error.upload-limit", {
101
+ limit: e
102
+ }));
103
+ return;
104
+ }
105
+ const p = Array.from(F).reduce((f, L) => (l.some((W) => W.file.name === L.name) || f.push({
106
+ file: L,
107
+ state: "uploading"
108
+ }), f), []);
109
+ s([
110
+ ...l,
111
+ ...p
112
+ ]), await M(p);
113
+ }
114
+ }, j = (F) => {
115
+ const u = l[F];
116
+ if (b && i && u.state !== "error") {
117
+ const g = b.filter((f) => f.displayName !== u.file.name);
118
+ i(g), m(g);
119
+ const p = l.filter((f) => f.file.name !== u.file.name);
120
+ s(p), p.length === 0 && D();
121
+ } else {
122
+ const g = l.filter((p) => p !== u);
123
+ s(g), g.length === 0 && D();
124
+ }
125
+ }, $ = () => {
126
+ c && N(void 0), x();
127
+ }, K = d.map((F) => we[F]).join(), H = P(() => {
128
+ s([]), m([]);
129
+ }, []);
130
+ return De(H), {
131
+ files: l,
132
+ limitError: c,
133
+ hover: U,
134
+ getExplanationText: k,
135
+ handleChange: O,
136
+ handleDelete: j,
137
+ accept: K,
138
+ handleBlur: $
139
+ };
140
+ }
141
+ function Ue(e = []) {
142
+ const r = e || [];
143
+ try {
144
+ return r.map((n) => ({
145
+ file: new File([
146
+ new Int8Array(0)
147
+ ], n.displayName, {
148
+ type: n.fileType
149
+ }),
150
+ state: "uploaded"
151
+ }));
152
+ } catch (n) {
153
+ console.error(n);
154
+ }
155
+ return [];
156
+ }
157
+ const me = /* @__PURE__ */ pe(void 0);
158
+ function Z() {
159
+ const e = fe(me);
160
+ if (typeof e > "u")
161
+ throw new Error("FileUpload components must be used within FileUpload");
162
+ return e;
163
+ }
164
+ const A = ({ children: e, className: r }) => {
165
+ const { ariaDescribedBy: n } = ce(), { disabled: o, hasError: i } = q(), { handleFileChange: d } = Z(), x = h(e, A.Title), D = h(e, A.Subtitle), l = h(e, A.Button);
166
+ return /* @__PURE__ */ t.createElement(Re, {
167
+ "aria-describedby": n,
168
+ className: r,
169
+ "data-invalid": i,
170
+ isDisabled: o,
171
+ onDrop: async (s) => {
172
+ const b = [];
173
+ for (const m of s.items)
174
+ if (m.kind === "file") {
175
+ const c = await m.getFile();
176
+ c && b.push(c);
177
+ }
178
+ if (b.length > 0) {
179
+ const m = new DataTransfer();
180
+ b.forEach((c) => m.items.add(c)), d(m.files);
181
+ }
182
+ }
183
+ }, /* @__PURE__ */ t.createElement(Se, {
184
+ slot: "label"
185
+ }, x, D), l);
186
+ }, ke = ({ className: e, children: r }) => {
187
+ const { limitReached: n } = Z();
188
+ return /* @__PURE__ */ t.createElement("p", {
189
+ className: e
190
+ }, r({
191
+ limitReached: n
192
+ }));
193
+ }, Oe = ({ className: e, children: r }) => {
194
+ const { limitReached: n } = Z();
195
+ return /* @__PURE__ */ t.createElement("p", {
196
+ className: e
197
+ }, r({
198
+ limitReached: n
199
+ }));
200
+ }, J = ({ className: e, children: r, "aria-roledescription": n }) => {
201
+ const { ariaDescribedBy: o, inputId: i, labelId: d, errorId: x } = ce(), { disabled: D, required: l, onFocus: s, hasError: b, errorMessage: m } = q(), { handleFileChange: c, accept: N, multiple: v, buttonRef: E, handleBlur: R, limitError: U, files: y } = Z(), S = (y == null ? void 0 : y.some((C) => C.errorMessage)) ?? !1, _ = !!(b || m || U || S);
202
+ return /* @__PURE__ */ t.createElement(Me, {
203
+ acceptedFileTypes: N ? N.split(",") : void 0,
204
+ allowsMultiple: v,
205
+ onSelect: (C) => {
206
+ if (C) {
207
+ const k = Array.from(C), M = new DataTransfer();
208
+ k.forEach((O) => M.items.add(O)), c(M.files);
209
+ }
210
+ }
211
+ }, /* @__PURE__ */ t.createElement(de, {
212
+ ref: E,
213
+ id: i,
214
+ "aria-labelledby": d,
215
+ "aria-describedby": [
216
+ o,
217
+ x
218
+ ].filter(Boolean).join(" "),
219
+ render: (C) => /* @__PURE__ */ t.createElement("button", {
220
+ ...C,
221
+ "aria-roledescription": n,
222
+ "aria-invalid": _ || void 0,
223
+ "aria-required": l
224
+ }),
225
+ isDisabled: D,
226
+ className: e,
227
+ onFocus: s,
228
+ onBlur: R
229
+ }, r));
230
+ }, Pe = ({ className: e }) => {
231
+ const { buttonText: r } = q();
232
+ return /* @__PURE__ */ t.createElement("span", {
233
+ className: e
234
+ }, r);
235
+ };
236
+ J.Text = Pe;
237
+ A.Title = ke;
238
+ A.Subtitle = Oe;
239
+ A.Button = J;
240
+ const T = ({ children: e, className: r, ...n }) => {
241
+ const { file: o, index: i } = n, d = o.file.name, x = h(e, T.Name), D = h(e, T.Remove), l = h(e, T.Spinner), s = h(e, T.Error);
242
+ return /* @__PURE__ */ t.createElement("div", {
243
+ className: r
244
+ }, V(x, {
245
+ fileName: d
246
+ }), o.state === "uploading" ? l : V(D, {
247
+ index: i,
248
+ fileName: d
249
+ }), o.errorMessage && V(s, {
250
+ errorMessage: o.errorMessage
251
+ }));
252
+ }, Ve = ({ className: e, ...r }) => {
253
+ const { fileName: n } = r;
254
+ return /* @__PURE__ */ t.createElement("span", {
255
+ className: e
256
+ }, n);
257
+ }, ze = ({ className: e, "aria-label": r, children: n, ...o }) => {
258
+ const { fileName: i, index: d } = o, { disabled: x } = q(), { handleDelete: D, fileRemoveButtonRefs: l } = Z(), s = z(null);
259
+ se(() => {
260
+ const m = l.current, c = i;
261
+ return m[c] = s, () => {
262
+ m[c] === s && (m[c] = void 0);
263
+ };
264
+ }, [
265
+ i,
266
+ l
267
+ ]);
268
+ const b = () => {
269
+ D(d);
270
+ };
271
+ return /* @__PURE__ */ t.createElement(de, {
272
+ ref: s,
273
+ "aria-disabled": x,
274
+ "aria-label": r,
275
+ "aria-description": i,
276
+ onClick: b,
277
+ className: e,
278
+ isDisabled: x
279
+ }, n);
280
+ }, ue = ({ className: e, children: r, ...n }) => {
281
+ const { errorMessage: o } = n;
282
+ return o ? /* @__PURE__ */ t.createElement(ye, {
283
+ value: o
284
+ }, /* @__PURE__ */ t.createElement("div", {
285
+ className: e,
286
+ role: "alert"
287
+ }, r)) : null;
288
+ }, qe = ({ className: e, "aria-label": r, children: n }) => /* @__PURE__ */ t.createElement(Ie, {
289
+ "aria-label": r,
290
+ className: e,
291
+ isIndeterminate: !0
292
+ }, n);
293
+ T.Name = Ve;
294
+ T.Remove = ze;
295
+ T.Spinner = qe;
296
+ T.Error = ue;
297
+ ue.Text = ve;
298
+ const X = ({ children: e, className: r }) => {
299
+ const { files: n } = Z(), o = h(e, X.File);
300
+ return !n || n.length === 0 ? null : /* @__PURE__ */ t.createElement("div", {
301
+ className: r
302
+ }, n.map((i, d) => V(o, {
303
+ key: i.file.name || d,
304
+ file: i,
305
+ index: d
306
+ })));
307
+ };
308
+ X.File = T;
309
+ const G = (e) => e.file.name, a = ({ children: e }) => {
310
+ const { id: r, value: n, onChange: o, uploadFileFormats: i, valueSliderLimit: d, target: x, explanationText: D, onBlur: l, hasError: s, errorMessage: b, FieldLayout: m } = q(), c = z(null), N = z({}), v = P(() => {
311
+ var L;
312
+ (L = c.current) == null || L.focus();
313
+ }, []), { files: E, limitError: R, hover: U, getExplanationText: y, handleBlur: S, handleChange: _, handleDelete: C, accept: k } = Ze({
314
+ valueSliderLimit: d,
315
+ value: n,
316
+ explanationText: D,
317
+ target: x,
318
+ onChange: o,
319
+ uploadFileFormats: i,
320
+ onBlur: l,
321
+ onFilesCleared: v
322
+ }), M = P((L) => {
323
+ var te;
324
+ const ee = E[L], W = G(ee);
325
+ E.length > 1 && ((te = (E.filter((Y) => G(Y) !== W).map((Y) => N.current[G(Y)]).find(Boolean) ?? c).current) == null || te.focus()), C(L);
326
+ }, [
327
+ C,
328
+ E
329
+ ]), O = d > 1, j = E.length >= d, $ = oe(() => ({
330
+ handleFileChange: _,
331
+ handleBlur: S,
332
+ handleDelete: M,
333
+ files: E,
334
+ accept: k,
335
+ limitReached: j,
336
+ multiple: O,
337
+ getExplanationText: y,
338
+ hover: U,
339
+ limitError: R,
340
+ buttonRef: c,
341
+ fileRemoveButtonRefs: N
342
+ }), [
343
+ _,
344
+ S,
345
+ M,
346
+ E,
347
+ k,
348
+ j,
349
+ O,
350
+ y,
351
+ U,
352
+ R
353
+ ]), K = h(e, a.Label), H = h(e, a.DropZone), F = h(e, a.Button), u = h(e, a.Explanation), g = h(e, a.Files), p = h(e, a.Description), f = h(e, a.Error);
354
+ return Ne(() => {
355
+ var L;
356
+ (L = c.current) == null || L.focus();
357
+ }, r), /* @__PURE__ */ t.createElement(me.Provider, {
358
+ value: $
359
+ }, /* @__PURE__ */ t.createElement(m, {
360
+ fieldId: r,
361
+ renderLabel: () => K,
362
+ renderInput: () => H ?? F,
363
+ renderDescription: () => /* @__PURE__ */ t.createElement(t.Fragment, null, V(f, {
364
+ hasError: !!(s || R),
365
+ errorMessage: R ?? b
366
+ }), p, u, g)
367
+ }));
368
+ }, je = ({ className: e }) => {
369
+ const { getExplanationText: r } = Z(), n = r();
370
+ return n ? /* @__PURE__ */ t.createElement("p", {
371
+ className: e
372
+ }, n) : null;
373
+ };
374
+ a.Label = Be;
375
+ a.DropZone = A;
376
+ a.Button = J;
377
+ a.Explanation = je;
378
+ a.Files = X;
379
+ a.Description = _e;
380
+ a.Error = Te;
381
+ const $e = (e) => /* @__PURE__ */ t.createElement("svg", {
382
+ viewBox: "0 0 24 24",
383
+ width: 24,
384
+ height: 24,
385
+ fill: "currentColor",
386
+ "aria-hidden": "true",
387
+ ...e
388
+ }, /* @__PURE__ */ t.createElement("path", {
389
+ d: "M12 12 12 6 11 6 11 12 5 12 5 13 11 13 11 19 12 19 12 13 18 13 18 12z"
390
+ })), Ke = (e) => /* @__PURE__ */ t.createElement("svg", {
391
+ viewBox: "0 0 24 24",
392
+ width: 24,
393
+ height: 24,
394
+ fill: "currentColor",
395
+ "aria-hidden": "true",
396
+ ...e
397
+ }, /* @__PURE__ */ t.createElement("path", {
398
+ d: "M12,21 C7.02943725,21 3,16.9705627 3,12 C3,7.02943725 7.02943725,3 12,3 C16.9705627,3 21,7.02943725 21,12 C21,16.9705627 16.9705627,21 12,21 Z M12,20 C16.418278,20 20,16.418278 20,12 C20,7.581722 16.418278,4 12,4 C7.581722,4 4,7.581722 4,12 C4,16.418278 7.581722,20 12,20 Z M12.7287834,7.27532214 C12.9203342,7.46687299 13.0199347,7.73174979 13.0020527,8.00205275 L13.0020527,12.0020527 C13.0199347,12.2723557 12.9203342,12.5372325 12.7287834,12.7287834 C12.5372325,12.9203342 12.2723557,13.0199347 12.0020527,13.0020527 C11.7317498,13.0199347 11.466873,12.9203342 11.2753221,12.7287834 C11.0837713,12.5372325 10.9841708,12.2723557 11.0020527,12.0020527 L11.0020527,8.00205275 C10.9841708,7.73174979 11.0837713,7.46687299 11.2753221,7.27532214 C11.466873,7.08377129 11.7317498,6.98417081 12.0020527,7.00205275 C12.2723557,6.98417081 12.5372325,7.08377129 12.7287834,7.27532214 Z M12.7287834,15.2753221 C12.9203342,15.466873 13.0199347,15.7317498 13.0020527,16.0020527 C13.0199347,16.2723557 12.9203342,16.5372325 12.7287834,16.7287834 C12.5372325,16.9203342 12.2723557,17.0199347 12.0020527,17.0020527 C11.7317498,17.0199347 11.466873,16.9203342 11.2753221,16.7287834 C11.0837713,16.5372325 10.9841708,16.2723557 11.0020527,16.0020527 C10.9841708,15.7317498 11.0837713,15.466873 11.2753221,15.2753221 C11.466873,15.0837713 11.7317498,14.9841708 12.0020527,15.0020527 C12.2723557,14.9841708 12.5372325,15.0837713 12.7287834,15.2753221 Z"
399
+ })), He = (e) => /* @__PURE__ */ t.createElement("svg", {
400
+ viewBox: "0 0 24 24",
401
+ width: 24,
402
+ height: 24,
403
+ fill: "currentColor",
404
+ "aria-hidden": "true",
405
+ ...e
406
+ }, /* @__PURE__ */ t.createElement("path", {
407
+ d: "M17,17 C17,18.6568542 15.6568542,20 14,20 L9,20 C7.34314575,20 6,18.6568542 6,17 L6,7 L5,7 L5,6 L18,6 L18,7 L17,7 L17,17 Z M9,9 L10,9 L10,16 L9,16 L9,9 Z M11,9 L12,9 L12,16 L11,16 L11,9 Z M13,9 L14,9 L14,16 L13,16 L13,9 Z M7,17 C7,18.1045695 7.8954305,19 9,19 L14,19 C15.1045695,19 16,18.1045695 16,17 L16,7 L7,7 L7,17 Z M13,6 L13,5 L10,5 L10,6 L9,6 L9,5 C9,4.44771525 9.44771525,4 10,4 L13,4 C13.5522847,4 14,4.44771525 14,5 L14,6 L13,6 Z"
408
+ })), We = () => {
409
+ const r = "calc(50% - 2px)";
410
+ return /* @__PURE__ */ t.createElement("svg", {
411
+ fill: "none",
412
+ width: "100%",
413
+ height: "100%",
414
+ viewBox: "0 0 32 32"
415
+ }, /* @__PURE__ */ t.createElement("circle", {
416
+ cx: "50%",
417
+ cy: "50%",
418
+ r
419
+ }), /* @__PURE__ */ t.createElement("circle", {
420
+ cx: "50%",
421
+ cy: "50%",
422
+ r,
423
+ // Normalize the path length to 100 so we can easily set stroke-dashoffset to a fixed arc.
424
+ pathLength: "100",
425
+ // Add extra gap between dashes so the arc reads correctly in Chrome.
426
+ strokeDasharray: "100 200",
427
+ strokeDashoffset: 75,
428
+ strokeLinecap: "round",
429
+ style: {
430
+ rotate: "-90deg",
431
+ transformOrigin: "center center"
432
+ }
433
+ }, /* @__PURE__ */ t.createElement("animateTransform", {
434
+ attributeName: "transform",
435
+ type: "rotate",
436
+ dur: "0.75s",
437
+ values: "0;360",
438
+ repeatCount: "indefinite"
439
+ })));
440
+ }, Ye = "_explanation_16me0_1", Qe = "_files_16me0_5", Ge = "_file_16me0_5", Je = "_fileName_16me0_24", Xe = "_removeButton_16me0_32", et = "_spinner_16me0_72", tt = "_fileError_16me0_88", w = {
441
+ explanation: Ye,
442
+ files: Qe,
443
+ file: Ge,
444
+ fileName: Je,
445
+ removeButton: Xe,
446
+ spinner: et,
447
+ fileError: tt
448
+ }, rt = ({ content: e, locale: r }) => /* @__PURE__ */ t.createElement(Ee, {
449
+ content: e,
450
+ locale: r
451
+ }), nt = () => {
452
+ const { t: e } = ie();
453
+ return /* @__PURE__ */ t.createElement(a, null, /* @__PURE__ */ t.createElement(a.Label, {
454
+ className: B(re, I.label)
455
+ }, /* @__PURE__ */ t.createElement(a.Label.Required, {
456
+ className: B(ge, I.requiredMark)
457
+ })), /* @__PURE__ */ t.createElement(a.Button, {
458
+ className: B(he, I.uploadButton),
459
+ "aria-roledescription": e("file-upload.aria-roledescription")
460
+ }, /* @__PURE__ */ t.createElement($e, null), /* @__PURE__ */ t.createElement(a.Button.Text, null)), /* @__PURE__ */ t.createElement(a.Explanation, {
461
+ className: B(ne, I.description, w.explanation)
462
+ }), /* @__PURE__ */ t.createElement(a.Files, {
463
+ className: B(re, w.files)
464
+ }, /* @__PURE__ */ t.createElement(a.Files.File, {
465
+ className: w.file
466
+ }, /* @__PURE__ */ t.createElement(a.Files.File.Name, {
467
+ className: w.fileName
468
+ }), /* @__PURE__ */ t.createElement(a.Files.File.Spinner, {
469
+ className: w.spinner,
470
+ "aria-label": e("file-upload.file.uploading-spinner.aria-label")
471
+ }, /* @__PURE__ */ t.createElement(We, null)), /* @__PURE__ */ t.createElement(a.Files.File.Remove, {
472
+ className: w.removeButton,
473
+ "aria-label": e("file-upload.delete-file.aria-label")
474
+ }, /* @__PURE__ */ t.createElement(He, null)), /* @__PURE__ */ t.createElement(a.Files.File.Error, {
475
+ className: B(le, I.error, w.fileError)
476
+ }, /* @__PURE__ */ t.createElement(Ke, null), /* @__PURE__ */ t.createElement(a.Files.File.Error.Text, null)))), /* @__PURE__ */ t.createElement(a.Description, {
477
+ className: B(ne, I.description)
478
+ }, rt), /* @__PURE__ */ t.createElement(a.Error, {
479
+ className: B(le, I.error)
480
+ }, /* @__PURE__ */ t.createElement(Fe, null), /* @__PURE__ */ t.createElement(a.Error.Text, null)));
481
+ }, Ft = () => /* @__PURE__ */ t.createElement(nt, null);
482
+ export {
483
+ Ft as FileUploadRAC
484
+ };
@@ -0,0 +1,11 @@
1
+ import { Children as i, isValidElement as o, cloneElement as a } from "react";
2
+ function p(n, r) {
3
+ return i.toArray(n).find((t) => o(t) && t.type === r);
4
+ }
5
+ function e(n, r) {
6
+ return n && a(n, r);
7
+ }
8
+ export {
9
+ e as a,
10
+ p as f
11
+ };
@@ -0,0 +1,62 @@
1
+ import t, { useMemo as b } from "react";
2
+ import { RicosViewer as A } from "@wix/ricos/viewer";
3
+ import u from "classnames";
4
+ import { ag as C, aa as I, ad as P } from "./form-Dn-MrArr.js";
5
+ import { f as c, a as O } from "./find-child-C60k4CxG.js";
6
+ import { f as S } from "./format-currency-BwShJ9vM.js";
7
+ import { D as x, E as N } from "./field-error-headless-D40GACk4.js";
8
+ import { L as R } from "./field-label-headless-Beq2Tn6V.js";
9
+ import { s as L } from "./field-rac.module-DXfwku6m.js";
10
+ import { r as v, t as g, h as M } from "./form-element-classes-Bi-nNM8q.js";
11
+ const e = ({ children: r }) => {
12
+ var p;
13
+ const { id: n, validation: a, FieldLayout: l } = C(), { currency: o, regionalFormat: m } = I(), s = b(() => {
14
+ var d, E, f;
15
+ return (f = (E = (d = a == null ? void 0 : a.predefined) == null ? void 0 : d.paymentOptions) == null ? void 0 : E.products) == null ? void 0 : f[0];
16
+ }, [
17
+ a
18
+ ]), i = (p = s == null ? void 0 : s.fixedPriceOptions) == null ? void 0 : p.price, y = c(r, e.Label), F = c(r, e.Amount), D = c(r, e.Description), _ = c(r, e.Error);
19
+ return /* @__PURE__ */ t.createElement(l, {
20
+ fieldId: n,
21
+ renderLabel: () => y,
22
+ renderInput: () => O(F, {
23
+ price: i,
24
+ currencyCode: o == null ? void 0 : o.code,
25
+ locale: m
26
+ }),
27
+ renderDescription: () => /* @__PURE__ */ t.createElement(t.Fragment, null, _, D)
28
+ });
29
+ }, B = ({ className: r, ...n }) => {
30
+ const { price: a, currencyCode: l, locale: o } = n, { inputId: m, ariaDescribedBy: s } = P(), i = S({
31
+ amount: a,
32
+ currency: l,
33
+ locale: o
34
+ });
35
+ return /* @__PURE__ */ t.createElement("span", {
36
+ id: m,
37
+ "aria-describedby": s,
38
+ className: r,
39
+ "data-hook": "fixed-payment-value"
40
+ }, i);
41
+ }, T = ({ className: r }) => /* @__PURE__ */ t.createElement(R, {
42
+ className: r
43
+ }, null);
44
+ e.Label = T;
45
+ e.Amount = B;
46
+ e.Description = x;
47
+ e.Error = N;
48
+ const V = "_value_19v7w_1", w = {
49
+ value: V
50
+ }, h = ({ content: r, locale: n }) => /* @__PURE__ */ t.createElement(A, {
51
+ content: r,
52
+ locale: n
53
+ }), k = () => /* @__PURE__ */ t.createElement(e, null, /* @__PURE__ */ t.createElement(e.Label, {
54
+ className: u(v, L.label)
55
+ }), /* @__PURE__ */ t.createElement(e.Amount, {
56
+ className: u(g, w.value)
57
+ }), /* @__PURE__ */ t.createElement(e.Description, {
58
+ className: u(M, L.description)
59
+ }, h)), X = () => /* @__PURE__ */ t.createElement(k, null);
60
+ export {
61
+ X as FixedPaymentRAC
62
+ };