@mercurjs/vendor 2.2.0-canary.9 → 2.2.0-rc.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 (291) hide show
  1. package/dist/{[id]-T5ECVBPF.js → [id]-3LNKC5OJ.js} +38 -39
  2. package/dist/{[id]-A55T2ORL.js → [id]-4HO4S2PX.js} +481 -473
  3. package/dist/{[id]-FWCX5PTI.js → [id]-4LIIFGET.js} +13 -13
  4. package/dist/{[id]-GBT6VB4S.js → [id]-5EECCIRP.js} +148 -57
  5. package/dist/{[id]-YPCO3DJV.js → [id]-5P5LTATX.js} +2 -2
  6. package/dist/{[id]-J6BZG5PU.js → [id]-AQUUZFRX.js} +9 -9
  7. package/dist/{[id]-QOEO3JOV.js → [id]-CUBGVODE.js} +175 -85
  8. package/dist/{[id]-QQU5HVFU.js → [id]-DCGPICT3.js} +36 -37
  9. package/dist/{[id]-GC3ZYPK4.js → [id]-DT5YJVKG.js} +32 -33
  10. package/dist/{[id]-SHAJTJNZ.js → [id]-IEBZ6V3W.js} +46 -46
  11. package/dist/{[id]-ZCMSBEVM.js → [id]-N7JEZFXQ.js} +6 -6
  12. package/dist/[id]-U6FKX5UQ.js +975 -0
  13. package/dist/{[id]-BC7IKQTQ.js → [id]-XB45DY2D.js} +18 -18
  14. package/dist/[id]-XP5KEMNX.js +602 -0
  15. package/dist/{[location_id]-NUBXDDJC.js → [location_id]-I4HHUHWY.js} +14 -14
  16. package/dist/{[province_id]-6GUA4PV5.js → [province_id]-OYX4MOCF.js} +31 -32
  17. package/dist/{add-NTRYWOJF.js → add-3T4GBFMM.js} +59 -56
  18. package/dist/{add-RU3WL4YB.js → add-RPRJWCYU.js} +63 -30
  19. package/dist/{add-customer-groups-U5RZWW4B.js → add-customer-groups-FB5T6PQN.js} +43 -42
  20. package/dist/{add-products-Q4MMDQKT.js → add-products-F243SWGD.js} +38 -40
  21. package/dist/{add-promotions-KD2CWQPF.js → add-promotions-TJDK7HLW.js} +17 -17
  22. package/dist/{add-to-campaign-QKYQCSR2.js → add-to-campaign-Q6OAJMUJ.js} +6 -6
  23. package/dist/{address-77Y3AOQ3.js → address-XVBSNMFU.js} +24 -25
  24. package/dist/{adjust-inventory-AFJLWF5R.js → adjust-inventory-IZLRMQXV.js} +4 -4
  25. package/dist/allocate-items-Q3VALDYT.js +685 -0
  26. package/dist/{areas-XUC5V5UO.js → areas-IYGBRCRH.js} +13 -13
  27. package/dist/attributes-LGEM2JJW.js +353 -0
  28. package/dist/breadcrumb-BC6XN2SE.js +13 -0
  29. package/dist/{breadcrumb-THJ2HPRB.js → breadcrumb-BFNJWOJ4.js} +10 -9
  30. package/dist/{breadcrumb-FPWBT76A.js → breadcrumb-BXD3SRM7.js} +3 -3
  31. package/dist/{breadcrumb-PBR27GGX.js → breadcrumb-FEYGZFJU.js} +4 -4
  32. package/dist/{breadcrumb-KTARIL65.js → breadcrumb-H45Z2WNG.js} +3 -3
  33. package/dist/breadcrumb-ILEAQRW7.js +33 -0
  34. package/dist/breadcrumb-K4HBKZUE.js +28 -0
  35. package/dist/{breadcrumb-YBBYFQYG.js → breadcrumb-KZPOPXGG.js} +2 -2
  36. package/dist/{breadcrumb-F3BN5753.js → breadcrumb-L262VPBO.js} +2 -2
  37. package/dist/{breadcrumb-3Z7KZG62.js → breadcrumb-LEFHXFLT.js} +3 -3
  38. package/dist/{breadcrumb-D3UDTWGE.js → breadcrumb-MOA2DBOE.js} +2 -2
  39. package/dist/breadcrumb-NZYOCEEM.js +47 -0
  40. package/dist/breadcrumb-VY5DNTTJ.js +46 -0
  41. package/dist/{breadcrumb-UAUX7XCV.js → breadcrumb-WG6TIF4C.js} +2 -2
  42. package/dist/{breadcrumb-2XA2WOK7.js → breadcrumb-XEZCMI55.js} +2 -2
  43. package/dist/{breadcrumb-IK6XCQOQ.js → breadcrumb-XGXKCDYS.js} +4 -4
  44. package/dist/{breadcrumb-Y5UW3I4C.js → breadcrumb-YOY6Z36F.js} +2 -2
  45. package/dist/{campaigns-JAQTSA4Z.js → campaigns-DZKRNCA4.js} +7 -7
  46. package/dist/{categories-T4QJYX4R.js → categories-JZJA2IBQ.js} +11 -9
  47. package/dist/{chunk-3PMM6AMP.js → chunk-2KA4TGBQ.js} +2 -2
  48. package/dist/{chunk-X4GWB6AT.js → chunk-2NPD4S55.js} +4 -4
  49. package/dist/{chunk-M6GKMFTC.js → chunk-3ALBZK4M.js} +1 -1
  50. package/dist/{chunk-LKUW5SV4.js → chunk-3C2T27YW.js} +2 -2
  51. package/dist/{chunk-O7VOGTLX.js → chunk-3I6ZAMGN.js} +1 -1
  52. package/dist/{chunk-5QI3NDJG.js → chunk-3SH24DGG.js} +2 -2
  53. package/dist/{chunk-TF6V3TFG.js → chunk-3TST3EWQ.js} +2 -2
  54. package/dist/chunk-42R54Z2X.js +8 -0
  55. package/dist/{chunk-GAE6TKOR.js → chunk-4IRQSBA7.js} +5 -6
  56. package/dist/{chunk-LFX6WU4A.js → chunk-5ALC4Z2H.js} +0 -13
  57. package/dist/{chunk-VZUA5SRD.js → chunk-5BQO3YQP.js} +2 -2
  58. package/dist/{chunk-SPOHNK4X.js → chunk-5BYYDBLS.js} +7 -7
  59. package/dist/{chunk-4LVP635F.js → chunk-5FBQOAXU.js} +135 -126
  60. package/dist/{chunk-BXRNZS5K.js → chunk-5PAUN3PM.js} +3 -3
  61. package/dist/{chunk-E2HQPY32.js → chunk-5RMLLTR7.js} +5 -5
  62. package/dist/{chunk-3EF54XFY.js → chunk-634XVU3D.js} +1 -1
  63. package/dist/{chunk-Y2MQ5EMD.js → chunk-6FDPVW7Y.js} +12 -3
  64. package/dist/{chunk-6FUIK3PX.js → chunk-6Q3J6ZMM.js} +5 -5
  65. package/dist/{chunk-LARLBYU6.js → chunk-7BFQKYCJ.js} +2 -2
  66. package/dist/chunk-7EXKHL5L.js +30 -0
  67. package/dist/{chunk-M6N4ISXL.js → chunk-7MARNXFG.js} +1 -1
  68. package/dist/{chunk-TYESCFYW.js → chunk-AOLE7MBM.js} +1 -1
  69. package/dist/{chunk-TBYCZRZ7.js → chunk-BQHVM46E.js} +32 -55
  70. package/dist/{chunk-TW324MAT.js → chunk-CRYZK4NU.js} +2 -2
  71. package/dist/{chunk-463CNCJC.js → chunk-CUAGC54B.js} +33 -35
  72. package/dist/{chunk-KIFSQOM2.js → chunk-D76WZZSB.js} +5 -5
  73. package/dist/{chunk-QLBIBLOY.js → chunk-DQ7LZZJX.js} +5 -5
  74. package/dist/{chunk-UCYSCKZV.js → chunk-DSTHXHJ5.js} +2114 -1699
  75. package/dist/{chunk-UFFVRF4V.js → chunk-EAAZV3B7.js} +6 -11
  76. package/dist/chunk-EDV4MTTT.js +434 -0
  77. package/dist/chunk-EEBJYXWA.js +15 -0
  78. package/dist/{chunk-UORPTGV2.js → chunk-EPRYM3FA.js} +11 -15
  79. package/dist/{chunk-YQYRAD5C.js → chunk-FCZJAYMM.js} +1 -1
  80. package/dist/{chunk-BER45EYD.js → chunk-FDKFUIYV.js} +1 -1
  81. package/dist/{chunk-JAUZ73XE.js → chunk-G6YNCIVF.js} +21 -61
  82. package/dist/{chunk-PVZBDWLK.js → chunk-GRH7C3QN.js} +1 -1
  83. package/dist/chunk-GSH6ZGI6.js +353 -0
  84. package/dist/{chunk-IQWK723D.js → chunk-GZ4KTAWS.js} +1 -1
  85. package/dist/{chunk-MJCL3WID.js → chunk-H6LZ77GX.js} +1 -1
  86. package/dist/{chunk-2QTNCGKX.js → chunk-IEVN722X.js} +1 -1
  87. package/dist/{chunk-L4KBTV57.js → chunk-IMJ62GAP.js} +1 -3
  88. package/dist/{chunk-SGR4DMCW.js → chunk-INYLPVCG.js} +3 -3
  89. package/dist/{chunk-5T6UWTRU.js → chunk-IV57G2CB.js} +19 -11
  90. package/dist/{chunk-MZTDRBCR.js → chunk-JDNXS37G.js} +61 -62
  91. package/dist/{chunk-3B34B2M2.js → chunk-JJP6AKMV.js} +1 -1
  92. package/dist/{chunk-K6LOZ4S3.js → chunk-JK4M3ZKY.js} +5 -5
  93. package/dist/{chunk-VXMOPVRH.js → chunk-JR7AABT5.js} +2 -2
  94. package/dist/{chunk-DO4F5FIO.js → chunk-JTHDMXZV.js} +5 -5
  95. package/dist/{chunk-6K6EQOJF.js → chunk-JY2XON7H.js} +2 -2
  96. package/dist/{chunk-6OUPJNYO.js → chunk-KCHYLLVG.js} +2 -2
  97. package/dist/{chunk-YGRTRAWX.js → chunk-KDE4HKH2.js} +1 -0
  98. package/dist/{chunk-VCOQ7WQ2.js → chunk-KG2NUK4J.js} +6 -6
  99. package/dist/{chunk-VXWN37PT.js → chunk-KIURBTC4.js} +1 -1
  100. package/dist/{chunk-BENED3NB.js → chunk-KTJLJTFO.js} +545 -891
  101. package/dist/{chunk-PZEPOPMV.js → chunk-KZQFIPY2.js} +178 -81
  102. package/dist/{chunk-DQKK43PR.js → chunk-LWFBBTJ3.js} +5 -5
  103. package/dist/{chunk-RIN4CBRB.js → chunk-LXZXXOJ3.js} +1 -17
  104. package/dist/chunk-LYYM7H7H.js +59 -0
  105. package/dist/{chunk-MWQQVKRU.js → chunk-MAVQ636Y.js} +1 -1
  106. package/dist/{chunk-VDHW6H5F.js → chunk-MAW6ZT3D.js} +4 -4
  107. package/dist/{chunk-7CMRFP5Q.js → chunk-MJP5V3JN.js} +3 -3
  108. package/dist/{chunk-S7EKBD2C.js → chunk-MNHP6YRC.js} +3 -3
  109. package/dist/{chunk-7IPCLQ5V.js → chunk-MT6WOKIW.js} +4 -4
  110. package/dist/chunk-MUGQQY6P.js +315 -0
  111. package/dist/{chunk-S23FD6FA.js → chunk-MVEHWM7K.js} +1 -1
  112. package/dist/{chunk-VV6IKGCN.js → chunk-NTJ3BMOE.js} +1 -1
  113. package/dist/{chunk-DDJQRV6E.js → chunk-O7BGGWW6.js} +2 -2
  114. package/dist/{chunk-LWJF63JW.js → chunk-OYUJYPDF.js} +90 -15
  115. package/dist/{chunk-4S6XGIC6.js → chunk-PUAWN7SS.js} +1 -1
  116. package/dist/{chunk-U6PBLMXD.js → chunk-Q6SPIHFR.js} +8 -3
  117. package/dist/{chunk-F4OJN2F2.js → chunk-QIF4QE7T.js} +1 -1
  118. package/dist/{chunk-X22KTLZ7.js → chunk-QWJTJSIT.js} +1 -1
  119. package/dist/{chunk-2USXZSTK.js → chunk-QWW6RHZC.js} +5 -5
  120. package/dist/{chunk-NBKWY6XN.js → chunk-RILHLBKW.js} +3 -3
  121. package/dist/{chunk-EIZP3XL5.js → chunk-RPU4UOQK.js} +1 -1
  122. package/dist/{chunk-53SII3U2.js → chunk-RTMMO6IU.js} +6 -6
  123. package/dist/{chunk-IBEUR3J7.js → chunk-S7NGDLZ3.js} +3 -3
  124. package/dist/{chunk-U2ZFCAPX.js → chunk-SITRHMZZ.js} +11 -8
  125. package/dist/chunk-SPFLYPY6.js +6 -0
  126. package/dist/{chunk-SZBERGA4.js → chunk-TJKZ5QCJ.js} +4 -4
  127. package/dist/{chunk-YUKD5RCX.js → chunk-TPGIMZLI.js} +1 -1
  128. package/dist/{chunk-YHIJCI4U.js → chunk-UNE4VD5U.js} +3 -3
  129. package/dist/chunk-UX5UYDCY.js +33 -0
  130. package/dist/{chunk-6UZERVBI.js → chunk-V5K6HISS.js} +2 -2
  131. package/dist/{chunk-T5MJWWDX.js → chunk-VD27SL7H.js} +5 -5
  132. package/dist/{chunk-LRARA622.js → chunk-VE6GRIIN.js} +2 -2
  133. package/dist/{chunk-SSUUT5LK.js → chunk-W3UHAQCV.js} +5 -4
  134. package/dist/{chunk-U5G3AVED.js → chunk-WBCWER26.js} +1 -1
  135. package/dist/{chunk-OZ44ATGE.js → chunk-WCXFUBEF.js} +15 -15
  136. package/dist/{chunk-YQZBAP3S.js → chunk-WFE6CT6M.js} +76 -22
  137. package/dist/{chunk-PAVZ6FPK.js → chunk-WFHGJGCW.js} +5 -4
  138. package/dist/{chunk-LQD232FW.js → chunk-WJ5EU3KW.js} +1 -1
  139. package/dist/{chunk-XCIMOIX6.js → chunk-XBKWFLJG.js} +1 -1
  140. package/dist/chunk-XQUF3WIS.js +159 -0
  141. package/dist/{chunk-6SJTAE66.js → chunk-Y4PM3IDZ.js} +1 -1
  142. package/dist/{chunk-JQV7CXEC.js → chunk-YNGA3GRX.js} +17 -2
  143. package/dist/{chunk-BOZJOOGW.js → chunk-ZLHCZ5F2.js} +1 -1
  144. package/dist/{chunk-LHKHQAAY.js → chunk-ZLYGEART.js} +1 -1
  145. package/dist/{chunk-NBPMNUKZ.js → chunk-ZQCCVCHB.js} +1 -1
  146. package/dist/{chunk-ADGVQVHP.js → chunk-ZTOYVPGA.js} +3 -3
  147. package/dist/collections-XIHCTMSJ.js +70 -0
  148. package/dist/{configuration-C4IGBNXH.js → configuration-3GCBMM27.js} +3 -3
  149. package/dist/{configuration-7IYZ6GNP.js → configuration-FWZTMYXY.js} +5 -5
  150. package/dist/{create-MS6KKFSV.js → create-2RGNAVVY.js} +31 -32
  151. package/dist/{create-JF2OUZQA.js → create-32MXB6FD.js} +24 -25
  152. package/dist/create-3AMFYYI6.js +245 -0
  153. package/dist/create-AMNH3WXL.js +75 -0
  154. package/dist/{create-UPYB65PD.js → create-BV3QDTK2.js} +4 -4
  155. package/dist/{create-A7B3MLJX.js → create-FHIFVCSG.js} +47 -47
  156. package/dist/{create-ODOFJF5N.js → create-GO7APBBU.js} +30 -31
  157. package/dist/{create-F5R76QML.js → create-HEZYB7RF.js} +24 -23
  158. package/dist/{create-R7K3ECN6.js → create-K26SM34L.js} +3 -3
  159. package/dist/{create-MZYXMGKP.js → create-N534JQPH.js} +13 -13
  160. package/dist/{create-FKRYB7ZS.js → create-NEK6JCKR.js} +65 -51
  161. package/dist/{create-YBF4YGWG.js → create-NF2LPVXA.js} +3 -3
  162. package/dist/{create-JGYG5SBM.js → create-PJVLJ7T6.js} +47 -44
  163. package/dist/{create-O35JRZEF.js → create-RPBHXU32.js} +28 -29
  164. package/dist/{create-SFU3W3ZH.js → create-U64NEOEL.js} +3 -3
  165. package/dist/{create-GGACODDN.js → create-VL7LDTVE.js} +53 -36
  166. package/dist/{create-XVHOCZHJ.js → create-X5SOAPD3.js} +3 -3
  167. package/dist/{create-TKXH5KQY.js → create-XLYGW5PN.js} +61 -37
  168. package/dist/{create-5PSOIHIT.js → create-YKYLCEAK.js} +6 -6
  169. package/dist/customer-group-add-customers-2C53NFBJ.js +251 -0
  170. package/dist/customer-group-create-75QQEQZF.js +147 -0
  171. package/dist/customer-group-detail-AOQYYAOG.js +58 -0
  172. package/dist/customer-group-edit-N77RCW6I.js +138 -0
  173. package/dist/customer-groups-GNFV7VMT.js +284 -0
  174. package/dist/{customers-SOLJ2KQQ.js → customers-HNINO6YL.js} +9 -9
  175. package/dist/{edit-Y2U3KAVB.js → edit-3DUCWSLA.js} +34 -30
  176. package/dist/{edit-ORXS3A2Y.js → edit-3V34KJS2.js} +3 -3
  177. package/dist/{edit-2R5QCPTB.js → edit-4PWAJ7A3.js} +25 -26
  178. package/dist/{edit-5CROKEJE.js → edit-7CLOJ3UZ.js} +48 -48
  179. package/dist/{edit-ZAHCMF5U.js → edit-7SBPHN6P.js} +3 -3
  180. package/dist/edit-BSD6667Q.js +367 -0
  181. package/dist/{edit-Q3UQIOLS.js → edit-I2RJUPWV.js} +4 -4
  182. package/dist/{edit-FXNXTVIW.js → edit-IJ6DCBUU.js} +5 -5
  183. package/dist/{edit-ZMERG3L7.js → edit-JB7KVBOL.js} +5 -5
  184. package/dist/{edit-O4JLGKQR.js → edit-NHQJLCAK.js} +4 -4
  185. package/dist/edit-O65JD54W.js +103 -0
  186. package/dist/{edit-G2E5SNGU.js → edit-SIKOSSHF.js} +24 -25
  187. package/dist/{edit-VVLITC2E.js → edit-TD7QFM4Z.js} +36 -75
  188. package/dist/{edit-C4OCKQVU.js → edit-UNN3QTEJ.js} +3 -3
  189. package/dist/{edit-HTLLYECP.js → edit-WEUFBORT.js} +33 -35
  190. package/dist/{edit-KAKVPHZZ.js → edit-WN2Q3TOX.js} +4 -4
  191. package/dist/{edit-3E4ZO7HT.js → edit-ZGAOUZYP.js} +33 -35
  192. package/dist/{edit-522DG3BY.js → edit-ZOLSAIKF.js} +3 -3
  193. package/dist/{edit-OKU6FMHJ.js → edit-ZORE6RUD.js} +25 -26
  194. package/dist/{edit-budget-L3CCEWNF.js → edit-budget-D22WMVYR.js} +3 -3
  195. package/dist/{edit-inventory-item-ZKXXL3QK.js → edit-inventory-item-QMYWEBZ3.js} +3 -3
  196. package/dist/{edit-inventory-item-attributes-GSKUMORD.js → edit-inventory-item-attributes-HLG6JR6S.js} +3 -3
  197. package/dist/edit-price-F7ZWM3FN.js +197 -0
  198. package/dist/edit-stock-ITAZNHPU.js +230 -0
  199. package/dist/fulfillment-U2GRQ6DD.js +641 -0
  200. package/dist/{fulfillment-providers-G2L6LEVO.js → fulfillment-providers-CMU2JB5X.js} +39 -40
  201. package/dist/index.css +64 -33
  202. package/dist/index.js +334 -243
  203. package/dist/{offer-inventory-batch-page-BD6PMDLW.js → inventory-4JKLAZ2Q.js} +18 -18
  204. package/dist/{inventory-WSFLTA6Z.js → inventory-FKEXULLT.js} +8 -8
  205. package/dist/{invite-2673PU4I.js → invite-3R2CEWLN.js} +23 -24
  206. package/dist/{invite-HRXZ5YBP.js → invite-MNAX6EUC.js} +38 -39
  207. package/dist/loader-HTPUNIOS.js +34 -0
  208. package/dist/loader-MAAMUP2Z.js +33 -0
  209. package/dist/{locations-INS6FTMJ.js → locations-2VWSMWHL.js} +3 -3
  210. package/dist/login-YUWOWICV.js +39 -0
  211. package/dist/{manage-locations-XHH5DVIR.js → manage-locations-RWGDXXJQ.js} +3 -3
  212. package/dist/{media-J22P2DK4.js → media-P6WSFHY4.js} +31 -31
  213. package/dist/media-YB4G5CMV.js +316 -0
  214. package/dist/{metadata-Q74OJWUD.js → metadata-5Q6FLVX4.js} +27 -28
  215. package/dist/{metadata-D6M66NQK.js → metadata-6OYHLPLA.js} +25 -26
  216. package/dist/{metadata-YVHJPDLD.js → metadata-ADXGD4Y6.js} +25 -26
  217. package/dist/{metadata-REQIFWWH.js → metadata-J447GEBP.js} +27 -28
  218. package/dist/{metadata-NIDIBXJT.js → metadata-VTQ2CGZX.js} +27 -28
  219. package/dist/{offer-create-page-E4FLSDJQ.js → offer-create-page-ACPKTNHA.js} +244 -265
  220. package/dist/offer-detail-page-S4R4N5GL.js +584 -0
  221. package/dist/offer-variant-detail-page-XUMDXZUD.js +402 -0
  222. package/dist/offers-OTZJBW43.js +54 -0
  223. package/dist/{onboarding-MK2RIFD4.js → onboarding-TUGXFOA6.js} +23 -24
  224. package/dist/orders-PJSJNGZS.js +63 -0
  225. package/dist/{organization-XO3T2K2X.js → organization-YIOAVFHN.js} +26 -27
  226. package/dist/{organize-Z7JTTDH4.js → organize-BTA7NJD2.js} +4 -4
  227. package/dist/{organize-5XRZWD5C.js → organize-OWT5QSJR.js} +4 -4
  228. package/dist/pages/index.d.ts +232 -232
  229. package/dist/pages/index.js +81 -82
  230. package/dist/{payment-details-CFTX3QDL.js → payment-details-K2XFATEL.js} +24 -25
  231. package/dist/{payouts-7Q7D4FET.js → payouts-K5IDTJV3.js} +8 -8
  232. package/dist/{price-lists-6TFLA53G.js → price-lists-DNPIPDAW.js} +11 -11
  233. package/dist/{offer-pricing-edit-page-4TINK42V.js → pricing-5VUPPNKS.js} +21 -19
  234. package/dist/{pricing-ECXV6K7G.js → pricing-J5FIDZIY.js} +28 -29
  235. package/dist/{product-tags-5O7ZG6SA.js → product-tags-SJYIGXEV.js} +42 -42
  236. package/dist/{product-types-PKUEL7X5.js → product-types-4PTJW5DE.js} +8 -8
  237. package/dist/product-variant-detail-FO6J3RFA.js +371 -0
  238. package/dist/{product-variant-edit-WZNO4CQX.js → product-variant-edit-55TAIBZO.js} +45 -27
  239. package/dist/{products-BM3IIH5P.js → products-EQMANSO6.js} +39 -40
  240. package/dist/products-XM57LXJK.js +92 -0
  241. package/dist/{professional-details-ED4HNYXY.js → professional-details-WWZPTXSX.js} +24 -25
  242. package/dist/{profile-6TGCNNUU.js → profile-5IADQ727.js} +27 -28
  243. package/dist/{promotions-AZM7JQAJ.js → promotions-BYW6TZ5B.js} +10 -10
  244. package/dist/{receive-2GFZTVNC.js → receive-MTXKKPKZ.js} +62 -20
  245. package/dist/{refund-IGMSXQNX.js → refund-3IXGYA7W.js} +8 -8
  246. package/dist/{register-ADZCPWEV.js → register-U5PQZATC.js} +25 -26
  247. package/dist/{reset-password-RGWK33Q7.js → reset-password-SKUJJLSV.js} +3 -3
  248. package/dist/{return-reasons-QJRA2ZX6.js → return-reasons-QDPSIJG3.js} +16 -15
  249. package/dist/{sales-channels-U55MUDQP.js → sales-channels-GBSTCWVP.js} +10 -11
  250. package/dist/{sales-channels-CZDU7VTE.js → sales-channels-N4NE3FXP.js} +14 -15
  251. package/dist/{settings-2GCQQTO6.js → settings-ZUBBFS67.js} +49 -49
  252. package/dist/{shipment-HWQHMX2L.js → shipment-TKSCPC3M.js} +24 -25
  253. package/dist/shipping-DODEUYOQ.js +125 -0
  254. package/dist/{shipping-profile-ZP7M6VSS.js → shipping-profile-O4JMJLN7.js} +5 -9
  255. package/dist/shipping-profiles-4TJ4IH6U.js +46 -0
  256. package/dist/{stock-MQA7PRO6.js → stock-GYK2GHJN.js} +27 -28
  257. package/dist/{store-5ZHZR4JI.js → store-XWOALZ5Q.js} +34 -35
  258. package/dist/{store-closure-H5WHV3LA.js → store-closure-46B3XZ2I.js} +24 -25
  259. package/dist/{store-select-PZS556FB.js → store-select-E77E3ZY7.js} +24 -25
  260. package/dist/{tax-regions-HDLBFZVG.js → tax-regions-S2LFRTMP.js} +9 -9
  261. package/dist/{team-CLKJCZNH.js → team-N2C5JPSU.js} +35 -36
  262. package/package.json +12 -12
  263. package/dist/[id]-B4YZTANM.js +0 -1571
  264. package/dist/[id]-FE5GYYVZ.js +0 -481
  265. package/dist/allocate-items-TCM5A55Y.js +0 -548
  266. package/dist/attributes-SZP2MM5L.js +0 -278
  267. package/dist/breadcrumb-5NP23D6X.js +0 -34
  268. package/dist/breadcrumb-EVZIOB2G.js +0 -47
  269. package/dist/breadcrumb-TNJSGX4T.js +0 -48
  270. package/dist/chunk-27KRIXMQ.js +0 -71
  271. package/dist/chunk-BDZOSMAX.js +0 -23
  272. package/dist/chunk-CFRWIQIZ.js +0 -43
  273. package/dist/chunk-FP6U6BPH.js +0 -61
  274. package/dist/chunk-RXV7INUV.js +0 -426
  275. package/dist/chunk-T6LHVNWO.js +0 -27
  276. package/dist/collections-URH2TCWJ.js +0 -69
  277. package/dist/create-7R6CZU53.js +0 -215
  278. package/dist/create-Z5VPBELS.js +0 -76
  279. package/dist/edit-GQNIINRR.js +0 -192
  280. package/dist/edit-XSICGAVO.js +0 -176
  281. package/dist/fulfillment-76IVZ266.js +0 -567
  282. package/dist/loader-VDYPD3RI.js +0 -31
  283. package/dist/login-TWUBU6I6.js +0 -40
  284. package/dist/metadata-5BPOBBU2.js +0 -45
  285. package/dist/offer-detail-page-6SIBQTLP.js +0 -492
  286. package/dist/offer-edit-page-3MO566RP.js +0 -151
  287. package/dist/offers-GVN5LCK6.js +0 -32
  288. package/dist/orders-TVQDR4OJ.js +0 -64
  289. package/dist/product-variant-detail-PUWOMVHQ.js +0 -210
  290. package/dist/products-XE5YPQ66.js +0 -93
  291. package/dist/shipping-profiles-C5WBXWZ2.js +0 -47
