@medusajs/dashboard 3.0.0-snapshot-20251211173847 → 3.0.0-snapshot-20251211181725

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 (248) hide show
  1. package/dist/{add-campaign-promotions-JQKPED4U.mjs → add-campaign-promotions-PHAHMGXP.mjs} +2 -2
  2. package/dist/{adjust-inventory-2MFA656V.mjs → adjust-inventory-I5VYMAI4.mjs} +2 -2
  3. package/dist/{api-key-management-create-ZUVF3SLR.mjs → api-key-management-create-CVRFY4PL.mjs} +2 -2
  4. package/dist/{api-key-management-detail-I45X6X64.mjs → api-key-management-detail-G7O7TDPW.mjs} +6 -6
  5. package/dist/{api-key-management-edit-42HNUSXL.mjs → api-key-management-edit-JMU3WEPX.mjs} +2 -2
  6. package/dist/{api-key-management-sales-channels-7FVABESO.mjs → api-key-management-sales-channels-4OU5VGIG.mjs} +2 -2
  7. package/dist/app.css +35 -0
  8. package/dist/app.js +13072 -12057
  9. package/dist/app.mjs +4 -4
  10. package/dist/{campaign-budget-edit-6DMZGUCI.mjs → campaign-budget-edit-B5MSE26J.mjs} +2 -2
  11. package/dist/{campaign-configuration-UNFRB5HR.mjs → campaign-configuration-QOE3D2BE.mjs} +2 -2
  12. package/dist/{campaign-create-QXG7PD3S.mjs → campaign-create-FJOECKGT.mjs} +3 -3
  13. package/dist/{campaign-detail-P3CSDHZN.mjs → campaign-detail-I2N5WUEC.mjs} +3 -3
  14. package/dist/{campaign-edit-HN4US7DV.mjs → campaign-edit-K2POQH7M.mjs} +2 -2
  15. package/dist/{categories-metadata-BCZ463KN.mjs → categories-metadata-DNVBNWAJ.mjs} +6 -6
  16. package/dist/{category-create-FFIBWXAH.mjs → category-create-L2KJCHPO.mjs} +2 -2
  17. package/dist/{category-detail-VDUHW3QT.mjs → category-detail-XEFMQSZG.mjs} +24 -8
  18. package/dist/{category-edit-74MZ6TXN.mjs → category-edit-U6SLZSAX.mjs} +2 -2
  19. package/dist/{category-list-AH2EGTI7.mjs → category-list-W7JW4PWA.mjs} +16 -1
  20. package/dist/{category-organize-B6EFBFKB.mjs → category-organize-LLSVAO3U.mjs} +2 -2
  21. package/dist/{category-products-VOD3XRPG.mjs → category-products-LF7P7MBF.mjs} +8 -8
  22. package/dist/{chunk-PNPT4W2F.mjs → chunk-3BJLNORD.mjs} +1 -1
  23. package/dist/{chunk-QPKW37WR.mjs → chunk-3ESSTIV2.mjs} +188 -13
  24. package/dist/{chunk-F5NZDW7L.mjs → chunk-4VNR7DND.mjs} +2 -2
  25. package/dist/chunk-4Y2NYEXF.mjs +0 -0
  26. package/dist/{chunk-Q6MSICBU.mjs → chunk-6GLZIACV.mjs} +1 -1
  27. package/dist/{chunk-M4Z2YEYB.mjs → chunk-7GJ5T4R3.mjs} +9 -9
  28. package/dist/{chunk-YAPTGHGP.mjs → chunk-AFXODJBA.mjs} +1 -1
  29. package/dist/{chunk-3YPRDSZ6.mjs → chunk-BZKI5J2M.mjs} +1 -1
  30. package/dist/{chunk-UM4OIJZ3.mjs → chunk-CFQNWTZV.mjs} +1 -1
  31. package/dist/{chunk-42OOM4DJ.mjs → chunk-D6UW7URG.mjs} +23 -6
  32. package/dist/{chunk-HFT7Q5Y5.mjs → chunk-DCYB22MH.mjs} +1 -1
  33. package/dist/{chunk-LHNU4DYZ.mjs → chunk-DS5IRNJY.mjs} +2 -2
  34. package/dist/{chunk-B3AOQW2B.mjs → chunk-EQBVGH3N.mjs} +1 -1
  35. package/dist/{chunk-EQTBJSBZ.mjs → chunk-F5I264Q3.mjs} +3 -0
  36. package/dist/{chunk-W7SLPIO2.mjs → chunk-FEB3ZGTL.mjs} +214 -17
  37. package/dist/{chunk-Z6NHG5LQ.mjs → chunk-FIFVOKTK.mjs} +1 -1
  38. package/dist/{chunk-4YAPXPLM.mjs → chunk-FPBKWWSI.mjs} +1 -1
  39. package/dist/{chunk-RU4ZS47V.mjs → chunk-GN6OCHP4.mjs} +1 -11
  40. package/dist/{chunk-YWLAUILP.mjs → chunk-HPPR6PXK.mjs} +4 -4
  41. package/dist/{chunk-HWKLNKOY.mjs → chunk-I6C52ARQ.mjs} +1 -1
  42. package/dist/{chunk-F63F3FIT.mjs → chunk-JJGE3EV6.mjs} +2 -2
  43. package/dist/chunk-JQBWAJQZ.mjs +0 -0
  44. package/dist/{chunk-KF7ZWW4K.mjs → chunk-LCEKY54O.mjs} +2 -2
  45. package/dist/{chunk-D4J3CEWH.mjs → chunk-N3SAXQVR.mjs} +2 -2
  46. package/dist/{chunk-EI27JC4V.mjs → chunk-PS5T2R6J.mjs} +3 -3
  47. package/dist/{chunk-MY6I7UJG.mjs → chunk-R2EBIESZ.mjs} +1 -1
  48. package/dist/{chunk-25UWYEJX.mjs → chunk-RKUXD6IZ.mjs} +1 -1
  49. package/dist/{chunk-SKA4AJO4.mjs → chunk-UEJOY5PF.mjs} +3 -3
  50. package/dist/{chunk-XXBP2Z5M.mjs → chunk-WVA4O7QS.mjs} +1 -1
  51. package/dist/{chunk-L4NOVTH5.mjs → chunk-YIOBBZUB.mjs} +2 -2
  52. package/dist/{chunk-GTPX2T3A.mjs → chunk-ZADXDNB3.mjs} +234 -202
  53. package/dist/{collection-add-products-P5B564HQ.mjs → collection-add-products-EM7SAFEH.mjs} +8 -8
  54. package/dist/{collection-create-DCRW344Z.mjs → collection-create-4JX4YE47.mjs} +2 -2
  55. package/dist/{collection-detail-PCL3HYPB.mjs → collection-detail-UQXMMKRW.mjs} +22 -7
  56. package/dist/{collection-edit-UNFEW6HT.mjs → collection-edit-MXL35GQQ.mjs} +2 -2
  57. package/dist/{collection-list-ANPFZOFP.mjs → collection-list-EO56ZH4Q.mjs} +29 -14
  58. package/dist/{collection-metadata-P4A5DXBQ.mjs → collection-metadata-UXEYXJY4.mjs} +6 -6
  59. package/dist/{customer-create-XCLZENJS.mjs → customer-create-IA56MXE6.mjs} +2 -2
  60. package/dist/{customer-create-address-4HZUIAM7.mjs → customer-create-address-27M25HTO.mjs} +2 -2
  61. package/dist/{customer-detail-ENPJO3DW.mjs → customer-detail-OD5I5YWW.mjs} +6 -6
  62. package/dist/{customer-edit-BW5GVTQI.mjs → customer-edit-XQ5NWIVX.mjs} +2 -2
  63. package/dist/{customer-group-add-customers-A7OGFFJ4.mjs → customer-group-add-customers-FRJP6RCY.mjs} +5 -5
  64. package/dist/{customer-group-create-6YV7W6TI.mjs → customer-group-create-RY4FVEIW.mjs} +2 -2
  65. package/dist/{customer-group-detail-DVNRFZX5.mjs → customer-group-detail-SOWUWFJ4.mjs} +6 -6
  66. package/dist/{customer-group-edit-7NXU34BQ.mjs → customer-group-edit-MQWARIQZ.mjs} +2 -2
  67. package/dist/{customer-group-list-P2QX5AO4.mjs → customer-group-list-A5LER6CN.mjs} +3 -3
  68. package/dist/{customer-group-metadata-WK2BGEGO.mjs → customer-group-metadata-JQJRLLXG.mjs} +3 -3
  69. package/dist/{customer-metadata-ZUWCUTM7.mjs → customer-metadata-HN2DYD5I.mjs} +3 -3
  70. package/dist/{customers-add-customer-group-RVR476OP.mjs → customers-add-customer-group-75EEIDW6.mjs} +8 -8
  71. package/dist/{edit-inventory-item-Y5W6VTHJ.mjs → edit-inventory-item-RATTNP2Y.mjs} +2 -2
  72. package/dist/{edit-inventory-item-attributes-NAAZDFEJ.mjs → edit-inventory-item-attributes-JHH5GSNL.mjs} +2 -2
  73. package/dist/{edit-reservation-2UD4RZJX.mjs → edit-reservation-UZCSNLHY.mjs} +2 -2
  74. package/dist/{edit-rules-2W3BXEXR.mjs → edit-rules-IKV4MGHV.mjs} +5 -5
  75. package/dist/en.json +12 -12
  76. package/dist/{inventory-create-VQEK7C5T.mjs → inventory-create-DBD7EA7N.mjs} +6 -6
  77. package/dist/{inventory-detail-UYDDNO24.mjs → inventory-detail-Q2HAUD2Y.mjs} +3 -3
  78. package/dist/{inventory-metadata-X52VGHA7.mjs → inventory-metadata-NQXJBGAQ.mjs} +6 -6
  79. package/dist/{inventory-stock-EKTOYN2F.mjs → inventory-stock-WAZ7CXTY.mjs} +7 -7
  80. package/dist/{invite-VKHAAF4Z.mjs → invite-WISVECE2.mjs} +3 -2
  81. package/dist/{location-create-RPLEXUZR.mjs → location-create-WZ43K3W7.mjs} +2 -2
  82. package/dist/{location-detail-UVWYE6Q2.mjs → location-detail-2LKEMZ3X.mjs} +11 -9
  83. package/dist/{location-edit-L4ISEQHX.mjs → location-edit-VCS7GVWQ.mjs} +2 -2
  84. package/dist/{location-fulfillment-providers-3BGI2NNW.mjs → location-fulfillment-providers-6WNUCXQL.mjs} +6 -6
  85. package/dist/{location-list-Z42ZYHUF.mjs → location-list-UK3WRDL5.mjs} +3 -2
  86. package/dist/{location-sales-channels-YMABMECM.mjs → location-sales-channels-NKNM5TQK.mjs} +2 -2
  87. package/dist/{location-service-zone-create-NSMZCD5N.mjs → location-service-zone-create-3FWF3DG5.mjs} +3 -3
  88. package/dist/{location-service-zone-edit-6OUAFEZD.mjs → location-service-zone-edit-KHHMSPXD.mjs} +2 -2
  89. package/dist/{location-service-zone-manage-areas-SEC6LKCZ.mjs → location-service-zone-manage-areas-YFEAZUUN.mjs} +3 -3
  90. package/dist/{location-service-zone-shipping-option-create-M7G4SKNP.mjs → location-service-zone-shipping-option-create-DSLYSNY4.mjs} +7 -7
  91. package/dist/{location-service-zone-shipping-option-edit-M2HJAASG.mjs → location-service-zone-shipping-option-edit-QCURIIGL.mjs} +5 -5
  92. package/dist/{location-service-zone-shipping-option-pricing-23QLNSBT.mjs → location-service-zone-shipping-option-pricing-Z5IFOLFJ.mjs} +4 -4
  93. package/dist/{login-NSCAMAU6.mjs → login-2DAZRDSC.mjs} +6 -5
  94. package/dist/{manage-locations-JD6FSBOT.mjs → manage-locations-MLNMPQ5I.mjs} +2 -2
  95. package/dist/{order-allocate-items-5T57NZOB.mjs → order-allocate-items-I5KMPZY5.mjs} +3 -3
  96. package/dist/{order-create-claim-JLCXZNHU.mjs → order-create-claim-E543W2TJ.mjs} +7 -7
  97. package/dist/{order-create-edit-QB6LIWSF.mjs → order-create-edit-HDWLEUKF.mjs} +6 -6
  98. package/dist/{order-create-exchange-GOU4AJXP.mjs → order-create-exchange-HBQWTMXR.mjs} +13 -13
  99. package/dist/{order-create-fulfillment-SRRP6X64.mjs → order-create-fulfillment-PN3HLLB2.mjs} +5 -5
  100. package/dist/{order-create-refund-PTOM65QK.mjs → order-create-refund-EC7XRI5O.mjs} +5 -5
  101. package/dist/{order-create-return-3EOY7TOC.mjs → order-create-return-LTGYASZZ.mjs} +4 -4
  102. package/dist/{order-create-shipment-HNILNFXB.mjs → order-create-shipment-CPEAPIJU.mjs} +5 -5
  103. package/dist/{order-detail-BCBUUVU7.mjs → order-detail-MPNBAUUI.mjs} +11 -11
  104. package/dist/{order-edit-billing-address-3IO7GXIK.mjs → order-edit-billing-address-KMV6RJ6F.mjs} +5 -5
  105. package/dist/{order-edit-email-QIAEOUBV.mjs → order-edit-email-377D6O22.mjs} +5 -5
  106. package/dist/{order-edit-shipping-address-QGGMHGBC.mjs → order-edit-shipping-address-HEFMKAJP.mjs} +5 -5
  107. package/dist/{order-list-BPCVUIVY.mjs → order-list-QOYJFYD5.mjs} +71 -29
  108. package/dist/{order-metadata-ZBDTMBHZ.mjs → order-metadata-QABOWLXK.mjs} +6 -6
  109. package/dist/{order-receive-return-V42FTCFY.mjs → order-receive-return-4WFBZ2T7.mjs} +6 -6
  110. package/dist/{order-request-transfer-A6NNIN2O.mjs → order-request-transfer-ISZSSGKO.mjs} +5 -5
  111. package/dist/{price-list-configuration-54D4JW6G.mjs → price-list-configuration-WZFAJ7ZM.mjs} +4 -4
  112. package/dist/{price-list-create-5DI6QXFL.mjs → price-list-create-DQFXQ247.mjs} +15 -15
  113. package/dist/{price-list-detail-7XY3MDV5.mjs → price-list-detail-WWJPFIT2.mjs} +6 -6
  114. package/dist/{price-list-edit-SW7YIR3Z.mjs → price-list-edit-I5QNCWJP.mjs} +2 -2
  115. package/dist/{price-list-prices-add-UA2DT4AM.mjs → price-list-prices-add-6BCDF4DE.mjs} +10 -10
  116. package/dist/{price-list-prices-edit-C6SX2TLJ.mjs → price-list-prices-edit-Z4YJ4YBY.mjs} +4 -4
  117. package/dist/{product-attributes-56UMJAVF.mjs → product-attributes-RKEXUYKR.mjs} +6 -6
  118. package/dist/{product-create-NWQ7IXC6.mjs → product-create-S7YVI2MR.mjs} +7 -7
  119. package/dist/{product-create-option-GEGQNSMQ.mjs → product-create-option-UMZKRNTC.mjs} +2 -2
  120. package/dist/{product-create-variant-WI6D5CDG.mjs → product-create-variant-JRKDSU6D.mjs} +6 -6
  121. package/dist/{product-detail-VYXHGYKI.mjs → product-detail-G7ZVDV46.mjs} +52 -10
  122. package/dist/{product-edit-N4VRGX43.mjs → product-edit-CMHKUDQP.mjs} +6 -6
  123. package/dist/{product-edit-option-HBIOBQTS.mjs → product-edit-option-ZMTSLRG5.mjs} +2 -2
  124. package/dist/{product-export-CPL66H6S.mjs → product-export-H7KYYMGI.mjs} +15 -15
  125. package/dist/{product-image-variants-edit-X3LUMPLJ.mjs → product-image-variants-edit-HU6NVV6T.mjs} +5 -5
  126. package/dist/{product-import-43UXKCL3.mjs → product-import-5PKTI7YC.mjs} +5 -5
  127. package/dist/{product-list-47T2IZ3F.mjs → product-list-ABFSFWKV.mjs} +19 -7
  128. package/dist/{product-media-EGK66SRX.mjs → product-media-ULNJ7JJY.mjs} +2 -2
  129. package/dist/{product-metadata-55CAQTPS.mjs → product-metadata-GHL5HV37.mjs} +6 -6
  130. package/dist/{product-organization-YVMSAFBV.mjs → product-organization-Z7SXABDX.mjs} +6 -6
  131. package/dist/{product-prices-WQDE4XYT.mjs → product-prices-5WCCQDS6.mjs} +3 -3
  132. package/dist/{product-sales-channels-ZICOOOKY.mjs → product-sales-channels-2PN4L7II.mjs} +2 -2
  133. package/dist/{product-shipping-profile-KIDRTPWA.mjs → product-shipping-profile-45XXB7FM.mjs} +2 -2
  134. package/dist/{product-stock-22S2HGMM.mjs → product-stock-NHC7WD6Z.mjs} +7 -7
  135. package/dist/{product-tag-create-7GPE246H.mjs → product-tag-create-MQ6AUCQM.mjs} +5 -5
  136. package/dist/{product-tag-detail-BQG2LJK6.mjs → product-tag-detail-CGURSGJE.mjs} +31 -16
  137. package/dist/{product-tag-edit-WA6FGSIP.mjs → product-tag-edit-TOJYTW4H.mjs} +5 -5
  138. package/dist/{product-tag-list-PW7WDCQH.mjs → product-tag-list-2U4CIGK5.mjs} +31 -16
  139. package/dist/{product-tag-metadata-EJ7FEXSE.mjs → product-tag-metadata-JMFWGTR3.mjs} +6 -6
  140. package/dist/{product-type-create-HBDROTGB.mjs → product-type-create-KHSNCQCV.mjs} +2 -2
  141. package/dist/{product-type-detail-TJQS4BVU.mjs → product-type-detail-UY6Y3T3G.mjs} +22 -7
  142. package/dist/{product-type-edit-H3JCMVRV.mjs → product-type-edit-3LRBWZ3S.mjs} +2 -2
  143. package/dist/{product-type-list-7WQ5D2KV.mjs → product-type-list-XU6DADMO.mjs} +19 -4
  144. package/dist/{product-type-metadata-Q6W5GL7Z.mjs → product-type-metadata-EGMTZ622.mjs} +6 -6
  145. package/dist/{product-variant-detail-LYGQDASG.mjs → product-variant-detail-5EKVJXUT.mjs} +21 -5
  146. package/dist/{product-variant-edit-BW7QMHC5.mjs → product-variant-edit-KKLHPWXO.mjs} +5 -5
  147. package/dist/{product-variant-manage-inventory-items-BLHCH6QD.mjs → product-variant-manage-inventory-items-OGM64KYP.mjs} +2 -2
  148. package/dist/{product-variant-media-KLSUISGH.mjs → product-variant-media-C3KCFODU.mjs} +2 -2
  149. package/dist/{product-variant-metadata-GDMVC4MZ.mjs → product-variant-metadata-LBOIYBBF.mjs} +6 -6
  150. package/dist/{profile-edit-5EEKOEO5.mjs → profile-edit-YZCUGEXF.mjs} +2 -2
  151. package/dist/{promotion-add-campaign-JRTM7WBR.mjs → promotion-add-campaign-DO67QK6M.mjs} +3 -3
  152. package/dist/{promotion-create-HF6DTKCC.mjs → promotion-create-U6CJPBYU.mjs} +12 -12
  153. package/dist/{promotion-detail-MDVDMQUM.mjs → promotion-detail-BYXN4YXZ.mjs} +3 -3
  154. package/dist/{promotion-edit-details-AREFQ6O5.mjs → promotion-edit-details-6BSOOWQN.mjs} +2 -2
  155. package/dist/{refund-reason-create-RKIH46D6.mjs → refund-reason-create-TFC4T4GK.mjs} +5 -5
  156. package/dist/{refund-reason-edit-V3KC6NMO.mjs → refund-reason-edit-WTM7WR5V.mjs} +5 -5
  157. package/dist/{refund-reason-list-FR7POQS5.mjs → refund-reason-list-7Q6WDYH6.mjs} +4 -4
  158. package/dist/{region-add-countries-AFWXMQ6W.mjs → region-add-countries-7U4J5RW6.mjs} +2 -2
  159. package/dist/{region-create-YC4VZ4AS.mjs → region-create-IUGX33M5.mjs} +2 -2
  160. package/dist/{region-edit-5GO25GDF.mjs → region-edit-WAU347DP.mjs} +2 -2
  161. package/dist/{region-metadata-5NGUNAXZ.mjs → region-metadata-EGOMWMMB.mjs} +6 -6
  162. package/dist/{reservation-create-Z2SUMBGT.mjs → reservation-create-C6HTEF3R.mjs} +2 -2
  163. package/dist/{reservation-detail-JH77TQHN.mjs → reservation-detail-FYS6LFU6.mjs} +3 -3
  164. package/dist/{reservation-metadata-ERCWXYVL.mjs → reservation-metadata-LZJV35OW.mjs} +6 -6
  165. package/dist/{reset-password-5TAYQEUV.mjs → reset-password-XKX43KUT.mjs} +3 -2
  166. package/dist/{return-reason-create-NXWDC6AC.mjs → return-reason-create-HM54WRJY.mjs} +2 -2
  167. package/dist/{return-reason-edit-M6IKNNKB.mjs → return-reason-edit-VSIRHVQ6.mjs} +2 -2
  168. package/dist/return-reason-list-IFFIDA5O.mjs +1 -1
  169. package/dist/{sales-channel-add-products-SPGDWA44.mjs → sales-channel-add-products-XPS4JTBL.mjs} +8 -8
  170. package/dist/{sales-channel-create-E7BDTPWD.mjs → sales-channel-create-4XLJDVJO.mjs} +2 -2
  171. package/dist/{sales-channel-detail-D7VNPSCN.mjs → sales-channel-detail-5YUELAQ5.mjs} +6 -6
  172. package/dist/{sales-channel-edit-HMPA3Y3L.mjs → sales-channel-edit-UZGSXD5X.mjs} +2 -2
  173. package/dist/{sales-channel-list-QGWQVXVW.mjs → sales-channel-list-N3KDOVBS.mjs} +3 -3
  174. package/dist/{sales-channel-metadata-CMZN74K7.mjs → sales-channel-metadata-MU4BVKOJ.mjs} +6 -6
  175. package/dist/{shipping-option-type-create-4BN2GBHP.mjs → shipping-option-type-create-AS4AVWZV.mjs} +5 -5
  176. package/dist/{shipping-option-type-detail-YB3TCED2.mjs → shipping-option-type-detail-MCFL4BJE.mjs} +4 -4
  177. package/dist/{shipping-option-type-edit-MDO7ALAU.mjs → shipping-option-type-edit-PJOD3TA4.mjs} +5 -5
  178. package/dist/{shipping-option-type-list-6TPD3AMM.mjs → shipping-option-type-list-VD567MQD.mjs} +4 -4
  179. package/dist/{shipping-profile-create-752TMBBE.mjs → shipping-profile-create-26R64I3Z.mjs} +2 -2
  180. package/dist/{shipping-profile-metadata-HQI7PCPU.mjs → shipping-profile-metadata-6MHI75CB.mjs} +6 -6
  181. package/dist/{store-add-currencies-3VMLZ6KB.mjs → store-add-currencies-ZFS3WZHG.mjs} +2 -2
  182. package/dist/{store-add-locales-XJJCEO6Q.mjs → store-add-locales-ERJXWD4L.mjs} +4 -4
  183. package/dist/{store-detail-DNK76PXP.mjs → store-detail-EGDXIVWC.mjs} +3 -3
  184. package/dist/{store-edit-EPAHLLKP.mjs → store-edit-AB5CDUTK.mjs} +2 -2
  185. package/dist/{store-metadata-ZJD23O4D.mjs → store-metadata-ZBUQ62YT.mjs} +6 -6
  186. package/dist/{tax-region-create-NCO2OQ3I.mjs → tax-region-create-N4YVNQKV.mjs} +5 -5
  187. package/dist/{tax-region-detail-C42CLE64.mjs → tax-region-detail-UJASYH57.mjs} +23 -22
  188. package/dist/{tax-region-edit-YZALLSZY.mjs → tax-region-edit-W3B5EUCJ.mjs} +5 -5
  189. package/dist/{tax-region-list-BXZBUXRJ.mjs → tax-region-list-4MQMCMKY.mjs} +4 -3
  190. package/dist/{tax-region-province-create-5JP3PVID.mjs → tax-region-province-create-GKJ7WMRS.mjs} +2 -2
  191. package/dist/{tax-region-province-detail-G2DPC6XM.mjs → tax-region-province-detail-K4PDPHXP.mjs} +22 -21
  192. package/dist/{tax-region-tax-override-create-WIVKENVO.mjs → tax-region-tax-override-create-NUI4Z76X.mjs} +16 -16
  193. package/dist/{tax-region-tax-override-edit-UDEO3UIY.mjs → tax-region-tax-override-edit-Q4GJHUMJ.mjs} +17 -17
  194. package/dist/{tax-region-tax-rate-create-O2SDSXCH.mjs → tax-region-tax-rate-create-MECFGVPL.mjs} +2 -2
  195. package/dist/{tax-region-tax-rate-edit-W62VEVKT.mjs → tax-region-tax-rate-edit-7DYSPYOD.mjs} +2 -2
  196. package/dist/translation-list-5ZOAGLCT.mjs +146 -0
  197. package/dist/translations-edit-QPJLE55N.mjs +390 -0
  198. package/dist/{user-edit-LXQCTDGA.mjs → user-edit-ZBB4RMTP.mjs} +2 -2
  199. package/dist/{user-invite-2OKB7SCF.mjs → user-invite-XB635N26.mjs} +2 -2
  200. package/dist/{user-metadata-4WOICEE7.mjs → user-metadata-2FTA4EB3.mjs} +6 -6
  201. package/dist/{workflow-execution-detail-OKM6P4SX.mjs → workflow-execution-detail-MGIZSKVA.mjs} +3 -3
  202. package/package.json +9 -9
  203. package/src/components/common/icon-avatar/icon-avatar.tsx +4 -0
  204. package/src/components/data-grid/components/data-grid-textarea-modal-cell.tsx +233 -0
  205. package/src/components/data-grid/components/index.ts +1 -0
  206. package/src/components/data-grid/data-grid.tsx +2 -0
  207. package/src/components/layout/settings-layout/settings-layout.tsx +11 -1
  208. package/src/components/modals/route-focus-modal/route-focus-modal.tsx +8 -3
  209. package/src/components/modals/route-modal-form/route-modal-form.tsx +6 -1
  210. package/src/components/modals/route-modal-provider/route-provider.tsx +16 -4
  211. package/src/dashboard-app/routes/get-route.map.tsx +20 -6
  212. package/src/hooks/api/index.ts +1 -0
  213. package/src/hooks/api/orders.tsx +1 -18
  214. package/src/hooks/api/product-variants.tsx +7 -1
  215. package/src/hooks/api/translations.tsx +254 -0
  216. package/src/i18n/translations/$schema.json +36 -40
  217. package/src/i18n/translations/en.json +12 -12
  218. package/src/i18n/translations/es.json +12 -0
  219. package/src/routes/categories/category-detail/components/category-general-section/category-general-section.tsx +16 -1
  220. package/src/routes/categories/category-list/components/category-list-table/category-list-table.tsx +16 -1
  221. package/src/routes/collections/collection-detail/components/collection-general-section/collection-general-section.tsx +16 -1
  222. package/src/routes/collections/collection-list/components/collection-list-table/collection-row-actions.tsx +16 -1
  223. package/src/routes/orders/order-list/components/order-list-table/configurable-order-list-table.tsx +0 -10
  224. package/src/routes/orders/order-list/components/order-list-table/order-list-table.tsx +2 -8
  225. package/src/routes/product-tags/product-tag-detail/components/product-tag-general-section/product-tag-general-section.tsx +16 -1
  226. package/src/routes/product-tags/product-tag-list/components/product-tag-list-table/product-tag-list-table.tsx +16 -1
  227. package/src/routes/product-types/product-type-detail/components/product-type-general-section/product-type-general-section.tsx +16 -1
  228. package/src/routes/product-types/product-type-list/components/product-type-list-table/product-table-row-actions.tsx +16 -1
  229. package/src/routes/product-variants/product-variant-detail/components/variant-general-section/variant-general-section.tsx +16 -1
  230. package/src/routes/products/product-detail/components/product-general-section/product-general-section.tsx +16 -1
  231. package/src/routes/products/product-detail/components/product-variant-section/product-variant-section.tsx +32 -1
  232. package/src/routes/products/product-list/components/product-list-table/product-list-table.tsx +15 -1
  233. package/src/routes/translations/translation-list/index.tsx +1 -0
  234. package/src/routes/translations/translation-list/translation-list.tsx +131 -0
  235. package/src/routes/translations/translations-edit/components/translations-edit-form/index.ts +1 -0
  236. package/src/routes/translations/translations-edit/components/translations-edit-form/translations-edit-form.tsx +423 -0
  237. package/src/routes/translations/translations-edit/index.ts +1 -0
  238. package/src/routes/translations/translations-edit/translations-edit.tsx +67 -0
  239. package/src/routes/translations/translations-edit/utils/index.ts +1 -0
  240. package/src/routes/translations/translations-edit/utils/reference-label-map.ts +10 -0
  241. package/dist/chunk-35LSPN2U.mjs +0 -66
  242. package/dist/order-export-LPAWHHSK.mjs +0 -121
  243. package/src/routes/orders/order-export/components/export-filters.tsx +0 -22
  244. package/src/routes/orders/order-export/index.ts +0 -1
  245. package/src/routes/orders/order-export/order-export.tsx +0 -66
  246. package/dist/{chunk-6WKBBTKM.mjs → chunk-CTUJXJYA.mjs} +0 -0
  247. package/dist/{customer-list-TG4D4QOT.mjs → customer-list-ZXCGIXJC.mjs} +3 -3
  248. package/dist/{region-list-JAQXIBYD.mjs → region-list-XQRIBDMF.mjs} +3 -3
