@mercurjs/vendor 2.2.0-canary.8 → 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 (305) hide show
  1. package/dist/{[id]-GMJAPZPU.js → [id]-3LNKC5OJ.js} +41 -40
  2. package/dist/[id]-4HO4S2PX.js +3074 -0
  3. package/dist/{[id]-QWL6SUOB.js → [id]-4LIIFGET.js} +14 -14
  4. package/dist/{[id]-5ADOHZ45.js → [id]-5EECCIRP.js} +151 -58
  5. package/dist/{[id]-K2CT7BXQ.js → [id]-5P5LTATX.js} +3 -3
  6. package/dist/{[id]-T7USGHIY.js → [id]-AQUUZFRX.js} +11 -11
  7. package/dist/{[id]-BTGQJ3UD.js → [id]-CUBGVODE.js} +177 -85
  8. package/dist/{[id]-ZAQYATGN.js → [id]-DCGPICT3.js} +39 -38
  9. package/dist/{[id]-IWCWVNVI.js → [id]-DT5YJVKG.js} +32 -32
  10. package/dist/{[id]-L6FD7BRE.js → [id]-IEBZ6V3W.js} +51 -48
  11. package/dist/{[id]-ZCMSBEVM.js → [id]-N7JEZFXQ.js} +6 -6
  12. package/dist/[id]-U6FKX5UQ.js +975 -0
  13. package/dist/{[id]-BPAZLOLW.js → [id]-XB45DY2D.js} +19 -19
  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]-5KZGMQER.js → [province_id]-OYX4MOCF.js} +31 -31
  17. package/dist/{add-KMHJ6OC6.js → add-3T4GBFMM.js} +63 -57
  18. package/dist/{add-Y6GMGLYX.js → add-RPRJWCYU.js} +99 -34
  19. package/dist/{add-customer-groups-NXSWICFI.js → add-customer-groups-FB5T6PQN.js} +44 -42
  20. package/dist/{add-products-LXYF57BK.js → add-products-F243SWGD.js} +40 -40
  21. package/dist/{add-promotions-VTYAEDCN.js → add-promotions-TJDK7HLW.js} +18 -18
  22. package/dist/{add-to-campaign-DLP7PSQB.js → add-to-campaign-Q6OAJMUJ.js} +6 -6
  23. package/dist/{address-JFXH3M7D.js → address-XVBSNMFU.js} +24 -24
  24. package/dist/{adjust-inventory-V2V7NWWH.js → adjust-inventory-IZLRMQXV.js} +4 -4
  25. package/dist/allocate-items-Q3VALDYT.js +685 -0
  26. package/dist/{areas-FB63OQAI.js → areas-IYGBRCRH.js} +14 -14
  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-S4V7MJUM.js → breadcrumb-BXD3SRM7.js} +3 -3
  31. package/dist/{breadcrumb-HV67K43U.js → breadcrumb-FEYGZFJU.js} +4 -4
  32. package/dist/{breadcrumb-EG3ANCVO.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-7R6E6G2X.js → breadcrumb-XEZCMI55.js} +2 -2
  43. package/dist/{breadcrumb-FES7EKUR.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} +9 -9
  46. package/dist/{categories-6TVMTN62.js → categories-JZJA2IBQ.js} +13 -11
  47. package/dist/{chunk-SFQKKIHA.js → chunk-27WLUOI2.js} +1 -1
  48. package/dist/{chunk-U5XDKYZG.js → chunk-2KA4TGBQ.js} +3 -3
  49. package/dist/{chunk-6RH3VDF7.js → chunk-2NPD4S55.js} +4 -4
  50. package/dist/{chunk-M6GKMFTC.js → chunk-3ALBZK4M.js} +1 -1
  51. package/dist/{chunk-PXYDR7WQ.js → chunk-3BXCPHN6.js} +3 -2
  52. package/dist/{chunk-X4INVIWL.js → chunk-3C2T27YW.js} +3 -3
  53. package/dist/{chunk-QXLRABYH.js → chunk-3I6ZAMGN.js} +1 -1
  54. package/dist/{chunk-THMXGEZU.js → chunk-3SH24DGG.js} +2 -2
  55. package/dist/chunk-3TST3EWQ.js +438 -0
  56. package/dist/chunk-42R54Z2X.js +8 -0
  57. package/dist/{chunk-UDJ2I5A2.js → chunk-4IRQSBA7.js} +5 -6
  58. package/dist/chunk-5ALC4Z2H.js +23 -0
  59. package/dist/chunk-5BQO3YQP.js +62 -0
  60. package/dist/{chunk-QGGMG3OU.js → chunk-5BYYDBLS.js} +7 -7
  61. package/dist/{chunk-4LVP635F.js → chunk-5FBQOAXU.js} +135 -126
  62. package/dist/{chunk-2BCAQ4BB.js → chunk-5PAUN3PM.js} +3 -3
  63. package/dist/{chunk-E2HQPY32.js → chunk-5RMLLTR7.js} +5 -5
  64. package/dist/{chunk-3EF54XFY.js → chunk-634XVU3D.js} +1 -1
  65. package/dist/{chunk-LJO34DKJ.js → chunk-6FDPVW7Y.js} +35 -21
  66. package/dist/{chunk-3X3LUKDM.js → chunk-6Q3J6ZMM.js} +5 -5
  67. package/dist/chunk-7BFQKYCJ.js +127 -0
  68. package/dist/chunk-7EXKHL5L.js +30 -0
  69. package/dist/{chunk-M6N4ISXL.js → chunk-7MARNXFG.js} +1 -1
  70. package/dist/{chunk-WHSE47DM.js → chunk-AOLE7MBM.js} +1 -1
  71. package/dist/{chunk-YIZK67RW.js → chunk-BQHVM46E.js} +29 -49
  72. package/dist/chunk-CRYZK4NU.js +185 -0
  73. package/dist/{chunk-JYPPXAJG.js → chunk-CUAGC54B.js} +33 -35
  74. package/dist/{chunk-KIFSQOM2.js → chunk-D76WZZSB.js} +5 -5
  75. package/dist/{chunk-QLBIBLOY.js → chunk-DQ7LZZJX.js} +5 -5
  76. package/dist/{chunk-UCYSCKZV.js → chunk-DSTHXHJ5.js} +2114 -1699
  77. package/dist/{chunk-L7QKFC5N.js → chunk-E6W57UP3.js} +32 -122
  78. package/dist/{chunk-UFFVRF4V.js → chunk-EAAZV3B7.js} +6 -11
  79. package/dist/chunk-EDV4MTTT.js +434 -0
  80. package/dist/chunk-EEBJYXWA.js +15 -0
  81. package/dist/{chunk-UORPTGV2.js → chunk-EPRYM3FA.js} +11 -15
  82. package/dist/{chunk-YQYRAD5C.js → chunk-FCZJAYMM.js} +1 -1
  83. package/dist/{chunk-JMRWREVE.js → chunk-FDKFUIYV.js} +23 -36
  84. package/dist/chunk-FWPGOIFA.js +22 -0
  85. package/dist/{chunk-B234IELY.js → chunk-G6YNCIVF.js} +24 -41
  86. package/dist/{chunk-PVZBDWLK.js → chunk-GRH7C3QN.js} +1 -1
  87. package/dist/chunk-GSH6ZGI6.js +353 -0
  88. package/dist/{chunk-IQWK723D.js → chunk-GZ4KTAWS.js} +1 -1
  89. package/dist/{chunk-MJCL3WID.js → chunk-H6LZ77GX.js} +1 -1
  90. package/dist/{chunk-WLT7K7K7.js → chunk-HDEOZN2Q.js} +21 -24
  91. package/dist/{chunk-FDR22JMM.js → chunk-HFRHHT36.js} +8 -63
  92. package/dist/{chunk-GNDFMMC6.js → chunk-IEVN722X.js} +1 -1
  93. package/dist/{chunk-DARJTN4I.js → chunk-IMJ62GAP.js} +10 -5
  94. package/dist/{chunk-SGR4DMCW.js → chunk-INYLPVCG.js} +3 -3
  95. package/dist/{chunk-5T6UWTRU.js → chunk-IV57G2CB.js} +19 -11
  96. package/dist/chunk-J6XCRFBW.js +30 -0
  97. package/dist/{chunk-BLRZB63H.js → chunk-JDNXS37G.js} +61 -62
  98. package/dist/{chunk-3B34B2M2.js → chunk-JJP6AKMV.js} +1 -1
  99. package/dist/{chunk-XEU5ZLSB.js → chunk-JK4M3ZKY.js} +5 -5
  100. package/dist/{chunk-VXMOPVRH.js → chunk-JR7AABT5.js} +2 -2
  101. package/dist/{chunk-PBD36EZJ.js → chunk-JTHDMXZV.js} +5 -5
  102. package/dist/{chunk-Q75AC3DZ.js → chunk-JY2XON7H.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-VPKMBJ5B.js → chunk-KG2NUK4J.js} +6 -6
  106. package/dist/{chunk-VXWN37PT.js → chunk-KIURBTC4.js} +1 -1
  107. package/dist/{chunk-7LVNAFEI.js → chunk-KTJLJTFO.js} +547 -882
  108. package/dist/{chunk-FCJ7MLQK.js → chunk-KZQFIPY2.js} +264 -76
  109. package/dist/chunk-L57USMYC.js +39 -0
  110. package/dist/{chunk-4KNL46BT.js → chunk-LWFBBTJ3.js} +5 -5
  111. package/dist/{chunk-RIN4CBRB.js → chunk-LXZXXOJ3.js} +1 -17
  112. package/dist/chunk-LYYM7H7H.js +59 -0
  113. package/dist/{chunk-MWQQVKRU.js → chunk-MAVQ636Y.js} +1 -1
  114. package/dist/{chunk-VDHW6H5F.js → chunk-MAW6ZT3D.js} +4 -4
  115. package/dist/{chunk-7CMRFP5Q.js → chunk-MJP5V3JN.js} +3 -3
  116. package/dist/{chunk-S7EKBD2C.js → chunk-MNHP6YRC.js} +3 -3
  117. package/dist/{chunk-QZJIDKQR.js → chunk-MT6WOKIW.js} +4 -4
  118. package/dist/chunk-MUGQQY6P.js +315 -0
  119. package/dist/{chunk-QT7YFHCA.js → chunk-MVEHWM7K.js} +13 -1
  120. package/dist/{chunk-VV6IKGCN.js → chunk-NTJ3BMOE.js} +1 -1
  121. package/dist/{chunk-JXQJQYGD.js → chunk-O7BGGWW6.js} +2 -2
  122. package/dist/{chunk-LWJF63JW.js → chunk-OYUJYPDF.js} +90 -15
  123. package/dist/{chunk-4S6XGIC6.js → chunk-PUAWN7SS.js} +1 -1
  124. package/dist/{chunk-U6PBLMXD.js → chunk-Q6SPIHFR.js} +8 -3
  125. package/dist/{chunk-F4OJN2F2.js → chunk-QIF4QE7T.js} +1 -1
  126. package/dist/{chunk-X22KTLZ7.js → chunk-QWJTJSIT.js} +1 -1
  127. package/dist/{chunk-2USXZSTK.js → chunk-QWW6RHZC.js} +5 -5
  128. package/dist/{chunk-TODJFRLH.js → chunk-RILHLBKW.js} +3 -3
  129. package/dist/{chunk-PP754CO7.js → chunk-RPU4UOQK.js} +1 -1
  130. package/dist/{chunk-AVOZ7TX2.js → chunk-RTMMO6IU.js} +6 -6
  131. package/dist/chunk-S7NGDLZ3.js +173 -0
  132. package/dist/{chunk-U2ZFCAPX.js → chunk-SITRHMZZ.js} +11 -8
  133. package/dist/chunk-SPFLYPY6.js +6 -0
  134. package/dist/{chunk-EIUYXS7E.js → chunk-TJKZ5QCJ.js} +4 -4
  135. package/dist/{chunk-WCSQDWMS.js → chunk-TPGIMZLI.js} +1 -1
  136. package/dist/chunk-UM7ZR3VU.js +14 -0
  137. package/dist/{chunk-PGW3VYK4.js → chunk-UNE4VD5U.js} +3 -3
  138. package/dist/chunk-UX5UYDCY.js +33 -0
  139. package/dist/{chunk-IXAQNTE7.js → chunk-V5K6HISS.js} +2 -2
  140. package/dist/chunk-VCUUITW6.js +35 -0
  141. package/dist/{chunk-T5MJWWDX.js → chunk-VD27SL7H.js} +5 -5
  142. package/dist/{chunk-LRARA622.js → chunk-VE6GRIIN.js} +2 -2
  143. package/dist/{chunk-SSUUT5LK.js → chunk-W3UHAQCV.js} +5 -4
  144. package/dist/{chunk-U5G3AVED.js → chunk-WBCWER26.js} +1 -1
  145. package/dist/{chunk-PXI47JL5.js → chunk-WCXFUBEF.js} +13 -13
  146. package/dist/{chunk-AVOIZO63.js → chunk-WFE6CT6M.js} +77 -21
  147. package/dist/{chunk-E2L5EX5A.js → chunk-WFHGJGCW.js} +7 -6
  148. package/dist/{chunk-LQD232FW.js → chunk-WJ5EU3KW.js} +1 -1
  149. package/dist/{chunk-6YA3C4NB.js → chunk-XBKWFLJG.js} +4 -13
  150. package/dist/chunk-XQUF3WIS.js +159 -0
  151. package/dist/{chunk-SS46VQJA.js → chunk-Y4PM3IDZ.js} +1 -1
  152. package/dist/chunk-YBF45CX5.js +23 -0
  153. package/dist/{chunk-JQV7CXEC.js → chunk-YNGA3GRX.js} +17 -2
  154. package/dist/chunk-ZHFFTT3I.js +17 -0
  155. package/dist/{chunk-BOZJOOGW.js → chunk-ZLHCZ5F2.js} +1 -1
  156. package/dist/{chunk-LHKHQAAY.js → chunk-ZLYGEART.js} +1 -1
  157. package/dist/{chunk-NBPMNUKZ.js → chunk-ZQCCVCHB.js} +1 -1
  158. package/dist/{chunk-ADGVQVHP.js → chunk-ZTOYVPGA.js} +3 -3
  159. package/dist/collections-XIHCTMSJ.js +70 -0
  160. package/dist/{configuration-C4IGBNXH.js → configuration-3GCBMM27.js} +3 -3
  161. package/dist/{configuration-JI22M76Z.js → configuration-FWZTMYXY.js} +5 -5
  162. package/dist/{create-OXR7WG5F.js → create-2RGNAVVY.js} +32 -32
  163. package/dist/{create-5QLYFVEK.js → create-32MXB6FD.js} +24 -24
  164. package/dist/create-3AMFYYI6.js +245 -0
  165. package/dist/create-AMNH3WXL.js +75 -0
  166. package/dist/{create-UPYB65PD.js → create-BV3QDTK2.js} +4 -4
  167. package/dist/{create-POK6SJSZ.js → create-FHIFVCSG.js} +52 -49
  168. package/dist/{create-EATFT5AB.js → create-GO7APBBU.js} +31 -31
  169. package/dist/create-HEZYB7RF.js +1179 -0
  170. package/dist/{create-R7K3ECN6.js → create-K26SM34L.js} +3 -3
  171. package/dist/{create-6I43IPLO.js → create-N534JQPH.js} +14 -14
  172. package/dist/create-NEK6JCKR.js +1798 -0
  173. package/dist/{create-YBF4YGWG.js → create-NF2LPVXA.js} +3 -3
  174. package/dist/{create-F7IDSSTP.js → create-PJVLJ7T6.js} +50 -45
  175. package/dist/{create-CK4X357V.js → create-RPBHXU32.js} +28 -28
  176. package/dist/{create-SFU3W3ZH.js → create-U64NEOEL.js} +3 -3
  177. package/dist/create-VL7LDTVE.js +1931 -0
  178. package/dist/{create-XVHOCZHJ.js → create-X5SOAPD3.js} +3 -3
  179. package/dist/{create-2XZLOG5Z.js → create-XLYGW5PN.js} +69 -41
  180. package/dist/{create-GB3ZA4LH.js → create-YKYLCEAK.js} +6 -6
  181. package/dist/customer-group-add-customers-2C53NFBJ.js +251 -0
  182. package/dist/customer-group-create-75QQEQZF.js +147 -0
  183. package/dist/customer-group-detail-AOQYYAOG.js +58 -0
  184. package/dist/customer-group-edit-N77RCW6I.js +138 -0
  185. package/dist/customer-groups-GNFV7VMT.js +284 -0
  186. package/dist/{customers-SOLJ2KQQ.js → customers-HNINO6YL.js} +11 -11
  187. package/dist/{edit-TZ4EXLKJ.js → edit-3DUCWSLA.js} +62 -46
  188. package/dist/{edit-ORXS3A2Y.js → edit-3V34KJS2.js} +3 -3
  189. package/dist/{edit-RJ3EZ5CD.js → edit-4PWAJ7A3.js} +25 -25
  190. package/dist/{edit-ZQP4MNJU.js → edit-7CLOJ3UZ.js} +50 -47
  191. package/dist/{edit-ZAHCMF5U.js → edit-7SBPHN6P.js} +3 -3
  192. package/dist/edit-BSD6667Q.js +367 -0
  193. package/dist/{edit-Q3UQIOLS.js → edit-I2RJUPWV.js} +4 -4
  194. package/dist/{edit-UUP3BQV3.js → edit-IJ6DCBUU.js} +5 -5
  195. package/dist/{edit-ZMERG3L7.js → edit-JB7KVBOL.js} +5 -5
  196. package/dist/{edit-O4JLGKQR.js → edit-NHQJLCAK.js} +4 -4
  197. package/dist/edit-O65JD54W.js +103 -0
  198. package/dist/{edit-4OEBCCXJ.js → edit-SIKOSSHF.js} +24 -24
  199. package/dist/edit-TD7QFM4Z.js +871 -0
  200. package/dist/{edit-C4OCKQVU.js → edit-UNN3QTEJ.js} +3 -3
  201. package/dist/{edit-PFAJZUWI.js → edit-WEUFBORT.js} +33 -34
  202. package/dist/{edit-KAKVPHZZ.js → edit-WN2Q3TOX.js} +4 -4
  203. package/dist/{edit-QPPMI7MU.js → edit-ZGAOUZYP.js} +33 -34
  204. package/dist/{edit-522DG3BY.js → edit-ZOLSAIKF.js} +3 -3
  205. package/dist/{edit-2LGAEKH6.js → edit-ZORE6RUD.js} +25 -25
  206. package/dist/{edit-budget-L3CCEWNF.js → edit-budget-D22WMVYR.js} +3 -3
  207. package/dist/{edit-inventory-item-A7KAPATR.js → edit-inventory-item-QMYWEBZ3.js} +3 -3
  208. package/dist/{edit-inventory-item-attributes-RNBOJR66.js → edit-inventory-item-attributes-HLG6JR6S.js} +3 -3
  209. package/dist/edit-price-F7ZWM3FN.js +197 -0
  210. package/dist/edit-stock-ITAZNHPU.js +230 -0
  211. package/dist/fulfillment-U2GRQ6DD.js +641 -0
  212. package/dist/{fulfillment-providers-6WDXCGAI.js → fulfillment-providers-CMU2JB5X.js} +40 -40
  213. package/dist/index.css +120 -24
  214. package/dist/index.js +355 -235
  215. package/dist/{offer-inventory-batch-page-4QNXDUWN.js → inventory-4JKLAZ2Q.js} +20 -20
  216. package/dist/{inventory-IOVM7GDU.js → inventory-FKEXULLT.js} +10 -10
  217. package/dist/{invite-HRKSQI4B.js → invite-3R2CEWLN.js} +23 -23
  218. package/dist/{invite-UBH7PYSH.js → invite-MNAX6EUC.js} +39 -39
  219. package/dist/loader-HTPUNIOS.js +34 -0
  220. package/dist/loader-MAAMUP2Z.js +33 -0
  221. package/dist/{locations-INS6FTMJ.js → locations-2VWSMWHL.js} +3 -3
  222. package/dist/login-YUWOWICV.js +39 -0
  223. package/dist/{manage-locations-TIYOCOZU.js → manage-locations-RWGDXXJQ.js} +3 -3
  224. package/dist/{media-EXWUWWNB.js → media-P6WSFHY4.js} +31 -30
  225. package/dist/media-YB4G5CMV.js +316 -0
  226. package/dist/{metadata-JIMHXPKE.js → metadata-5Q6FLVX4.js} +27 -27
  227. package/dist/{metadata-T6MLCEZ2.js → metadata-6OYHLPLA.js} +25 -25
  228. package/dist/{metadata-JCNPERR3.js → metadata-ADXGD4Y6.js} +25 -25
  229. package/dist/{metadata-ITS3VPE3.js → metadata-J447GEBP.js} +27 -27
  230. package/dist/{metadata-YOQEXEGO.js → metadata-VTQ2CGZX.js} +27 -27
  231. package/dist/{offer-create-page-6YTTQAXZ.js → offer-create-page-ACPKTNHA.js} +245 -266
  232. package/dist/offer-detail-page-S4R4N5GL.js +584 -0
  233. package/dist/offer-variant-detail-page-XUMDXZUD.js +402 -0
  234. package/dist/offers-OTZJBW43.js +54 -0
  235. package/dist/{onboarding-GCRT6P6M.js → onboarding-TUGXFOA6.js} +23 -23
  236. package/dist/orders-PJSJNGZS.js +63 -0
  237. package/dist/{organization-5AFVFFZQ.js → organization-YIOAVFHN.js} +26 -26
  238. package/dist/{organize-QXDKGP2X.js → organize-BTA7NJD2.js} +4 -4
  239. package/dist/{organize-AZYAANZM.js → organize-OWT5QSJR.js} +4 -4
  240. package/dist/pages/index.d.ts +232 -232
  241. package/dist/pages/index.js +89 -87
  242. package/dist/{payment-details-ENUWDVGI.js → payment-details-K2XFATEL.js} +24 -24
  243. package/dist/{payouts-2QBQSNDR.js → payouts-K5IDTJV3.js} +11 -11
  244. package/dist/{price-lists-2WBNENE7.js → price-lists-DNPIPDAW.js} +13 -13
  245. package/dist/{offer-pricing-edit-page-WZNP3TWV.js → pricing-5VUPPNKS.js} +21 -19
  246. package/dist/{pricing-4Y73YJHP.js → pricing-J5FIDZIY.js} +32 -32
  247. package/dist/{product-tags-DE32PERU.js → product-tags-SJYIGXEV.js} +47 -44
  248. package/dist/{product-types-PKUEL7X5.js → product-types-4PTJW5DE.js} +10 -10
  249. package/dist/product-variant-detail-FO6J3RFA.js +371 -0
  250. package/dist/{product-variant-edit-ESLPI5ES.js → product-variant-edit-55TAIBZO.js} +45 -27
  251. package/dist/{products-WLGCX6Z7.js → products-EQMANSO6.js} +41 -40
  252. package/dist/products-XM57LXJK.js +92 -0
  253. package/dist/{professional-details-OCVQO2MV.js → professional-details-WWZPTXSX.js} +24 -24
  254. package/dist/{profile-2HW5NX6K.js → profile-5IADQ727.js} +30 -30
  255. package/dist/{promotions-FPV6QOEQ.js → promotions-BYW6TZ5B.js} +12 -12
  256. package/dist/receive-MTXKKPKZ.js +578 -0
  257. package/dist/refund-3IXGYA7W.js +268 -0
  258. package/dist/{register-PZOHGO7N.js → register-U5PQZATC.js} +25 -25
  259. package/dist/{reset-password-Q7BNWHHO.js → reset-password-SKUJJLSV.js} +3 -3
  260. package/dist/{return-reasons-J2WFZOQH.js → return-reasons-QDPSIJG3.js} +22 -19
  261. package/dist/{sales-channels-I3PR34U5.js → sales-channels-GBSTCWVP.js} +12 -13
  262. package/dist/{sales-channels-HPG2ND4W.js → sales-channels-N4NE3FXP.js} +14 -15
  263. package/dist/{settings-RZNYWACF.js → settings-ZUBBFS67.js} +54 -51
  264. package/dist/shipment-TKSCPC3M.js +241 -0
  265. package/dist/shipping-DODEUYOQ.js +125 -0
  266. package/dist/{shipping-profile-M3GGADFI.js → shipping-profile-O4JMJLN7.js} +5 -9
  267. package/dist/shipping-profiles-4TJ4IH6U.js +46 -0
  268. package/dist/{stock-3HVQ6FYP.js → stock-GYK2GHJN.js} +27 -27
  269. package/dist/{store-LDVMG7CV.js → store-XWOALZ5Q.js} +36 -36
  270. package/dist/{store-closure-EZ2YPOPL.js → store-closure-46B3XZ2I.js} +24 -24
  271. package/dist/{store-select-AM4AE7AL.js → store-select-E77E3ZY7.js} +24 -24
  272. package/dist/{tax-regions-HDLBFZVG.js → tax-regions-S2LFRTMP.js} +9 -9
  273. package/dist/{team-6NTDISM4.js → team-N2C5JPSU.js} +37 -37
  274. package/package.json +12 -12
  275. package/dist/[id]-MOOCGOWO.js +0 -480
  276. package/dist/[id]-UVQXCYXD.js +0 -1219
  277. package/dist/[id]-VUX4FUOO.js +0 -1557
  278. package/dist/allocate-items-OK5PVJGR.js +0 -533
  279. package/dist/attributes-TRAUBTCO.js +0 -278
  280. package/dist/breadcrumb-6FV7PWEN.js +0 -33
  281. package/dist/breadcrumb-EX4C3AZY.js +0 -47
  282. package/dist/breadcrumb-Q3XSG7B2.js +0 -46
  283. package/dist/chunk-27KRIXMQ.js +0 -71
  284. package/dist/chunk-432S4FGR.js +0 -0
  285. package/dist/chunk-BDZOSMAX.js +0 -23
  286. package/dist/chunk-CFRWIQIZ.js +0 -43
  287. package/dist/chunk-G7BL4L3L.js +0 -66
  288. package/dist/chunk-RXV7INUV.js +0 -426
  289. package/dist/chunk-T6LHVNWO.js +0 -27
  290. package/dist/collections-DS63FT2E.js +0 -68
  291. package/dist/create-HR4I33SE.js +0 -73
  292. package/dist/create-UFHLPXET.js +0 -215
  293. package/dist/edit-GQNIINRR.js +0 -192
  294. package/dist/fulfillment-OIIPL7B7.js +0 -559
  295. package/dist/loader-VDYPD3RI.js +0 -31
  296. package/dist/login-HON44E3S.js +0 -39
  297. package/dist/metadata-5BPOBBU2.js +0 -45
  298. package/dist/offer-detail-page-OMZN2NTA.js +0 -492
  299. package/dist/offer-edit-page-3MO566RP.js +0 -151
  300. package/dist/offers-GVN5LCK6.js +0 -32
  301. package/dist/orders-CHSS4ASB.js +0 -63
  302. package/dist/product-variant-detail-MWUBPCOP.js +0 -209
  303. package/dist/products-XOHAQHUJ.js +0 -91
  304. package/dist/shipment-KWUXQZWK.js +0 -176
  305. package/dist/shipping-profiles-L27STQ7K.js +0 -46