@@ -0,0 +1,685 @@
1
+ import {
2
+ getFulfillableQuantity
3
+ } from "./chunk-RXM4B6HR.js";
4
+ import {
5
+ getReservationsLimitCount
6
+ } from "./chunk-EEBJYXWA.js";
7
+ import "./chunk-TKGWSUEI.js";
8
+ import {
9
+ KeyboundForm
10
+ } from "./chunk-SITRHMZZ.js";
11
+ import {
12
+ RouteFocusModal,
13
+ useRouteModal
14
+ } from "./chunk-GDWBOQI5.js";
15
+ import {
16
+ Form
17
+ } from "./chunk-3QSRE5LS.js";
18
+ import {
19
+ Thumbnail
20
+ } from "./chunk-WIYFXWRI.js";
21
+ import {
22
+ useStockLocations
23
+ } from "./chunk-ZQCCVCHB.js";
24
+ import {
25
+ ordersQueryKeys,
26
+ useCreateReservationItem,
27
+ useOrder,
28
+ useReservationItems
29
+ } from "./chunk-6FDPVW7Y.js";
30
+ import "./chunk-G6YNCIVF.js";
31
+ import "./chunk-A5DJIOHN.js";
32
+ import {
33
+ queryClient
34
+ } from "./chunk-RHKRREUU.js";
35
+ import "./chunk-ZA2KFUFR.js";
36
+ import "./chunk-LXZXXOJ3.js";
37
+ import "./chunk-NBMM2TZK.js";
38
+
39
+ // src/pages/orders/[id]/allocate-items/index.tsx
40
+ import { useParams } from "react-router-dom";
41
+
42
+ // src/pages/orders/[id]/allocate-items/order-create-fulfillment-form/order-allocate-items-form.tsx
43
+ import { zodResolver } from "@hookform/resolvers/zod";
44
+ import { useEffect, useMemo as useMemo2, useState as useState2 } from "react";
45
+ import { useTranslation as useTranslation2 } from "react-i18next";
46
+ import { Alert, Button, Heading, Input as Input2, Select, toast } from "@medusajs/ui";
47
+ import { useForm, useWatch as useWatch2 } from "react-hook-form";
48
+
49
+ // src/pages/orders/[id]/allocate-items/order-create-fulfillment-form/constants.ts
50
+ import { z } from "zod";
51
+ var AllocateItemsSchema = z.object({
52
+ location_id: z.string(),
53
+ quantity: z.record(z.string(), z.number().or(z.string())),
54
+ // Keyed by line item id. Defaults to selected; deselected items are
55
+ // excluded from the allocation payload.
56
+ selected: z.record(z.string(), z.boolean())
57
+ });
58
+
59
+ // src/pages/orders/[id]/allocate-items/order-create-fulfillment-form/order-allocate-items-item.tsx
60
+ import { useMemo, useState } from "react";
61
+ import { useTranslation } from "react-i18next";
62
+ import {
63
+ Component,
64
+ ExclamationCircleSolid,
65
+ TriangleDownMini
66
+ } from "@medusajs/icons";
67
+ import { useWatch } from "react-hook-form";
68
+ import { Checkbox, Input, Text, clx } from "@medusajs/ui";
69
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
70
+ var resolveInventoryItemId = (link) => link.inventory_item?.id ?? link.inventory_item_id ?? null;
71
+ function OrderAllocateItemsItem({
72
+ item,
73
+ form,
74
+ locationId,
75
+ onQuantityChange,
76
+ onToggleSelected
77
+ }) {
78
+ const { t } = useTranslation();
79
+ const inventoryLinks = item.offer?.inventory_item_link ?? [];
80
+ const [isOpen, setIsOpen] = useState(false);
81
+ const quantityField = useWatch({
82
+ control: form.control,
83
+ name: "quantity"
84
+ });
85
+ const isSelected = useWatch({
86
+ control: form.control,
87
+ name: `selected.${item.id}`
88
+ }) !== false;
89
+ const hasInventoryKit = inventoryLinks.length > 1;
90
+ const firstLink = inventoryLinks[0];
91
+ const firstLinkId = firstLink ? resolveInventoryItemId(firstLink) : null;
92
+ const { availableQuantity, inStockQuantity } = useMemo(() => {
93
+ if (!firstLink || !locationId) {
94
+ return {};
95
+ }
96
+ const locationInventory = firstLink.inventory_item?.location_levels?.find(
97
+ (inv) => inv.location_id === locationId
98
+ );
99
+ if (!locationInventory) {
100
+ return {};
101
+ }
102
+ return {
103
+ availableQuantity: locationInventory.available_quantity,
104
+ inStockQuantity: locationInventory.stocked_quantity
105
+ };
106
+ }, [firstLink, locationId]);
107
+ const hasQuantityError = !hasInventoryKit && availableQuantity && firstLinkId && quantityField[`${item.id}-${firstLinkId}`] && Number(quantityField[`${item.id}-${firstLinkId}`]) > availableQuantity;
108
+ const minValue = 0;
109
+ const maxValue = Math.min(
110
+ getFulfillableQuantity(item) ?? 0,
111
+ availableQuantity || Number.MAX_SAFE_INTEGER
112
+ );
113
+ return /* @__PURE__ */ jsxs(
114
+ "div",
115
+ {
116
+ className: clx(
117
+ "bg-ui-bg-subtle shadow-elevation-card-rest min-w-[720px] divide-y divide-dashed rounded-xl",
118
+ !isSelected && "opacity-60"
119
+ ),
120
+ children: [
121
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-x-3 p-3 text-sm", children: [
122
+ /* @__PURE__ */ jsx(
123
+ Checkbox,
124
+ {
125
+ checked: isSelected,
126
+ onCheckedChange: (value) => onToggleSelected(item.id, value === true),
127
+ "data-testid": `allocate-item-${item.id}-checkbox`
128
+ }
129
+ ),
130
+ /* @__PURE__ */ jsx("div", { className: "flex flex-1 items-center", children: /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-x-3", children: [
131
+ hasQuantityError && /* @__PURE__ */ jsx(ExclamationCircleSolid, { className: "text-ui-fg-error" }),
132
+ /* @__PURE__ */ jsx(Thumbnail, { src: item.thumbnail }),
133
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-col", children: [
134
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-row items-center gap-x-1", children: [
135
+ /* @__PURE__ */ jsx(Text, { size: "small", weight: "plus", as: "span", children: item.product_title }),
136
+ (item.offer?.sku ?? item.variant_sku) && /* @__PURE__ */ jsxs(
137
+ Text,
138
+ {
139
+ size: "small",
140
+ weight: "plus",
141
+ as: "span",
142
+ className: "text-ui-fg-subtle",
143
+ children: [
144
+ "(",
145
+ item.offer?.sku ?? item.variant_sku,
146
+ ")"
147
+ ]
148
+ }
149
+ ),
150
+ hasInventoryKit && /* @__PURE__ */ jsx(Component, { className: "text-ui-fg-muted ml-1 overflow-visible" })
151
+ ] }),
152
+ /* @__PURE__ */ jsx(Text, { as: "div", className: "text-ui-fg-subtle txt-small", children: item.title })
153
+ ] })
154
+ ] }) }),
155
+ /* @__PURE__ */ jsxs(
156
+ "div",
157
+ {
158
+ className: clx(
159
+ "flex flex-1 items-center gap-x-3",
160
+ hasInventoryKit ? "justify-end" : "justify-between"
161
+ ),
162
+ children: [
163
+ !hasInventoryKit && /* @__PURE__ */ jsxs(Fragment, { children: [
164
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3", children: [
165
+ /* @__PURE__ */ jsx("div", { className: "bg-ui-border-strong block h-[12px] w-[1px]" }),
166
+ /* @__PURE__ */ jsxs("div", { className: "txt-small flex flex-col", children: [
167
+ /* @__PURE__ */ jsx("span", { className: "text-ui-fg-subtle font-medium", children: t("labels.available") }),
168
+ /* @__PURE__ */ jsxs("span", { className: "text-ui-fg-muted", children: [
169
+ availableQuantity || "-",
170
+ availableQuantity && !hasInventoryKit && firstLinkId && quantityField[`${item.id}-${firstLinkId}`] && /* @__PURE__ */ jsxs("span", { className: "text-ui-fg-error txt-small ml-1", children: [
171
+ "-",
172
+ quantityField[`${item.id}-${firstLinkId}`]
173
+ ] })
174
+ ] })
175
+ ] })
176
+ ] }),
177
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3", children: [
178
+ /* @__PURE__ */ jsx("div", { className: "bg-ui-border-strong block h-[12px] w-[1px]" }),
179
+ /* @__PURE__ */ jsxs("div", { className: "txt-small flex flex-col", children: [
180
+ /* @__PURE__ */ jsx("span", { className: "text-ui-fg-subtle font-medium", children: t("labels.inStock") }),
181
+ /* @__PURE__ */ jsx("span", { className: "text-ui-fg-muted", children: inStockQuantity || "-" })
182
+ ] })
183
+ ] })
184
+ ] }),
185
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3", children: [
186
+ /* @__PURE__ */ jsx("div", { className: "bg-ui-border-strong block h-[12px] w-[1px]" }),
187
+ /* @__PURE__ */ jsxs("div", { className: "text-ui-fg-subtle txt-small mr-2 flex flex-row items-center gap-2", children: [
188
+ /* @__PURE__ */ jsx(
189
+ Form.Field,
190
+ {
191
+ control: form.control,
192
+ name: hasInventoryKit && firstLinkId ? `quantity.${item.id}-` : `quantity.${item.id}-${firstLinkId ?? ""}`,
193
+ rules: {
194
+ required: !hasInventoryKit,
195
+ min: !hasInventoryKit ? minValue : void 0,
196
+ max: maxValue > 0 ? maxValue : void 0
197
+ },
198
+ render: ({ field }) => {
199
+ return /* @__PURE__ */ jsx(Form.Item, { children: /* @__PURE__ */ jsx(Form.Control, { children: /* @__PURE__ */ jsx(
200
+ Input,
201
+ {
202
+ className: "bg-ui-bg-base txt-small w-[46px] rounded-lg text-right [appearance:textfield] [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none",
203
+ type: "number",
204
+ ...field,
205
+ disabled: !locationId || !isSelected,
206
+ onChange: (e) => {
207
+ const val = e.target.value === "" ? null : Number(e.target.value);
208
+ if (firstLink) {
209
+ onQuantityChange(
210
+ firstLink,
211
+ item,
212
+ hasInventoryKit,
213
+ val,
214
+ true
215
+ );
216
+ }
217
+ }
218
+ }
219
+ ) }) });
220
+ }
221
+ }
222
+ ),
223
+ " ",
224
+ "/ ",
225
+ item.quantity,
226
+ " ",
227
+ t("fields.qty")
228
+ ] })
229
+ ] })
230
+ ]
231
+ }
232
+ )
233
+ ] }),
234
+ hasInventoryKit && /* @__PURE__ */ jsx("div", { className: "px-4 py-2", children: /* @__PURE__ */ jsxs(
235
+ "div",
236
+ {
237
+ onClick: () => setIsOpen((o) => !o),
238
+ className: "flex items-center gap-x-2",
239
+ children: [
240
+ /* @__PURE__ */ jsx(
241
+ TriangleDownMini,
242
+ {
243
+ style: { transform: `rotate(${isOpen ? -90 : 0}deg)` },
244
+ className: "text-ui-fg-muted -mt-[1px]"
245
+ }
246
+ ),
247
+ /* @__PURE__ */ jsx("span", { className: "txt-small text-ui-fg-muted cursor-pointer", children: t("orders.allocateItems.consistsOf", {
248
+ num: inventoryLinks.length
249
+ }) })
250
+ ]
251
+ }
252
+ ) }),
253
+ isOpen && inventoryLinks.map((link, ind) => {
254
+ const inventoryItemId = resolveInventoryItemId(link);
255
+ const location = link.inventory_item?.location_levels?.find(
256
+ (l) => l.location_id === locationId
257
+ );
258
+ const required = link.required_quantity ?? 1;
259
+ const quantityKey = `${item.id}-${inventoryItemId ?? ""}`;
260
+ const childHasError = !!quantityField[quantityKey] && location && Number(quantityField[quantityKey]) > (location.available_quantity ?? 0);
261
+ return /* @__PURE__ */ jsxs(
262
+ "div",
263
+ {
264
+ className: "txt-small flex items-center gap-x-3 p-4",
265
+ children: [
266
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-1 flex-row items-center gap-3", children: [
267
+ childHasError && /* @__PURE__ */ jsx(ExclamationCircleSolid, { className: "text-ui-fg-error" }),
268
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-col", children: [
269
+ /* @__PURE__ */ jsx("span", { className: "text-ui-fg-subtle", children: link.inventory_item?.title ?? link.inventory_item?.sku ?? `Inventory Item ${ind + 1}` }),
270
+ /* @__PURE__ */ jsx("span", { className: "text-ui-fg-muted", children: t("orders.allocateItems.requires", {
271
+ num: required
272
+ }) })
273
+ ] })
274
+ ] }),
275
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-1 flex-row justify-between", children: [
276
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3", children: [
277
+ /* @__PURE__ */ jsx("div", { className: "bg-ui-border-strong block h-[12px] w-[1px]" }),
278
+ /* @__PURE__ */ jsxs("div", { className: "txt-small flex flex-col", children: [
279
+ /* @__PURE__ */ jsx("span", { className: "text-ui-fg-subtle font-medium", children: t("labels.available") }),
280
+ /* @__PURE__ */ jsxs("span", { className: "text-ui-fg-muted", children: [
281
+ location?.available_quantity || "-",
282
+ location?.available_quantity && quantityField[quantityKey] && /* @__PURE__ */ jsxs("span", { className: "text-ui-fg-error txt-small ml-1", children: [
283
+ "-",
284
+ quantityField[quantityKey]
285
+ ] })
286
+ ] })
287
+ ] })
288
+ ] }),
289
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3", children: [
290
+ /* @__PURE__ */ jsx("div", { className: "bg-ui-border-strong block h-[12px] w-[1px]" }),
291
+ /* @__PURE__ */ jsxs("div", { className: "txt-small flex flex-col", children: [
292
+ /* @__PURE__ */ jsx("span", { className: "text-ui-fg-subtle font-medium", children: t("labels.inStock") }),
293
+ /* @__PURE__ */ jsx("span", { className: "text-ui-fg-muted", children: location?.stocked_quantity || "-" })
294
+ ] })
295
+ ] }),
296
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3", children: [
297
+ /* @__PURE__ */ jsx("div", { className: "bg-ui-border-strong block h-[12px] w-[1px]" }),
298
+ /* @__PURE__ */ jsxs("div", { className: "text-ui-fg-subtle txt-small mr-1 flex flex-row items-center gap-2", children: [
299
+ /* @__PURE__ */ jsx(
300
+ Form.Field,
301
+ {
302
+ control: form.control,
303
+ name: `quantity.${item.id}-${inventoryItemId ?? ""}`,
304
+ rules: {
305
+ required: true,
306
+ min: 0,
307
+ max: location?.available_quantity ?? void 0
308
+ },
309
+ render: ({ field }) => {
310
+ return /* @__PURE__ */ jsx(Form.Item, { children: /* @__PURE__ */ jsx(Form.Control, { children: /* @__PURE__ */ jsx(
311
+ Input,
312
+ {
313
+ className: "bg-ui-bg-base txt-small w-[46px] rounded-lg text-right [appearance:textfield] [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none",
314
+ type: "number",
315
+ ...field,
316
+ disabled: !locationId || !isSelected,
317
+ onChange: (e) => {
318
+ const val = e.target.value === "" ? null : Number(e.target.value);
319
+ onQuantityChange(
320
+ link,
321
+ item,
322
+ hasInventoryKit,
323
+ val
324
+ );
325
+ }
326
+ }
327
+ ) }) });
328
+ }
329
+ }
330
+ ),
331
+ "/ ",
332
+ item.quantity * required,
333
+ " ",
334
+ t("fields.qty")
335
+ ] })
336
+ ] })
337
+ ] })
338
+ ]
339
+ },
340
+ link.id ?? inventoryItemId ?? `link-${ind}`
341
+ );
342
+ })
343
+ ]
344
+ }
345
+ );
346
+ }
347
+
348
+ // src/pages/orders/[id]/allocate-items/order-create-fulfillment-form/utils.ts
349
+ function getAllocatableItems(items, reservations) {
350
+ const reserved = new Set(
351
+ reservations.map((r) => r.line_item_id).filter((id) => !!id)
352
+ );
353
+ return items.filter(
354
+ (item) => !!item.offer?.inventory_item_link?.length && item.quantity - (item.detail?.fulfilled_quantity ?? 0) > 0 && !reserved.has(item.id)
355
+ );
356
+ }
357
+ function buildAllocationPayload(quantity, selected) {
358
+ const rows = Object.entries(quantity).filter(([key]) => !key.endsWith("-")).map(([key, value]) => {
359
+ const separatorIndex = key.indexOf("-");
360
+ return {
361
+ lineItemId: key.slice(0, separatorIndex),
362
+ inventoryItemId: key.slice(separatorIndex + 1),
363
+ value
364
+ };
365
+ }).filter((row) => selected[row.lineItemId] !== false);
366
+ if (rows.length === 0) {
367
+ return { ok: false, reason: "no-items" };
368
+ }
369
+ const items = [];
370
+ for (const row of rows) {
371
+ if (row.value === "" || row.value === null || row.value === void 0) {
372
+ return { ok: false, reason: "invalid-quantity" };
373
+ }
374
+ const quantityNumber = Number(row.value);
375
+ if (!Number.isFinite(quantityNumber) || quantityNumber <= 0) {
376
+ return { ok: false, reason: "invalid-quantity" };
377
+ }
378
+ items.push({
379
+ line_item_id: row.lineItemId,
380
+ inventory_item_id: row.inventoryItemId,
381
+ quantity: quantityNumber
382
+ });
383
+ }
384
+ return { ok: true, items };
385
+ }
386
+
387
+ // src/pages/orders/[id]/allocate-items/order-create-fulfillment-form/order-allocate-items-form.tsx
388
+ import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
389
+ function OrderAllocateItemsForm({ order }) {
390
+ const { t } = useTranslation2();
391
+ const { handleSuccess } = useRouteModal();
392
+ const [disableSubmit, setDisableSubmit] = useState2(false);
393
+ const [filterTerm, setFilterTerm] = useState2("");
394
+ const { mutateAsync: allocateItems, isPending: isMutating } = useCreateReservationItem();
395
+ const { reservations } = useReservationItems(
396
+ {
397
+ line_item_id: order?.items?.map((i) => i.id),
398
+ limit: getReservationsLimitCount(order)
399
+ },
400
+ { enabled: Array.isArray(order?.items) }
401
+ );
402
+ const itemsToAllocate = useMemo2(
403
+ () => getAllocatableItems(
404
+ order.items,
405
+ reservations ?? []
406
+ ),
407
+ [order.items, reservations]
408
+ );
409
+ const filteredItems = useMemo2(() => {
410
+ return itemsToAllocate.filter(
411
+ (i) => i.variant_title?.toLowerCase().includes(filterTerm) || i.product_title?.toLowerCase().includes(filterTerm)
412
+ );
413
+ }, [itemsToAllocate, filterTerm]);
414
+ const form = useForm({
415
+ defaultValues: {
416
+ location_id: "",
417
+ quantity: defaultAllocations(itemsToAllocate),
418
+ selected: defaultSelected(itemsToAllocate)
419
+ },
420
+ resolver: zodResolver(AllocateItemsSchema)
421
+ });
422
+ const { stock_locations = [] } = useStockLocations();
423
+ const handleSubmit = form.handleSubmit(async (data) => {
424
+ try {
425
+ const result = buildAllocationPayload(data.quantity, data.selected);
426
+ if (!result.ok) {
427
+ form.setError("root.quantityNotAllocated", {
428
+ type: "manual",
429
+ message: result.reason === "no-items" ? t("orders.allocateItems.error.noItemsSelected") : t("orders.allocateItems.error.quantityNotAllocated")
430
+ });
431
+ return;
432
+ }
433
+ const allocatableIds = new Set(itemsToAllocate.map((i) => i.id));
434
+ const allocations = result.items.filter(
435
+ (item) => allocatableIds.has(item.line_item_id)
436
+ );
437
+ if (allocations.length === 0) {
438
+ form.setError("root.quantityNotAllocated", {
439
+ type: "manual",
440
+ message: t("orders.allocateItems.error.noItemsSelected")
441
+ });
442
+ return;
443
+ }
444
+ const promises = allocations.map(
445
+ (item) => allocateItems({
446
+ location_id: data.location_id,
447
+ inventory_item_id: item.inventory_item_id,
448
+ line_item_id: item.line_item_id,
449
+ quantity: item.quantity
450
+ })
451
+ );
452
+ await Promise.all(promises);
453
+ await queryClient.invalidateQueries({
454
+ queryKey: ordersQueryKeys.details()
455
+ });
456
+ handleSuccess(`/orders/${order.id}`);
457
+ toast.success(t("general.success"), {
458
+ description: t("orders.allocateItems.toast.created")
459
+ });
460
+ } catch (e) {
461
+ toast.error(t("general.error"), {
462
+ description: e instanceof Error ? e.message : "An unknown error occurred"
463
+ });
464
+ }
465
+ });
466
+ const onToggleSelected = (itemId, checked) => {
467
+ form.setValue(`selected.${itemId}`, checked);
468
+ form.clearErrors("root.quantityNotAllocated");
469
+ };
470
+ const onQuantityChange = (link, lineItem, hasInventoryKit, value, isRoot) => {
471
+ let shouldDisableSubmit = false;
472
+ const inventoryItemId = resolveInventoryItemId2(link);
473
+ const key = isRoot && hasInventoryKit ? `quantity.${lineItem.id}-` : `quantity.${lineItem.id}-${inventoryItemId ?? ""}`;
474
+ form.setValue(key, value ?? "");
475
+ const levels = link.inventory_item?.location_levels;
476
+ if (value && levels) {
477
+ const location = levels.find((l) => l.location_id === selectedLocationId);
478
+ if (location && (location.available_quantity ?? 0) < value) {
479
+ shouldDisableSubmit = true;
480
+ }
481
+ }
482
+ if (hasInventoryKit && !isRoot) {
483
+ form.resetField(`quantity.${lineItem.id}-`, { defaultValue: "" });
484
+ }
485
+ if (hasInventoryKit && isRoot) {
486
+ const item = itemsToAllocate.find((i) => i.id === lineItem.id);
487
+ if (!item || !item.offer?.inventory_item_link) return;
488
+ item.offer.inventory_item_link.forEach((childLink) => {
489
+ const num = value || 0;
490
+ const childInventoryItemId = resolveInventoryItemId2(childLink);
491
+ if (!childInventoryItemId) return;
492
+ const required = childLink.required_quantity ?? 1;
493
+ form.setValue(
494
+ `quantity.${lineItem.id}-${childInventoryItemId}`,
495
+ num * required
496
+ );
497
+ const childLevels = childLink.inventory_item?.location_levels;
498
+ if (value && childLevels) {
499
+ const location = childLevels.find(
500
+ (l) => l.location_id === selectedLocationId
501
+ );
502
+ if (location && (location.available_quantity ?? 0) < num * required) {
503
+ shouldDisableSubmit = true;
504
+ }
505
+ }
506
+ });
507
+ }
508
+ form.clearErrors("root.quantityNotAllocated");
509
+ setDisableSubmit(shouldDisableSubmit);
510
+ };
511
+ const selectedLocationId = useWatch2({
512
+ name: "location_id",
513
+ control: form.control
514
+ });
515
+ useEffect(() => {
516
+ if (selectedLocationId) {
517
+ form.setValue(
518
+ "quantity",
519
+ defaultAllocations(itemsToAllocate, selectedLocationId)
520
+ );
521
+ }
522
+ }, [
523
+ selectedLocationId,
524
+ form,
525
+ itemsToAllocate
526
+ ]);
527
+ const allocationError = form.formState.errors?.root?.quantityNotAllocated?.message;
528
+ return /* @__PURE__ */ jsx2(RouteFocusModal.Form, { form, children: /* @__PURE__ */ jsxs2(
529
+ KeyboundForm,
530
+ {
531
+ onSubmit: handleSubmit,
532
+ className: "flex h-full flex-col overflow-hidden",
533
+ children: [
534
+ /* @__PURE__ */ jsx2(RouteFocusModal.Header, {}),
535
+ /* @__PURE__ */ jsx2(RouteFocusModal.Body, { className: "flex h-full w-full flex-col items-center divide-y overflow-y-auto", children: /* @__PURE__ */ jsx2("div", { className: "flex size-full flex-col items-center overflow-auto p-16", children: /* @__PURE__ */ jsx2("div", { className: "flex w-full max-w-[736px] flex-col justify-center px-2 pb-2", children: /* @__PURE__ */ jsxs2("div", { className: "flex flex-col gap-8 divide-y divide-dashed", children: [
536
+ /* @__PURE__ */ jsx2(Heading, { children: t("orders.allocateItems.title") }),
537
+ /* @__PURE__ */ jsxs2("div", { className: "flex-1 divide-y divide-dashed pt-8", children: [
538
+ /* @__PURE__ */ jsx2(
539
+ Form.Field,
540
+ {
541
+ control: form.control,
542
+ name: "location_id",
543
+ render: ({ field: { onChange, ref, ...field } }) => {
544
+ return /* @__PURE__ */ jsxs2(Form.Item, { children: [
545
+ /* @__PURE__ */ jsxs2("div", { className: "flex items-center gap-3", children: [
546
+ /* @__PURE__ */ jsxs2("div", { className: "flex-1", children: [
547
+ /* @__PURE__ */ jsx2(Form.Label, { children: t("fields.location") }),
548
+ /* @__PURE__ */ jsx2(Form.Hint, { children: t("orders.allocateItems.locationDescription") })
549
+ ] }),
550
+ /* @__PURE__ */ jsx2("div", { className: "flex-1", children: /* @__PURE__ */ jsx2(Form.Control, { children: /* @__PURE__ */ jsxs2(Select, { onValueChange: onChange, ...field, children: [
551
+ /* @__PURE__ */ jsx2(
552
+ Select.Trigger,
553
+ {
554
+ className: "bg-ui-bg-base",
555
+ ref,
556
+ children: /* @__PURE__ */ jsx2(Select.Value, {})
557
+ }
558
+ ),
559
+ /* @__PURE__ */ jsx2(Select.Content, { children: stock_locations.map((l) => /* @__PURE__ */ jsx2(Select.Item, { value: l.id, children: l.name }, l.id)) })
560
+ ] }) }) })
561
+ ] }),
562
+ /* @__PURE__ */ jsx2(Form.ErrorMessage, {})
563
+ ] });
564
+ }
565
+ }
566
+ ),
567
+ /* @__PURE__ */ jsxs2(Form.Item, { className: "mt-8 pt-8", children: [
568
+ /* @__PURE__ */ jsxs2("div", { className: "flex flex-row items-center", children: [
569
+ /* @__PURE__ */ jsxs2("div", { className: "flex-1", children: [
570
+ /* @__PURE__ */ jsx2(Form.Label, { children: t("orders.allocateItems.itemsToAllocate") }),
571
+ /* @__PURE__ */ jsx2(Form.Hint, { children: t("orders.allocateItems.itemsToAllocateDesc") })
572
+ ] }),
573
+ /* @__PURE__ */ jsx2("div", { className: "flex-1", children: /* @__PURE__ */ jsx2(
574
+ Input2,
575
+ {
576
+ value: filterTerm,
577
+ onChange: (e) => setFilterTerm(e.target.value),
578
+ placeholder: t("orders.allocateItems.search"),
579
+ autoComplete: "off",
580
+ type: "search"
581
+ }
582
+ ) })
583
+ ] }),
584
+ allocationError && /* @__PURE__ */ jsx2(Alert, { className: "mb-4", dismissible: true, variant: "error", children: allocationError }),
585
+ /* @__PURE__ */ jsx2("div", { className: "flex flex-col gap-y-2", children: filteredItems.map((item) => /* @__PURE__ */ jsx2(
586
+ OrderAllocateItemsItem,
587
+ {
588
+ form,
589
+ item,
590
+ locationId: selectedLocationId,
591
+ onQuantityChange,
592
+ onToggleSelected
593
+ },
594
+ item.id
595
+ )) })
596
+ ] })
597
+ ] })
598
+ ] }) }) }) }),
599
+ /* @__PURE__ */ jsx2(RouteFocusModal.Footer, { children: /* @__PURE__ */ jsxs2("div", { className: "flex items-center justify-end gap-x-2", children: [
600
+ /* @__PURE__ */ jsx2(RouteFocusModal.Close, { asChild: true, children: /* @__PURE__ */ jsx2(Button, { size: "small", variant: "secondary", children: t("actions.cancel") }) }),
601
+ /* @__PURE__ */ jsx2(
602
+ Button,
603
+ {
604
+ size: "small",
605
+ type: "submit",
606
+ isLoading: isMutating,
607
+ disabled: !selectedLocationId || disableSubmit,
608
+ children: t("orders.allocateItems.action")
609
+ }
610
+ )
611
+ ] }) })
612
+ ]
613
+ }
614
+ ) });
615
+ }
616
+ var resolveInventoryItemId2 = (link) => link.inventory_item?.id ?? link.inventory_item_id ?? null;
617
+ var clampToAvailable = (desired, link, locationId) => {
618
+ if (!locationId) {
619
+ return desired;
620
+ }
621
+ const level = link.inventory_item?.location_levels?.find(
622
+ (l) => l.location_id === locationId
623
+ );
624
+ const available = level?.available_quantity ?? Number.MAX_SAFE_INTEGER;
625
+ return Math.max(0, Math.min(desired, available));
626
+ };
627
+ function defaultAllocations(items, locationId) {
628
+ const ret = {};
629
+ items.forEach((item) => {
630
+ const links = item.offer?.inventory_item_link ?? [];
631
+ const hasInventoryKit = links.length > 1;
632
+ const firstLink = links[0];
633
+ const firstInventoryItemId = resolveInventoryItemId2(firstLink ?? {});
634
+ const fulfillable = getFulfillableQuantity(
635
+ item
636
+ );
637
+ if (hasInventoryKit) {
638
+ ret[`${item.id}-`] = fulfillable;
639
+ links.forEach((link) => {
640
+ const id = resolveInventoryItemId2(link);
641
+ if (!id) return;
642
+ const required = link.required_quantity ?? 1;
643
+ ret[`${item.id}-${id}`] = clampToAvailable(
644
+ fulfillable * required,
645
+ link,
646
+ locationId
647
+ );
648
+ });
649
+ } else {
650
+ ret[`${item.id}-${firstInventoryItemId ?? ""}`] = clampToAvailable(
651
+ fulfillable,
652
+ firstLink ?? {},
653
+ locationId
654
+ );
655
+ }
656
+ });
657
+ return ret;
658
+ }
659
+ function defaultSelected(items) {
660
+ const ret = {};
661
+ items.forEach((item) => {
662
+ ret[item.id] = true;
663
+ });
664
+ return ret;
665
+ }
666
+
667
+ // src/pages/orders/[id]/allocate-items/index.tsx
668
+ import { jsx as jsx3 } from "react/jsx-runtime";
669
+ var Component2 = () => {
670
+ const { id } = useParams();
671
+ const { order, isLoading, isError, error } = useOrder(id, {
672
+ // `*foo,*foo.bar` or `+foo.bar.baz` makes Medusa's query parser try
673
+ // to look up a literal property `*items` / `+items` on Order and
674
+ // 500. Use `<rel>.*` plus bare scalar names.
675
+ fields: "currency_code,items.*,items.variant.*,items.variant.product.title,items.offer.*,items.offer.inventory_item_link.*,items.offer.inventory_item_link.required_quantity,items.offer.inventory_item_link.inventory_item.*,items.offer.inventory_item_link.inventory_item.location_levels.*,shipping_address.*"
676
+ });
677
+ if (isError) {
678
+ throw error;
679
+ }
680
+ const ready = !isLoading && order;
681
+ return /* @__PURE__ */ jsx3(RouteFocusModal, { children: ready && /* @__PURE__ */ jsx3(OrderAllocateItemsForm, { order }) });
682
+ };
683
+ export {
684
+ Component2 as Component
685
+ };