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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (291) hide show
  1. package/dist/{[id]-T5ECVBPF.js → [id]-3LNKC5OJ.js} +38 -39
  2. package/dist/{[id]-A55T2ORL.js → [id]-4HO4S2PX.js} +481 -473
  3. package/dist/{[id]-FWCX5PTI.js → [id]-4LIIFGET.js} +13 -13
  4. package/dist/{[id]-GBT6VB4S.js → [id]-5EECCIRP.js} +148 -57
  5. package/dist/{[id]-YPCO3DJV.js → [id]-5P5LTATX.js} +2 -2
  6. package/dist/{[id]-J6BZG5PU.js → [id]-AQUUZFRX.js} +9 -9
  7. package/dist/{[id]-QOEO3JOV.js → [id]-CUBGVODE.js} +175 -85
  8. package/dist/{[id]-QQU5HVFU.js → [id]-DCGPICT3.js} +36 -37
  9. package/dist/{[id]-GC3ZYPK4.js → [id]-DT5YJVKG.js} +32 -33
  10. package/dist/{[id]-SHAJTJNZ.js → [id]-IEBZ6V3W.js} +46 -46
  11. package/dist/{[id]-ZCMSBEVM.js → [id]-N7JEZFXQ.js} +6 -6
  12. package/dist/[id]-U6FKX5UQ.js +975 -0
  13. package/dist/{[id]-BC7IKQTQ.js → [id]-XB45DY2D.js} +18 -18
  14. package/dist/[id]-XP5KEMNX.js +602 -0
  15. package/dist/{[location_id]-NUBXDDJC.js → [location_id]-I4HHUHWY.js} +14 -14
  16. package/dist/{[province_id]-6GUA4PV5.js → [province_id]-OYX4MOCF.js} +31 -32
  17. package/dist/{add-NTRYWOJF.js → add-3T4GBFMM.js} +59 -56
  18. package/dist/{add-RU3WL4YB.js → add-RPRJWCYU.js} +63 -30
  19. package/dist/{add-customer-groups-U5RZWW4B.js → add-customer-groups-FB5T6PQN.js} +43 -42
  20. package/dist/{add-products-Q4MMDQKT.js → add-products-F243SWGD.js} +38 -40
  21. package/dist/{add-promotions-KD2CWQPF.js → add-promotions-TJDK7HLW.js} +17 -17
  22. package/dist/{add-to-campaign-QKYQCSR2.js → add-to-campaign-Q6OAJMUJ.js} +6 -6
  23. package/dist/{address-77Y3AOQ3.js → address-XVBSNMFU.js} +24 -25
  24. package/dist/{adjust-inventory-AFJLWF5R.js → adjust-inventory-IZLRMQXV.js} +4 -4
  25. package/dist/allocate-items-Q3VALDYT.js +685 -0
  26. package/dist/{areas-XUC5V5UO.js → areas-IYGBRCRH.js} +13 -13
  27. package/dist/attributes-LGEM2JJW.js +353 -0
  28. package/dist/breadcrumb-BC6XN2SE.js +13 -0
  29. package/dist/{breadcrumb-THJ2HPRB.js → breadcrumb-BFNJWOJ4.js} +10 -9
  30. package/dist/{breadcrumb-FPWBT76A.js → breadcrumb-BXD3SRM7.js} +3 -3
  31. package/dist/{breadcrumb-PBR27GGX.js → breadcrumb-FEYGZFJU.js} +4 -4
  32. package/dist/{breadcrumb-KTARIL65.js → breadcrumb-H45Z2WNG.js} +3 -3
  33. package/dist/breadcrumb-ILEAQRW7.js +33 -0
  34. package/dist/breadcrumb-K4HBKZUE.js +28 -0
  35. package/dist/{breadcrumb-YBBYFQYG.js → breadcrumb-KZPOPXGG.js} +2 -2
  36. package/dist/{breadcrumb-F3BN5753.js → breadcrumb-L262VPBO.js} +2 -2
  37. package/dist/{breadcrumb-3Z7KZG62.js → breadcrumb-LEFHXFLT.js} +3 -3
  38. package/dist/{breadcrumb-D3UDTWGE.js → breadcrumb-MOA2DBOE.js} +2 -2
  39. package/dist/breadcrumb-NZYOCEEM.js +47 -0
  40. package/dist/breadcrumb-VY5DNTTJ.js +46 -0
  41. package/dist/{breadcrumb-UAUX7XCV.js → breadcrumb-WG6TIF4C.js} +2 -2
  42. package/dist/{breadcrumb-2XA2WOK7.js → breadcrumb-XEZCMI55.js} +2 -2
  43. package/dist/{breadcrumb-IK6XCQOQ.js → breadcrumb-XGXKCDYS.js} +4 -4
  44. package/dist/{breadcrumb-Y5UW3I4C.js → breadcrumb-YOY6Z36F.js} +2 -2
  45. package/dist/{campaigns-JAQTSA4Z.js → campaigns-DZKRNCA4.js} +7 -7
  46. package/dist/{categories-T4QJYX4R.js → categories-JZJA2IBQ.js} +11 -9
  47. package/dist/{chunk-3PMM6AMP.js → chunk-2KA4TGBQ.js} +2 -2
  48. package/dist/{chunk-X4GWB6AT.js → chunk-2NPD4S55.js} +4 -4
  49. package/dist/{chunk-M6GKMFTC.js → chunk-3ALBZK4M.js} +1 -1
  50. package/dist/{chunk-LKUW5SV4.js → chunk-3C2T27YW.js} +2 -2
  51. package/dist/{chunk-O7VOGTLX.js → chunk-3I6ZAMGN.js} +1 -1
  52. package/dist/{chunk-5QI3NDJG.js → chunk-3SH24DGG.js} +2 -2
  53. package/dist/{chunk-TF6V3TFG.js → chunk-3TST3EWQ.js} +2 -2
  54. package/dist/chunk-42R54Z2X.js +8 -0
  55. package/dist/{chunk-GAE6TKOR.js → chunk-4IRQSBA7.js} +5 -6
  56. package/dist/{chunk-LFX6WU4A.js → chunk-5ALC4Z2H.js} +0 -13
  57. package/dist/{chunk-VZUA5SRD.js → chunk-5BQO3YQP.js} +2 -2
  58. package/dist/{chunk-SPOHNK4X.js → chunk-5BYYDBLS.js} +7 -7
  59. package/dist/{chunk-4LVP635F.js → chunk-5FBQOAXU.js} +135 -126
  60. package/dist/{chunk-BXRNZS5K.js → chunk-5PAUN3PM.js} +3 -3
  61. package/dist/{chunk-E2HQPY32.js → chunk-5RMLLTR7.js} +5 -5
  62. package/dist/{chunk-3EF54XFY.js → chunk-634XVU3D.js} +1 -1
  63. package/dist/{chunk-Y2MQ5EMD.js → chunk-6FDPVW7Y.js} +12 -3
  64. package/dist/{chunk-6FUIK3PX.js → chunk-6Q3J6ZMM.js} +5 -5
  65. package/dist/{chunk-LARLBYU6.js → chunk-7BFQKYCJ.js} +2 -2
  66. package/dist/chunk-7EXKHL5L.js +30 -0
  67. package/dist/{chunk-M6N4ISXL.js → chunk-7MARNXFG.js} +1 -1
  68. package/dist/{chunk-TYESCFYW.js → chunk-AOLE7MBM.js} +1 -1
  69. package/dist/{chunk-TBYCZRZ7.js → chunk-BQHVM46E.js} +32 -55
  70. package/dist/{chunk-TW324MAT.js → chunk-CRYZK4NU.js} +2 -2
  71. package/dist/{chunk-463CNCJC.js → chunk-CUAGC54B.js} +33 -35
  72. package/dist/{chunk-KIFSQOM2.js → chunk-D76WZZSB.js} +5 -5
  73. package/dist/{chunk-QLBIBLOY.js → chunk-DQ7LZZJX.js} +5 -5
  74. package/dist/{chunk-UCYSCKZV.js → chunk-DSTHXHJ5.js} +2114 -1699
  75. package/dist/{chunk-UFFVRF4V.js → chunk-EAAZV3B7.js} +6 -11
  76. package/dist/chunk-EDV4MTTT.js +434 -0
  77. package/dist/chunk-EEBJYXWA.js +15 -0
  78. package/dist/{chunk-UORPTGV2.js → chunk-EPRYM3FA.js} +11 -15
  79. package/dist/{chunk-YQYRAD5C.js → chunk-FCZJAYMM.js} +1 -1
  80. package/dist/{chunk-BER45EYD.js → chunk-FDKFUIYV.js} +1 -1
  81. package/dist/{chunk-JAUZ73XE.js → chunk-G6YNCIVF.js} +21 -61
  82. package/dist/{chunk-PVZBDWLK.js → chunk-GRH7C3QN.js} +1 -1
  83. package/dist/chunk-GSH6ZGI6.js +353 -0
  84. package/dist/{chunk-IQWK723D.js → chunk-GZ4KTAWS.js} +1 -1
  85. package/dist/{chunk-MJCL3WID.js → chunk-H6LZ77GX.js} +1 -1
  86. package/dist/{chunk-2QTNCGKX.js → chunk-IEVN722X.js} +1 -1
  87. package/dist/{chunk-L4KBTV57.js → chunk-IMJ62GAP.js} +1 -3
  88. package/dist/{chunk-SGR4DMCW.js → chunk-INYLPVCG.js} +3 -3
  89. package/dist/{chunk-5T6UWTRU.js → chunk-IV57G2CB.js} +19 -11
  90. package/dist/{chunk-MZTDRBCR.js → chunk-JDNXS37G.js} +61 -62
  91. package/dist/{chunk-3B34B2M2.js → chunk-JJP6AKMV.js} +1 -1
  92. package/dist/{chunk-K6LOZ4S3.js → chunk-JK4M3ZKY.js} +5 -5
  93. package/dist/{chunk-VXMOPVRH.js → chunk-JR7AABT5.js} +2 -2
  94. package/dist/{chunk-DO4F5FIO.js → chunk-JTHDMXZV.js} +5 -5
  95. package/dist/{chunk-6K6EQOJF.js → chunk-JY2XON7H.js} +2 -2
  96. package/dist/{chunk-6OUPJNYO.js → chunk-KCHYLLVG.js} +2 -2
  97. package/dist/{chunk-YGRTRAWX.js → chunk-KDE4HKH2.js} +1 -0
  98. package/dist/{chunk-VCOQ7WQ2.js → chunk-KG2NUK4J.js} +6 -6
  99. package/dist/{chunk-VXWN37PT.js → chunk-KIURBTC4.js} +1 -1
  100. package/dist/{chunk-BENED3NB.js → chunk-KTJLJTFO.js} +545 -891
  101. package/dist/{chunk-PZEPOPMV.js → chunk-KZQFIPY2.js} +178 -81
  102. package/dist/{chunk-DQKK43PR.js → chunk-LWFBBTJ3.js} +5 -5
  103. package/dist/{chunk-RIN4CBRB.js → chunk-LXZXXOJ3.js} +1 -17
  104. package/dist/chunk-LYYM7H7H.js +59 -0
  105. package/dist/{chunk-MWQQVKRU.js → chunk-MAVQ636Y.js} +1 -1
  106. package/dist/{chunk-VDHW6H5F.js → chunk-MAW6ZT3D.js} +4 -4
  107. package/dist/{chunk-7CMRFP5Q.js → chunk-MJP5V3JN.js} +3 -3
  108. package/dist/{chunk-S7EKBD2C.js → chunk-MNHP6YRC.js} +3 -3
  109. package/dist/{chunk-7IPCLQ5V.js → chunk-MT6WOKIW.js} +4 -4
  110. package/dist/chunk-MUGQQY6P.js +315 -0
  111. package/dist/{chunk-S23FD6FA.js → chunk-MVEHWM7K.js} +1 -1
  112. package/dist/{chunk-VV6IKGCN.js → chunk-NTJ3BMOE.js} +1 -1
  113. package/dist/{chunk-DDJQRV6E.js → chunk-O7BGGWW6.js} +2 -2
  114. package/dist/{chunk-LWJF63JW.js → chunk-OYUJYPDF.js} +90 -15
  115. package/dist/{chunk-4S6XGIC6.js → chunk-PUAWN7SS.js} +1 -1
  116. package/dist/{chunk-U6PBLMXD.js → chunk-Q6SPIHFR.js} +8 -3
  117. package/dist/{chunk-F4OJN2F2.js → chunk-QIF4QE7T.js} +1 -1
  118. package/dist/{chunk-X22KTLZ7.js → chunk-QWJTJSIT.js} +1 -1
  119. package/dist/{chunk-2USXZSTK.js → chunk-QWW6RHZC.js} +5 -5
  120. package/dist/{chunk-NBKWY6XN.js → chunk-RILHLBKW.js} +3 -3
  121. package/dist/{chunk-EIZP3XL5.js → chunk-RPU4UOQK.js} +1 -1
  122. package/dist/{chunk-53SII3U2.js → chunk-RTMMO6IU.js} +6 -6
  123. package/dist/{chunk-IBEUR3J7.js → chunk-S7NGDLZ3.js} +3 -3
  124. package/dist/{chunk-U2ZFCAPX.js → chunk-SITRHMZZ.js} +11 -8
  125. package/dist/chunk-SPFLYPY6.js +6 -0
  126. package/dist/{chunk-SZBERGA4.js → chunk-TJKZ5QCJ.js} +4 -4
  127. package/dist/{chunk-YUKD5RCX.js → chunk-TPGIMZLI.js} +1 -1
  128. package/dist/{chunk-YHIJCI4U.js → chunk-UNE4VD5U.js} +3 -3
  129. package/dist/chunk-UX5UYDCY.js +33 -0
  130. package/dist/{chunk-6UZERVBI.js → chunk-V5K6HISS.js} +2 -2
  131. package/dist/{chunk-T5MJWWDX.js → chunk-VD27SL7H.js} +5 -5
  132. package/dist/{chunk-LRARA622.js → chunk-VE6GRIIN.js} +2 -2
  133. package/dist/{chunk-SSUUT5LK.js → chunk-W3UHAQCV.js} +5 -4
  134. package/dist/{chunk-U5G3AVED.js → chunk-WBCWER26.js} +1 -1
  135. package/dist/{chunk-OZ44ATGE.js → chunk-WCXFUBEF.js} +15 -15
  136. package/dist/{chunk-YQZBAP3S.js → chunk-WFE6CT6M.js} +76 -22
  137. package/dist/{chunk-PAVZ6FPK.js → chunk-WFHGJGCW.js} +5 -4
  138. package/dist/{chunk-LQD232FW.js → chunk-WJ5EU3KW.js} +1 -1
  139. package/dist/{chunk-XCIMOIX6.js → chunk-XBKWFLJG.js} +1 -1
  140. package/dist/chunk-XQUF3WIS.js +159 -0
  141. package/dist/{chunk-6SJTAE66.js → chunk-Y4PM3IDZ.js} +1 -1
  142. package/dist/{chunk-JQV7CXEC.js → chunk-YNGA3GRX.js} +17 -2
  143. package/dist/{chunk-BOZJOOGW.js → chunk-ZLHCZ5F2.js} +1 -1
  144. package/dist/{chunk-LHKHQAAY.js → chunk-ZLYGEART.js} +1 -1
  145. package/dist/{chunk-NBPMNUKZ.js → chunk-ZQCCVCHB.js} +1 -1
  146. package/dist/{chunk-ADGVQVHP.js → chunk-ZTOYVPGA.js} +3 -3
  147. package/dist/collections-XIHCTMSJ.js +70 -0
  148. package/dist/{configuration-C4IGBNXH.js → configuration-3GCBMM27.js} +3 -3
  149. package/dist/{configuration-7IYZ6GNP.js → configuration-FWZTMYXY.js} +5 -5
  150. package/dist/{create-MS6KKFSV.js → create-2RGNAVVY.js} +31 -32
  151. package/dist/{create-JF2OUZQA.js → create-32MXB6FD.js} +24 -25
  152. package/dist/create-3AMFYYI6.js +245 -0
  153. package/dist/create-AMNH3WXL.js +75 -0
  154. package/dist/{create-UPYB65PD.js → create-BV3QDTK2.js} +4 -4
  155. package/dist/{create-A7B3MLJX.js → create-FHIFVCSG.js} +47 -47
  156. package/dist/{create-ODOFJF5N.js → create-GO7APBBU.js} +30 -31
  157. package/dist/{create-F5R76QML.js → create-HEZYB7RF.js} +24 -23
  158. package/dist/{create-R7K3ECN6.js → create-K26SM34L.js} +3 -3
  159. package/dist/{create-MZYXMGKP.js → create-N534JQPH.js} +13 -13
  160. package/dist/{create-FKRYB7ZS.js → create-NEK6JCKR.js} +65 -51
  161. package/dist/{create-YBF4YGWG.js → create-NF2LPVXA.js} +3 -3
  162. package/dist/{create-JGYG5SBM.js → create-PJVLJ7T6.js} +47 -44
  163. package/dist/{create-O35JRZEF.js → create-RPBHXU32.js} +28 -29
  164. package/dist/{create-SFU3W3ZH.js → create-U64NEOEL.js} +3 -3
  165. package/dist/{create-GGACODDN.js → create-VL7LDTVE.js} +53 -36
  166. package/dist/{create-XVHOCZHJ.js → create-X5SOAPD3.js} +3 -3
  167. package/dist/{create-TKXH5KQY.js → create-XLYGW5PN.js} +61 -37
  168. package/dist/{create-5PSOIHIT.js → create-YKYLCEAK.js} +6 -6
  169. package/dist/customer-group-add-customers-2C53NFBJ.js +251 -0
  170. package/dist/customer-group-create-75QQEQZF.js +147 -0
  171. package/dist/customer-group-detail-AOQYYAOG.js +58 -0
  172. package/dist/customer-group-edit-N77RCW6I.js +138 -0
  173. package/dist/customer-groups-GNFV7VMT.js +284 -0
  174. package/dist/{customers-SOLJ2KQQ.js → customers-HNINO6YL.js} +9 -9
  175. package/dist/{edit-Y2U3KAVB.js → edit-3DUCWSLA.js} +34 -30
  176. package/dist/{edit-ORXS3A2Y.js → edit-3V34KJS2.js} +3 -3
  177. package/dist/{edit-2R5QCPTB.js → edit-4PWAJ7A3.js} +25 -26
  178. package/dist/{edit-5CROKEJE.js → edit-7CLOJ3UZ.js} +48 -48
  179. package/dist/{edit-ZAHCMF5U.js → edit-7SBPHN6P.js} +3 -3
  180. package/dist/edit-BSD6667Q.js +367 -0
  181. package/dist/{edit-Q3UQIOLS.js → edit-I2RJUPWV.js} +4 -4
  182. package/dist/{edit-FXNXTVIW.js → edit-IJ6DCBUU.js} +5 -5
  183. package/dist/{edit-ZMERG3L7.js → edit-JB7KVBOL.js} +5 -5
  184. package/dist/{edit-O4JLGKQR.js → edit-NHQJLCAK.js} +4 -4
  185. package/dist/edit-O65JD54W.js +103 -0
  186. package/dist/{edit-G2E5SNGU.js → edit-SIKOSSHF.js} +24 -25
  187. package/dist/{edit-VVLITC2E.js → edit-TD7QFM4Z.js} +36 -75
  188. package/dist/{edit-C4OCKQVU.js → edit-UNN3QTEJ.js} +3 -3
  189. package/dist/{edit-HTLLYECP.js → edit-WEUFBORT.js} +33 -35
  190. package/dist/{edit-KAKVPHZZ.js → edit-WN2Q3TOX.js} +4 -4
  191. package/dist/{edit-3E4ZO7HT.js → edit-ZGAOUZYP.js} +33 -35
  192. package/dist/{edit-522DG3BY.js → edit-ZOLSAIKF.js} +3 -3
  193. package/dist/{edit-OKU6FMHJ.js → edit-ZORE6RUD.js} +25 -26
  194. package/dist/{edit-budget-L3CCEWNF.js → edit-budget-D22WMVYR.js} +3 -3
  195. package/dist/{edit-inventory-item-ZKXXL3QK.js → edit-inventory-item-QMYWEBZ3.js} +3 -3
  196. package/dist/{edit-inventory-item-attributes-GSKUMORD.js → edit-inventory-item-attributes-HLG6JR6S.js} +3 -3
  197. package/dist/edit-price-F7ZWM3FN.js +197 -0
  198. package/dist/edit-stock-ITAZNHPU.js +230 -0
  199. package/dist/fulfillment-U2GRQ6DD.js +641 -0
  200. package/dist/{fulfillment-providers-G2L6LEVO.js → fulfillment-providers-CMU2JB5X.js} +39 -40
  201. package/dist/index.css +64 -33
  202. package/dist/index.js +334 -243
  203. package/dist/{offer-inventory-batch-page-BD6PMDLW.js → inventory-4JKLAZ2Q.js} +18 -18
  204. package/dist/{inventory-WSFLTA6Z.js → inventory-FKEXULLT.js} +8 -8
  205. package/dist/{invite-2673PU4I.js → invite-3R2CEWLN.js} +23 -24
  206. package/dist/{invite-HRXZ5YBP.js → invite-MNAX6EUC.js} +38 -39
  207. package/dist/loader-HTPUNIOS.js +34 -0
  208. package/dist/loader-MAAMUP2Z.js +33 -0
  209. package/dist/{locations-INS6FTMJ.js → locations-2VWSMWHL.js} +3 -3
  210. package/dist/login-YUWOWICV.js +39 -0
  211. package/dist/{manage-locations-XHH5DVIR.js → manage-locations-RWGDXXJQ.js} +3 -3
  212. package/dist/{media-J22P2DK4.js → media-P6WSFHY4.js} +31 -31
  213. package/dist/media-YB4G5CMV.js +316 -0
  214. package/dist/{metadata-Q74OJWUD.js → metadata-5Q6FLVX4.js} +27 -28
  215. package/dist/{metadata-D6M66NQK.js → metadata-6OYHLPLA.js} +25 -26
  216. package/dist/{metadata-YVHJPDLD.js → metadata-ADXGD4Y6.js} +25 -26
  217. package/dist/{metadata-REQIFWWH.js → metadata-J447GEBP.js} +27 -28
  218. package/dist/{metadata-NIDIBXJT.js → metadata-VTQ2CGZX.js} +27 -28
  219. package/dist/{offer-create-page-E4FLSDJQ.js → offer-create-page-ACPKTNHA.js} +244 -265
  220. package/dist/offer-detail-page-S4R4N5GL.js +584 -0
  221. package/dist/offer-variant-detail-page-XUMDXZUD.js +402 -0
  222. package/dist/offers-OTZJBW43.js +54 -0
  223. package/dist/{onboarding-MK2RIFD4.js → onboarding-TUGXFOA6.js} +23 -24
  224. package/dist/orders-PJSJNGZS.js +63 -0
  225. package/dist/{organization-XO3T2K2X.js → organization-YIOAVFHN.js} +26 -27
  226. package/dist/{organize-Z7JTTDH4.js → organize-BTA7NJD2.js} +4 -4
  227. package/dist/{organize-5XRZWD5C.js → organize-OWT5QSJR.js} +4 -4
  228. package/dist/pages/index.d.ts +232 -232
  229. package/dist/pages/index.js +81 -82
  230. package/dist/{payment-details-CFTX3QDL.js → payment-details-K2XFATEL.js} +24 -25
  231. package/dist/{payouts-7Q7D4FET.js → payouts-K5IDTJV3.js} +8 -8
  232. package/dist/{price-lists-6TFLA53G.js → price-lists-DNPIPDAW.js} +11 -11
  233. package/dist/{offer-pricing-edit-page-4TINK42V.js → pricing-5VUPPNKS.js} +21 -19
  234. package/dist/{pricing-ECXV6K7G.js → pricing-J5FIDZIY.js} +28 -29
  235. package/dist/{product-tags-5O7ZG6SA.js → product-tags-SJYIGXEV.js} +42 -42
  236. package/dist/{product-types-PKUEL7X5.js → product-types-4PTJW5DE.js} +8 -8
  237. package/dist/product-variant-detail-FO6J3RFA.js +371 -0
  238. package/dist/{product-variant-edit-WZNO4CQX.js → product-variant-edit-55TAIBZO.js} +45 -27
  239. package/dist/{products-BM3IIH5P.js → products-EQMANSO6.js} +39 -40
  240. package/dist/products-XM57LXJK.js +92 -0
  241. package/dist/{professional-details-ED4HNYXY.js → professional-details-WWZPTXSX.js} +24 -25
  242. package/dist/{profile-6TGCNNUU.js → profile-5IADQ727.js} +27 -28
  243. package/dist/{promotions-AZM7JQAJ.js → promotions-BYW6TZ5B.js} +10 -10
  244. package/dist/{receive-2GFZTVNC.js → receive-MTXKKPKZ.js} +62 -20
  245. package/dist/{refund-IGMSXQNX.js → refund-3IXGYA7W.js} +8 -8
  246. package/dist/{register-ADZCPWEV.js → register-U5PQZATC.js} +25 -26
  247. package/dist/{reset-password-RGWK33Q7.js → reset-password-SKUJJLSV.js} +3 -3
  248. package/dist/{return-reasons-QJRA2ZX6.js → return-reasons-QDPSIJG3.js} +16 -15
  249. package/dist/{sales-channels-U55MUDQP.js → sales-channels-GBSTCWVP.js} +10 -11
  250. package/dist/{sales-channels-CZDU7VTE.js → sales-channels-N4NE3FXP.js} +14 -15
  251. package/dist/{settings-2GCQQTO6.js → settings-ZUBBFS67.js} +49 -49
  252. package/dist/{shipment-HWQHMX2L.js → shipment-TKSCPC3M.js} +24 -25
  253. package/dist/shipping-DODEUYOQ.js +125 -0
  254. package/dist/{shipping-profile-ZP7M6VSS.js → shipping-profile-O4JMJLN7.js} +5 -9
  255. package/dist/shipping-profiles-4TJ4IH6U.js +46 -0
  256. package/dist/{stock-MQA7PRO6.js → stock-GYK2GHJN.js} +27 -28
  257. package/dist/{store-5ZHZR4JI.js → store-XWOALZ5Q.js} +34 -35
  258. package/dist/{store-closure-H5WHV3LA.js → store-closure-46B3XZ2I.js} +24 -25
  259. package/dist/{store-select-PZS556FB.js → store-select-E77E3ZY7.js} +24 -25
  260. package/dist/{tax-regions-HDLBFZVG.js → tax-regions-S2LFRTMP.js} +9 -9
  261. package/dist/{team-CLKJCZNH.js → team-N2C5JPSU.js} +35 -36
  262. package/package.json +12 -12
  263. package/dist/[id]-B4YZTANM.js +0 -1571
  264. package/dist/[id]-FE5GYYVZ.js +0 -481
  265. package/dist/allocate-items-TCM5A55Y.js +0 -548
  266. package/dist/attributes-SZP2MM5L.js +0 -278
  267. package/dist/breadcrumb-5NP23D6X.js +0 -34
  268. package/dist/breadcrumb-EVZIOB2G.js +0 -47
  269. package/dist/breadcrumb-TNJSGX4T.js +0 -48
  270. package/dist/chunk-27KRIXMQ.js +0 -71
  271. package/dist/chunk-BDZOSMAX.js +0 -23
  272. package/dist/chunk-CFRWIQIZ.js +0 -43
  273. package/dist/chunk-FP6U6BPH.js +0 -61
  274. package/dist/chunk-RXV7INUV.js +0 -426
  275. package/dist/chunk-T6LHVNWO.js +0 -27
  276. package/dist/collections-URH2TCWJ.js +0 -69
  277. package/dist/create-7R6CZU53.js +0 -215
  278. package/dist/create-Z5VPBELS.js +0 -76
  279. package/dist/edit-GQNIINRR.js +0 -192
  280. package/dist/edit-XSICGAVO.js +0 -176
  281. package/dist/fulfillment-76IVZ266.js +0 -567
  282. package/dist/loader-VDYPD3RI.js +0 -31
  283. package/dist/login-TWUBU6I6.js +0 -40
  284. package/dist/metadata-5BPOBBU2.js +0 -45
  285. package/dist/offer-detail-page-6SIBQTLP.js +0 -492
  286. package/dist/offer-edit-page-3MO566RP.js +0 -151
  287. package/dist/offers-GVN5LCK6.js +0 -32
  288. package/dist/orders-TVQDR4OJ.js +0 -64
  289. package/dist/product-variant-detail-PUWOMVHQ.js +0 -210
  290. package/dist/products-XE5YPQ66.js +0 -93
  291. package/dist/shipping-profiles-C5WBXWZ2.js +0 -47