@@ -3,166 +3,135 @@ import {
3
3
  CategoryHeader,
4
4
  ProductStatusCell,
5
5
  ProductStatusHeader
6
- } from "./chunk-U5G3AVED.js";
7
- import "./chunk-FQERBIVS.js";
6
+ } from "./chunk-WBCWER26.js";
7
+ import {
8
+ useProductTableQuery
9
+ } from "./chunk-H6LZ77GX.js";
10
+ import {
11
+ ProductCell,
12
+ ProductHeader
13
+ } from "./chunk-FWPGOIFA.js";
14
+ import {
15
+ useProductTableFilters
16
+ } from "./chunk-JK4M3ZKY.js";
8
17
  import "./chunk-DB6ANJBO.js";
9
18
  import {
10
19
  PlaceholderCell
11
20
  } from "./chunk-PHOCVOZ5.js";
12
21
  import {
13
- _DataTable,
14
- useDataTable
15
- } from "./chunk-SSUUT5LK.js";
16
- import "./chunk-YN3FGNJM.js";
17
- import "./chunk-6OUPJNYO.js";
18
- import "./chunk-3EF54XFY.js";
22
+ defineTabMeta
23
+ } from "./chunk-LEWA4BPH.js";
19
24
  import {
20
25
  DataGrid,
21
26
  createDataGridHelper,
22
27
  createDataGridLocationStockColumns,
23
28
  createDataGridPriceColumns
24
- } from "./chunk-4LVP635F.js";
25
- import {
26
- defineTabMeta
27
- } from "./chunk-LEWA4BPH.js";
29
+ } from "./chunk-5FBQOAXU.js";
28
30
  import "./chunk-IQPN4PZJ.js";