@@ -0,0 +1,233 @@
1
+ import { clx, Textarea } from "@medusajs/ui"
2
+ import { Popover as RadixPopover } from "radix-ui"
3
+ import { useCallback, useEffect, useRef, useState } from "react"
4
+ import { Controller, ControllerRenderProps } from "react-hook-form"
5
+
6
+ import { useCombinedRefs } from "../../../hooks/use-combined-refs"
7
+ import { useDataGridCell, useDataGridCellError } from "../hooks"
8
+ import { useDataGridContext } from "../context"
9
+ import { DataGridCellProps, InputProps, DataGridCellContext } from "../types"
10
+ import { DataGridCellContainer } from "./data-grid-cell-container"
11
+
12
+ type DataGridExpandableTextCellProps<TData, TValue = any> = DataGridCellProps<
13
+ TData,
14
+ TValue
15
+ > & {
16
+ fieldLabel?: string
17
+ }
18
+
19
+ export const DataGridExpandableTextCell = <TData, TValue = any>({
20
+ context,
21
+ fieldLabel,
22
+ }: DataGridExpandableTextCellProps<TData, TValue>) => {
23
+ const { field, control, renderProps } = useDataGridCell({
24
+ context,
25
+ })
26
+ const errorProps = useDataGridCellError({ context })
27
+
28
+ const { container, input } = renderProps
29
+
30
+ return (
31
+ <Controller
32
+ control={control}
33
+ name={field}
34
+ render={({ field }) => {
35
+ return (
36
+ <Inner
37
+ field={field}
38
+ inputProps={input}
39
+ fieldLabel={fieldLabel}
40
+ container={container}
41
+ errorProps={errorProps}
42
+ />
43
+ )
44
+ }}
45
+ />
46
+ )
47
+ }
48
+
49
+ const Inner = ({
50
+ field,
51
+ inputProps,
52
+ fieldLabel: _fieldLabel,
53
+ container,
54
+ errorProps,
55
+ }: {
56
+ field: ControllerRenderProps<any, string>
57
+ inputProps: InputProps
58
+ fieldLabel?: string
59
+ container: any
60
+ errorProps: any
61
+ }) => {
62
+ const { onChange: _, onBlur, ref, value, ...rest } = field
63
+ const { ref: inputRef, onBlur: onInputBlur, onChange, ...input } = inputProps
64
+ const { setSingleRange, anchor } = useDataGridContext()
65
+ const { row, col } = anchor || { row: 0, col: 0 }
66
+
67
+ const [localValue, setLocalValue] = useState(value || "")
68
+ const [isPopoverOpen, setIsPopoverOpen] = useState(false)
69
+ const [popoverValue, setPopoverValue] = useState(value || "")
70
+ const popoverContentRef = useRef<HTMLDivElement>(null)
71
+
72
+ useEffect(() => {
73
+ setLocalValue(value || "")
74
+ }, [value])
75
+
76
+ useEffect(() => {
77
+ if (isPopoverOpen) {
78
+ setPopoverValue(value || "")
79
+ }
80
+ }, [isPopoverOpen, value])
81
+
82
+ // Prevent DataGrid keyboard handlers from intercepting keys when popover is open
83
+ useEffect(() => {
84
+ if (!isPopoverOpen || !popoverContentRef.current) {
85
+ return
86
+ }
87
+
88
+ const handleKeyDownCapture = (e: KeyboardEvent) => {
89
+ const target = e.target as HTMLElement
90
+ const isTextarea = target.tagName === "TEXTAREA"
91
+ const isInPopover =
92
+ popoverContentRef.current && popoverContentRef.current.contains(target)
93
+
94
+ if (isTextarea || isInPopover) {
95
+ const dataGridKeys = [
96
+ "Enter",
97
+ "Delete",
98
+ "Backspace",
99
+ "ArrowUp",
100
+ "ArrowDown",
101
+ "ArrowLeft",
102
+ "ArrowRight",
103
+ "Tab",
104
+ " ",
105
+ ]
106
+
107
+ // Stop the keys from reaching DataGrid, so the textarea can handle them
108
+ if (dataGridKeys.includes(e.key) && e.key !== "Escape") {
109
+ e.stopImmediatePropagation()
110
+ }
111
+ }
112
+ }
113
+
114
+ window.addEventListener("keydown", handleKeyDownCapture, true)
115
+
116
+ return () => {
117
+ window.removeEventListener("keydown", handleKeyDownCapture, true)
118
+ }
119
+ }, [isPopoverOpen])
120
+
121
+ const combinedRefs = useCombinedRefs(inputRef, ref)
122
+
123
+ const handleOverlayMouseDown = useCallback(
124
+ (e: React.MouseEvent) => {
125
+ if (e.detail === 2) {
126
+ e.preventDefault()
127
+ e.stopPropagation()
128
+ setSingleRange({ row, col })
129
+ setIsPopoverOpen(true)
130
+ return
131
+ }
132
+ // For single clicks, use the normal handler which sets anchor and focuses container
133
+ container.overlayProps.onMouseDown?.(e)
134
+ },
135
+ [container.overlayProps, setSingleRange, row, col]
136
+ )
137
+
138
+ const customContainer = {
139
+ ...container,
140
+ overlayProps: {
141
+ ...container.overlayProps,
142
+ onMouseDown: handleOverlayMouseDown,
143
+ },
144
+ }
145
+
146
+ const handlePopoverSave = () => {
147
+ onChange(popoverValue, value)
148
+ setLocalValue(popoverValue)
149
+ setIsPopoverOpen(false)
150
+ onBlur()
151
+ onInputBlur()
152
+ }
153
+
154
+ const handlePopoverKeyDown = useCallback((e: React.KeyboardEvent) => {
155
+ if (e.key !== "Escape") {
156
+ e.stopPropagation()
157
+ }
158
+ }, [])
159
+
160
+ const displayValue = localValue || ""
161
+ const truncatedValue =
162
+ displayValue.length > 50
163
+ ? `${displayValue.substring(0, 50)}...`
164
+ : displayValue
165
+
166
+ return (
167
+ <RadixPopover.Root
168
+ open={isPopoverOpen}
169
+ onOpenChange={(open) => {
170
+ if (!open) {
171
+ handlePopoverSave()
172
+ } else {
173
+ setIsPopoverOpen(true)
174
+ }
175
+ }}
176
+ >
177
+ <DataGridCellContainer {...customContainer} {...errorProps}>
178
+ <RadixPopover.Anchor asChild>
179
+ <div
180
+ className={clx(
181
+ "txt-compact-small text-ui-fg-subtle flex size-full cursor-pointer items-center justify-center bg-transparent outline-none",
182
+ "focus:cursor-text"
183
+ )}
184
+ >
185
+ <span className="w-full truncate text-center">
186
+ {truncatedValue}
187
+ </span>
188
+ </div>
189
+ </RadixPopover.Anchor>
190
+ <input
191
+ className="sr-only"
192
+ autoComplete="off"
193
+ tabIndex={-1}
194
+ value={localValue}
195
+ onChange={(e) => setLocalValue(e.target.value)}
196
+ ref={combinedRefs}
197
+ onBlur={() => {
198
+ onBlur()
199
+ onInputBlur()
200
+ onChange(localValue, value)
201
+ }}
202
+ {...input}
203
+ {...rest}
204
+ />
205
+ </DataGridCellContainer>
206
+ <RadixPopover.Portal>
207
+ <RadixPopover.Content
208
+ className={clx(
209
+ "bg-ui-bg-base shadow-elevation-flyout flex max-h-[80vh] w-[600px] overflow-hidden p-0 outline-none"
210
+ )}
211
+ align="start"
212
+ side="bottom"
213
+ sideOffset={-29}
214
+ alignOffset={-16}
215
+ collisionPadding={24}
216
+ onEscapeKeyDown={handlePopoverSave}
217
+ onKeyDown={handlePopoverKeyDown}
218
+ >
219
+ <div ref={popoverContentRef} className="h-full w-full">
220
+ <Textarea
221
+ value={popoverValue}
222
+ onChange={(e) => setPopoverValue(e.target.value)}
223
+ onKeyDown={(e) => {
224
+ e.stopPropagation()
225
+ }}
226
+ className="!bg-ui-bg-base h-full min-h-[300px] w-full resize-none border-0 p-4 !shadow-none focus-visible:!shadow-none"
227
+ />
228
+ </div>
229
+ </RadixPopover.Content>
230
+ </RadixPopover.Portal>
231
+ </RadixPopover.Root>
232
+ )
233
+ }
@@ -5,3 +5,4 @@ export { DataGridReadonlyCell as DataGridReadOnlyCell } from "./data-grid-readon
5
5
  export { DataGridRoot, type DataGridRootProps } from "./data-grid-root"
