@mercurjs/vendor 2.2.0-canary.9 → 2.2.0-rc.1

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 (306) hide show
  1. package/dist/{[id]-YPCO3DJV.js → [id]-2LOU4IGP.js} +31 -13
  2. package/dist/{[id]-GC3ZYPK4.js → [id]-6K5OJU5T.js} +35 -35
  3. package/dist/{[id]-ZCMSBEVM.js → [id]-6RTJXOT5.js} +8 -7
  4. package/dist/[id]-7T4JCGCZ.js +639 -0
  5. package/dist/{[id]-QQU5HVFU.js → [id]-BMW6PEZT.js} +42 -42
  6. package/dist/[id]-FN47ZDW5.js +515 -0
  7. package/dist/{[id]-A55T2ORL.js → [id]-KTJU7CRX.js} +432 -390
  8. package/dist/{[id]-T5ECVBPF.js → [id]-NUH6WK7Y.js} +100 -60
  9. package/dist/{[id]-J6BZG5PU.js → [id]-RRWUTLTP.js} +145 -47
  10. package/dist/{[id]-FWCX5PTI.js → [id]-TJF2WSOF.js} +148 -59
  11. package/dist/{[id]-SHAJTJNZ.js → [id]-UWBLKWZI.js} +57 -56
  12. package/dist/[id]-VWIZD2JL.js +477 -0
  13. package/dist/[id]-XRSZYRKI.js +997 -0
  14. package/dist/{[id]-BC7IKQTQ.js → [id]-YIP2TDVC.js} +130 -52
  15. package/dist/{[location_id]-NUBXDDJC.js → [location_id]-TUAKRLYQ.js} +17 -16
  16. package/dist/{[province_id]-6GUA4PV5.js → [province_id]-6VYYS4DZ.js} +34 -34
  17. package/dist/{add-RU3WL4YB.js → add-KB477RH5.js} +65 -31
  18. package/dist/{add-NTRYWOJF.js → add-NSLA2RT7.js} +64 -61
  19. package/dist/{add-customer-groups-U5RZWW4B.js → add-customer-groups-PB4LCA5E.js} +43 -42
  20. package/dist/{add-products-Q4MMDQKT.js → add-products-O72MJ3N2.js} +38 -40
  21. package/dist/{add-promotions-KD2CWQPF.js → add-promotions-6X7N3DTU.js} +17 -17
  22. package/dist/{add-to-campaign-QKYQCSR2.js → add-to-campaign-7WAUGNNI.js} +6 -6
  23. package/dist/{address-77Y3AOQ3.js → address-ZR4EM2QA.js} +42 -31
  24. package/dist/{adjust-inventory-AFJLWF5R.js → adjust-inventory-P4X6PFKW.js} +4 -4
  25. package/dist/allocate-items-NSQOU2QJ.js +685 -0
  26. package/dist/{areas-XUC5V5UO.js → areas-N4ORDJTD.js} +13 -13
  27. package/dist/attributes-DRC3WYY6.js +353 -0
  28. package/dist/{breadcrumb-IK6XCQOQ.js → breadcrumb-4YT6FRUQ.js} +4 -4
  29. package/dist/{breadcrumb-KTARIL65.js → breadcrumb-BKBSL3PC.js} +4 -4
  30. package/dist/breadcrumb-ETWGVI34.js +28 -0
  31. package/dist/{breadcrumb-YBBYFQYG.js → breadcrumb-F4N5CPRD.js} +2 -2
  32. package/dist/{breadcrumb-FPWBT76A.js → breadcrumb-JGDD7EHO.js} +3 -3
  33. package/dist/breadcrumb-JWDW3P6C.js +46 -0
  34. package/dist/{breadcrumb-PBR27GGX.js → breadcrumb-KKWNLFMC.js} +4 -4
  35. package/dist/{breadcrumb-3Z7KZG62.js → breadcrumb-LEFHXFLT.js} +3 -3
  36. package/dist/{breadcrumb-D3UDTWGE.js → breadcrumb-MOA2DBOE.js} +2 -2
  37. package/dist/{breadcrumb-UAUX7XCV.js → breadcrumb-PJOTRHG7.js} +5 -3
  38. package/dist/breadcrumb-PYLGF3AN.js +47 -0
  39. package/dist/{breadcrumb-2XA2WOK7.js → breadcrumb-TO45VBVD.js} +2 -2
  40. package/dist/{breadcrumb-F3BN5753.js → breadcrumb-UEUUMDIY.js} +2 -2
  41. package/dist/breadcrumb-VCRGVYJR.js +33 -0
  42. package/dist/{breadcrumb-THJ2HPRB.js → breadcrumb-WWLMQQQF.js} +10 -9
  43. package/dist/breadcrumb-Y7N7L7DM.js +13 -0
  44. package/dist/{breadcrumb-Y5UW3I4C.js → breadcrumb-YOY6Z36F.js} +2 -2
  45. package/dist/{campaigns-JAQTSA4Z.js → campaigns-GPLRB2AR.js} +8 -8
  46. package/dist/{categories-T4QJYX4R.js → categories-53X36JNS.js} +12 -10
  47. package/dist/{chunk-MZTDRBCR.js → chunk-2INANL6V.js} +61 -62
  48. package/dist/{chunk-O7VOGTLX.js → chunk-2P5H7EVR.js} +1 -1
  49. package/dist/{chunk-ADGVQVHP.js → chunk-3F4MUPGR.js} +3 -3
  50. package/dist/chunk-42R54Z2X.js +8 -0
  51. package/dist/chunk-432S4FGR.js +0 -0
  52. package/dist/{chunk-6K6EQOJF.js → chunk-4CNLTLQP.js} +7 -6
  53. package/dist/{chunk-5QI3NDJG.js → chunk-4EAC3GT7.js} +2 -2
  54. package/dist/{chunk-S23FD6FA.js → chunk-4NADEZZQ.js} +15 -4
  55. package/dist/{chunk-HDEOZN2Q.js → chunk-4OQLPIUZ.js} +27 -27
  56. package/dist/{chunk-VDHW6H5F.js → chunk-55TS752B.js} +4 -4
  57. package/dist/{chunk-LFX6WU4A.js → chunk-5ALC4Z2H.js} +0 -13
  58. package/dist/{chunk-4LVP635F.js → chunk-5FBQOAXU.js} +135 -126
  59. package/dist/{chunk-DDJQRV6E.js → chunk-5NVY7JZC.js} +5 -5
  60. package/dist/{chunk-E2HQPY32.js → chunk-5RMLLTR7.js} +5 -5
  61. package/dist/chunk-5SRG2247.js +353 -0
  62. package/dist/{chunk-L57USMYC.js → chunk-5YZ3G5EZ.js} +1 -1
  63. package/dist/{chunk-JAUZ73XE.js → chunk-744GLNZW.js} +22 -62
  64. package/dist/{chunk-463CNCJC.js → chunk-7CQ4RKVV.js} +53 -41
  65. package/dist/{chunk-U5G3AVED.js → chunk-7HLAOLG7.js} +1 -1
  66. package/dist/{chunk-M6N4ISXL.js → chunk-7MARNXFG.js} +1 -1
  67. package/dist/{chunk-SSUUT5LK.js → chunk-7TQNE3E2.js} +5 -4
  68. package/dist/chunk-7ZNZJIVN.js +30 -0
  69. package/dist/{chunk-TYESCFYW.js → chunk-AOLE7MBM.js} +1 -1
  70. package/dist/{chunk-YHIJCI4U.js → chunk-APWPWXWQ.js} +22 -11
  71. package/dist/{chunk-TBYCZRZ7.js → chunk-BQHVM46E.js} +32 -55
  72. package/dist/{chunk-UFFVRF4V.js → chunk-BXDN7ZA5.js} +26 -19
  73. package/dist/{chunk-BXRNZS5K.js → chunk-CLS6PNZY.js} +3 -3
  74. package/dist/{chunk-7CMRFP5Q.js → chunk-COGWTNSC.js} +3 -3
  75. package/dist/{chunk-EIZP3XL5.js → chunk-CQRCUQC4.js} +1 -1
  76. package/dist/{chunk-3EF54XFY.js → chunk-CVXKASWV.js} +2 -2
  77. package/dist/chunk-EEBJYXWA.js +15 -0
  78. package/dist/{chunk-TW324MAT.js → chunk-EFKHV25A.js} +2 -2
  79. package/dist/{chunk-PZEPOPMV.js → chunk-ESXMD6CR.js} +189 -84
  80. package/dist/{chunk-SPOHNK4X.js → chunk-EX5IIVVN.js} +7 -7
  81. package/dist/{chunk-YQYRAD5C.js → chunk-FCZJAYMM.js} +1 -1
  82. package/dist/{chunk-SZBERGA4.js → chunk-FXQWGW2J.js} +4 -4
  83. package/dist/{chunk-6SJTAE66.js → chunk-GGXGKMYK.js} +1 -1
  84. package/dist/chunk-GK6X67DV.js +462 -0
  85. package/dist/{chunk-PVZBDWLK.js → chunk-GRH7C3QN.js} +1 -1
  86. package/dist/{chunk-IQWK723D.js → chunk-GZ4KTAWS.js} +1 -1
  87. package/dist/{chunk-3PMM6AMP.js → chunk-GZRCPKO5.js} +20 -9
  88. package/dist/{chunk-TF6V3TFG.js → chunk-HLAV55RT.js} +2 -2
  89. package/dist/{chunk-E6W57UP3.js → chunk-HRUO43BZ.js} +2 -2
  90. package/dist/chunk-I3I5IYHO.js +33 -0
  91. package/dist/{chunk-M6GKMFTC.js → chunk-ICKOFNHF.js} +6 -3
  92. package/dist/{chunk-53SII3U2.js → chunk-II2GAEVL.js} +27 -15
  93. package/dist/{chunk-L4KBTV57.js → chunk-IMJ62GAP.js} +1 -3
  94. package/dist/{chunk-HXGLPDZW.js → chunk-IMVZFBCM.js} +6 -17
  95. package/dist/{chunk-SGR4DMCW.js → chunk-INYLPVCG.js} +3 -3
  96. package/dist/chunk-IPNO77ZJ.js +376 -0
  97. package/dist/{chunk-5T6UWTRU.js → chunk-IV57G2CB.js} +19 -11
  98. package/dist/{chunk-GAE6TKOR.js → chunk-IWF43LO2.js} +5 -6
  99. package/dist/{chunk-BOZJOOGW.js → chunk-JIXW4WHZ.js} +5 -5
  100. package/dist/{chunk-3B34B2M2.js → chunk-JJP6AKMV.js} +1 -1
  101. package/dist/{chunk-2QTNCGKX.js → chunk-JLLFEA23.js} +1 -1
  102. package/dist/{chunk-VXMOPVRH.js → chunk-JR7AABT5.js} +2 -2
  103. package/dist/{chunk-6OUPJNYO.js → chunk-KCHYLLVG.js} +2 -2
  104. package/dist/{chunk-YGRTRAWX.js → chunk-KDE4HKH2.js} +1 -0
  105. package/dist/{chunk-LARLBYU6.js → chunk-KEXXZLVI.js} +2 -2
  106. package/dist/{chunk-VXWN37PT.js → chunk-KIURBTC4.js} +1 -1
  107. package/dist/{chunk-DO4F5FIO.js → chunk-LOBDXF34.js} +5 -5
  108. package/dist/{chunk-RIN4CBRB.js → chunk-LXZXXOJ3.js} +1 -17
  109. package/dist/chunk-LYYM7H7H.js +59 -0
  110. package/dist/{chunk-VZUA5SRD.js → chunk-MABIMRLS.js} +2 -2
  111. package/dist/{chunk-MWQQVKRU.js → chunk-MAVQ636Y.js} +1 -1
  112. package/dist/{chunk-YQZBAP3S.js → chunk-MDGTQT5D.js} +77 -23
  113. package/dist/{chunk-DQKK43PR.js → chunk-MJ4B2OFU.js} +24 -13
  114. package/dist/{chunk-IBEUR3J7.js → chunk-MK44MYO7.js} +3 -3
  115. package/dist/{chunk-S7EKBD2C.js → chunk-MNHP6YRC.js} +3 -3
  116. package/dist/{chunk-VV6IKGCN.js → chunk-NTJ3BMOE.js} +1 -1
  117. package/dist/{chunk-X4GWB6AT.js → chunk-O4N6UK6M.js} +4 -4
  118. package/dist/{chunk-K6LOZ4S3.js → chunk-OOK3BD5Z.js} +5 -5
  119. package/dist/{chunk-6UZERVBI.js → chunk-P3ETXWHD.js} +2 -2
  120. package/dist/{chunk-KIFSQOM2.js → chunk-P6XBOWET.js} +9 -8
  121. package/dist/{chunk-4S6XGIC6.js → chunk-PUAWN7SS.js} +1 -1
  122. package/dist/{chunk-U6PBLMXD.js → chunk-Q6SPIHFR.js} +8 -3
  123. package/dist/{chunk-MJCL3WID.js → chunk-QGZH3D2P.js} +5 -2
  124. package/dist/{chunk-F4OJN2F2.js → chunk-QIF4QE7T.js} +1 -1
  125. package/dist/{chunk-BENED3NB.js → chunk-QMTSINXN.js} +612 -931
  126. package/dist/{chunk-VCOQ7WQ2.js → chunk-QU444FAP.js} +47 -16
  127. package/dist/{chunk-PAVZ6FPK.js → chunk-S4ILPAEO.js} +30 -14
  128. package/dist/{chunk-U2ZFCAPX.js → chunk-SITRHMZZ.js} +11 -8
  129. package/dist/chunk-SPFLYPY6.js +6 -0
  130. package/dist/{chunk-2USXZSTK.js → chunk-SYWAMZNQ.js} +8 -7
  131. package/dist/{chunk-LQSLDDPT.js → chunk-T35QBLG7.js} +1 -1
  132. package/dist/{chunk-T5MJWWDX.js → chunk-TNZMNJRF.js} +10 -9
  133. package/dist/{chunk-QLBIBLOY.js → chunk-U5MXCMDR.js} +26 -15
  134. package/dist/{chunk-Y2MQ5EMD.js → chunk-UEPUKWD7.js} +12 -3
  135. package/dist/{chunk-7IPCLQ5V.js → chunk-UKTJEFMZ.js} +4 -4
  136. package/dist/{chunk-UORPTGV2.js → chunk-ULEW54ED.js} +11 -15
  137. package/dist/{chunk-LRARA622.js → chunk-VE6GRIIN.js} +2 -2
  138. package/dist/{chunk-YUKD5RCX.js → chunk-VR7P4DAZ.js} +1 -1
  139. package/dist/{chunk-UCYSCKZV.js → chunk-VYSB4CTB.js} +2114 -1699
  140. package/dist/{chunk-OZ44ATGE.js → chunk-W5LVOEN2.js} +15 -15
  141. package/dist/{chunk-LQD232FW.js → chunk-WJ5EU3KW.js} +1 -1
  142. package/dist/{chunk-BER45EYD.js → chunk-WQQMCV7M.js} +1 -1
  143. package/dist/chunk-WQTWBXKO.js +23 -0
  144. package/dist/{chunk-XCIMOIX6.js → chunk-XBKWFLJG.js} +1 -1
  145. package/dist/{chunk-3BXCPHN6.js → chunk-XCHKUSUU.js} +1 -0
  146. package/dist/chunk-XQUF3WIS.js +159 -0
  147. package/dist/{chunk-LWJF63JW.js → chunk-XWHHBJGS.js} +92 -16
  148. package/dist/{chunk-27WLUOI2.js → chunk-Y6S7K3YB.js} +1 -1
  149. package/dist/{chunk-6FUIK3PX.js → chunk-YEPZGGUE.js} +43 -21
  150. package/dist/{chunk-JQV7CXEC.js → chunk-YNGA3GRX.js} +17 -2
  151. package/dist/{chunk-NBKWY6XN.js → chunk-YRXXO2RT.js} +3 -3
  152. package/dist/{chunk-LKUW5SV4.js → chunk-YXWZT3PX.js} +3 -3
  153. package/dist/{chunk-X22KTLZ7.js → chunk-Z3SPAROE.js} +1 -1
  154. package/dist/{chunk-LHKHQAAY.js → chunk-ZLYGEART.js} +1 -1
  155. package/dist/{chunk-NBPMNUKZ.js → chunk-ZQCCVCHB.js} +1 -1
  156. package/dist/collections-AE7QLCFD.js +70 -0
  157. package/dist/{configuration-C4IGBNXH.js → configuration-I6BUESSG.js} +3 -3
  158. package/dist/{configuration-7IYZ6GNP.js → configuration-QVMG6LAM.js} +5 -5
  159. package/dist/{create-JGYG5SBM.js → create-2DXKC5OJ.js} +47 -44
  160. package/dist/{create-MS6KKFSV.js → create-2WFPJBDQ.js} +31 -32
  161. package/dist/{create-GGACODDN.js → create-3PIY2COT.js} +55 -38
  162. package/dist/{create-F5R76QML.js → create-7HXY7U5W.js} +72 -37
  163. package/dist/{create-A7B3MLJX.js → create-BE2YNVX3.js} +52 -52
  164. package/dist/{create-UPYB65PD.js → create-BV3QDTK2.js} +4 -4
  165. package/dist/{create-5PSOIHIT.js → create-C2WABAJU.js} +6 -6
  166. package/dist/{create-FKRYB7ZS.js → create-EIMV4KCC.js} +67 -53
  167. package/dist/{create-TKXH5KQY.js → create-F2VZZ7XS.js} +61 -37
  168. package/dist/{create-R7K3ECN6.js → create-K26SM34L.js} +3 -3
  169. package/dist/{create-MZYXMGKP.js → create-K7V36IWH.js} +13 -13
  170. package/dist/{create-JF2OUZQA.js → create-KW6KFXGI.js} +24 -25
  171. package/dist/create-MW33P4AB.js +245 -0
  172. package/dist/{create-YBF4YGWG.js → create-NF2LPVXA.js} +3 -3
  173. package/dist/{create-ODOFJF5N.js → create-RXIY777H.js} +31 -32
  174. package/dist/{create-O35JRZEF.js → create-TPNH5U7Z.js} +28 -29
  175. package/dist/{create-SFU3W3ZH.js → create-U64NEOEL.js} +3 -3
  176. package/dist/{create-XVHOCZHJ.js → create-X5SOAPD3.js} +3 -3
  177. package/dist/create-ZZBMZZQG.js +79 -0
  178. package/dist/customer-group-add-customers-DZ3JYD6S.js +251 -0
  179. package/dist/customer-group-create-6YNGAE2W.js +147 -0
  180. package/dist/customer-group-detail-VZUHEIRY.js +62 -0
  181. package/dist/customer-group-edit-UA36663R.js +159 -0
  182. package/dist/customer-groups-RGHBJV55.js +305 -0
  183. package/dist/{customers-SOLJ2KQQ.js → customers-7S2MK4VG.js} +10 -10
  184. package/dist/edit-3RDEZH6V.js +367 -0
  185. package/dist/{edit-ORXS3A2Y.js → edit-3V34KJS2.js} +3 -3
  186. package/dist/{edit-5CROKEJE.js → edit-3XGZNC24.js} +53 -53
  187. package/dist/{edit-2R5QCPTB.js → edit-45TYWHR6.js} +25 -26
  188. package/dist/{edit-Y2U3KAVB.js → edit-5IQNX7YB.js} +87 -50
  189. package/dist/{edit-3E4ZO7HT.js → edit-GBTLRL6H.js} +33 -35
  190. package/dist/{edit-G2E5SNGU.js → edit-HXCSFGP5.js} +24 -25
  191. package/dist/{edit-Q3UQIOLS.js → edit-I2RJUPWV.js} +4 -4
  192. package/dist/{edit-ZMERG3L7.js → edit-JB7KVBOL.js} +5 -5
  193. package/dist/{edit-C4OCKQVU.js → edit-JT4OKP5H.js} +25 -9
  194. package/dist/{edit-O4JLGKQR.js → edit-NHQJLCAK.js} +4 -4
  195. package/dist/edit-PIOHPBF5.js +103 -0
  196. package/dist/{edit-FXNXTVIW.js → edit-UYYI6HIT.js} +30 -13
  197. package/dist/{edit-VVLITC2E.js → edit-VFHZ6GVR.js} +44 -78
  198. package/dist/{edit-HTLLYECP.js → edit-W7T5NAFW.js} +33 -35
  199. package/dist/{edit-KAKVPHZZ.js → edit-WN2Q3TOX.js} +4 -4
  200. package/dist/{edit-OKU6FMHJ.js → edit-X4DFAW7S.js} +60 -39
  201. package/dist/{edit-ZAHCMF5U.js → edit-YLWMEXUS.js} +25 -9
  202. package/dist/{edit-522DG3BY.js → edit-ZOLSAIKF.js} +3 -3
  203. package/dist/{edit-budget-L3CCEWNF.js → edit-budget-XVJ65KUO.js} +3 -3
  204. package/dist/{edit-inventory-item-ZKXXL3QK.js → edit-inventory-item-NHSXZ7UB.js} +24 -9
  205. package/dist/{edit-inventory-item-attributes-GSKUMORD.js → edit-inventory-item-attributes-VTFPTLLT.js} +3 -3
  206. package/dist/edit-price-XCJDZ4CU.js +197 -0
  207. package/dist/edit-stock-5SQJH74B.js +230 -0
  208. package/dist/extension-targets.d.ts +248 -0
  209. package/dist/extension-targets.js +1 -0
  210. package/dist/fulfillment-5LEDKCH7.js +650 -0
  211. package/dist/{fulfillment-providers-G2L6LEVO.js → fulfillment-providers-KUIDFRP4.js} +39 -40
  212. package/dist/index.css +82 -45
  213. package/dist/index.d.ts +2 -0
  214. package/dist/index.js +389 -271
  215. package/dist/{offer-inventory-batch-page-BD6PMDLW.js → inventory-L26YLIBO.js} +18 -18
  216. package/dist/{inventory-WSFLTA6Z.js → inventory-ZWZ2SUYW.js} +9 -9
  217. package/dist/{invite-2673PU4I.js → invite-CQEODMVX.js} +29 -41
  218. package/dist/{invite-HRXZ5YBP.js → invite-VYXX7ICP.js} +38 -39
  219. package/dist/loader-CDW7SKZP.js +34 -0
  220. package/dist/loader-OGR7BCER.js +35 -0
  221. package/dist/{locations-INS6FTMJ.js → locations-UVMY2QLW.js} +3 -3
  222. package/dist/login-Z43XSPNR.js +39 -0
  223. package/dist/{manage-locations-XHH5DVIR.js → manage-locations-WD3WRVMF.js} +3 -3
  224. package/dist/media-UAAKHWJZ.js +316 -0
  225. package/dist/{media-J22P2DK4.js → media-VRNKF2TX.js} +31 -31
  226. package/dist/{metadata-REQIFWWH.js → metadata-6FYHGP2P.js} +27 -28
  227. package/dist/{metadata-Q74OJWUD.js → metadata-GI4A7XUC.js} +27 -28
  228. package/dist/{metadata-NIDIBXJT.js → metadata-GR7QS5N6.js} +27 -28
  229. package/dist/{metadata-YVHJPDLD.js → metadata-MRDVKETB.js} +25 -26
  230. package/dist/{metadata-D6M66NQK.js → metadata-QZEX5FQH.js} +25 -26
  231. package/dist/{offer-create-page-E4FLSDJQ.js → offer-create-page-LRKRHBRT.js} +246 -265
  232. package/dist/offer-detail-page-RSBA6WJB.js +637 -0
  233. package/dist/offer-variant-detail-page-KBDN27ZG.js +411 -0
  234. package/dist/offers-LBJILJQX.js +54 -0
  235. package/dist/{onboarding-MK2RIFD4.js → onboarding-4DXHB5KY.js} +71 -73
  236. package/dist/orders-JGKXRRJ6.js +63 -0
  237. package/dist/{organization-XO3T2K2X.js → organization-NQHWLNES.js} +26 -27
  238. package/dist/{organize-5XRZWD5C.js → organize-PNLFCNY4.js} +4 -4
  239. package/dist/{organize-Z7JTTDH4.js → organize-X4IMS4S5.js} +4 -4
  240. package/dist/pages/index.d.ts +249 -234
  241. package/dist/pages/index.js +91 -91
  242. package/dist/{payment-details-CFTX3QDL.js → payment-details-T7CKYYQR.js} +43 -32
  243. package/dist/{payouts-7Q7D4FET.js → payouts-MGC6Z3AT.js} +10 -10
  244. package/dist/{price-lists-6TFLA53G.js → price-lists-QJTMWEEP.js} +11 -11
  245. package/dist/{pricing-ECXV6K7G.js → pricing-CFDZXHIE.js} +29 -30
  246. package/dist/{offer-pricing-edit-page-4TINK42V.js → pricing-LEEEQ2TR.js} +21 -19
  247. package/dist/{product-tags-5O7ZG6SA.js → product-tags-Z7DOYERG.js} +47 -47
  248. package/dist/{product-types-PKUEL7X5.js → product-types-F5YH6TBY.js} +9 -9
  249. package/dist/product-variant-detail-EUWXJWAJ.js +372 -0
  250. package/dist/{product-variant-edit-WZNO4CQX.js → product-variant-edit-OP7DAKIN.js} +45 -27
  251. package/dist/{products-BM3IIH5P.js → products-QRYZFYMR.js} +39 -40
  252. package/dist/products-SGYVJ33I.js +93 -0
  253. package/dist/{professional-details-ED4HNYXY.js → professional-details-UVRM7GID.js} +42 -31
  254. package/dist/{profile-6TGCNNUU.js → profile-HYJJLO63.js} +75 -42
  255. package/dist/{promotions-AZM7JQAJ.js → promotions-TF4GPADY.js} +11 -11
  256. package/dist/{receive-2GFZTVNC.js → receive-NHOBI4NE.js} +63 -21
  257. package/dist/{refund-IGMSXQNX.js → refund-6MXXZP2L.js} +78 -54
  258. package/dist/{register-ADZCPWEV.js → register-SC2R7TDT.js} +26 -27
  259. package/dist/{reset-password-RGWK33Q7.js → reset-password-OIZAI2US.js} +3 -3
  260. package/dist/{return-reasons-QJRA2ZX6.js → return-reasons-L5BFL5WW.js} +28 -24
  261. package/dist/{sales-channels-U55MUDQP.js → sales-channels-57VSC3CU.js} +11 -11
  262. package/dist/{sales-channels-CZDU7VTE.js → sales-channels-VXOZQKLK.js} +15 -15
  263. package/dist/{settings-2GCQQTO6.js → settings-UZGHDHAR.js} +54 -54
  264. package/dist/{shipment-HWQHMX2L.js → shipment-KF4M3RDJ.js} +24 -25
  265. package/dist/shipping-3KKFZONF.js +125 -0
  266. package/dist/{shipping-profile-ZP7M6VSS.js → shipping-profile-ZHE4U2MG.js} +5 -9
  267. package/dist/shipping-profiles-W6ESWKTU.js +46 -0
  268. package/dist/{stock-MQA7PRO6.js → stock-JCDE7SMM.js} +27 -28
  269. package/dist/{store-5ZHZR4JI.js → store-UOOVXKZY.js} +136 -63
  270. package/dist/{store-closure-H5WHV3LA.js → store-closure-7TG7Y7LW.js} +24 -25
  271. package/dist/{store-select-PZS556FB.js → store-select-SARJSWL4.js} +45 -27
  272. package/dist/{tax-regions-HDLBFZVG.js → tax-regions-4NK7L6FA.js} +13 -10
  273. package/dist/{team-CLKJCZNH.js → team-45IARFMH.js} +40 -40
  274. package/package.json +23 -18
  275. package/dist/[id]-B4YZTANM.js +0 -1571
  276. package/dist/[id]-FE5GYYVZ.js +0 -481
  277. package/dist/[id]-GBT6VB4S.js +0 -361
  278. package/dist/[id]-QOEO3JOV.js +0 -384
  279. package/dist/allocate-items-TCM5A55Y.js +0 -548
  280. package/dist/attributes-SZP2MM5L.js +0 -278
  281. package/dist/breadcrumb-5NP23D6X.js +0 -34
  282. package/dist/breadcrumb-EVZIOB2G.js +0 -47
  283. package/dist/breadcrumb-TNJSGX4T.js +0 -48
  284. package/dist/chunk-27KRIXMQ.js +0 -71
  285. package/dist/chunk-BDZOSMAX.js +0 -23
  286. package/dist/chunk-CFRWIQIZ.js +0 -43
  287. package/dist/chunk-FP6U6BPH.js +0 -61
  288. package/dist/chunk-RXV7INUV.js +0 -426
  289. package/dist/chunk-T6LHVNWO.js +0 -27
  290. package/dist/collections-URH2TCWJ.js +0 -69
  291. package/dist/create-7R6CZU53.js +0 -215
  292. package/dist/create-Z5VPBELS.js +0 -76
  293. package/dist/edit-GQNIINRR.js +0 -192
  294. package/dist/edit-XSICGAVO.js +0 -176
  295. package/dist/fulfillment-76IVZ266.js +0 -567
  296. package/dist/loader-VDYPD3RI.js +0 -31
  297. package/dist/login-TWUBU6I6.js +0 -40
  298. package/dist/metadata-5BPOBBU2.js +0 -45
  299. package/dist/offer-detail-page-6SIBQTLP.js +0 -492
  300. package/dist/offer-edit-page-3MO566RP.js +0 -151
  301. package/dist/offers-GVN5LCK6.js +0 -32
  302. package/dist/orders-TVQDR4OJ.js +0 -64
  303. package/dist/product-variant-detail-PUWOMVHQ.js +0 -210
  304. package/dist/products-XE5YPQ66.js +0 -93
  305. package/dist/shipping-profiles-C5WBXWZ2.js +0 -47
  306. /package/dist/{chunk-HFRHHT36.js → chunk-NWU7EGGF.js} +0 -0
@@ -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-UEPUKWD7.js";
30
+ import "./chunk-744GLNZW.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
+ };