@@ -0,0 +1,975 @@
1
+ import {
2
+ ProductGeneralSection,
3
+ ProductMediaSection
4
+ } from "./chunk-MUGQQY6P.js";
5
+ import {
6
+ SectionRow
7
+ } from "./chunk-4TLP3TAA.js";
8
+ import {
9
+ SidebarLink
10
+ } from "./chunk-4GPAS5GW.js";
11
+ import "./chunk-U2EI2ZLM.js";
12
+ import "./chunk-FQERBIVS.js";
13
+ import {
14
+ _DataTable,
15
+ useDataTable
16
+ } from "./chunk-W3UHAQCV.js";
17
+ import "./chunk-YN3FGNJM.js";
18
+ import "./chunk-KCHYLLVG.js";
19
+ import "./chunk-634XVU3D.js";
20
+ import {
21
+ TwoColumnPage
22
+ } from "./chunk-YV6MK4PZ.js";
23
+ import {
24
+ useQueryParams
25
+ } from "./chunk-THHRRYRS.js";
26
+ import "./chunk-LRD242C7.js";
27
+ import {
28
+ require_dist
29
+ } from "./chunk-DSTHXHJ5.js";
30
+ import {
31
+ Thumbnail
32
+ } from "./chunk-WIYFXWRI.js";
33
+ import {
34
+ TwoColumnPageSkeleton
35
+ } from "./chunk-INNFZYX2.js";
36
+ import {
37
+ ActionMenu
38
+ } from "./chunk-BDGZ4EQO.js";
39
+ import "./chunk-LAVHRER2.js";
40
+ import "./chunk-QHQWEERJ.js";
41
+ import "./chunk-Y7QKP6QU.js";
42
+ import {
43
+ useFeatureFlags
44
+ } from "./chunk-BQHVM46E.js";
45
+ import "./chunk-QIF4QE7T.js";
46
+ import "./chunk-VE6GRIIN.js";
47
+ import "./chunk-7MARNXFG.js";
48
+ import "./chunk-MNHP6YRC.js";
49
+ import "./chunk-NTJ3BMOE.js";
50
+ import "./chunk-5PAUN3PM.js";
51
+ import "./chunk-ZLHCZ5F2.js";
52
+ import "./chunk-GZ4KTAWS.js";
53
+ import "./chunk-PUAWN7SS.js";
54
+ import "./chunk-MVEHWM7K.js";
55
+ import "./chunk-OYUJYPDF.js";
56
+ import "./chunk-O7BGGWW6.js";
57
+ import "./chunk-KIURBTC4.js";
58
+ import "./chunk-3SH24DGG.js";
59
+ import "./chunk-JR7AABT5.js";
60
+ import "./chunk-ZQCCVCHB.js";
61
+ import "./chunk-5BQO3YQP.js";
62
+ import "./chunk-EPRYM3FA.js";
63
+ import "./chunk-6FDPVW7Y.js";
64
+ import {
65
+ useSalesChannels
66
+ } from "./chunk-JJP6AKMV.js";
67
+ import {
68
+ PRODUCT_DETAIL_QUERY
69
+ } from "./chunk-Q6SPIHFR.js";
70
+ import {
71
+ productsQueryKeys,
72
+ useCancelProductEdit,
73
+ useDeleteVariantLazy,
74
+ useProduct,
75
+ useProductChange,
76
+ useProductVariants,
77
+ useRemoveAttributeFromProduct
78
+ } from "./chunk-G6YNCIVF.js";
79
+ import "./chunk-A5DJIOHN.js";
80
+ import {
81
+ queryClient
82
+ } from "./chunk-RHKRREUU.js";
83
+ import "./chunk-ZA2KFUFR.js";
84
+ import {
85
+ sdk
86
+ } from "./chunk-LXZXXOJ3.js";
87
+ import {
88
+ __toESM
89
+ } from "./chunk-NBMM2TZK.js";
90
+
91
+ // src/pages/products/[id]/loader.tsx
92
+ var productDetailQuery = (id) => ({
93
+ queryKey: productsQueryKeys.detail(id, PRODUCT_DETAIL_QUERY),
94
+ queryFn: async () => sdk.vendor.products.$id.query({
95
+ $id: id,
96
+ ...PRODUCT_DETAIL_QUERY
97
+ })
98
+ });
99
+ var loader = async ({ params }) => {
100
+ const id = params.id;
101
+ const query = productDetailQuery(id);
102
+ const response = await queryClient.ensureQueryData({
103
+ ...query,
104
+ staleTime: 9e4
105
+ });
106
+ return response;
107
+ };
108
+
109
+ // src/pages/products/[id]/product-detail-page.tsx
110
+ import { Children } from "react";
111
+ import { useLoaderData, useParams } from "react-router-dom";
112
+
113
+ // src/pages/products/[id]/_components/product-active-edit-section/product-active-edit-section.tsx
114
+ var import_types = __toESM(require_dist(), 1);
115
+ import { Button, toast, usePrompt } from "@medusajs/ui";
116
+ import {
117
+ ProductChangePanel
118
+ } from "@mercurjs/dashboard-shared";
119
+ import { useTranslation } from "react-i18next";
120
+ import { jsx } from "react/jsx-runtime";
121
+ var VARIANT_LOOKUP_FIELDS = "id,title,sku,*images";
122
+ var resolversFor = (productId) => ({
123
+ getType: async (id) => {
124
+ const { product_type } = await sdk.vendor.productTypes.$id.query({ $id: id });
125
+ return product_type?.value ?? null;
126
+ },
127
+ getCollection: async (id) => {
128
+ const { collection } = await sdk.vendor.collections.$id.query({ $id: id });
129
+ return collection?.title ?? null;
130
+ },
131
+ getCategory: async (id) => {
132
+ const { product_category } = await sdk.vendor.productCategories.$id.query({
133
+ $id: id
134
+ });
135
+ return product_category?.name ?? null;
136
+ },
137
+ getTag: async (id) => {
138
+ const { product_tag } = await sdk.vendor.productTags.$id.query({ $id: id });
139
+ return product_tag?.value ?? null;
140
+ },
141
+ getAttribute: async (id) => {
142
+ const { product_attribute } = await sdk.vendor.productAttributes.$id.query({
143
+ $id: id
144
+ });
145
+ if (!product_attribute) return null;
146
+ return {
147
+ name: product_attribute.name ?? id,
148
+ values: (product_attribute.values ?? []).map((v) => ({
149
+ id: v.id,
150
+ name: v.name ?? v.id
151
+ }))
152
+ };
153
+ },
154
+ getVariant: async (variantId) => {
155
+ const { variant } = await sdk.vendor.products.$id.variants.$variantId.query({
156
+ $id: productId,
157
+ $variantId: variantId,
158
+ fields: VARIANT_LOOKUP_FIELDS
159
+ });
160
+ return variant ?? null;
161
+ }
162
+ });
163
+ var ProductActiveEditSection = ({
164
+ product
165
+ }) => {
166
+ const { t } = useTranslation();
167
+ const prompt = usePrompt();
168
+ const { product_change, isError } = useProductChange(product.id, {
169
+ retry: false
170
+ });
171
+ const { mutateAsync: cancelEdit, isPending: isCanceling } = useCancelProductEdit(product.id);
172
+ if (isError || !product_change) {
173
+ return null;
174
+ }
175
+ if (product_change.status !== import_types.ProductChangeStatus.PENDING) {
176
+ return null;
177
+ }
178
+ const onCancel = async () => {
179
+ const confirmed = await prompt({
180
+ title: t("products.edits.panel.cancelTitle"),
181
+ description: t("products.edits.panel.cancelDescription"),
182
+ confirmText: t("actions.confirm"),
183
+ cancelText: t("actions.cancel")
184
+ });
185
+ if (!confirmed) return;
186
+ try {
187
+ await cancelEdit();
188
+ toast.success(t("products.edits.toast.canceledSuccessfully"));
189
+ } catch (e) {
190
+ toast.error(e.message);
191
+ }
192
+ };
193
+ const panelProduct = {
194
+ id: product.id,
195
+ title: product.title,
196
+ thumbnail: product.thumbnail,
197
+ variants: product.variants,
198
+ attributes: product.attributes
199
+ };
200
+ return /* @__PURE__ */ jsx(
201
+ ProductChangePanel,
202
+ {
203
+ product: panelProduct,
204
+ actions: product_change.actions ?? [],
205
+ resolvers: resolversFor(product.id),
206
+ footer: /* @__PURE__ */ jsx(
207
+ Button,
208
+ {
209
+ size: "small",
210
+ variant: "secondary",
211
+ onClick: onCancel,
212
+ disabled: isCanceling,
213
+ isLoading: isCanceling,
214
+ "data-testid": "product-active-edit-cancel-button",
215
+ children: t("actions.cancel")
216
+ }
217
+ )
218
+ }
219
+ );
220
+ };
221
+
222
+ // src/pages/products/[id]/_components/product-organization-section/product-organization-section.tsx
223
+ import { PencilSquare } from "@medusajs/icons";
224
+ import { Badge, Container, Heading, Tooltip } from "@medusajs/ui";
225
+ import { useTranslation as useTranslation2 } from "react-i18next";
226
+ import { Link } from "react-router-dom";
227
+ import { jsx as jsx2, jsxs } from "react/jsx-runtime";
228
+ var ProductOrganizationSection = ({
229
+ product
230
+ }) => {
231
+ const { t } = useTranslation2();
232
+ return /* @__PURE__ */ jsxs(
233
+ Container,
234
+ {
235
+ className: "divide-y p-0",
236
+ "data-testid": "product-organization-section",
237
+ children: [
238
+ /* @__PURE__ */ jsxs(
239
+ "div",
240
+ {
241
+ className: "flex items-center justify-between px-6 py-4",
242
+ "data-testid": "product-organization-header",
243
+ children: [
244
+ /* @__PURE__ */ jsx2(Heading, { level: "h2", "data-testid": "product-organization-title", children: t("products.organization.header") }),
245
+ /* @__PURE__ */ jsx2(
246
+ ActionMenu,
247
+ {
248
+ groups: [
249
+ {
250
+ actions: [
251
+ {
252
+ label: t("actions.edit"),
253
+ to: "organization",
254
+ icon: /* @__PURE__ */ jsx2(PencilSquare, {})
255
+ }
256
+ ]
257
+ }
258
+ ],
259
+ "data-testid": "product-organization-action-menu"
260
+ }
261
+ )
262
+ ]
263
+ }
264
+ ),
265
+ /* @__PURE__ */ jsx2(
266
+ SectionRow,
267
+ {
268
+ title: t("fields.category"),
269
+ value: product.categories?.length ? product.categories.map((pcat) => /* @__PURE__ */ jsx2(
270
+ OrganizationTag,
271
+ {
272
+ label: pcat.name,
273
+ to: `/categories/${pcat.id}`
274
+ },
275
+ pcat.id
276
+ )) : void 0,
277
+ "data-testid": "product-categories-row"
278
+ }
279
+ ),
280
+ /* @__PURE__ */ jsx2(
281
+ SectionRow,
282
+ {
283
+ title: t("fields.collection"),
284
+ value: product.collection ? /* @__PURE__ */ jsx2(
285
+ OrganizationTag,
286
+ {
287
+ label: product.collection.title,
288
+ to: `/collections/${product.collection.id}`
289
+ }
290
+ ) : void 0,
291
+ "data-testid": "product-collection-row"
292
+ }
293
+ ),
294
+ /* @__PURE__ */ jsx2(
295
+ SectionRow,
296
+ {
297
+ title: t("fields.tags"),
298
+ value: product.tags?.length ? product.tags.map((tag) => /* @__PURE__ */ jsx2(
299
+ OrganizationTag,
300
+ {
301
+ label: tag.value,
302
+ to: `/settings/product-tags/${tag.id}`
303
+ },
304
+ tag.id
305
+ )) : void 0,
306
+ "data-testid": "product-tags-row"
307
+ }
308
+ ),
309
+ /* @__PURE__ */ jsx2(
310
+ SectionRow,
311
+ {
312
+ title: t("fields.type"),
313
+ value: product.type ? /* @__PURE__ */ jsx2(
314
+ OrganizationTag,
315
+ {
316
+ label: product.type.value,
317
+ to: `/settings/product-types/${product.type_id}`
318
+ }
319
+ ) : void 0,
320
+ "data-testid": "product-type-row"
321
+ }
322
+ )
323
+ ]
324
+ }
325
+ );
326
+ };
327
+ var OrganizationTag = ({ label, to }) => {
328
+ return /* @__PURE__ */ jsx2(Tooltip, { content: label, children: /* @__PURE__ */ jsx2(Badge, { size: "2xsmall", className: "block w-fit truncate", asChild: true, children: /* @__PURE__ */ jsx2(
329
+ Link,
330
+ {
331
+ to,
332
+ "data-testid": `organization-tag-${label.toLowerCase().replace(/\s+/g, "-")}`,
333
+ children: label
334
+ }
335
+ ) }) });
336
+ };
337
+
338
+ // src/pages/products/[id]/_components/product-variant-section/product-variant-section.tsx
339
+ import { useCallback, useMemo } from "react";
340
+ import { PencilSquare as PencilSquare2, Trash } from "@medusajs/icons";
341
+ import {
342
+ Badge as Badge2,
343
+ Button as Button2,
344
+ Container as Container2,
345
+ Heading as Heading2,
346
+ toast as toast2,
347
+ Tooltip as Tooltip2,
348
+ usePrompt as usePrompt2
349
+ } from "@medusajs/ui";
350
+ import { keepPreviousData } from "@tanstack/react-query";
351
+ import { createColumnHelper } from "@tanstack/react-table";
352
+ import { useTranslation as useTranslation3 } from "react-i18next";
353
+ import { Link as Link2, useNavigate, useSearchParams } from "react-router-dom";
354
+ import { jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
355
+ var PAGE_SIZE = 10;
356
+ var PREFIX = "pv";
357
+ var ProductVariantSection = ({
358
+ product
359
+ }) => {
360
+ const { t } = useTranslation3();
361
+ const { q, order, offset, created_at, updated_at } = useQueryParams(
362
+ ["q", "order", "offset", "created_at", "updated_at"],
363
+ PREFIX
364
+ );
365
+ const { variants, count, isLoading, isError, error } = useProductVariants(
366
+ product.id,
367
+ {
368
+ q,
369
+ order: order ? order : "variant_rank",
370
+ offset: offset ? parseInt(offset) : void 0,
371
+ limit: PAGE_SIZE,
372
+ created_at: created_at ? JSON.parse(created_at) : void 0,
373
+ updated_at: updated_at ? JSON.parse(updated_at) : void 0,
374
+ fields: "title,sku,created_at,updated_at,*options,*options.option"
375
+ },
376
+ {
377
+ placeholderData: keepPreviousData
378
+ }
379
+ );
380
+ const columns = useColumns(product);
381
+ const filters = useFilters();
382
+ const orderBy = useOrderBy();
383
+ const { table } = useDataTable({
384
+ data: variants ?? [],
385
+ columns,
386
+ count,
387
+ pageSize: PAGE_SIZE,
388
+ getRowId: (row) => row.id,
389
+ prefix: PREFIX
390
+ });
391
+ if (isError) {
392
+ throw error;
393
+ }
394
+ return /* @__PURE__ */ jsxs2(Container2, { className: "divide-y p-0", "data-testid": "product-variant-section", children: [
395
+ /* @__PURE__ */ jsxs2("div", { className: "flex items-center justify-between px-6 py-4", children: [
396
+ /* @__PURE__ */ jsx3(Heading2, { level: "h2", children: t("products.variants.header") }),
397
+ /* @__PURE__ */ jsx3(
398
+ Button2,
399
+ {
400
+ size: "small",
401
+ variant: "secondary",
402
+ asChild: true,
403
+ "data-testid": "product-variants-create-button",
404
+ children: /* @__PURE__ */ jsx3(Link2, { to: "variants/create", children: t("actions.create") })
405
+ }
406
+ )
407
+ ] }),
408
+ /* @__PURE__ */ jsx3(
409
+ _DataTable,
410
+ {
411
+ table,
412
+ columns,
413
+ count,
414
+ pageSize: PAGE_SIZE,
415
+ filters,
416
+ search: true,
417
+ pagination: true,
418
+ isLoading,
419
+ orderBy,
420
+ defaultOrderBy: "title",
421
+ prefix: PREFIX,
422
+ queryObject: { q, order, created_at, updated_at },
423
+ navigateTo: (row) => `variants/${row.original.id}`,
424
+ noRecords: {
425
+ title: t("products.variants.empty.heading"),
426
+ message: t("products.variants.empty.description")
427
+ }
428
+ }
429
+ )
430
+ ] });
431
+ };
432
+ var columnHelper = createColumnHelper();
433
+ var useColumns = (product) => {
434
+ const { t } = useTranslation3();
435
+ const navigate = useNavigate();
436
+ const { mutateAsync } = useDeleteVariantLazy(product.id);
437
+ const prompt = usePrompt2();
438
+ const [searchParams] = useSearchParams();
439
+ const tableSearchParams = useMemo(() => {
440
+ const filtered = new URLSearchParams();
441
+ for (const [key, value] of searchParams.entries()) {
442
+ if (key.startsWith(`${PREFIX}_`)) {
443
+ filtered.append(key, value);
444
+ }
445
+ }
446
+ return filtered;
447
+ }, [searchParams]);
448
+ const handleDelete = useCallback(
449
+ async (id, title) => {
450
+ const res = await prompt({
451
+ title: t("general.areYouSure"),
452
+ description: t("products.deleteVariantWarning", {
453
+ title
454
+ }),
455
+ confirmText: t("actions.delete"),
456
+ cancelText: t("actions.cancel")
457
+ });
458
+ if (!res) {
459
+ return;
460
+ }
461
+ await mutateAsync(
462
+ { variantId: id },
463
+ {
464
+ onError: (error) => {
465
+ toast2.error(error.message);
466
+ }
467
+ }
468
+ );
469
+ },
470
+ [mutateAsync, prompt, t]
471
+ );
472
+ const attributeColumns = useMemo(() => {
473
+ const variantAttributes = product?.attributes?.filter((attr) => attr.is_variant_axis);
474
+ if (!variantAttributes?.length) {
475
+ return [];
476
+ }
477
+ return variantAttributes.map((attribute) => {
478
+ return columnHelper.display({
479
+ id: `attribute-${attribute.id}`,
480
+ header: attribute.name,
481
+ cell: ({ row }) => {
482
+ const variantOpt = row.original.options?.find(
483
+ (opt) => opt.option?.title === attribute.name
484
+ );
485
+ if (!variantOpt?.value) {
486
+ return /* @__PURE__ */ jsx3("span", { className: "text-ui-fg-muted", children: "-" });
487
+ }
488
+ return /* @__PURE__ */ jsx3(
489
+ "div",
490
+ {
491
+ className: "flex flex-wrap items-center gap-1",
492
+ "data-testid": `product-variant-attribute-${attribute.id}-${row.original.id}`,
493
+ children: /* @__PURE__ */ jsx3(Tooltip2, { content: variantOpt.value, children: /* @__PURE__ */ jsx3(
494
+ Badge2,
495
+ {
496
+ size: "2xsmall",
497
+ title: variantOpt.value,
498
+ className: "inline-flex min-w-[20px] max-w-[140px] items-center justify-center overflow-hidden truncate",
499
+ "data-testid": `product-variant-attribute-badge-${attribute.id}-${row.original.id}-${variantOpt.value}`,
500
+ children: variantOpt.value
501
+ }
502
+ ) })
503
+ }
504
+ );
505
+ }
506
+ });
507
+ });
508
+ }, [product]);
509
+ return useMemo(
510
+ () => [
511
+ columnHelper.accessor("title", {
512
+ id: "title",
513
+ header: t("fields.title"),
514
+ cell: ({ getValue }) => {
515
+ const value = getValue();
516
+ return /* @__PURE__ */ jsxs2("div", { className: "flex h-full w-full max-w-[250px] items-center gap-x-3 overflow-hidden", children: [
517
+ /* @__PURE__ */ jsx3("div", { className: "w-fit flex-shrink-0", children: /* @__PURE__ */ jsx3(Thumbnail, { src: product.thumbnail }) }),
518
+ value ? /* @__PURE__ */ jsx3("span", { title: value, className: "truncate", children: value }) : /* @__PURE__ */ jsx3("span", { className: "text-ui-fg-muted", children: "-" })
519
+ ] });
520
+ }
521
+ }),
522
+ columnHelper.accessor("sku", {
523
+ id: "sku",
524
+ header: t("fields.sku"),
525
+ cell: ({ getValue }) => {
526
+ const value = getValue();
527
+ return value ? value : /* @__PURE__ */ jsx3("span", { className: "text-ui-fg-muted", children: "-" });
528
+ }
529
+ }),
530
+ ...attributeColumns,
531
+ columnHelper.display({
532
+ id: "actions",
533
+ cell: ({ row }) => /* @__PURE__ */ jsx3(
534
+ ActionMenu,
535
+ {
536
+ groups: [
537
+ {
538
+ actions: [
539
+ {
540
+ icon: /* @__PURE__ */ jsx3(PencilSquare2, {}),
541
+ label: t("actions.edit"),
542
+ onClick: () => navigate(
543
+ `edit-variant?variant_id=${row.original.id}&${tableSearchParams.toString()}`,
544
+ {
545
+ state: {
546
+ restore_params: tableSearchParams.toString()
547
+ }
548
+ }
549
+ )
550
+ }
551
+ ]
552
+ },
553
+ {
554
+ actions: [
555
+ {
556
+ icon: /* @__PURE__ */ jsx3(Trash, {}),
557
+ label: t("actions.delete"),
558
+ onClick: () => handleDelete(row.original.id, row.original.title ?? "")
559
+ }
560
+ ]
561
+ }
562
+ ]
563
+ }
564
+ )
565
+ })
566
+ ],
567
+ [t, attributeColumns, navigate, handleDelete, tableSearchParams, product]
568
+ );
569
+ };
570
+ var useFilters = () => {
571
+ const { t } = useTranslation3();
572
+ return useMemo(
573
+ () => [
574
+ { key: "created_at", label: t("fields.createdAt"), type: "date" },
575
+ { key: "updated_at", label: t("fields.updatedAt"), type: "date" }
576
+ ],
577
+ [t]
578
+ );
579
+ };
580
+ var useOrderBy = () => {
581
+ const { t } = useTranslation3();
582
+ return useMemo(
583
+ () => [
584
+ { key: "title", label: t("fields.title") },
585
+ { key: "sku", label: t("fields.sku") }
586
+ ],
587
+ [t]
588
+ );
589
+ };
590
+
591
+ // src/pages/products/[id]/_components/product-attribute-section/product-attribute-section.tsx
592
+ import {
593
+ Plus,
594
+ Trash as Trash2,
595
+ Swatch,
596
+ DropCap,
597
+ InformationCircleSolid,
598
+ PencilSquare as PencilSquare3
599
+ } from "@medusajs/icons";
600
+ import {
601
+ Badge as Badge3,
602
+ Container as Container3,
603
+ Heading as Heading3,
604
+ Text,
605
+ toast as toast3,
606
+ Tooltip as Tooltip3,
607
+ usePrompt as usePrompt3
608
+ } from "@medusajs/ui";
609
+ import { useTranslation as useTranslation4 } from "react-i18next";
610
+ var import_types2 = __toESM(require_dist(), 1);
611
+ import { jsx as jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
612
+ var AttributeActions = ({
613
+ productId,
614
+ attribute
615
+ }) => {
616
+ const { t } = useTranslation4();
617
+ const prompt = usePrompt3();
618
+ const { feature_flags } = useFeatureFlags();
619
+ const isProductRequestEnabled = !!feature_flags?.[import_types2.MercurFeatureFlags.PRODUCT_REQUEST];
620
+ const { mutateAsync } = useRemoveAttributeFromProduct(productId, attribute.id);
621
+ const handleDelete = async () => {
622
+ const res = await prompt({
623
+ title: t("general.areYouSure"),
624
+ description: t("products.deleteAttributeWarning", {
625
+ title: attribute.name
626
+ }),
627
+ confirmText: t("actions.delete"),
628
+ cancelText: t("actions.cancel")
629
+ });
630
+ if (!res) {
631
+ return;
632
+ }
633
+ await mutateAsync(void 0, {
634
+ onSuccess: () => {
635
+ toast3.success(
636
+ isProductRequestEnabled ? t("products.edit.requestSuccessToast") : t("products.edit.attributes.deleteSuccessToast")
637
+ );
638
+ },
639
+ onError: (error) => {
640
+ toast3.error(error.message);
641
+ }
642
+ });
643
+ };
644
+ return /* @__PURE__ */ jsx4(
645
+ ActionMenu,
646
+ {
647
+ groups: [
648
+ {
649
+ actions: [
650
+ {
651
+ label: t("actions.edit"),
652
+ to: `attributes/${attribute.id}/edit`,
653
+ icon: /* @__PURE__ */ jsx4(PencilSquare3, {})
654
+ }
655
+ ]
656
+ },
657
+ ...attribute.is_required ? [] : [
658
+ {
659
+ actions: [
660
+ {
661
+ label: t("actions.delete"),
662
+ onClick: handleDelete,
663
+ icon: /* @__PURE__ */ jsx4(Trash2, {})
664
+ }
665
+ ]
666
+ }
667
+ ]
668
+ ]
669
+ }
670
+ );
671
+ };
672
+ var AttributeValue = ({
673
+ attribute
674
+ }) => {
675
+ const { t } = useTranslation4();
676
+ const values = attribute.values?.map((v) => v.name) ?? [];
677
+ if (["single_select", "multi_select"].includes(attribute.type)) {
678
+ return /* @__PURE__ */ jsx4("div", { className: "flex flex-wrap gap-1", children: values.map((val) => /* @__PURE__ */ jsx4(
679
+ Badge3,
680
+ {
681
+ size: "2xsmall",
682
+ className: "flex min-w-[20px] items-center justify-center",
683
+ children: val
684
+ },
685
+ val
686
+ )) });
687
+ }
688
+ const textValue = attribute.type === "toggle" ? values.map((val) => val === "true" ? t("general.yes") : t("general.no")).join(", ") || "-" : values.join(", ") || "-";
689
+ return /* @__PURE__ */ jsx4(Tooltip3, { content: /* @__PURE__ */ jsx4("span", { className: "break-all", children: textValue }), children: /* @__PURE__ */ jsx4(
690
+ Text,
691
+ {
692
+ size: "small",
693
+ leading: "compact",
694
+ className: "line-clamp-3 min-w-0 break-words text-ui-fg-subtle",
695
+ children: textValue
696
+ }
697
+ ) });
698
+ };
699
+ var AttributeGroup = ({
700
+ icon,
701
+ title,
702
+ description,
703
+ attributes,
704
+ productId
705
+ }) => {
706
+ const { t } = useTranslation4();
707
+ if (!attributes.length) {
708
+ return null;
709
+ }
710
+ return /* @__PURE__ */ jsxs3("div", { className: "flex flex-col gap-y-4 px-3 py-4", children: [
711
+ /* @__PURE__ */ jsxs3("div", { className: "flex items-center gap-x-3 px-3", children: [
712
+ /* @__PURE__ */ jsx4("div", { className: "text-ui-fg-muted flex h-8 w-8 items-center justify-center rounded-lg border border-ui-border-base bg-ui-bg-component", children: icon }),
713
+ /* @__PURE__ */ jsxs3("div", { children: [
714
+ /* @__PURE__ */ jsx4(Text, { size: "small", weight: "plus", leading: "compact", children: title }),
715
+ /* @__PURE__ */ jsx4(Text, { size: "small", leading: "compact", className: "text-ui-fg-subtle", children: description })
716
+ ] })
717
+ ] }),
718
+ /* @__PURE__ */ jsx4("div", { className: "flex flex-col gap-y-0", children: /* @__PURE__ */ jsx4("div", { className: "overflow-hidden rounded-xl border border-ui-border-base", children: attributes.map((attr, index) => {
719
+ return /* @__PURE__ */ jsx4(
720
+ "div",
721
+ {
722
+ className: index < attributes.length - 1 ? "border-b border-ui-border-base" : "",
723
+ children: /* @__PURE__ */ jsxs3("div", { className: "grid grid-cols-[minmax(0,1fr)_minmax(0,1fr)_28px] items-center gap-4 px-4 py-3 bg-ui-bg-component", children: [
724
+ /* @__PURE__ */ jsxs3("div", { className: "flex items-center gap-x-2 text-ui-fg-subtle", children: [
725
+ /* @__PURE__ */ jsx4(Text, { size: "small", weight: "plus", leading: "compact", children: attr.name }),
726
+ attr.description && /* @__PURE__ */ jsx4(Tooltip3, { content: attr.description, children: /* @__PURE__ */ jsx4("span", { className: "text-ui-fg-muted flex items-center", children: /* @__PURE__ */ jsx4(InformationCircleSolid, {}) }) }),
727
+ attr.is_required && /* @__PURE__ */ jsx4(Tooltip3, { content: t("products.attributeRequiredByMarketplace"), children: /* @__PURE__ */ jsx4("span", { className: "text-ui-fg-muted flex items-center", children: /* @__PURE__ */ jsx4(InformationCircleSolid, {}) }) })
728
+ ] }),
729
+ /* @__PURE__ */ jsx4(AttributeValue, { attribute: attr }),
730
+ /* @__PURE__ */ jsx4(AttributeActions, { productId, attribute: attr })
731
+ ] })
732
+ },
733
+ attr.id
734
+ );
735
+ }) }) })
736
+ ] });
737
+ };
738
+ var ProductAttributeSection = ({
739
+ product
740
+ }) => {
741
+ const { t } = useTranslation4();
742
+ const allAttributes = product.attributes ?? [];
743
+ const variantAttributes = allAttributes.filter((a) => a.is_variant_axis);
744
+ const infoAttributes = allAttributes.filter((a) => !a.is_variant_axis);
745
+ const isEmpty = !variantAttributes.length && !infoAttributes.length;
746
+ return /* @__PURE__ */ jsxs3(Container3, { className: "p-0", children: [
747
+ /* @__PURE__ */ jsxs3(
748
+ "div",
749
+ {
750
+ className: `flex items-center justify-between px-6 py-4${isEmpty ? "" : " border-b border-ui-border-base"}`,
751
+ children: [
752
+ /* @__PURE__ */ jsx4(Heading3, { level: "h2", children: t("products.attributes") }),
753
+ /* @__PURE__ */ jsx4(
754
+ ActionMenu,
755
+ {
756
+ groups: [
757
+ {
758
+ actions: [
759
+ {
760
+ label: t("products.create.attributes.addExisting"),
761
+ to: "attributes/add",
762
+ icon: /* @__PURE__ */ jsx4(Plus, {})
763
+ },
764
+ {
765
+ label: t("products.create.attributes.createNew"),
766
+ to: "attributes/create",
767
+ icon: /* @__PURE__ */ jsx4(PencilSquare3, {})
768
+ }
769
+ ]
770
+ }
771
+ ]
772
+ }
773
+ )
774
+ ]
775
+ }
776
+ ),
777
+ variantAttributes.length > 0 && /* @__PURE__ */ jsx4(
778
+ AttributeGroup,
779
+ {
780
+ icon: /* @__PURE__ */ jsx4(Swatch, {}),
781
+ title: t("products.attributeVariations"),
782
+ description: t("products.attributeVariantsDescription"),
783
+ attributes: variantAttributes,
784
+ productId: product.id
785
+ }
786
+ ),
787
+ variantAttributes.length > 0 && infoAttributes.length > 0 && /* @__PURE__ */ jsx4("div", { className: "border-t border-dashed border-ui-border-base" }),
788
+ infoAttributes.length > 0 && /* @__PURE__ */ jsx4(
789
+ AttributeGroup,
790
+ {
791
+ icon: /* @__PURE__ */ jsx4(DropCap, {}),
792
+ title: t("products.attributeProductInformation"),
793
+ description: t("products.attributeProductInformationDescription"),
794
+ attributes: infoAttributes,
795
+ productId: product.id
796
+ }
797
+ )
798
+ ] });
799
+ };
800
+
801
+ // src/pages/products/[id]/_components/product-shipping-profile-section/product-shipping-profile-section.tsx
802
+ import { PencilSquare as PencilSquare4, ShoppingBag } from "@medusajs/icons";
803
+ import { Container as Container4, Heading as Heading4 } from "@medusajs/ui";
804
+ import { useTranslation as useTranslation5 } from "react-i18next";
805
+ import { jsx as jsx5, jsxs as jsxs4 } from "react/jsx-runtime";
806
+ var ProductShippingProfileSection = ({
807
+ product
808
+ }) => {
809
+ const { t } = useTranslation5();
810
+ const shippingProfile = product.shipping_profile;
811
+ return /* @__PURE__ */ jsxs4(Container4, { className: "p-0", children: [
812
+ /* @__PURE__ */ jsxs4("div", { className: "flex items-center justify-between px-6 py-4", children: [
813
+ /* @__PURE__ */ jsx5(Heading4, { level: "h2", children: t("products.shippingProfile.header") }),
814
+ /* @__PURE__ */ jsx5(
815
+ ActionMenu,
816
+ {
817
+ groups: [
818
+ {
819
+ actions: [
820
+ {
821
+ label: t("actions.edit"),
822
+ to: "shipping-profile",
823
+ icon: /* @__PURE__ */ jsx5(PencilSquare4, {})
824
+ }
825
+ ]
826
+ }
827
+ ]
828
+ }
829
+ )
830
+ ] }),
831
+ shippingProfile && /* @__PURE__ */ jsx5(
832
+ SidebarLink,
833
+ {
834
+ to: `/settings/locations/shipping-profiles/${shippingProfile.id}`,
835
+ labelKey: shippingProfile.name,
836
+ descriptionKey: shippingProfile.type,
837
+ icon: /* @__PURE__ */ jsx5(ShoppingBag, {})
838
+ }
839
+ )
840
+ ] });
841
+ };
842
+
843
+ // src/pages/products/[id]/_components/product-sales-channel-section/product-sales-channel-section.tsx
844
+ import { Channels, PencilSquare as PencilSquare5 } from "@medusajs/icons";
845
+ import { Container as Container5, Heading as Heading5, Text as Text2, Tooltip as Tooltip4 } from "@medusajs/ui";
846
+ import { Trans, useTranslation as useTranslation6 } from "react-i18next";
847
+ import { jsx as jsx6, jsxs as jsxs5 } from "react/jsx-runtime";
848
+ var ProductSalesChannelSection = ({
849
+ product
850
+ }) => {
851
+ const { count } = useSalesChannels();
852
+ const { t } = useTranslation6();
853
+ const availableInSalesChannels = product.sales_channels?.map((sc) => ({
854
+ id: sc.id,
855
+ name: sc.name
856
+ })) ?? [];
857
+ const firstChannels = availableInSalesChannels.slice(0, 3);
858
+ const restChannels = availableInSalesChannels.slice(3);
859
+ return /* @__PURE__ */ jsxs5(Container5, { className: "flex flex-col gap-y-4 px-6 py-4", children: [
860
+ /* @__PURE__ */ jsxs5("div", { className: "flex items-center justify-between", children: [
861
+ /* @__PURE__ */ jsx6(Heading5, { level: "h2", children: t("fields.sales_channels") }),
862
+ /* @__PURE__ */ jsx6(
863
+ ActionMenu,
864
+ {
865
+ groups: [
866
+ {
867
+ actions: [
868
+ {
869
+ label: t("actions.edit"),
870
+ to: "sales-channels",
871
+ icon: /* @__PURE__ */ jsx6(PencilSquare5, {})
872
+ }
873
+ ]
874
+ }
875
+ ]
876
+ }
877
+ )
878
+ ] }),
879
+ /* @__PURE__ */ jsxs5("div", { className: "grid grid-cols-[28px_1fr] items-center gap-x-3", children: [
880
+ /* @__PURE__ */ jsx6("div", { className: "bg-ui-bg-base shadow-borders-base flex size-7 items-center justify-center rounded-md", children: /* @__PURE__ */ jsx6("div", { className: "bg-ui-bg-component flex size-6 items-center justify-center rounded-[4px]", children: /* @__PURE__ */ jsx6(Channels, { className: "text-ui-fg-subtle" }) }) }),
881
+ availableInSalesChannels.length > 0 ? /* @__PURE__ */ jsxs5("div", { className: "flex items-center gap-x-1", children: [
882
+ /* @__PURE__ */ jsx6(Text2, { size: "small", leading: "compact", children: firstChannels.map((sc) => sc.name).join(", ") }),
883
+ restChannels.length > 0 && /* @__PURE__ */ jsx6(
884
+ Tooltip4,
885
+ {
886
+ content: /* @__PURE__ */ jsx6("ul", { children: restChannels.map((sc) => /* @__PURE__ */ jsx6("li", { children: sc.name }, sc.id)) }),
887
+ children: /* @__PURE__ */ jsx6(
888
+ Text2,
889
+ {
890
+ size: "small",
891
+ leading: "compact",
892
+ className: "text-ui-fg-subtle",
893
+ children: `+${restChannels.length}`
894
+ }
895
+ )
896
+ }
897
+ )
898
+ ] }) : /* @__PURE__ */ jsx6(Text2, { size: "small", leading: "compact", className: "text-ui-fg-subtle", children: t("products.noSalesChannels") })
899
+ ] }),
900
+ /* @__PURE__ */ jsx6("div", { children: /* @__PURE__ */ jsx6(Text2, { className: "text-ui-fg-subtle", size: "small", leading: "compact", children: /* @__PURE__ */ jsx6(
901
+ Trans,
902
+ {
903
+ i18nKey: "sales_channels.availableIn",
904
+ values: {
905
+ x: availableInSalesChannels.length,
906
+ y: count ?? 0
907
+ },
908
+ components: [
909
+ /* @__PURE__ */ jsx6(
910
+ "span",
911
+ {
912
+ className: "text-ui-fg-base txt-compact-medium-plus"
913
+ },
914
+ "x"
915
+ ),
916
+ /* @__PURE__ */ jsx6(
917
+ "span",
918
+ {
919
+ className: "text-ui-fg-base txt-compact-medium-plus"
920
+ },
921
+ "y"
922
+ )
923
+ ]
924
+ }
925
+ ) }) })
926
+ ] });
927
+ };
928
+
929
+ // src/pages/products/[id]/product-detail-page.tsx
930
+ import { jsx as jsx7, jsxs as jsxs6 } from "react/jsx-runtime";
931
+ var Root = ({ children }) => {
932
+ const initialData = useLoaderData();
933
+ const { id } = useParams();
934
+ const { product, isLoading, isError, error } = useProduct(
935
+ id,
936
+ PRODUCT_DETAIL_QUERY,
937
+ {
938
+ initialData
939
+ }
940
+ );
941
+ if (isLoading || !product) {
942
+ return /* @__PURE__ */ jsx7(TwoColumnPageSkeleton, { mainSections: 4, sidebarSections: 3 });
943
+ }
944
+ if (isError) {
945
+ throw error;
946
+ }
947
+ return Children.count(children) > 0 ? /* @__PURE__ */ jsx7(TwoColumnPage, { data: product, "data-testid": "product-detail-page", children }) : /* @__PURE__ */ jsxs6(TwoColumnPage, { data: product, "data-testid": "product-detail-page", children: [
948
+ /* @__PURE__ */ jsxs6(TwoColumnPage.Main, { "data-testid": "product-detail-main", children: [
949
+ /* @__PURE__ */ jsx7(ProductActiveEditSection, { product }),
950
+ /* @__PURE__ */ jsx7(ProductGeneralSection, { product }),
951
+ /* @__PURE__ */ jsx7(ProductMediaSection, { product }),
952
+ /* @__PURE__ */ jsx7(ProductVariantSection, { product })
953
+ ] }),
954
+ /* @__PURE__ */ jsxs6(TwoColumnPage.Sidebar, { "data-testid": "product-detail-sidebar", children: [
955
+ /* @__PURE__ */ jsx7(ProductOrganizationSection, { product }),
956
+ /* @__PURE__ */ jsx7(ProductAttributeSection, { product })
957
+ ] })
958
+ ] });
959
+ };
960
+ var ProductDetailPage = Object.assign(Root, {
961
+ Main: TwoColumnPage.Main,
962
+ Sidebar: TwoColumnPage.Sidebar,
963
+ MainActiveEditSection: ProductActiveEditSection,
964
+ MainGeneralSection: ProductGeneralSection,
965
+ MainMediaSection: ProductMediaSection,
966
+ MainVariantSection: ProductVariantSection,
967
+ MainAttributeSection: ProductAttributeSection,
968
+ SidebarShippingProfileSection: ProductShippingProfileSection,
969
+ SidebarOrganizationSection: ProductOrganizationSection,
970
+ SidebarSalesChannelSection: ProductSalesChannelSection
971
+ });
972
+ export {
973
+ ProductDetailPage,
974
+ loader
975
+ };