29
31
  import {
30
32
  TabbedForm
31
- } from "./chunk-LQD232FW.js";
33
+ } from "./chunk-WJ5EU3KW.js";
32
34
  import "./chunk-TKGWSUEI.js";
33
- import "./chunk-U2ZFCAPX.js";
35
+ import "./chunk-SITRHMZZ.js";
34
36
  import {
35
37
  RouteFocusModal,
36
38
  useRouteModal
37
39
  } from "./chunk-GDWBOQI5.js";
38
40
  import "./chunk-3QSRE5LS.js";
39
- import "./chunk-LRD242C7.js";
40
- import "./chunk-QHQWEERJ.js";
41
+ import "./chunk-FQERBIVS.js";
41
42
  import {
42
- useQueryParams
43
- } from "./chunk-THHRRYRS.js";
44
- import "./chunk-UCYSCKZV.js";
43
+ _DataTable,
44
+ useDataTable
45
+ } from "./chunk-W3UHAQCV.js";
46
+ import "./chunk-YN3FGNJM.js";
47
+ import "./chunk-KCHYLLVG.js";
48
+ import "./chunk-634XVU3D.js";
49
+ import "./chunk-THHRRYRS.js";
50
+ import "./chunk-LRD242C7.js";
51
+ import "./chunk-DSTHXHJ5.js";
45
52
  import {
46
53
  Thumbnail
47
54
  } from "./chunk-WIYFXWRI.js";