6
6
  export { DataGridSkeleton } from "./data-grid-skeleton"
7
7
  export { DataGridTextCell } from "./data-grid-text-cell"
8
+ export { DataGridExpandableTextCell } from "./data-grid-textarea-modal-cell"
@@ -8,6 +8,7 @@ import {
8
8
  DataGridRoot,
9
9
  DataGridSkeleton,
10
10
  DataGridTextCell,
11
+ DataGridExpandableTextCell,
11
12
  type DataGridRootProps,
12
13
  } from "./components"
13
14
 
@@ -35,6 +36,7 @@ const _DataGrid = <TData, TFieldValues extends FieldValues = FieldValues>({
35
36
  export const DataGrid = Object.assign(_DataGrid, {
36
37
  BooleanCell: DataGridBooleanCell,
37
38
  TextCell: DataGridTextCell,
39
+ ExpandableTextCell: DataGridExpandableTextCell,
38
40
  NumberCell: DataGridNumberCell,
39
41
  CurrencyCell: DataGridCurrencyCell,
40
42
  ReadonlyCell: DataGridReadOnlyCell,
@@ -9,6 +9,7 @@ import { useExtension } from "../../../providers/extension-provider"
9
9
  import { INavItem, NavItem } from "../nav-item"
10
10
  import { Shell } from "../shell"
11
11
  import { UserMenu } from "../user-menu"
12
+ import { useFeatureFlag } from "../../../providers/feature-flag-provider"
12
13
 
13
14
  export const SettingsLayout = () => {
14
15
  return (
@@ -19,10 +20,19 @@ export const SettingsLayout = () => {
19
20
  }
20
21
 
21
22
  const useSettingRoutes = (): INavItem[] => {
23
+ const isTranslationsEnabled = useFeatureFlag("translation")
22
24
  const { t } = useTranslation()
23
25
 
24
26
  return useMemo(
25
27
  () => [
28
+ ...(isTranslationsEnabled
29
+ ? [
30
+ {
31
+ label: t("translations.domain"),
32
+ to: "/settings/translations",
33
+ },
34
+ ]
35
+ : []),
26
36
  {
27
37
  label: t("store.domain"),
28
38
  to: "/settings/store",
@@ -64,7 +74,7 @@ const useSettingRoutes = (): INavItem[] => {
64
74
  to: "/settings/locations",
65
75
  },
66
76
  ],
67
- [t]
77
+ [t, isTranslationsEnabled]
68
78
  )
69
79
  }
70
80
 
@@ -8,7 +8,7 @@ import { RouteModalProvider } from "../route-modal-provider/route-provider"
8
8
  import { StackedModalProvider } from "../stacked-modal-provider"
9
9
 
10
10
  type RouteFocusModalProps = PropsWithChildren<{
11
- prev?: string | Partial<Path>
11
+ prev?: string | Partial<Path> | number
12
12
  }>
13
13
 
14
14
  const Root = ({ prev = "..", children }: RouteFocusModalProps) => {
@@ -16,7 +16,8 @@ const Root = ({ prev = "..", children }: RouteFocusModalProps) => {
16
16
  const [open, setOpen] = useState(false)
17
17
  const [stackedModalOpen, onStackedModalOpen] = useState(false)
18
18
 
19
- const to = useStateAwareTo(prev)
19
+ const to: string | Partial<Path> | number =
20
+ typeof prev === "number" ? prev : useStateAwareTo(prev)
20
21
 
21
22
  /**
22
23
  * Open the modal when the component mounts. This
@@ -34,7 +35,11 @@ const Root = ({ prev = "..", children }: RouteFocusModalProps) => {
34
35
  const handleOpenChange = (open: boolean) => {
35
36
  if (!open) {
36
37
  document.body.style.pointerEvents = "auto"
37
- navigate(to, { replace: true })
38
+ if (typeof to === "number") {
39
+ navigate(to)
40
+ } else {
41
+ navigate(to, { replace: true })
42
+ }
38
43
  return
39
44
  }
40
45
 
@@ -24,7 +24,12 @@ export const RouteModalForm = <TFieldValues extends FieldValues = any>({
24
24
  } = form
25
25
 
26
26
  const blocker = useBlocker(({ currentLocation, nextLocation }) => {
27
- const { isSubmitSuccessful } = nextLocation.state || {}
27
+ // Check both nextLocation and currentLocation state for successful submission
28
+ // This handles browser history navigation (-1) where we set state on current location
29
+ const { isSubmitSuccessful: nextIsSuccessful } = nextLocation.state || {}
30
+ const { isSubmitSuccessful: currentIsSuccessful } =
31
+ currentLocation.state || {}
32
+ const isSubmitSuccessful = nextIsSuccessful || currentIsSuccessful
28
33
 
29
34
  if (isSubmitSuccessful) {
30
35
  onClose?.(true)
@@ -1,9 +1,9 @@
1
1
  import { PropsWithChildren, useCallback, useMemo, useState } from "react"
2
- import { Path, useNavigate } from "react-router-dom"
2
+ import { Path, useLocation, useNavigate } from "react-router-dom"
3
3
  import { RouteModalProviderContext } from "./route-modal-context"
4
4
 
5
5
  type RouteModalProviderProps = PropsWithChildren<{
6
- prev: string | Partial<Path>
6
+ prev: string | Partial<Path> | number
7
7
  }>
8
8
 
9
9
  export const RouteModalProvider = ({
@@ -11,15 +11,27 @@ export const RouteModalProvider = ({
11
11
  children,
12
12
  }: RouteModalProviderProps) => {
13
13
  const navigate = useNavigate()
14
+ const location = useLocation()
14
15
 
15
16
  const [closeOnEscape, setCloseOnEscape] = useState(true)
16
17
 
17
18
  const handleSuccess = useCallback(
18
19
  (path?: string) => {
19
20
  const to = path || prev
20
- navigate(to, { replace: true, state: { isSubmitSuccessful: true } })
21
+ if (typeof to === "number") {
22
+ // Replace current location with success state, then navigate back
23
+ navigate(location.pathname + location.search, {
24
+ replace: true,
25
+ state: { ...location.state, isSubmitSuccessful: true },
26
+ })
27
+ setTimeout(() => {
28
+ navigate(to)
29
+ }, 0)
30
+ } else {
31
+ navigate(to, { replace: true, state: { isSubmitSuccessful: true } })
32
+ }
21
33
  },
22
- [navigate, prev]
34
+ [navigate, prev, location]
23
35
  )
24
36
 
25
37
  const value = useMemo(
@@ -300,12 +300,6 @@ export function getRouteMap({
300
300
  {
301
301
  path: "",
302
302
  lazy: () => import("../../routes/orders/order-list"),
303
- children: [
304
- {
305
- path: "export",
306
- lazy: () => import("../../routes/orders/order-export"),
307
- },
308
- ],
309
303
  },
310
304
  {
311
305
  path: ":id",
@@ -945,6 +939,26 @@ export function getRouteMap({
945
939
  },
946
940
  ],
947
941
  },
942
+ {
943
+ path: "translations",
944
+ errorElement: <ErrorBoundary />,
945
+ element: <Outlet />,
946
+ handle: {
947
+ breadcrumb: () => t("translations.domain"),
948
+ },
949
+ children: [
950
+ {
951
+ path: "",
952
+ lazy: () =>
953
+ import("../../routes/translations/translation-list"),
954
+ },
955
+ {
956
+ path: "edit",
957
+ lazy: () =>
958
+ import("../../routes/translations/translations-edit"),
959
+ },
960
+ ],
961
+ },
948
962
  {
949
963
  path: "regions",
950
964
  errorElement: <ErrorBoundary />,
@@ -34,6 +34,7 @@ export * from "./store"
34
34
  export * from "./tags"
35
35
  export * from "./tax-rates"
36
36
  export * from "./tax-regions"
37
+ export * from "./translations"
37
38
  export * from "./users"
38
39
  export * from "./views"
39
40
  export * from "./workflow-executions"
@@ -10,8 +10,8 @@ import {
10
10
  import { sdk } from "../../lib/client"
11
11
  import { queryClient } from "../../lib/query-client"
12
12
  import { queryKeysFactory, TQueryKey } from "../../lib/query-key-factory"
13
- import { inventoryItemsQueryKeys } from "./inventory"
14
13
  import { reservationItemsQueryKeys } from "./reservations"
14
+ import { inventoryItemsQueryKeys } from "./inventory"
15
15
 
16
16
  const ORDERS_QUERY_KEY = "orders" as const
17
17
  const _orderKeys = queryKeysFactory(ORDERS_QUERY_KEY) as TQueryKey<"orders"> & {
@@ -438,20 +438,3 @@ export const useUpdateOrderChange = (
438
438
  ...options,
439
439
  })
440
440
  }
441
-
442
- export const useExportOrders = (
443
- query?: HttpTypes.AdminOrderFilters,
444
- options?: UseMutationOptions<
445
- { transaction_id: string },
446
- FetchError,
447
- HttpTypes.AdminOrderFilters
448
- >
449
- ) => {
450
- return useMutation({
451
- mutationFn: () => sdk.admin.order.export(query),
452
- onSuccess: (data, variables, context) => {
453
- options?.onSuccess?.(data, variables, context)
454
- },
455
- ...options,
456
- })
457
- }
@@ -2,6 +2,7 @@ import { QueryKey, useQuery, UseQueryOptions } from "@tanstack/react-query"
2
2
  import { sdk } from "../../lib/client"
3
3
  import { queryKeysFactory } from "../../lib/query-key-factory"
4
4
  import { FetchError } from "@medusajs/js-sdk"
5
+ import { HttpTypes } from "@medusajs/types"
5
6
 
6
7
  const PRODUCT_VARIANT_QUERY_KEY = "product_variant" as const
7
8
  export const productVariantQueryKeys = queryKeysFactory(
@@ -11,7 +12,12 @@ export const productVariantQueryKeys = queryKeysFactory(
11
12
  export const useVariants = (
12
13
  query?: Record<string, any>,
13
14
  options?: Omit<
14
- UseQueryOptions<any, FetchError, any, QueryKey>,
15
+ UseQueryOptions<
16
+ HttpTypes.AdminProductVariantListResponse,
17
+ FetchError,
18
+ HttpTypes.AdminProductVariantListResponse,
19
+ QueryKey
20
+ >,
15
21
  "queryFn" | "queryKey"
16
22
  >
17
23
  ) => {