48
55
  import "./chunk-INNFZYX2.js";
56
+ import "./chunk-LAVHRER2.js";
57
+ import "./chunk-QHQWEERJ.js";
58
+ import "./chunk-Y7QKP6QU.js";
59
+ import "./chunk-BQHVM46E.js";
60
+ import "./chunk-QIF4QE7T.js";
61
+ import "./chunk-VE6GRIIN.js";
62
+ import "./chunk-7MARNXFG.js";
63
+ import "./chunk-MNHP6YRC.js";
64
+ import "./chunk-NTJ3BMOE.js";
65
+ import "./chunk-5PAUN3PM.js";
66
+ import "./chunk-ZLHCZ5F2.js";
49
67
  import {
50
- useVariants
51
- } from "./chunk-T6LHVNWO.js";
68
+ useShippingProfiles
69
+ } from "./chunk-GZ4KTAWS.js";
52
70
  import {
53
71
  usePricePreferences
54
- } from "./chunk-4S6XGIC6.js";
72
+ } from "./chunk-PUAWN7SS.js";
55
73
  import {
56
74
  useCurrentSeller
57
- } from "./chunk-QT7YFHCA.js";
75
+ } from "./chunk-MVEHWM7K.js";
76
+ import "./chunk-OYUJYPDF.js";
77
+ import "./chunk-O7BGGWW6.js";
78
+ import "./chunk-KIURBTC4.js";
79
+ import "./chunk-3SH24DGG.js";
80
+ import "./chunk-JR7AABT5.js";
58
81
  import {
59
- useShippingProfiles
60
- } from "./chunk-IQWK723D.js";
82
+ useStockLocations
83
+ } from "./chunk-ZQCCVCHB.js";
84
+ import "./chunk-5BQO3YQP.js";
61
85
  import {
62
86
  useBulkCreateOffers
63
- } from "./chunk-UORPTGV2.js";
87
+ } from "./chunk-EPRYM3FA.js";
88
+ import "./chunk-6FDPVW7Y.js";
89
+ import "./chunk-JJP6AKMV.js";
64
90
  import {
65
- useStockLocations
66
- } from "./chunk-NBPMNUKZ.js";
67
- import "./chunk-LAVHRER2.js";
68
- import "./chunk-Y7QKP6QU.js";
91
+ useProducts
92
+ } from "./chunk-G6YNCIVF.js";
69
93
  import "./chunk-A5DJIOHN.js";
70
94
  import "./chunk-RHKRREUU.js";
71
95
  import "./chunk-ZA2KFUFR.js";
72
- import "./chunk-RIN4CBRB.js";
96
+ import "./chunk-LXZXXOJ3.js";
73
97
  import "./chunk-NBMM2TZK.js";
74
98
 
99
+ // src/pages/offers/create/offer-create-page.tsx
100
+ import { useTranslation as useTranslation4 } from "react-i18next";
101
+
75
102
  // src/pages/offers/create/create-offer-form/create-offer-form.tsx
76
103
  import { zodResolver } from "@hookform/resolvers/zod";
77
104
  import { Button, toast } from "@medusajs/ui";
78
- import { useEffect as useEffect2, useState as useState2 } from "react";
105
+ import { useEffect, useMemo as useMemo3, useState as useState2 } from "react";
79
106
  import { useForm } from "react-hook-form";
80
107
  import { useTranslation as useTranslation3 } from "react-i18next";
81
108
 
82
109
  // src/pages/offers/create/create-offer-form/create-offer-catalogue.tsx
83
- import { Checkbox } from "@medusajs/ui";
110
+ import { Checkbox, Text } from "@medusajs/ui";
84
111
  import { keepPreviousData } from "@tanstack/react-query";
85
112
  import {
86
113
  createColumnHelper
87
114
  } from "@tanstack/react-table";
88
- import { useEffect, useMemo, useState } from "react";
115
+ import { useMemo, useState } from "react";
89
116
  import { useFormContext } from "react-hook-form";
90
117
  import { useTranslation } from "react-i18next";
91
-
92
- // src/hooks/table/query/use-product-variants-table-query.tsx
93
- var DEFAULT_FIELDS = "*options,*inventory_items,*inventory_items.inventory,*inventory_items.inventory.location_levels";
94
- var useProductVariantsTableQuery = ({
95
- prefix,
96
- pageSize = 10
97
- }) => {
98
- const queryObject = useQueryParams(
99
- [
100
- "offset",
101
- "order",
102
- "q",
103
- "id",
104
- "sku",
105
- "title",
106
- "manage_inventory",
107
- "allow_backorder",
108
- "created_at",
109
- "updated_at"
110
- ],
111
- prefix
112
- );
113
- const {
114
- offset,
115
- order,
116
- q,
117
- id,
118
- sku,
119
- title,
120
- manage_inventory,
121
- allow_backorder,
122
- created_at,
123
- updated_at
124
- } = queryObject;
125
- const searchParams = {
126
- limit: pageSize,
127
- offset: offset ? Number(offset) : 0,
128
- fields: DEFAULT_FIELDS,
129
- order,
130
- q,
131
- id: id ? id.split(",") : void 0,
132
- sku: sku ? sku.split(",") : void 0,
133
- title: title ? title.split(",") : void 0,
134
- manage_inventory: manage_inventory ? manage_inventory === "true" : void 0,
135
- allow_backorder: allow_backorder ? allow_backorder === "true" : void 0,
136
- created_at: created_at ? JSON.parse(created_at) : void 0,
137
- updated_at: updated_at ? JSON.parse(updated_at) : void 0
138
- };
139
- return {
140
- searchParams,
141
- raw: queryObject
142
- };
143
- };
144
-
145
- // src/pages/offers/create/create-offer-form/create-offer-catalogue.tsx
146
118
  import { jsx, jsxs } from "react/jsx-runtime";
147
119
  var PAGE_SIZE = 10;
148
120
  var FIELDS = [
149
121
  "id",
150
122
  "title",
151
- "sku",
152
- "ean",
153
- "upc",
154
- "product_id",
155
- "product.id",
156
- "product.title",
157
- "product.thumbnail",
158
- "product.status",
159
- "product.categories.id",
160
- "product.categories.name"
123
+ "handle",
124
+ "status",
125
+ "thumbnail",
126
+ "*collection",
127
+ "categories.id",
128
+ "categories.name",
129
+ "variants.id"
161
130
  ].join(",");
162
131
  var Root = () => {
163
132
  const { t } = useTranslation();
164
133
  const form = useFormContext();
165
- const initialSelection = (form.getValues("selected_variant_ids") ?? []).reduce(
134
+ const initialSelection = (form.getValues("selected_product_ids") ?? []).reduce(
166
135
  (acc, id) => {
167
136
  acc[id] = true;
168
137
  return acc;
@@ -171,31 +140,29 @@ var Root = () => {
171
140
  );
172
141
  const [rowSelection, setRowSelection] = useState(initialSelection);
173
142
  const updater = (fn) => {
174
- const state = typeof fn === "function" ? fn(rowSelection) : fn;
175
- setRowSelection(state);
176
- const ids = Object.keys(state);
177
- form.setValue("selected_variant_ids", ids, {
143
+ const next = typeof fn === "function" ? fn(rowSelection) : fn;
144
+ const nextIds = Object.keys(next);
145
+ const currentIds = Object.keys(rowSelection);
146
+ const unchanged = nextIds.length === currentIds.length && nextIds.every((id) => rowSelection[id]);
147
+ if (unchanged) {
148
+ return;
149
+ }
150
+ setRowSelection(next);
151
+ form.setValue("selected_product_ids", nextIds, {
178
152
  shouldDirty: true,
179
153
  shouldTouch: true,
180
154
  shouldValidate: true
181
155
  });
182
156
  };
183
- const { searchParams, raw } = useProductVariantsTableQuery({
184
- pageSize: PAGE_SIZE
185
- });
186
- const {
187
- variants,
188
- count,
189
- isPending: isLoading,
190
- isError,
191
- error
192
- } = useVariants(
157
+ const { searchParams, raw } = useProductTableQuery({ pageSize: PAGE_SIZE });
158
+ const { products, count, isLoading, isError, error } = useProducts(
193
159
  { ...searchParams, fields: FIELDS },
194
160
  { placeholderData: keepPreviousData }
195
161
  );
162
+ const filters = useProductTableFilters();
196
163
  const columns = useColumns();
197
164
  const { table } = useDataTable({
198
- data: variants ?? [],
165
+ data: products ?? [],
199
166
  columns,
200
167
  enablePagination: true,
201
168
  enableRowSelection: true,
@@ -207,9 +174,6 @@ var Root = () => {
207
174
  updater
208
175
  }
209
176
  });
210
- useEffect(() => {
211
- void form.trigger("selected_variant_ids");
212
- }, [rowSelection, form]);
213
177
  if (isError) {
214
178
  throw error;
215
179
  }
@@ -227,18 +191,24 @@ var Root = () => {
227
191
  columns,
228
192
  pageSize: PAGE_SIZE,
229
193
  isLoading,
194
+ filters,
230
195
  orderBy: [
231
196
  { key: "title", label: t("fields.title") },
232
197
  { key: "created_at", label: t("fields.createdAt") },
233
198
  { key: "updated_at", label: t("fields.updatedAt") }
234
199
  ],
200
+ defaultOrderBy: "title",
235
201
  queryObject: raw,
236
202
  layout: "fill",
237
203
  pagination: true,
238
204
  search: "autofocus"
239
205
  }
240
206
  ),
241
- /* @__PURE__ */ jsx("div", { className: "bg-ui-bg-subtle text-ui-fg-subtle border-t px-6 py-4", children: /* @__PURE__ */ jsx("span", { className: "txt-small", children: t("offers.create.tip") }) })
207
+ /* @__PURE__ */ jsx("div", { className: "bg-ui-bg-subtle border-t px-6 py-4", children: /* @__PURE__ */ jsxs("p", { className: "border-ui-border-strong txt-small text-ui-fg-subtle border-l-2 pl-3", children: [
208
+ /* @__PURE__ */ jsx("span", { className: "text-ui-fg-base font-medium", children: t("offers.create.tipLabel") }),
209
+ " ",
210
+ t("offers.create.tip")
211
+ ] }) })
242
212
  ]
243
213
  }
244
214
  );
@@ -269,52 +239,44 @@ var useColumns = () => {
269
239
  )
270
240
  }),
271
241
  columnHelper.display({
272
- id: "title",
273
- header: t("fields.title"),
274
- cell: ({ row }) => {
275
- const variant = row.original;
276
- const title = variant.title ?? "";
277
- if (!title) return /* @__PURE__ */ jsx(PlaceholderCell, {});
278
- return /* @__PURE__ */ jsxs("div", { className: "flex h-full w-full max-w-[320px] items-center gap-x-3 overflow-hidden", children: [
279
- /* @__PURE__ */ jsx("div", { className: "w-fit flex-shrink-0", children: /* @__PURE__ */ jsx(Thumbnail, { src: variant.product?.thumbnail ?? null }) }),
280
- /* @__PURE__ */ jsx("span", { className: "truncate", title, children: title })
281
- ] });
282
- }
242
+ id: "product",
243
+ header: () => /* @__PURE__ */ jsx(ProductHeader, {}),
244
+ cell: ({ row }) => /* @__PURE__ */ jsx(
245
+ ProductCell,
246
+ {
247
+ product: {
248
+ title: row.original.title ?? "",
249
+ thumbnail: row.original.thumbnail ?? null
250
+ }
251
+ }
252
+ )
283
253
  }),
284
254
  columnHelper.display({
285
255
  id: "categories",
286
256
  header: () => /* @__PURE__ */ jsx(CategoryHeader, {}),
287
- cell: ({ row }) => /* @__PURE__ */ jsx(CategoryCell, { categories: row.original.product?.categories })
257
+ cell: ({ row }) => /* @__PURE__ */ jsx(CategoryCell, { categories: row.original.categories })
288
258
  }),
289
- columnHelper.accessor("sku", {
290
- header: t("fields.sku"),
291
- cell: ({ getValue }) => {
292
- const sku = getValue();
293
- if (!sku) return /* @__PURE__ */ jsx(PlaceholderCell, {});
294
- return /* @__PURE__ */ jsx("div", { className: "flex h-full w-full items-center overflow-hidden", children: /* @__PURE__ */ jsx("span", { className: "truncate", children: sku }) });
295
- }
296
- }),
297
- columnHelper.accessor("ean", {
298
- header: t("offers.fields.ean"),
299
- cell: ({ getValue }) => {
300
- const value = getValue();
301
- if (!value) return /* @__PURE__ */ jsx(PlaceholderCell, {});
302
- return /* @__PURE__ */ jsx("div", { className: "flex h-full w-full items-center overflow-hidden", children: /* @__PURE__ */ jsx("span", { className: "truncate", children: value }) });
259
+ columnHelper.display({
260
+ id: "collection",
261
+ header: t("fields.collection"),
262
+ cell: ({ row }) => {
263
+ const title = row.original.collection?.title;
264
+ if (!title) return /* @__PURE__ */ jsx(PlaceholderCell, {});
265
+ return /* @__PURE__ */ jsx(Text, { size: "small", leading: "compact", className: "truncate", children: title });
303
266
  }
304
267
  }),
305
- columnHelper.accessor("upc", {
306
- header: t("offers.fields.upc"),
307
- cell: ({ getValue }) => {
308
- const value = getValue();
309
- if (!value) return /* @__PURE__ */ jsx(PlaceholderCell, {});
310
- return /* @__PURE__ */ jsx("div", { className: "flex h-full w-full items-center overflow-hidden", children: /* @__PURE__ */ jsx("span", { className: "truncate", children: value }) });
311
- }
268
+ columnHelper.display({
269
+ id: "variants",
270
+ header: t("offers.fields.variants"),
271
+ cell: ({ row }) => /* @__PURE__ */ jsx(Text, { size: "small", leading: "compact", className: "truncate", children: t("offers.fields.variantsCount", {
272
+ count: row.original.variants?.length ?? 0
273
+ }) })
312
274
  }),
313
275
  columnHelper.display({
314
276
  id: "status",
315
277
  header: () => /* @__PURE__ */ jsx(ProductStatusHeader, {}),
316
278
  cell: ({ row }) => {
317
- const status = row.original.product?.status;
279
+ const status = row.original.status;
318
280
  if (!status) return /* @__PURE__ */ jsx(PlaceholderCell, {});
319
281
  return /* @__PURE__ */ jsx(ProductStatusCell, { status });
320
282
  }
@@ -326,7 +288,7 @@ var useColumns = () => {
326
288
  Root._tabMeta = defineTabMeta({
327
289
  id: "catalogue",
328
290
  labelKey: "offers.create.tabs.catalogue",
329
- validationFields: ["selected_variant_ids"]
291
+ validationFields: ["selected_product_ids"]
330
292
  });
331
293
  var CreateOfferCatalogueTab = Root;
332
294
 
@@ -335,6 +297,7 @@ import { useMemo as useMemo2 } from "react";
335
297
  import { useFormContext as useFormContext2, useWatch } from "react-hook-form";
336
298
  import { useTranslation as useTranslation2 } from "react-i18next";
337
299
  import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
300
+ var isGroup = (row) => row.__group === true;
338
301
  var Root2 = () => {
339
302
  const form = useFormContext2();
340
303
  const { setCloseOnEscape } = useRouteModal();
@@ -346,6 +309,22 @@ var Root2 = () => {
346
309
  control: form.control,
347
310
  name: "variants"
348
311
  });
312
+ const gridData = useMemo2(() => {
313
+ const rows = [];
314
+ let lastProductId;
315
+ (variants ?? []).forEach((variant, index) => {
316
+ if (variant.product_id !== lastProductId) {
317
+ rows.push({
318
+ __group: true,
319
+ id: `group-${variant.product_id}`,
320
+ product_title: variant.product_title
321
+ });
322
+ lastProductId = variant.product_id;
323
+ }
324
+ rows.push({ ...variant, __group: false, __formIndex: index });
325
+ });
326
+ return rows;
327
+ }, [variants]);
349
328
  const columns = useColumns2({
350
329
  currencyCode: currency_code,
351
330
  stockLocations: stock_locations,
@@ -361,7 +340,7 @@ var Root2 = () => {
361
340
  DataGrid,
362
341
  {
363
342
  columns,
364
- data: variants ?? [],
343
+ data: gridData,
365
344
  state: form,
366
345
  onEditingChange: (editing) => setCloseOnEscape(!editing)
367
346
  }
@@ -388,10 +367,20 @@ var useColumns2 = ({
388
367
  id: "title",
389
368
  header: t("fields.title"),
390
369
  cell: (context) => {
391
- const entity = context.row.original;
392
- const title = entity.variant_title || "";
370
+ const row = context.row.original;
371
+ if (isGroup(row)) {
372
+ return /* @__PURE__ */ jsx2(DataGrid.ReadonlyCell, { context, children: /* @__PURE__ */ jsx2(
373
+ "span",
374
+ {
375
+ className: "text-ui-fg-subtle truncate font-medium",
376
+ title: row.product_title,
377
+ children: row.product_title
378
+ }
379
+ ) });
380
+ }
381
+ const title = row.variant_title || "";
393
382
  return /* @__PURE__ */ jsx2(DataGrid.ReadonlyCell, { context, children: /* @__PURE__ */ jsxs2("div", { className: "flex h-full w-full items-center gap-x-2 overflow-hidden", children: [
394
- /* @__PURE__ */ jsx2(Thumbnail, { src: entity.product_thumbnail ?? null }),
383
+ /* @__PURE__ */ jsx2(Thumbnail, { src: row.product_thumbnail ?? null }),
395
384
  /* @__PURE__ */ jsx2("span", { className: "truncate", title, children: title })
396
385
  ] }) });
397
386
  },
@@ -401,40 +390,52 @@ var useColumns2 = ({
401
390
  id: "sku",
402
391
  name: t("fields.sku"),
403
392
  header: t("fields.sku"),
404
- field: (context) => `variants.${context.row.index}.sku`,
393
+ field: (context) => {
394
+ const row = context.row.original;
395
+ return isGroup(row) ? null : `variants.${row.__formIndex}.sku`;
396
+ },
405
397
  type: "text",
406
- cell: (context) => /* @__PURE__ */ jsx2(DataGrid.TextCell, { context })
398
+ cell: (context) => isGroup(context.row.original) ? /* @__PURE__ */ jsx2(DataGrid.ReadonlyCell, { context }) : /* @__PURE__ */ jsx2(DataGrid.TextCell, { context })
407
399
  }),
408
400
  columnHelper2.column({
409
401
  id: "shipping_profile",
410
- name: t("shippingProfile.domain"),
411
- header: t("shippingProfile.domain"),
412
- field: (context) => `variants.${context.row.index}.shipping_profile_id`,
402
+ name: t("offers.fields.shippingProfile"),
403
+ header: t("offers.fields.shippingProfile"),
404
+ field: (context) => {
405
+ const row = context.row.original;
406
+ return isGroup(row) ? null : `variants.${row.__formIndex}.shipping_profile_id`;
407
+ },
413
408
  type: "select",
414
- cell: (context) => /* @__PURE__ */ jsx2(
409
+ cell: (context) => isGroup(context.row.original) ? /* @__PURE__ */ jsx2(DataGrid.ReadonlyCell, { context }) : /* @__PURE__ */ jsx2(
415
410
  DataGrid.SelectCell,
416
411
  {
417
412
  context,
418
413
  options: shippingProfileOptions,
419
- placeholder: t("shippingProfile.domain")
414
+ placeholder: ""
420
415
  }
421
416
  )
422
417
  }),
423
418
  ...createDataGridLocationStockColumns({
424
419
  stockLocations,
420
+ isReadyOnly: (context) => isGroup(context.row.original),
425
421
  getFieldName: (context, index) => {
422
+ const row = context.row.original;
423
+ if (isGroup(row)) return null;
426
424
  const location = stockLocations[index];
427
425
  if (!location) return null;
428
- return `variants.${context.row.index}.inventory.${location.id}`;
426
+ return `variants.${row.__formIndex}.inventory.${location.id}`;
429
427
  },
430
428
  t
431
429
  }),
432
430
  ...createDataGridPriceColumns({
433
431
  currencies,
434
432
  pricePreferences,
433
+ isReadyOnly: (context) => isGroup(context.row.original),
435
434
  getFieldName: (context, value) => {
435
+ const row = context.row.original;
436
+ if (isGroup(row)) return null;
436
437
  if (context.column.id?.startsWith("currency_prices")) {
437
- return `variants.${context.row.index}.prices.${value}`;
438
+ return `variants.${row.__formIndex}.prices.${value}`;
438
439
  }
439
440
  return null;
440
441
  },
@@ -471,41 +472,19 @@ var VariantRowSchema = z.object({
471
472
  ).default({})
472
473
  });
473
474
  var CreateOfferSchema = z.object({
474
- selected_variant_ids: z.array(z.string().min(1)).min(1),
475
+ // The catalogue tab selects whole products (SPEC-009); the stock &
476
+ // prices tab fans them out to their variants.
477
+ selected_product_ids: z.array(z.string().min(1)).min(1),
475
478
  variants: z.array(VariantRowSchema).min(1)
476
479
  });
477
- var numericOrZero = (v) => {
478
- if (v === "" || v === null || v === void 0) return 0;
479
- return Number(v) || 0;
480
- };
481
- var isVariantRowPublishable = (row) => {
482
- const hasSku = !!row.sku && row.sku.trim().length > 0;
483
- const hasShipping = !!row.shipping_profile_id && row.shipping_profile_id.length > 0;
484
- const hasEnabledLocation = Object.values(row.inventory ?? {}).some(
485
- (v) => v.checked
486
- );
487
- const hasNonZeroPrice = Object.values(row.prices ?? {}).some(
488
- (v) => numericOrZero(v) > 0
489
- );
490
- return hasSku || hasShipping || hasEnabledLocation || hasNonZeroPrice;
491
- };
492
- var variantRowRequiresSku = (row) => {
493
- const hasEnabledLocation = Object.values(row.inventory ?? {}).some(
494
- (v) => v.checked
495
- );
496
- const hasNonZeroPrice = Object.values(row.prices ?? {}).some(
497
- (v) => numericOrZero(v) > 0
498
- );
499
- return hasEnabledLocation || hasNonZeroPrice;
500
- };
501
480
 
502
481
  // src/pages/offers/create/create-offer-form/create-offer-form.tsx
503
482
  import { jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
504
483
  var DEFAULTS = {
505
- selected_variant_ids: [],
484
+ selected_product_ids: [],
506
485
  variants: []
507
486
  };
508
- var numericOrZero2 = (v) => {
487
+ var numericOrZero = (v) => {
509
488
  if (v === "" || v === null || v === void 0) return 0;
510
489
  return Number(v) || 0;
511
490
  };
@@ -540,19 +519,18 @@ var CreateOfferForm = () => {
540
519
  const { currency_code } = useCurrentSeller();
541
520
  const { stock_locations } = useStockLocations({ limit: 100 });
542
521
  const locationIds = (stock_locations ?? []).map((l) => l.id);
543
- const selectedVariantIds = form.watch("selected_variant_ids") ?? [];
544
- const selectedVariantIdsKey = selectedVariantIds.join(",");
522
+ const selectedProductIds = form.watch("selected_product_ids") ?? [];
523
+ const selectedProductIdsKey = selectedProductIds.join(",");
545
524
  const locationsKey = locationIds.join(",");
546
- const { variants: fetchedVariants } = useVariants(
525
+ const { products: fetchedProducts } = useProducts(
547
526
  {
548
- id: selectedVariantIds,
549
- limit: selectedVariantIds.length || 1,
550
- fields: "id,title,sku,product_id,product.id,product.title,product.thumbnail"
527
+ id: selectedProductIds,
528
+ limit: selectedProductIds.length || 1,
529
+ fields: "id,title,thumbnail,variants.id,variants.title,variants.sku"
551
530
  },
552
- { enabled: selectedVariantIds.length > 0 }
531
+ { enabled: selectedProductIds.length > 0 }
553
532
  );
554
- useEffect2(() => {
555
- const ids = selectedVariantIdsKey ? selectedVariantIdsKey.split(",") : [];
533
+ useEffect(() => {
556
534
  const locIds = locationsKey ? locationsKey.split(",") : [];
557
535
  const emptyPrices = currency_code ? { [currency_code]: "" } : {};
558
536
  const emptyInventory = locIds.reduce((acc, locId) => {
@@ -564,93 +542,87 @@ var CreateOfferForm = () => {
564
542
  existing.map((row) => [row.variant_id, row])
565
543
  );
566
544
  const next = [];
567
- for (const variantId of ids) {
568
- const previous = existingByVariantId.get(variantId);
569
- if (previous) {
545
+ for (const product of fetchedProducts ?? []) {
546
+ for (const variant of product.variants ?? []) {
547
+ const previous = existingByVariantId.get(variant.id);
548
+ if (previous) {
549
+ next.push({
550
+ ...previous,
551
+ prices: { ...emptyPrices, ...previous.prices ?? {} },
552
+ inventory: { ...emptyInventory, ...previous.inventory ?? {} }
553
+ });
554
+ continue;
555
+ }
570
556
  next.push({
571
- ...previous,
572
- prices: { ...emptyPrices, ...previous.prices ?? {} },
573
- inventory: { ...emptyInventory, ...previous.inventory ?? {} }
557
+ variant_id: variant.id,
558
+ product_id: product.id ?? "",
559
+ product_title: product.title ?? "",
560
+ variant_title: variant.title ?? variant.id,
561
+ product_thumbnail: product.thumbnail ?? null,
562
+ variant_sku: variant.sku ?? null,
563
+ sku: variant.sku ?? "",
564
+ shipping_profile_id: "",
565
+ prices: { ...emptyPrices },
566
+ inventory: { ...emptyInventory }
574
567
  });
575
- continue;
576
568
  }
577
- const fetched = (fetchedVariants ?? []).find((v) => v.id === variantId);
578
- if (!fetched) continue;
579
- next.push({
580
- variant_id: variantId,
581
- product_id: fetched.product_id ?? fetched.product?.id ?? "",
582
- product_title: fetched.product?.title ?? "",
583
- variant_title: fetched.title ?? variantId,
584
- product_thumbnail: fetched.product?.thumbnail ?? null,
585
- variant_sku: fetched.sku ?? null,
586
- sku: fetched.sku ?? "",
587
- shipping_profile_id: "",
588
- prices: { ...emptyPrices },
589
- inventory: { ...emptyInventory }
590
- });
591
569
  }
592
- form.setValue("variants", next, { shouldDirty: false });
570
+ const prev = form.getValues("variants") ?? [];
571
+ if (JSON.stringify(prev) !== JSON.stringify(next)) {
572
+ form.setValue("variants", next, { shouldDirty: false });
573
+ }
593
574
  }, [
594
- selectedVariantIdsKey,
595
- fetchedVariants,
575
+ selectedProductIdsKey,
576
+ fetchedProducts,
596
577
  currency_code,
597
578
  locationsKey,
598
579
  form
599
580
  ]);
600
581
  const handleSubmit = form.handleSubmit(async (values) => {
601
582
  const variants = values.variants ?? [];
602
- const publishable = variants.filter((v) => isVariantRowPublishable(v));
603
- if (publishable.length === 0) {
604
- toast.error(t("offers.validation.noPublishableRows"));
583
+ if (variants.length === 0) {
605
584
  return;
606
585
  }
607
586
  let hasValidationError = false;
608
587
  const skuSeen = /* @__PURE__ */ new Map();
609
588
  for (let i = 0; i < variants.length; i++) {
610
589
  const row = variants[i];
611
- if (!isVariantRowPublishable(row)) continue;
612
590
  const sku = (row.sku ?? "").trim();
613
- if (variantRowRequiresSku(row) && !sku) {
591
+ if (!sku) {
614
592
  form.setError(`variants.${i}.sku`, {
615
593
  type: "manual",
616
594
  message: t("offers.validation.skuRequired")
617
595
  });
618
596
  hasValidationError = true;
619
- continue;
620
- }
621
- if (sku) {
622
- if (skuSeen.has(sku)) {
623
- form.setError(`variants.${i}.sku`, {
624
- type: "manual",
625
- message: t("offers.validation.duplicateSku")
626
- });
627
- hasValidationError = true;
628
- continue;
629
- }
597
+ } else if (skuSeen.has(sku)) {
598
+ form.setError(`variants.${i}.sku`, {
599
+ type: "manual",
600
+ message: t("offers.validation.duplicateSku")
601
+ });
602
+ hasValidationError = true;
603
+ } else {
630
604
  skuSeen.set(sku, i);
631
605
  }
632
606
  if (!row.shipping_profile_id) {
633
607
  form.setError(`variants.${i}.shipping_profile_id`, {
634
608
  type: "manual",
635
- message: t("offers.validation.skuRequired")
609
+ message: t("offers.validation.shippingProfileRequired")
636
610
  });
637
611
  hasValidationError = true;
638
612
  }
639
613
  }
640
614
  if (hasValidationError) return;
641
615
  setIsSubmitting(true);
642
- const publishableRows = [];
643
- for (let i = 0; i < variants.length; i++) {
644
- const row = variants[i];
645
- if (!isVariantRowPublishable(row)) continue;
646
- const sku = (row.sku ?? "").trim() || row.variant_sku || row.variant_id;
647
- publishableRows.push({ row, index: i, sku });
648
- }
649
- const payloadOffers = publishableRows.map(({ row, sku }) => {
616
+ const rows = variants.map((row, index) => ({
617
+ row,
618
+ index,
619
+ sku: (row.sku ?? "").trim()
620
+ }));
621
+ const payloadOffers = rows.map(({ row, sku }) => {
650
622
  const prices = [];
651
623
  if (currency_code) {
652
624
  prices.push({
653
- amount: numericOrZero2(row.prices?.[currency_code]),
625
+ amount: numericOrZero(row.prices?.[currency_code]),
654
626
  currency_code
655
627
  });
656
628
  }
@@ -659,7 +631,7 @@ var CreateOfferForm = () => {
659
631
  if (!level?.checked) continue;
660
632
  stock_levels.push({
661
633
  location_id: locationId,
662
- stocked_quantity: numericOrZero2(level.quantity)
634
+ stocked_quantity: numericOrZero(level.quantity)
663
635
  });
664
636
  }
665
637
  return {
@@ -681,7 +653,7 @@ var CreateOfferForm = () => {
681
653
  handleSuccess("/offers");
682
654
  } catch (err) {
683
655
  const message = err instanceof Error ? err.message : "Unknown error";
684
- const attributed = attachErrorToRow(message, publishableRows, form);
656
+ const attributed = attachErrorToRow(message, rows, form);
685
657
  if (!attributed) {
686
658
  toast.error(message);
687
659
  }
@@ -689,7 +661,14 @@ var CreateOfferForm = () => {
689
661
  setIsSubmitting(false);
690
662
  }
691
663
  });
692
- return /* @__PURE__ */ jsxs3(
664
+ const tabs = useMemo3(
665
+ () => [
666
+ /* @__PURE__ */ jsx3(CreateOfferCatalogueTab, {}, "catalogue"),
667
+ /* @__PURE__ */ jsx3(CreateOfferStockLevelsAndPricesTab, {}, "stockLevelsAndPrices")
668
+ ],
669
+ []
670
+ );
671
+ return /* @__PURE__ */ jsx3(
693
672
  TabbedForm,
694
673
  {
695
674
  form,
@@ -715,27 +694,27 @@ var CreateOfferForm = () => {
715
694
  variant: "primary",
716
695
  size: "small",
717
696
  onClick: () => onNext(),
718
- disabled: (form.watch("selected_variant_ids")?.length ?? 0) === 0,
697
+ disabled: (form.watch("selected_product_ids")?.length ?? 0) === 0,
719
698
  children: t("actions.continue")
720
699
  },
721
700
  "next-button"
722
701
  )
723
702
  ] }),
724
- children: [
725
- /* @__PURE__ */ jsx3(CreateOfferCatalogueTab, {}),
726
- /* @__PURE__ */ jsx3(CreateOfferStockLevelsAndPricesTab, {})
727
- ]
703
+ children: tabs
728
704
  }
729
705
  );
730
706
  };
731
707
 
732
708
  // src/pages/offers/create/offer-create-page.tsx
733
709
  import { jsx as jsx4, jsxs as jsxs4 } from "react/jsx-runtime";
734
- var OfferCreatePage = () => /* @__PURE__ */ jsxs4(RouteFocusModal, { children: [
735
- /* @__PURE__ */ jsx4(RouteFocusModal.Title, { asChild: true, children: /* @__PURE__ */ jsx4("span", { className: "sr-only", children: "Create offer" }) }),
736
- /* @__PURE__ */ jsx4(RouteFocusModal.Description, { asChild: true, children: /* @__PURE__ */ jsx4("span", { className: "sr-only", children: "Select variants and configure stock levels and prices to create offers." }) }),
737
- /* @__PURE__ */ jsx4(CreateOfferForm, {})
738
- ] });
710
+ var OfferCreatePage = () => {
711
+ const { t } = useTranslation4();
712
+ return /* @__PURE__ */ jsxs4(RouteFocusModal, { children: [
713
+ /* @__PURE__ */ jsx4(RouteFocusModal.Title, { asChild: true, children: /* @__PURE__ */ jsx4("span", { className: "sr-only", children: t("offers.create.header") }) }),
714
+ /* @__PURE__ */ jsx4(RouteFocusModal.Description, { asChild: true, children: /* @__PURE__ */ jsx4("span", { className: "sr-only", children: t("offers.create.description") }) }),
715
+ /* @__PURE__ */ jsx4(CreateOfferForm, {})
716
+ ] });
717
+ };
739
718
  var Component = OfferCreatePage;
740
719
  export {
741
720
  Component,