@medusajs/dashboard 2.10.4-snapshot-20250923121159 → 2.10.4-snapshot-20250925180256

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 (336) hide show
  1. package/dist/{add-campaign-promotions-JOVLXLS4.mjs → add-campaign-promotions-3BB3BLFD.mjs} +7 -6
  2. package/dist/{adjust-inventory-WBEBMJN7.mjs → adjust-inventory-OIJTAKHP.mjs} +1 -1
  3. package/dist/{api-key-management-create-VXPZX2Q5.mjs → api-key-management-create-XDQHUNWK.mjs} +3 -3
  4. package/dist/{api-key-management-detail-I7T67TXF.mjs → api-key-management-detail-ZQLQKGYF.mjs} +15 -14
  5. package/dist/{api-key-management-edit-7CGMSHAY.mjs → api-key-management-edit-2SUSKI7T.mjs} +3 -3
  6. package/dist/{api-key-management-list-5DI3L4DV.mjs → api-key-management-list-C2WM4PHC.mjs} +8 -7
  7. package/dist/{api-key-management-sales-channels-6GN6RVZ2.mjs → api-key-management-sales-channels-MVHVMPF6.mjs} +6 -5
  8. package/dist/app.css +89 -31
  9. package/dist/app.js +7166 -6079
  10. package/dist/app.mjs +17 -15
  11. package/dist/{campaign-budget-edit-OXNTSPGE.mjs → campaign-budget-edit-UWGCET5Z.mjs} +1 -1
  12. package/dist/{campaign-configuration-Z5HA2DG3.mjs → campaign-configuration-WWCCFNYQ.mjs} +1 -1
  13. package/dist/{campaign-create-AVBNHFC2.mjs → campaign-create-CQ3XBHSY.mjs} +4 -3
  14. package/dist/{campaign-detail-NRZHGINV.mjs → campaign-detail-LASOFZ2O.mjs} +22 -21
  15. package/dist/{campaign-edit-3TDW52BO.mjs → campaign-edit-R43GXNET.mjs} +1 -1
  16. package/dist/{campaign-list-G4MD3RPU.mjs → campaign-list-CDO5PRTL.mjs} +7 -6
  17. package/dist/{categories-metadata-GXWJ3HOG.mjs → categories-metadata-HUIY6V4F.mjs} +13 -12
  18. package/dist/{category-create-FOVB5MJ4.mjs → category-create-GMFWRFT7.mjs} +38 -16
  19. package/dist/{category-detail-ENUI5EFL.mjs → category-detail-ZJJBYVFX.mjs} +19 -18
  20. package/dist/{category-edit-O4ZSANE5.mjs → category-edit-HCHER73V.mjs} +36 -16
  21. package/dist/{category-list-UI6W5KF5.mjs → category-list-IXW2NWWJ.mjs} +8 -7
  22. package/dist/{category-organize-BW3YOPUS.mjs → category-organize-LRQKM4LA.mjs} +2 -2
  23. package/dist/{category-products-ZG5QDWSW.mjs → category-products-7N4TITQ4.mjs} +15 -14
  24. package/dist/{chunk-2HKRIUW4.mjs → chunk-2PGNKUXS.mjs} +1 -1
  25. package/dist/{chunk-X4X5KUGQ.mjs → chunk-4QUHWHBD.mjs} +3 -0
  26. package/dist/chunk-5U3FFMC7.mjs +84 -0
  27. package/dist/{chunk-Y4YXZY7R.mjs → chunk-5WMJLYEP.mjs} +2 -2
  28. package/dist/{chunk-RVOPC44F.mjs → chunk-7DFTLGA5.mjs} +623 -682
  29. package/dist/{chunk-YM4QJC6Y.mjs → chunk-7GBCLBMX.mjs} +1 -1
  30. package/dist/{chunk-JHXKKOHO.mjs → chunk-7JJTWGHU.mjs} +49 -15
  31. package/dist/{chunk-2YP2ZNKR.mjs → chunk-AN5IILM2.mjs} +1 -1
  32. package/dist/{chunk-YWNHMIEQ.mjs → chunk-AXXGAOQL.mjs} +2 -2
  33. package/dist/{chunk-5WKYR6PY.mjs → chunk-CXTAH75K.mjs} +1 -1
  34. package/dist/{chunk-J5E7MQSS.mjs → chunk-CY33DS7K.mjs} +6 -0
  35. package/dist/{chunk-ZJA7VBUR.mjs → chunk-DKOCYXB5.mjs} +34 -1
  36. package/dist/{chunk-7VJK6HNE.mjs → chunk-EYL2JACT.mjs} +4 -4
  37. package/dist/{chunk-BFNH5UWD.mjs → chunk-EYTETK3W.mjs} +1 -1
  38. package/dist/{chunk-74K7HGNI.mjs → chunk-FXG2Z3QT.mjs} +3 -2
  39. package/dist/{chunk-2RQLKDBF.mjs → chunk-GIZFNLKK.mjs} +103 -96
  40. package/dist/{chunk-AOFGTNG6.mjs → chunk-HQKGZADC.mjs} +6 -1
  41. package/dist/{chunk-LBIOZZPA.mjs → chunk-HWKLNKOY.mjs} +1 -1
  42. package/dist/{chunk-S2UEWRDA.mjs → chunk-IL5IMREK.mjs} +59 -49
  43. package/dist/{chunk-JIQQKKLO.mjs → chunk-IP2QPPWC.mjs} +1 -1
  44. package/dist/{chunk-SCBXRJPV.mjs → chunk-IRO6DO7J.mjs} +1 -1
  45. package/dist/{chunk-YI4CZGTU.mjs → chunk-ITJEYJNB.mjs} +1 -1
  46. package/dist/{chunk-T7G2CURS.mjs → chunk-IVZ6BMDB.mjs} +1 -0
  47. package/dist/{chunk-XGJ5DXXG.mjs → chunk-K2HM7KXJ.mjs} +12 -12
  48. package/dist/{chunk-OKMF4YI7.mjs → chunk-K3OMOMRB.mjs} +25 -0
  49. package/dist/{chunk-2LPGQWPV.mjs → chunk-KTL6E2WT.mjs} +1 -1
  50. package/dist/{chunk-OHSRRFGN.mjs → chunk-LKVQ5YC6.mjs} +1 -1
  51. package/dist/{chunk-QGCKTVQX.mjs → chunk-LMRZMI7O.mjs} +1 -1
  52. package/dist/{chunk-Q5DI5VYN.mjs → chunk-MLNUGLGT.mjs} +1 -1
  53. package/dist/{chunk-5M5ZVAWU.mjs → chunk-MSOFJHH3.mjs} +2 -2
  54. package/dist/{chunk-JMQ6V54O.mjs → chunk-NFQXNOP7.mjs} +1 -1
  55. package/dist/{chunk-UWJBDOQD.mjs → chunk-NKVMOKZA.mjs} +41 -29
  56. package/dist/{chunk-NCR5UWRI.mjs → chunk-NY6I2FYO.mjs} +1 -1
  57. package/dist/{chunk-2PMSBTXI.mjs → chunk-OFN7DIZA.mjs} +17 -13
  58. package/dist/{chunk-3NJTXRIY.mjs → chunk-OZPB6JBL.mjs} +5 -1
  59. package/dist/{chunk-FPJBF7VS.mjs → chunk-P2O6XTD4.mjs} +1 -1
  60. package/dist/{chunk-OGHQ6VJI.mjs → chunk-PAG2HG6I.mjs} +44 -5
  61. package/dist/{chunk-EFA7S5L3.mjs → chunk-PGTXMCSV.mjs} +1 -1
  62. package/dist/{chunk-D7H6ZNK4.mjs → chunk-PRLQLEEQ.mjs} +2 -0
  63. package/dist/{chunk-OLUNPPBR.mjs → chunk-QPLPGRYF.mjs} +1 -1
  64. package/dist/{chunk-ZODJNBAV.mjs → chunk-R2G2B47Y.mjs} +1 -0
  65. package/dist/{chunk-SMHXCFRS.mjs → chunk-RBDAWRFF.mjs} +54 -41
  66. package/dist/{chunk-HUX22ZHT.mjs → chunk-RF75BZNF.mjs} +3 -3
  67. package/dist/{chunk-4RG7UJCT.mjs → chunk-RGP3IXX4.mjs} +1 -1
  68. package/dist/chunk-S4DMV3ZT.mjs +35 -0
  69. package/dist/{chunk-5NQ3X2JI.mjs → chunk-SNDSWB6B.mjs} +1 -1
  70. package/dist/{chunk-EE7SOCEQ.mjs → chunk-SQFZWNYA.mjs} +4 -4
  71. package/dist/{chunk-O74UDEWT.mjs → chunk-TKZK3YPU.mjs} +1 -1
  72. package/dist/{chunk-KSRI5LOF.mjs → chunk-U25RCIX2.mjs} +2 -2
  73. package/dist/{chunk-BHZAQZYP.mjs → chunk-U4R5MBF2.mjs} +1 -1
  74. package/dist/{chunk-CK3VFTZM.mjs → chunk-UKX2FFFV.mjs} +2 -2
  75. package/dist/{chunk-37UXEJF2.mjs → chunk-V6JXTITD.mjs} +1 -1
  76. package/dist/{chunk-R2NWOCML.mjs → chunk-VI7MI3US.mjs} +8 -2
  77. package/dist/chunk-VLOA5XAC.mjs +113 -0
  78. package/dist/{chunk-NRBOPOMS.mjs → chunk-VWQYN2RW.mjs} +1 -1
  79. package/dist/{chunk-4Q4LIFFO.mjs → chunk-XP3BY6G6.mjs} +1 -1
  80. package/dist/{chunk-6AGMMT5H.mjs → chunk-XR7I5HGZ.mjs} +4 -4
  81. package/dist/{chunk-6IZUCU7K.mjs → chunk-YSFTQA6Y.mjs} +2 -2
  82. package/dist/{chunk-XKXNQ2KV.mjs → chunk-ZCARHA6C.mjs} +1 -1
  83. package/dist/{chunk-RMEITCLS.mjs → chunk-ZSDEVTFT.mjs} +1 -1
  84. package/dist/{collection-add-products-2ISNNIHD.mjs → collection-add-products-WKMNYPLS.mjs} +15 -14
  85. package/dist/{collection-create-75ZI5NDG.mjs → collection-create-PTOF33H2.mjs} +2 -2
  86. package/dist/{collection-detail-OSX6NHNQ.mjs → collection-detail-NONKXELG.mjs} +17 -16
  87. package/dist/{collection-edit-RD6BDDDI.mjs → collection-edit-WM57WXJ2.mjs} +2 -2
  88. package/dist/{collection-list-MPIYSHQJ.mjs → collection-list-3ZHLS2LP.mjs} +19 -18
  89. package/dist/{collection-metadata-EOFYXEQI.mjs → collection-metadata-J6P3K7U6.mjs} +13 -12
  90. package/dist/{customer-create-address-TPSDYZBN.mjs → customer-create-address-JOYBIPPN.mjs} +1 -1
  91. package/dist/{customer-detail-FCNRRZSW.mjs → customer-detail-5Y7ICDMA.mjs} +17 -16
  92. package/dist/{customer-group-add-customers-ULPWTALS.mjs → customer-group-add-customers-YF2T323Z.mjs} +3 -2
  93. package/dist/{customer-group-detail-QI3QLJJL.mjs → customer-group-detail-PXP73BFA.mjs} +16 -15
  94. package/dist/{customer-group-list-D26UKQMR.mjs → customer-group-list-3DB643XQ.mjs} +15 -14
  95. package/dist/{customer-group-metadata-UPAPULMF.mjs → customer-group-metadata-YQCOIVQG.mjs} +2 -1
  96. package/dist/{customer-list-SINCBCOZ.mjs → customer-list-5IWEXYSW.mjs} +5 -4
  97. package/dist/{customer-metadata-5NPUMPZ2.mjs → customer-metadata-JZEJBH4V.mjs} +2 -1
  98. package/dist/{customers-add-customer-group-5TFTVDB6.mjs → customers-add-customer-group-BVUVU46N.mjs} +14 -13
  99. package/dist/{edit-inventory-item-ZPE4MMC4.mjs → edit-inventory-item-UV2Z7SYL.mjs} +1 -1
  100. package/dist/{edit-inventory-item-attributes-KT7BSPZ7.mjs → edit-inventory-item-attributes-BRC3KBYT.mjs} +2 -2
  101. package/dist/{edit-reservation-EKH4RIAX.mjs → edit-reservation-NYGQBFBO.mjs} +7 -2
  102. package/dist/{edit-rules-63NG4QVR.mjs → edit-rules-3MSTPCE5.mjs} +14 -13
  103. package/dist/{inventory-create-RIVJFJJQ.mjs → inventory-create-NEYX7PZJ.mjs} +19 -14
  104. package/dist/{inventory-detail-QHL7TJFZ.mjs → inventory-detail-66HDQL3W.mjs} +25 -18
  105. package/dist/{inventory-list-YMYF7QVP.mjs → inventory-list-J5VZGQ2M.mjs} +6 -5
  106. package/dist/{inventory-metadata-FH4CHJBA.mjs → inventory-metadata-OSTUWM23.mjs} +13 -12
  107. package/dist/{inventory-stock-D6E4LQRK.mjs → inventory-stock-XY2OCAY3.mjs} +14 -13
  108. package/dist/{location-create-LUP363ZB.mjs → location-create-22H74MFP.mjs} +1 -1
  109. package/dist/{location-detail-Z6ZDX6RY.mjs → location-detail-UZHD3IKW.mjs} +14 -13
  110. package/dist/{location-edit-26K26G23.mjs → location-edit-X6JBEWIF.mjs} +2 -2
  111. package/dist/{location-fulfillment-providers-45VXZMZI.mjs → location-fulfillment-providers-D4RMKQXU.mjs} +16 -15
  112. package/dist/{location-list-62KBWY4T.mjs → location-list-VNEYHAKV.mjs} +15 -8
  113. package/dist/{location-sales-channels-O5XLIPAR.mjs → location-sales-channels-66ZE3ZMI.mjs} +5 -4
  114. package/dist/{location-service-zone-create-RPFLBVV4.mjs → location-service-zone-create-D5QSFS3M.mjs} +4 -3
  115. package/dist/{location-service-zone-manage-areas-VEUUGPKF.mjs → location-service-zone-manage-areas-HKCALG4Q.mjs} +4 -3
  116. package/dist/{location-service-zone-shipping-option-create-NO3665DC.mjs → location-service-zone-shipping-option-create-OASLL2K7.mjs} +23 -15
  117. package/dist/{location-service-zone-shipping-option-edit-TMXNX4VX.mjs → location-service-zone-shipping-option-edit-DOCLZOO7.mjs} +40 -28
  118. package/dist/{location-service-zone-shipping-option-pricing-U2SDK5DE.mjs → location-service-zone-shipping-option-pricing-FLB63UKY.mjs} +3 -2
  119. package/dist/{login-DSPNELTI.mjs → login-LQRL2ZDY.mjs} +11 -11
  120. package/dist/manage-locations-RPHTPGRE.mjs +247 -0
  121. package/dist/{order-allocate-items-J3ZHGC22.mjs → order-allocate-items-2RYXQRVK.mjs} +26 -14
  122. package/dist/{order-create-claim-V63BWLB5.mjs → order-create-claim-7UF734QH.mjs} +20 -18
  123. package/dist/{order-create-edit-NPF4UZ4D.mjs → order-create-edit-MZHUVTGE.mjs} +18 -16
  124. package/dist/{order-create-exchange-RHIPPSKU.mjs → order-create-exchange-2UGEF65S.mjs} +20 -18
  125. package/dist/{order-create-fulfillment-4SSUHQ75.mjs → order-create-fulfillment-HGJ2YPUB.mjs} +19 -12
  126. package/dist/{order-create-refund-QVQC5ZP5.mjs → order-create-refund-CJDKVBSE.mjs} +52 -17
  127. package/dist/{order-create-return-GVA6M2RY.mjs → order-create-return-5IPRHHLJ.mjs} +11 -9
  128. package/dist/{order-create-shipment-TJAARKWA.mjs → order-create-shipment-3FDVQ6WT.mjs} +13 -11
  129. package/dist/{order-detail-2MIN6B2I.mjs → order-detail-SEPCRJW5.mjs} +50 -42
  130. package/dist/{order-edit-billing-address-QP2I5F3E.mjs → order-edit-billing-address-J75NQFRY.mjs} +12 -12
  131. package/dist/{order-edit-email-7WT7XTHB.mjs → order-edit-email-ABFQKE6A.mjs} +11 -11
  132. package/dist/{order-edit-shipping-address-3QFMQP4I.mjs → order-edit-shipping-address-OXW7TAJD.mjs} +12 -12
  133. package/dist/{order-list-73DBATIK.mjs → order-list-VDUUHTSU.mjs} +11 -10
  134. package/dist/{order-metadata-YJS26DHK.mjs → order-metadata-5NF3ICQL.mjs} +13 -12
  135. package/dist/{order-receive-return-PZMMMUB2.mjs → order-receive-return-IM65P7XQ.mjs} +14 -13
  136. package/dist/{order-request-transfer-QBIZD36E.mjs → order-request-transfer-LZ25KEDA.mjs} +12 -12
  137. package/dist/{price-list-configuration-435QDWB2.mjs → price-list-configuration-VACKCKJF.mjs} +6 -5
  138. package/dist/{price-list-create-RXDH5CXF.mjs → price-list-create-EC5VGCMW.mjs} +39 -24
  139. package/dist/{price-list-detail-PKIKOJ4H.mjs → price-list-detail-CRTJA5O4.mjs} +18 -17
  140. package/dist/{price-list-edit-ZGBOZYSC.mjs → price-list-edit-G73ZIU2Y.mjs} +51 -31
  141. package/dist/{price-list-list-C6NEB2R4.mjs → price-list-list-QYZSJNF5.mjs} +8 -7
  142. package/dist/{price-list-prices-add-2CDPUSYA.mjs → price-list-prices-add-HYCM4QDY.mjs} +28 -20
  143. package/dist/{price-list-prices-edit-ENB4GJZT.mjs → price-list-prices-edit-R53ITSDD.mjs} +5 -4
  144. package/dist/{product-attributes-FQDJCNUB.mjs → product-attributes-WVQRK3GQ.mjs} +19 -17
  145. package/dist/{product-create-W37RQLON.mjs → product-create-PWSPOVUS.mjs} +27 -21
  146. package/dist/{product-create-option-3JR35UZ5.mjs → product-create-option-OW2LMVST.mjs} +1 -1
  147. package/dist/{product-create-variant-KJKQ6ROY.mjs → product-create-variant-V2QGXFEF.mjs} +31 -18
  148. package/dist/{product-detail-TANIKAEK.mjs → product-detail-EBPCCBI4.mjs} +21 -19
  149. package/dist/{product-edit-DO76GHBI.mjs → product-edit-5E6D43KE.mjs} +41 -28
  150. package/dist/{product-edit-option-VNDGZ37A.mjs → product-edit-option-OM56DLU6.mjs} +1 -1
  151. package/dist/{product-export-XERWEI5H.mjs → product-export-VFC3I5DK.mjs} +13 -13
  152. package/dist/{product-import-AGFJMSVK.mjs → product-import-V7EZJ2TU.mjs} +14 -13
  153. package/dist/{product-list-KJ3HXPLB.mjs → product-list-FFZO57JG.mjs} +19 -18
  154. package/dist/{product-media-VG4YM2W6.mjs → product-media-TRKQTA4G.mjs} +5 -5
  155. package/dist/{product-metadata-NZ3HKO67.mjs → product-metadata-VYQ65KYI.mjs} +13 -12
  156. package/dist/{product-organization-OOVUGXNP.mjs → product-organization-OCVSTKEK.mjs} +20 -18
  157. package/dist/{product-prices-PCBMYYGV.mjs → product-prices-XLY5TUSJ.mjs} +3 -2
  158. package/dist/{product-sales-channels-QEJRSCAU.mjs → product-sales-channels-KSIHPDJG.mjs} +5 -4
  159. package/dist/{product-shipping-profile-FFMKOF6B.mjs → product-shipping-profile-SG6NDHF4.mjs} +19 -17
  160. package/dist/{product-stock-SUVEQZML.mjs → product-stock-LJRYRSKN.mjs} +16 -14
  161. package/dist/{product-tag-create-T6HVAQKN.mjs → product-tag-create-EB5CVUOP.mjs} +11 -11
  162. package/dist/{product-tag-detail-HOWUZC3P.mjs → product-tag-detail-V5CZY4R4.mjs} +22 -21
  163. package/dist/{product-tag-edit-WWQDNDRC.mjs → product-tag-edit-YATSW5OK.mjs} +11 -11
  164. package/dist/{product-tag-list-FAKSLONF.mjs → product-tag-list-2LFGEFGL.mjs} +22 -21
  165. package/dist/{product-tag-metadata-6B56VEZU.mjs → product-tag-metadata-R5P5FWAZ.mjs} +13 -12
  166. package/dist/{product-type-detail-KN64HYUV.mjs → product-type-detail-BZNI5GJ5.mjs} +17 -16
  167. package/dist/{product-type-list-6ZIWPIUH.mjs → product-type-list-MJLAGQYC.mjs} +5 -4
  168. package/dist/{product-type-metadata-F3FTI6OG.mjs → product-type-metadata-SUQHWLWA.mjs} +13 -12
  169. package/dist/{product-variant-detail-OUHBUY4J.mjs → product-variant-detail-W2JHQQQJ.mjs} +16 -15
  170. package/dist/{product-variant-edit-NBYHDUJ5.mjs → product-variant-edit-DSY77FF4.mjs} +17 -13
  171. package/dist/{product-variant-manage-inventory-items-TM3VAHBJ.mjs → product-variant-manage-inventory-items-JH65NAD4.mjs} +2 -2
  172. package/dist/{product-variant-metadata-XDVLJYGQ.mjs → product-variant-metadata-HE3MRTJB.mjs} +13 -12
  173. package/dist/{profile-detail-ROG22HHL.mjs → profile-detail-XYAQ2G36.mjs} +3 -2
  174. package/dist/{profile-edit-HSUQIQQH.mjs → profile-edit-7WD4FTRH.mjs} +31 -19
  175. package/dist/{promotion-add-campaign-7R26KU2U.mjs → promotion-add-campaign-YOUUM6RB.mjs} +9 -21
  176. package/dist/{promotion-create-UUOG52D5.mjs → promotion-create-NBFV4XQV.mjs} +29 -17
  177. package/dist/{promotion-detail-GONXLJZ2.mjs → promotion-detail-247QD6DA.mjs} +16 -15
  178. package/dist/{promotion-edit-details-HQLYX4X4.mjs → promotion-edit-details-A2UUSAZA.mjs} +10 -2
  179. package/dist/{promotion-list-NNEMVJ6I.mjs → promotion-list-WDHOSD55.mjs} +9 -8
  180. package/dist/refund-reason-create-45ZZOX7F.mjs +157 -0
  181. package/dist/refund-reason-edit-E2HDAQZI.mjs +144 -0
  182. package/dist/refund-reason-list-WI7NHRDS.mjs +245 -0
  183. package/dist/{region-add-countries-Y4YAHDUZ.mjs → region-add-countries-6GSF4CKJ.mjs} +3 -2
  184. package/dist/{region-create-5Y3GIQBV.mjs → region-create-AV2NJNNJ.mjs} +49 -39
  185. package/dist/{region-detail-CWRFM6P3.mjs → region-detail-PB7EUSTD.mjs} +5 -4
  186. package/dist/region-edit-X7CSUICV.mjs +308 -0
  187. package/dist/{region-list-FQNI7F37.mjs → region-list-52LF5S4S.mjs} +5 -4
  188. package/dist/{region-metadata-IQVB4ERU.mjs → region-metadata-3JIGHAUI.mjs} +13 -12
  189. package/dist/{reservation-create-7RFXWDXB.mjs → reservation-create-FKBCGQA7.mjs} +3 -3
  190. package/dist/{reservation-detail-RTGHD35L.mjs → reservation-detail-FENCNQDA.mjs} +15 -14
  191. package/dist/{reservation-list-UOC7RNRZ.mjs → reservation-list-NOWJUMXV.mjs} +7 -6
  192. package/dist/{reservation-metadata-WKJXBRLQ.mjs → reservation-metadata-DQ3A7MHU.mjs} +13 -12
  193. package/dist/{reset-password-ANJHGYUE.mjs → reset-password-LCVV4NOA.mjs} +1 -1
  194. package/dist/{return-reason-list-MOP7YWMZ.mjs → return-reason-list-FW7OYUOW.mjs} +8 -7
  195. package/dist/{sales-channel-add-products-OKVZJ6FI.mjs → sales-channel-add-products-G4EUOCWY.mjs} +15 -14
  196. package/dist/{sales-channel-create-3MPOMVPD.mjs → sales-channel-create-NODWGJDD.mjs} +4 -2
  197. package/dist/{sales-channel-detail-WESBK6Q7.mjs → sales-channel-detail-NT7PEVVH.mjs} +17 -16
  198. package/dist/{sales-channel-edit-LSLAM7A4.mjs → sales-channel-edit-ALIRERVH.mjs} +4 -2
  199. package/dist/{sales-channel-list-LKVHXUXW.mjs → sales-channel-list-REV2RETE.mjs} +15 -14
  200. package/dist/{sales-channel-metadata-2OQAHYB4.mjs → sales-channel-metadata-O5O6ADG5.mjs} +13 -12
  201. package/dist/{shipping-option-type-create-3CGPGDYJ.mjs → shipping-option-type-create-7FSJNHHA.mjs} +11 -11
  202. package/dist/{shipping-option-type-detail-S23H2OGW.mjs → shipping-option-type-detail-6UQST7RY.mjs} +15 -14
  203. package/dist/{shipping-option-type-edit-IHE7XM6M.mjs → shipping-option-type-edit-B475WRRR.mjs} +11 -11
  204. package/dist/{shipping-option-type-list-47GRJ6EC.mjs → shipping-option-type-list-DTETSFSA.mjs} +17 -16
  205. package/dist/{shipping-profile-detail-FDUPDSH4.mjs → shipping-profile-detail-FS46IJZP.mjs} +3 -2
  206. package/dist/{shipping-profile-metadata-OXWOXAAR.mjs → shipping-profile-metadata-PRINFNSY.mjs} +13 -12
  207. package/dist/{shipping-profiles-list-ZHJEUIKJ.mjs → shipping-profiles-list-QFOG5IDH.mjs} +5 -4
  208. package/dist/{store-add-currencies-R26SVHT5.mjs → store-add-currencies-W4MWOALR.mjs} +5 -2
  209. package/dist/{store-detail-4K7TW2TP.mjs → store-detail-QKF2TVNW.mjs} +16 -15
  210. package/dist/{store-edit-EU55TNFU.mjs → store-edit-ZPGTNZGL.mjs} +24 -12
  211. package/dist/{store-metadata-JP2CI7EF.mjs → store-metadata-M6GIKI5P.mjs} +13 -12
  212. package/dist/{tax-region-create-IWM4755I.mjs → tax-region-create-4DTM3RTZ.mjs} +14 -14
  213. package/dist/{tax-region-detail-V2F2DONN.mjs → tax-region-detail-SLCI3JYL.mjs} +18 -17
  214. package/dist/{tax-region-edit-CJPMYTBF.mjs → tax-region-edit-CJ63JXFQ.mjs} +12 -12
  215. package/dist/{tax-region-list-NMM3LBPN.mjs → tax-region-list-SQQE2GUU.mjs} +6 -5
  216. package/dist/{tax-region-province-create-GIIU2G7K.mjs → tax-region-province-create-SBRFGWN3.mjs} +2 -2
  217. package/dist/{tax-region-province-detail-4PUQ5ADW.mjs → tax-region-province-detail-BGL2USQF.mjs} +17 -16
  218. package/dist/{tax-region-tax-override-create-3SCIOK4P.mjs → tax-region-tax-override-create-L4WOTSBO.mjs} +25 -20
  219. package/dist/{tax-region-tax-override-edit-P3QJKET3.mjs → tax-region-tax-override-edit-2JAVNE37.mjs} +25 -20
  220. package/dist/{tax-region-tax-rate-create-Z43M3JTQ.mjs → tax-region-tax-rate-create-JIV5FXUD.mjs} +1 -1
  221. package/dist/{tax-region-tax-rate-edit-RBF5D2MK.mjs → tax-region-tax-rate-edit-WU2ZQLZQ.mjs} +1 -1
  222. package/dist/{user-detail-VIVFFLOW.mjs → user-detail-ZFW3YF3M.mjs} +4 -3
  223. package/dist/{user-invite-W26LOOW7.mjs → user-invite-KUH4AI2L.mjs} +4 -3
  224. package/dist/{user-list-MKJLB5CQ.mjs → user-list-G4H2RSDX.mjs} +4 -3
  225. package/dist/{user-metadata-ZURLDLGC.mjs → user-metadata-DFTGB46F.mjs} +13 -12
  226. package/dist/{workflow-execution-detail-4R6AFFHV.mjs → workflow-execution-detail-YNT2RKIP.mjs} +17 -13
  227. package/dist/{workflow-execution-list-5J3DQQRD.mjs → workflow-execution-list-5WL4L464.mjs} +4 -3
  228. package/package.json +9 -9
  229. package/src/components/common/action-menu/action-menu.tsx +3 -1
  230. package/src/components/common/customer-info/customer-info.tsx +1 -1
  231. package/src/components/common/json-view-section/json-view-section.tsx +4 -1
  232. package/src/components/common/sidebar-link/sidebar-link.tsx +1 -1
  233. package/src/components/common/switch-box/switch-box.tsx +2 -0
  234. package/src/components/data-grid/components/data-grid-root.tsx +9 -3
  235. package/src/components/data-grid/components/data-grid-toggleable-number-cell.tsx +2 -1
  236. package/src/components/filtering/filter-group/filter-group.tsx +5 -1
  237. package/src/components/filtering/order-by/order-by.tsx +4 -1
  238. package/src/components/forms/address-form/address-form.tsx +7 -2
  239. package/src/components/forms/metadata-form/metadata-form.tsx +6 -3
  240. package/src/components/inputs/combobox/combobox.tsx +20 -13
  241. package/src/components/inputs/country-select/country-select.tsx +1 -1
  242. package/src/components/inputs/province-select/province-select.tsx +1 -1
  243. package/src/components/layout/main-layout/main-layout.tsx +7 -5
  244. package/src/components/layout/settings-layout/settings-layout.tsx +4 -0
  245. package/src/components/layout/shell/shell.tsx +6 -6
  246. package/src/components/layout/user-menu/user-menu.tsx +12 -10
  247. package/src/components/search/search.tsx +5 -3
  248. package/src/components/table/data-table/data-table-order-by/data-table-order-by.tsx +4 -1
  249. package/src/components/table/data-table/data-table-root/data-table-root.tsx +3 -3
  250. package/src/dashboard-app/forms/form-extension-zone/form-extension-zone.tsx +1 -1
  251. package/src/dashboard-app/routes/get-route.map.tsx +36 -0
  252. package/src/hooks/api/campaigns.tsx +1 -0
  253. package/src/hooks/api/inventory.tsx +3 -0
  254. package/src/hooks/api/payments.tsx +6 -1
  255. package/src/hooks/api/refund-reasons.tsx +105 -10
  256. package/src/hooks/table/columns/index.ts +1 -0
  257. package/src/hooks/table/columns/use-refund-reason-table-columns.tsx +32 -0
  258. package/src/hooks/table/query/index.ts +1 -0
  259. package/src/hooks/table/query/use-refund-reason-table-query.tsx +32 -0
  260. package/src/hooks/use-document-direction.tsx +54 -0
  261. package/src/i18n/translations/$schema.json +118 -0
  262. package/src/i18n/translations/en.json +34 -1
  263. package/src/providers/i18n-provider/i18n-provider.tsx +9 -4
  264. package/src/routes/campaigns/campaign-detail/components/campaign-budget/campaign-budget.tsx +3 -3
  265. package/src/routes/campaigns/common/components/create-campaign-form-fields/create-campaign-form-fields.tsx +4 -1
  266. package/src/routes/categories/category-create/components/create-category-form/create-category-details.tsx +12 -3
  267. package/src/routes/categories/category-create/components/create-category-form/create-category-form.tsx +4 -3
  268. package/src/routes/categories/category-detail/components/category-organize-section/category-organize-section.tsx +1 -1
  269. package/src/routes/categories/category-edit/components/edit-category-form/edit-category-form.tsx +12 -3
  270. package/src/routes/inventory/inventory-create/components/inventory-create-form/inventory-create-form.tsx +3 -1
  271. package/src/routes/inventory/inventory-detail/components/inventory-item-variants/variants-section.tsx +1 -1
  272. package/src/routes/inventory/inventory-detail/components/location-levels-table/use-location-list-table-columns.tsx +7 -0
  273. package/src/routes/inventory/inventory-detail/components/manage-locations/components/location-item.tsx +2 -2
  274. package/src/routes/inventory/inventory-detail/components/manage-locations/components/location-search-input.tsx +34 -0
  275. package/src/routes/inventory/inventory-detail/components/manage-locations/components/manage-locations-form.tsx +127 -140
  276. package/src/routes/locations/location-edit/components/edit-location-form/edit-location-form.tsx +1 -1
  277. package/src/routes/locations/location-list/location-list.tsx +10 -4
  278. package/src/routes/locations/location-service-zone-shipping-option-create/components/create-shipping-options-form/create-shipping-option-details-form.tsx +4 -1
  279. package/src/routes/locations/location-service-zone-shipping-option-create/components/create-shipping-options-form/create-shipping-options-form.tsx +3 -1
  280. package/src/routes/locations/location-service-zone-shipping-option-edit/components/edit-region-form/edit-shipping-option-form.tsx +7 -2
  281. package/src/routes/orders/order-allocate-items/components/order-create-fulfillment-form/order-allocate-items-form.tsx +7 -2
  282. package/src/routes/orders/order-create-claim/components/claim-create-form/claim-create-form.tsx +2 -1
  283. package/src/routes/orders/order-create-edit/components/order-edit-create-form/order-edit-create-form.tsx +2 -1
  284. package/src/routes/orders/order-create-exchange/components/exchange-create-form/exchange-create-form.tsx +2 -1
  285. package/src/routes/orders/order-create-fulfillment/components/order-create-fulfillment-form/order-create-fulfillment-form.tsx +5 -1
  286. package/src/routes/orders/order-create-refund/components/create-refund-form/create-refund-form.tsx +42 -1
  287. package/src/routes/orders/order-create-return/components/return-create-form/return-create-form.tsx +2 -1
  288. package/src/routes/orders/order-create-shipment/components/order-create-shipment-form/order-create-shipment-form.tsx +2 -0
  289. package/src/routes/orders/order-detail/components/order-activity-section/order-timeline.tsx +13 -5
  290. package/src/routes/orders/order-receive-return/components/order-receive-return-form/order-receive-return-form.tsx +2 -1
  291. package/src/routes/price-lists/price-list-create/components/price-list-create-form/price-list-create-form.tsx +3 -1
  292. package/src/routes/price-lists/price-list-create/components/price-list-create-form/price-list-details-form.tsx +8 -2
  293. package/src/routes/price-lists/price-list-edit/components/price-list-edit-form/edit-price-list-form.tsx +12 -3
  294. package/src/routes/price-lists/price-list-prices-add/components/price-list-prices-add-form/price-list-prices-add-form.tsx +10 -5
  295. package/src/routes/product-variants/product-variant-edit/components/product-edit-variant-form/product-edit-variant-form.tsx +4 -0
  296. package/src/routes/products/common/components/category-combobox/category-combobox.tsx +11 -11
  297. package/src/routes/products/product-create/components/product-create-form/product-create-form.tsx +3 -1
  298. package/src/routes/products/product-create-variant/components/create-product-variant-form/create-product-variant-form.tsx +10 -5
  299. package/src/routes/products/product-create-variant/components/create-product-variant-form/details-tab.tsx +6 -1
  300. package/src/routes/products/product-edit/components/edit-product-form/edit-product-form.tsx +7 -2
  301. package/src/routes/products/product-media/components/product-media-gallery/product-media-gallery.tsx +2 -2
  302. package/src/routes/products/product-stock/hooks/use-product-stock-columns.tsx +2 -1
  303. package/src/routes/profile/profile-edit/components/edit-profile-form/edit-profile-form.tsx +9 -3
  304. package/src/routes/promotions/common/edit-rules/components/rules-form-field/rules-form-field.tsx +4 -0
  305. package/src/routes/promotions/promotion-add-campaign/components/add-campaign-promotion-form/add-campaign-promotion-form.tsx +48 -49
  306. package/src/routes/promotions/promotion-add-campaign/promotion-add-campaign.tsx +4 -21
  307. package/src/routes/promotions/promotion-create/components/create-promotion-form/create-promotion-form.tsx +12 -3
  308. package/src/routes/promotions/promotion-edit-details/components/edit-promotion-form/edit-promotion-details-form.tsx +6 -1
  309. package/src/routes/refund-reasons/refund-reason-create/components/refund-reason-create-form/index.ts +1 -0
  310. package/src/routes/refund-reasons/refund-reason-create/components/refund-reason-create-form/refund-reason-create-form.tsx +131 -0
  311. package/src/routes/refund-reasons/refund-reason-create/index.ts +1 -0
  312. package/src/routes/refund-reasons/refund-reason-create/refund-reason-create.tsx +10 -0
  313. package/src/routes/refund-reasons/refund-reason-edit/components/refund-reason-edit-form/index.ts +1 -0
  314. package/src/routes/refund-reasons/refund-reason-edit/components/refund-reason-edit-form/refund-reason-edit-form.tsx +119 -0
  315. package/src/routes/refund-reasons/refund-reason-edit/index.ts +1 -0
  316. package/src/routes/refund-reasons/refund-reason-edit/refund-reason-edit.tsx +33 -0
  317. package/src/routes/refund-reasons/refund-reason-list/components/refund-reason-list-table/index.ts +1 -0
  318. package/src/routes/refund-reasons/refund-reason-list/components/refund-reason-list-table/refund-reason-list-table.tsx +138 -0
  319. package/src/routes/refund-reasons/refund-reason-list/index.ts +2 -0
  320. package/src/routes/refund-reasons/refund-reason-list/loader.ts +16 -0
  321. package/src/routes/refund-reasons/refund-reason-list/refund-reason-list.tsx +21 -0
  322. package/src/routes/regions/region-create/components/create-region-form/create-region-form.tsx +29 -12
  323. package/src/routes/regions/region-create/region-create.tsx +1 -10
  324. package/src/routes/regions/region-edit/components/edit-region-form/edit-region-form.tsx +32 -10
  325. package/src/routes/regions/region-edit/region-edit.tsx +0 -5
  326. package/src/routes/reservations/reservation-detail/components/edit-reservation/components/edit-reservation-form.tsx +3 -1
  327. package/src/routes/sales-channels/sales-channel-create/components/create-sales-channel-form/create-sales-channel-form.tsx +2 -0
  328. package/src/routes/sales-channels/sales-channel-edit/components/edit-sales-channel-form/edit-sales-channel-form.tsx +2 -0
  329. package/src/routes/store/store-add-currencies/components/add-currencies-form/add-currencies-form.tsx +2 -0
  330. package/src/routes/store/store-edit/components/edit-store-form/edit-store-form.tsx +7 -2
  331. package/src/routes/tax-regions/tax-region-tax-override-create/components/tax-region-override-create-form/tax-region-tax-override-create.tsx +3 -1
  332. package/src/routes/tax-regions/tax-region-tax-override-edit/components/tax-region-tax-override-edit-form/tax-region-tax-override-edit-form.tsx +3 -1
  333. package/src/routes/workflow-executions/workflow-execution-detail/components/workflow-execution-timeline-section/workflow-execution-timeline-section.tsx +3 -2
  334. package/dist/chunk-ZCZL3STK.mjs +0 -64
  335. package/dist/manage-locations-3TBIUSHP.mjs +0 -236
  336. package/dist/region-edit-JWQWCLM3.mjs +0 -285
@@ -29,6 +29,7 @@ import { FieldValues, UseFormReturn } from "react-hook-form"
29
29
  import { useTranslation } from "react-i18next"
30
30
 
31
31
  import { useCommandHistory } from "../../../hooks/use-command-history"
32
+ import { useDocumentDirection } from "../../../hooks/use-document-direction"
32
33
  import { ConditionalTooltip } from "../../common/conditional-tooltip"
33
34
  import { DataGridContext } from "../context"
34
35
  import {
@@ -50,7 +51,7 @@ import { isCellMatch, isSpecialFocusKey } from "../utils"
50
51
  import { DataGridKeyboardShortcutModal } from "./data-grid-keyboard-shortcut-modal"
51
52
  export interface DataGridRootProps<
52
53
  TData,
53
- TFieldValues extends FieldValues = FieldValues
54
+ TFieldValues extends FieldValues = FieldValues,
54
55
  > {
55
56
  data?: TData[]
56
57
  columns: ColumnDef<TData>[]
@@ -96,7 +97,7 @@ const getCommonPinningStyles = <TData,>(
96
97
 
97
98
  export const DataGridRoot = <
98
99
  TData,
99
- TFieldValues extends FieldValues = FieldValues
100
+ TFieldValues extends FieldValues = FieldValues,
100
101
  >({
101
102
  data = [],
102
103
  columns,
@@ -700,6 +701,7 @@ const DataGridHeader = ({
700
701
  const [shortcutsOpen, setShortcutsOpen] = useState(false)
701
702
  const [columnsOpen, setColumnsOpen] = useState(false)
702
703
  const { t } = useTranslation()
704
+ const direction = useDocumentDirection()
703
705
 
704
706
  // Since all columns are checked by default, we can check if any column is unchecked
705
707
  const hasChanged = columnOptions.some((column) => !column.checked)
@@ -716,7 +718,11 @@ const DataGridHeader = ({
716
718
  return (
717
719
  <div className="bg-ui-bg-base flex items-center justify-between border-b p-4">
718
720
  <div className="flex items-center gap-x-2">
719
- <DropdownMenu open={columnsOpen} onOpenChange={handleColumnsOpenChange}>
721
+ <DropdownMenu
722
+ dir={direction}
723
+ open={columnsOpen}
724
+ onOpenChange={handleColumnsOpenChange}
725
+ >
720
726
  <ConditionalTooltip
721
727
  showTooltip={isDisabled}
722
728
  content={t("dataGrid.columns.disabled")}
@@ -106,9 +106,10 @@ const OuterComponent = ({
106
106
  >
107
107
  <div className="absolute inset-y-0 left-4 z-[3] flex w-fit items-center justify-center">
108
108
  <Switch
109
+ dir="ltr"
109
110
  ref={buttonRef}
110
111
  size="small"
111
- className="shrink-0"
112
+ className="shrink-0 rtl:rotate-180"
112
113
  checked={localValue.checked}
113
114
  disabled={localValue.disabledToggle}
114
115
  onCheckedChange={handleCheckedChange}
@@ -1,6 +1,7 @@
1
1
  import { Button, DropdownMenu } from "@medusajs/ui"
2
2
  import { ReactNode } from "react"
3
3
  import { useSearchParams } from "react-router-dom"
4
+ import { useDocumentDirection } from "../../../hooks/use-document-direction"
4
5
 
5
6
  type FilterGroupProps = {
6
7
  filters: {
@@ -37,8 +38,11 @@ type AddFilterMenuProps = {
37
38
  }
38
39
 
39
40
  const AddFilterMenu = ({ availableKeys }: AddFilterMenuProps) => {
41
+ const direction = useDocumentDirection()
40
42
  return (
41
- <DropdownMenu>
43
+ <DropdownMenu
44
+ dir={direction}
45
+ >
42
46
  <DropdownMenu.Trigger asChild>
43
47
  <Button variant="secondary" size="small">
44
48
  Add filter
@@ -4,6 +4,8 @@ import { useState } from "react"
4
4
  import { useTranslation } from "react-i18next"
5
5
  import { useSearchParams } from "react-router-dom"
6
6
 
7
+ import { useDocumentDirection } from "../../../hooks/use-document-direction"
8
+
7
9
  type OrderByProps = {
8
10
  keys: string[]
9
11
  }
@@ -56,6 +58,7 @@ export const OrderBy = ({ keys }: OrderByProps) => {
56
58
  }>(initState(searchParams))
57
59
 
58
60
  const { t } = useTranslation()
61
+ const direction = useDocumentDirection()
59
62
 
60
63
  const handleDirChange = (dir: string) => {
61
64
  setState((prev) => ({
@@ -99,7 +102,7 @@ export const OrderBy = ({ keys }: OrderByProps) => {
99
102
  }
100
103
 
101
104
  return (
102
- <DropdownMenu>
105
+ <DropdownMenu dir={direction}>
103
106
  <DropdownMenu.Trigger asChild>
104
107
  <IconButton size="small">
105
108
  <ArrowUpDown />
@@ -7,6 +7,7 @@ import { Control } from "react-hook-form"
7
7
  import { AddressSchema } from "../../../lib/schemas"
8
8
  import { Form } from "../../common/form"
9
9
  import { CountrySelect } from "../../inputs/country-select"
10
+ import { useDocumentDirection } from "../../../hooks/use-document-direction"
10
11
 
11
12
  type AddressFieldValues = z.infer<typeof AddressSchema>
12
13
 
@@ -22,7 +23,7 @@ export const AddressForm = ({
22
23
  layout,
23
24
  }: AddressFormProps) => {
24
25
  const { t } = useTranslation()
25
-
26
+ const direction = useDocumentDirection()
26
27
  const style = clx("gap-4", {
27
28
  "flex flex-col": layout === "stack",
28
29
  "grid grid-cols-2": layout === "grid",
@@ -182,7 +183,11 @@ export const AddressForm = ({
182
183
  <Form.Label>{t("fields.country")}</Form.Label>
183
184
  <Form.Control>
184
185
  {countries ? (
185
- <Select {...field} onValueChange={onChange}>
186
+ <Select
187
+ dir={direction}
188
+ {...field}
189
+ onValueChange={onChange}
190
+ >
186
191
  <Select.Trigger ref={ref}>
187
192
  <Select.Value />
188
193
  </Select.Trigger>
@@ -25,6 +25,7 @@ import { Form } from "../../common/form"
25
25
  import { Skeleton } from "../../common/skeleton"
26
26
  import { RouteDrawer, useRouteModal } from "../../modals"
27
27
  import { KeyboundForm } from "../../utilities/keybound-form"
28
+ import { useDocumentDirection } from "../../../hooks/use-document-direction"
28
29
 
29
30
  type MetaDataSubmitHook<TRes> = (
30
31
  params: { metadata?: Record<string, any> | null },
@@ -77,7 +78,7 @@ const InnerForm = <TRes,>({
77
78
  }: Omit<MetadataFormProps<TRes>, "isPending">) => {
78
79
  const { t } = useTranslation()
79
80
  const { handleSuccess } = useRouteModal()
80
-
81
+ const direction = useDocumentDirection()
81
82
  const hasUneditableRows = getHasUneditableRows(metadata)
82
83
 
83
84
  const form = useForm<z.infer<typeof MetadataSchema>>({
@@ -215,10 +216,12 @@ const InnerForm = <TRes,>({
215
216
  }}
216
217
  />
217
218
  </div>
218
- <DropdownMenu>
219
+ <DropdownMenu
220
+ dir={direction}
221
+ >
219
222
  <DropdownMenu.Trigger
220
223
  className={clx(
221
- "invisible absolute inset-y-0 -right-2.5 my-auto group-hover/table:visible data-[state='open']:visible",
224
+ "invisible absolute inset-y-0 -end-2.5 my-auto group-hover/table:visible data-[state='open']:visible",
222
225
  {
223
226
  hidden: isDisabled,
224
227
  }
@@ -58,6 +58,7 @@ interface ComboboxProps<T extends Value = Value>
58
58
  onCreateOption?: (value: string) => void
59
59
  noResultsPlaceholder?: ReactNode
60
60
  allowClear?: boolean
61
+ forceHideInput?: boolean // always hide input -> used for singe value select that don't have query/filter
61
62
  }
62
63
 
63
64
  const ComboboxImpl = <T extends Value = string>(
@@ -74,6 +75,7 @@ const ComboboxImpl = <T extends Value = string>(
74
75
  onCreateOption,
75
76
  noResultsPlaceholder,
76
77
  allowClear,
78
+ forceHideInput,
77
79
  ...inputProps
78
80
  }: ComboboxProps<T>,
79
81
  ref: ForwardedRef<HTMLInputElement>
@@ -152,10 +154,15 @@ const ComboboxImpl = <T extends Value = string>(
152
154
  return []
153
155
  }
154
156
 
157
+ // do not use `matcher` if the input is hidden
158
+ if (forceHideInput) {
159
+ return options
160
+ }
161
+
155
162
  return matchSorter(options, defferedSearchValue, {
156
163
  keys: ["label"],
157
164
  })
158
- }, [options, defferedSearchValue, isSearchControlled])
165
+ }, [options, defferedSearchValue, isSearchControlled, forceHideInput])
159
166
 
160
167
  const observer = useRef(
161
168
  new IntersectionObserver(
@@ -197,7 +204,7 @@ const ComboboxImpl = <T extends Value = string>(
197
204
  const showTag = hasValue && isArrayValue
198
205
  const showSelected = showTag && !searchValue && !open
199
206
 
200
- const hideInput = !isArrayValue && hasValue && !open
207
+ const hideInput = forceHideInput || (!isArrayValue && hasValue && !open)
201
208
  const selectedLabel = options.find((o) => o.value === selectedValues)?.label
202
209
 
203
210
  const hidePlaceholder = showSelected || open
@@ -251,7 +258,7 @@ const ComboboxImpl = <T extends Value = string>(
251
258
  e.preventDefault()
252
259
  handleValueChange(isArrayValue ? ([] as unknown as T) : undefined)
253
260
  }}
254
- className="bg-ui-bg-base hover:bg-ui-bg-base-hover txt-compact-small-plus text-ui-fg-subtle focus-within:border-ui-fg-interactive transition-fg absolute left-0.5 top-0.5 z-[1] flex h-[28px] items-center rounded-[4px] border py-[3px] pl-1.5 pr-1 outline-none"
261
+ className="bg-ui-bg-base hover:bg-ui-bg-base-hover txt-compact-small-plus text-ui-fg-subtle focus-within:border-ui-fg-interactive transition-fg absolute start-0.5 top-0.5 z-[1] flex h-[28px] items-center rounded-[4px] border py-[3px] pe-1 ps-1.5 outline-none"
255
262
  >
256
263
  <span className="tabular-nums">{selectedValues.length}</span>
257
264
  <XMarkMini className="text-ui-fg-muted" />
@@ -263,8 +270,8 @@ const ComboboxImpl = <T extends Value = string>(
263
270
  className={clx(
264
271
  "pointer-events-none absolute inset-y-0 flex size-full items-center",
265
272
  {
266
- "left-[calc(var(--tag-width)+8px)]": showTag,
267
- "left-2": !showTag,
273
+ "start-[calc(var(--tag-width)+8px)]": showTag,
274
+ "start-2": !showTag,
268
275
  }
269
276
  )}
270
277
  >
@@ -278,8 +285,8 @@ const ComboboxImpl = <T extends Value = string>(
278
285
  className={clx(
279
286
  "pointer-events-none absolute inset-y-0 flex size-full items-center overflow-hidden",
280
287
  {
281
- "left-[calc(var(--tag-width)+8px)]": showTag,
282
- "left-2": !showTag,
288
+ "start-[calc(var(--tag-width)+8px)]": showTag,
289
+ "start-2": !showTag,
283
290
  }
284
291
  )}
285
292
  >
@@ -293,12 +300,12 @@ const ComboboxImpl = <T extends Value = string>(
293
300
  ref={comboboxRef}
294
301
  onFocus={() => setOpen(true)}
295
302
  className={clx(
296
- "txt-compact-small text-ui-fg-base !placeholder:text-ui-fg-muted transition-fg size-full cursor-pointer bg-transparent pl-2 pr-8 outline-none focus:cursor-text",
303
+ "txt-compact-small text-ui-fg-base !placeholder:text-ui-fg-muted transition-fg size-full cursor-pointer bg-transparent pe-8 ps-2 outline-none focus:cursor-text",
297
304
  "hover:bg-ui-bg-field-hover",
298
305
  {
299
306
  "opacity-0": hideInput,
300
- "pl-2": !showTag,
301
- "pl-[calc(var(--tag-width)+8px)]": showTag,
307
+ "ps-2": !showTag,
308
+ "ps-[calc(var(--tag-width)+8px)]": showTag,
302
309
  }
303
310
  )}
304
311
  placeholder={hidePlaceholder ? undefined : placeholder}
@@ -312,7 +319,7 @@ const ComboboxImpl = <T extends Value = string>(
312
319
  e.preventDefault()
313
320
  handleValueChange(undefined)
314
321
  }}
315
- className="bg-ui-bg-base hover:bg-ui-bg-base-hover txt-compact-small-plus text-ui-fg-subtle focus-within:border-ui-fg-interactive transition-fg absolute right-[28px] top-0.5 z-[1] flex h-[28px] items-center rounded-[4px] border px-1.5 py-[2px] outline-none"
322
+ className="bg-ui-bg-base hover:bg-ui-bg-base-hover txt-compact-small-plus text-ui-fg-subtle focus-within:border-ui-fg-interactive transition-fg absolute end-[28px] top-0.5 z-[1] flex h-[28px] items-center rounded-[4px] border px-1.5 py-[2px] outline-none"
316
323
  >
317
324
  <XMarkMini className="text-ui-fg-muted" />
318
325
  </button>
@@ -323,7 +330,7 @@ const ComboboxImpl = <T extends Value = string>(
323
330
  <button
324
331
  {...props}
325
332
  type="button"
326
- className="text-ui-fg-muted transition-fg hover:bg-ui-bg-field-hover absolute right-0 flex size-8 items-center justify-center rounded-r outline-none"
333
+ className="text-ui-fg-muted transition-fg hover:bg-ui-bg-field-hover absolute end-0 flex size-8 items-center justify-center rounded-r outline-none"
327
334
  >
328
335
  <TrianglesMini />
329
336
  </button>
@@ -341,7 +348,7 @@ const ComboboxImpl = <T extends Value = string>(
341
348
  "max-h-[200px] overflow-y-auto",
342
349
  "data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95",
343
350
  "data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95",
344
- "data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2"
351
+ "data-[side=bottom]:slide-in-from-top-2 data-[side=start]:slide-in-from-end-2 data-[side=end]:slide-in-from-start-2 data-[side=top]:slide-in-from-bottom-2"
345
352
  )}
346
353
  style={{
347
354
  pointerEvents: open ? "auto" : "none",
@@ -33,7 +33,7 @@ export const CountrySelect = forwardRef<
33
33
  <div className="relative">
34
34
  <TrianglesMini
35
35
  className={clx(
36
- "text-ui-fg-muted transition-fg pointer-events-none absolute right-2 top-1/2 -translate-y-1/2",
36
+ "text-ui-fg-muted transition-fg pointer-events-none absolute end-2 top-1/2 -translate-y-1/2",
37
37
  {
38
38
  "text-ui-fg-disabled": disabled,
39
39
  }
@@ -76,7 +76,7 @@ export const ProvinceSelect = forwardRef<
76
76
  <div className="relative">
77
77
  <TrianglesMini
78
78
  className={clx(
79
- "text-ui-fg-muted transition-fg pointer-events-none absolute right-2 top-1/2 -translate-y-1/2",
79
+ "text-ui-fg-muted transition-fg pointer-events-none absolute end-2 top-1/2 -translate-y-1/2",
80
80
  {
81
81
  "text-ui-fg-disabled": disabled,
82
82
  }
@@ -29,6 +29,7 @@ import { queryClient } from "../../../lib/query-client"
29
29
  import { useExtension } from "../../../providers/extension-provider"
30
30
  import { useSearch } from "../../../providers/search-provider"
31
31
  import { UserMenu } from "../user-menu"
32
+ import { useDocumentDirection } from "../../../hooks/use-document-direction"
32
33
 
33
34
  export const MainLayout = () => {
34
35
  return (
@@ -94,7 +95,7 @@ const Logout = () => {
94
95
  const Header = () => {
95
96
  const { t } = useTranslation()
96
97
  const { store, isPending, isError, error } = useStore()
97
-
98
+ const direction = useDocumentDirection()
98
99
  const name = store?.name
99
100
  const fallback = store?.name?.slice(0, 1).toUpperCase()
100
101
 
@@ -106,11 +107,12 @@ const Header = () => {
106
107
 
107
108
  return (
108
109
  <div className="w-full p-3">
109
- <DropdownMenu>
110
+ <DropdownMenu
111
+ dir={direction}>
110
112
  <DropdownMenu.Trigger
111
113
  disabled={!isLoaded}
112
114
  className={clx(
113
- "bg-ui-bg-subtle transition-fg grid w-full grid-cols-[24px_1fr_15px] items-center gap-x-3 rounded-md p-0.5 pr-2 outline-none",
115
+ "bg-ui-bg-subtle transition-fg grid w-full grid-cols-[24px_1fr_15px] items-center gap-x-3 rounded-md p-0.5 pe-2 outline-none",
114
116
  "hover:bg-ui-bg-subtle-hover",
115
117
  "data-[state=open]:bg-ui-bg-subtle-hover",
116
118
  "focus-visible:shadow-borders-focus"
@@ -121,7 +123,7 @@ const Header = () => {
121
123
  ) : (
122
124
  <Skeleton className="h-6 w-6 rounded-md" />
123
125
  )}
124
- <div className="block overflow-hidden text-left">
126
+ <div className="block overflow-hidden text-start">
125
127
  {name ? (
126
128
  <Text
127
129
  size="small"
@@ -267,7 +269,7 @@ const Searchbar = () => {
267
269
  )}
268
270
  >
269
271
  <MagnifyingGlass />
270
- <div className="flex-1 text-left">
272
+ <div className="flex-1 text-start">
271
273
  <Text size="small" leading="compact" weight="plus">
272
274
  {t("app.search.label")}
273
275
  </Text>
@@ -43,6 +43,10 @@ const useSettingRoutes = (): INavItem[] => {
43
43
  label: t("returnReasons.domain"),
44
44
  to: "/settings/return-reasons",
45
45
  },
46
+ {
47
+ label: t("refundReasons.domain"),
48
+ to: "/settings/refund-reasons",
49
+ },
46
50
  {
47
51
  label: t("salesChannels.domain"),
48
52
  to: "/settings/sales-channels",
@@ -156,7 +156,7 @@ const Breadcrumbs = () => {
156
156
  )}
157
157
  {!isLast && (
158
158
  <span className="mx-2">
159
- <TriangleRightMini />
159
+ <TriangleRightMini className="rtl:rotate-180" />
160
160
  </span>
161
161
  )}
162
162
  </li>
@@ -177,7 +177,7 @@ const ToggleSidebar = () => {
177
177
  onClick={() => toggle("desktop")}
178
178
  size="small"
179
179
  >
180
- <SidebarLeft className="text-ui-fg-muted" />
180
+ <SidebarLeft className="text-ui-fg-muted rtl:rotate-180" />
181
181
  </IconButton>
182
182
  <IconButton
183
183
  className="hidden max-lg:flex"
@@ -185,7 +185,7 @@ const ToggleSidebar = () => {
185
185
  onClick={() => toggle("mobile")}
186
186
  size="small"
187
187
  >
188
- <SidebarLeft className="text-ui-fg-muted" />
188
+ <SidebarLeft className="text-ui-fg-muted rtl:rotate-180" />
189
189
  </IconButton>
190
190
  </div>
191
191
  )
@@ -210,7 +210,7 @@ const DesktopSidebarContainer = ({ children }: PropsWithChildren) => {
210
210
 
211
211
  return (
212
212
  <div
213
- className={clx("hidden h-screen w-[220px] border-r", {
213
+ className={clx("hidden h-screen w-[220px] border-e", {
214
214
  "lg:flex": desktop,
215
215
  })}
216
216
  >
@@ -234,8 +234,8 @@ const MobileSidebarContainer = ({ children }: PropsWithChildren) => {
234
234
  />
235
235
  <RadixDialog.Content
236
236
  className={clx(
237
- "bg-ui-bg-subtle shadow-elevation-modal fixed inset-y-2 left-2 flex w-full max-w-[304px] flex-col overflow-hidden rounded-lg border-r",
238
- "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:slide-out-to-left-1/2 data-[state=open]:slide-in-from-left-1/2 duration-200"
237
+ "bg-ui-bg-subtle shadow-elevation-modal fixed inset-y-2 start-2 flex w-full max-w-[304px] flex-col overflow-hidden rounded-lg border-r",
238
+ "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:slide-out-to-start-1/2 data-[state=open]:slide-in-from-start-1/2 duration-200"
239
239
  )}
240
240
  >
241
241
  <div className="p-3">
@@ -29,10 +29,12 @@ import { useLogout, useMe } from "../../../hooks/api"
29
29
  import { queryClient } from "../../../lib/query-client"
30
30
  import { useGlobalShortcuts } from "../../../providers/keybind-provider/hooks"
31
31
  import { useTheme } from "../../../providers/theme-provider"
32
+ import { useDocumentDirection } from "../../../hooks/use-document-direction"
32
33
 
33
34
  export const UserMenu = () => {
34
35
  const { t } = useTranslation()
35
36
  const location = useLocation()
37
+ const direction = useDocumentDirection()
36
38
 
37
39
  const [openMenu, setOpenMenu] = useState(false)
38
40
  const [openModal, setOpenModal] = useState(false)
@@ -44,33 +46,33 @@ export const UserMenu = () => {
44
46
 
45
47
  return (
46
48
  <div>
47
- <DropdownMenu open={openMenu} onOpenChange={setOpenMenu}>
49
+ <DropdownMenu dir={direction} open={openMenu} onOpenChange={setOpenMenu}>
48
50
  <UserBadge />
49
51
  <DropdownMenu.Content className="min-w-[var(--radix-dropdown-menu-trigger-width)] max-w-[var(--radix-dropdown-menu-trigger-width)]">
50
52
  <UserItem />
51
53
  <DropdownMenu.Separator />
52
54
  <DropdownMenu.Item asChild>
53
55
  <Link to="/settings/profile" state={{ from: location.pathname }}>
54
- <UserIcon className="text-ui-fg-subtle mr-2" />
56
+ <UserIcon className="text-ui-fg-subtle me-2" />
55
57
  {t("app.menus.user.profileSettings")}
56
58
  </Link>
57
59
  </DropdownMenu.Item>
58
60
  <DropdownMenu.Separator />
59
61
  <DropdownMenu.Item asChild>
60
62
  <Link to="https://docs.medusajs.com" target="_blank">
61
- <BookOpen className="text-ui-fg-subtle mr-2" />
63
+ <BookOpen className="text-ui-fg-subtle me-2" />
62
64
  {t("app.menus.user.documentation")}
63
65
  </Link>
64
66
  </DropdownMenu.Item>
65
67
  <DropdownMenu.Item asChild>
66
68
  <Link to="https://medusajs.com/changelog/" target="_blank">
67
- <TimelineVertical className="text-ui-fg-subtle mr-2" />
69
+ <TimelineVertical className="text-ui-fg-subtle me-2" />
68
70
  {t("app.menus.user.changelog")}
69
71
  </Link>
70
72
  </DropdownMenu.Item>
71
73
  <DropdownMenu.Separator />
72
74
  <DropdownMenu.Item onClick={toggleModal}>
73
- <Keyboard className="text-ui-fg-subtle mr-2" />
75
+ <Keyboard className="text-ui-fg-subtle me-2" />
74
76
  {t("app.menus.user.shortcuts")}
75
77
  </DropdownMenu.Item>
76
78
  <ThemeToggle />
@@ -93,7 +95,7 @@ const UserBadge = () => {
93
95
 
94
96
  if (isPending) {
95
97
  return (
96
- <button className="shadow-borders-base flex max-w-[192px] select-none items-center gap-x-2 overflow-hidden text-ellipsis whitespace-nowrap rounded-full py-1 pl-1 pr-2.5">
98
+ <button className="shadow-borders-base flex max-w-[192px] select-none items-center gap-x-2 overflow-hidden text-ellipsis whitespace-nowrap rounded-full py-1 ps-1 pe-2.5">
97
99
  <Skeleton className="h-5 w-5 rounded-full" />
98
100
  <Skeleton className="h-[9px] w-[70px]" />
99
101
  </button>
@@ -109,7 +111,7 @@ const UserBadge = () => {
109
111
  <DropdownMenu.Trigger
110
112
  disabled={!user}
111
113
  className={clx(
112
- "bg-ui-bg-subtle grid w-full cursor-pointer grid-cols-[24px_1fr_15px] items-center gap-2 rounded-md py-1 pl-0.5 pr-2 outline-none",
114
+ "bg-ui-bg-subtle grid w-full cursor-pointer grid-cols-[24px_1fr_15px] items-center gap-2 rounded-md py-1 ps-0.5 pe-2 outline-none",
113
115
  "hover:bg-ui-bg-subtle-hover",
114
116
  "data-[state=open]:bg-ui-bg-subtle-hover",
115
117
  "focus-visible:shadow-borders-focus"
@@ -148,9 +150,9 @@ const ThemeToggle = () => {
148
150
 
149
151
  return (
150
152
  <DropdownMenu.SubMenu>
151
- <DropdownMenu.SubMenuTrigger className="rounded-md">
152
- <CircleHalfSolid className="text-ui-fg-subtle mr-2" />
153
- {t("app.menus.user.theme.label")}
153
+ <DropdownMenu.SubMenuTrigger dir="ltr" className="rounded-md rtl:rotate-180">
154
+ <CircleHalfSolid className="text-ui-fg-subtle me-2" />
155
+ <span className="rtl:rotate-180">{t("app.menus.user.theme.label")}</span>
154
156
  </DropdownMenu.SubMenuTrigger>
155
157
  <DropdownMenu.SubMenuContent>
156
158
  <DropdownMenu.RadioGroup value={theme}>
@@ -44,6 +44,7 @@ import {
44
44
  } from "./constants"
45
45
  import { SearchArea } from "./types"
46
46
  import { useSearchResults } from "./use-search-results"
47
+ import { useDocumentDirection } from "../../hooks/use-document-direction"
47
48
 
48
49
  export const Search = () => {
49
50
  const [area, setArea] = useState<SearchArea>("all")
@@ -54,6 +55,7 @@ export const Search = () => {
54
55
  const { t } = useTranslation()
55
56
  const navigate = useNavigate()
56
57
 
58
+
57
59
  const inputRef = useRef<HTMLInputElement>(null)
58
60
  const listRef = useRef<HTMLDivElement>(null)
59
61
 
@@ -367,7 +369,7 @@ const CommandInput = forwardRef<
367
369
  ) => {
368
370
  const { t } = useTranslation()
369
371
  const innerRef = useRef<HTMLInputElement>(null)
370
-
372
+ const direction = useDocumentDirection()
371
373
  useImperativeHandle<HTMLInputElement | null, HTMLInputElement | null>(
372
374
  ref,
373
375
  () => innerRef.current
@@ -376,7 +378,7 @@ const CommandInput = forwardRef<
376
378
  return (
377
379
  <div className="flex flex-col border-b">
378
380
  <div className="px-4 pt-4">
379
- <DropdownMenu>
381
+ <DropdownMenu dir={direction}>
380
382
  <DropdownMenu.Trigger asChild>
381
383
  <Badge
382
384
  size="2xsmall"
@@ -432,7 +434,7 @@ const CommandInput = forwardRef<
432
434
  )}
433
435
  {...props}
434
436
  />
435
- <div className="absolute right-4 top-1/2 flex -translate-y-1/2 items-center justify-end gap-x-2">
437
+ <div className="absolute end-4 top-1/2 flex -translate-y-1/2 items-center justify-end gap-x-2">
436
438
  {isFetching && (
437
439
  <Spinner className="text-ui-fg-muted animate-spin" />
438
440
  )}
@@ -4,6 +4,8 @@ import { useState } from "react"
4
4
  import { useTranslation } from "react-i18next"
5
5
  import { useSearchParams } from "react-router-dom"
6
6
 
7
+ import { useDocumentDirection } from "../../../../hooks/use-document-direction"
8
+
7
9
  export type DataTableOrderByKey<TData> = {
8
10
  key: keyof TData
9
11
  label: string
@@ -54,6 +56,7 @@ export const DataTableOrderBy = <TData,>({
54
56
  }>(initState(searchParams, prefix))
55
57
  const param = prefix ? `${prefix}_order` : "order"
56
58
  const { t } = useTranslation()
59
+ const direction = useDocumentDirection()
57
60
 
58
61
  const handleDirChange = (dir: string) => {
59
62
  setState((prev) => ({
@@ -97,7 +100,7 @@ export const DataTableOrderBy = <TData,>({
97
100
  }
98
101
 
99
102
  return (
100
- <DropdownMenu>
103
+ <DropdownMenu dir={direction}>
101
104
  <DropdownMenu.Trigger asChild>
102
105
  <IconButton size="small">
103
106
  <DescendingSorting />
@@ -262,7 +262,7 @@ export const DataTableRoot = <TData,>({
262
262
  <Table.Cell
263
263
  key={cell.id}
264
264
  className={clx({
265
- "!pl-0 !pr-0": shouldRenderAsLink,
265
+ "!ps-0 !pe-0": shouldRenderAsLink,
266
266
  "bg-ui-bg-base group-data-[selected=true]/row:bg-ui-bg-highlight group-data-[selected=true]/row:group-hover/row:bg-ui-bg-highlight-hover group-hover/row:bg-ui-bg-base-hover transition-fg group-has-[[data-row-link]:focus-visible]:bg-ui-bg-base-hover sticky left-0 after:absolute after:inset-y-0 after:right-0 after:h-full after:w-px after:bg-transparent after:content-['']":
267
267
  isStickyCell,
268
268
  "bg-ui-bg-subtle group-hover/row:bg-ui-bg-subtle-hover":
@@ -288,9 +288,9 @@ export const DataTableRoot = <TData,>({
288
288
  >
289
289
  <div
290
290
  className={clx(
291
- "flex size-full items-center pr-6",
291
+ "flex size-full items-center pe-6",
292
292
  {
293
- "pl-6": isTabableLink && !hasLeftOffset,
293
+ "ps-6": isTabableLink && !hasLeftOffset,
294
294
  }
295
295
  )}
296
296
  >
@@ -102,7 +102,7 @@ const FormExtensionFieldComponent = ({
102
102
  return <Input {...field} placeholder={placeholder} type="number" />
103
103
  }
104
104
  case "boolean": {
105
- return <Switch {...field} />
105
+ return <Switch className="rtl:rotate-180" dir="ltr" {...field} />
106
106
  }
107
107
  default: {
108
108
  return (
@@ -1780,6 +1780,42 @@ export function getRouteMap({
1780
1780
  },
1781
1781
  ],
1782
1782
  },
1783
+ {
1784
+ path: "refund-reasons",
1785
+ element: <Outlet />,
1786
+ handle: {
1787
+ breadcrumb: () => t("refundReasons.domain"),
1788
+ },
1789
+ children: [
1790
+ {
1791
+ path: "",
1792
+ lazy: () =>
1793
+ import("../../routes/refund-reasons/refund-reason-list"),
1794
+ children: [
1795
+ {
1796
+ path: "create",
1797
+ lazy: () =>
1798
+ import(
1799
+ "../../routes/refund-reasons/refund-reason-create"
1800
+ ),
1801
+ },
1802
+
1803
+ {
1804
+ path: ":id",
1805
+ children: [
1806
+ {
1807
+ path: "edit",
1808
+ lazy: () =>
1809
+ import(
1810
+ "../../routes/refund-reasons/refund-reason-edit"
1811
+ ),
1812
+ },
1813
+ ],
1814
+ },
1815
+ ],
1816
+ },
1817
+ ],
1818
+ },
1783
1819
  ...(settingsRoutes?.[0]?.children || []),
1784
1820
  ],
1785
1821
  },
@@ -130,6 +130,7 @@ export const useAddOrRemoveCampaignPromotions = (
130
130
  onSuccess: (data, variables, context) => {
131
131
  queryClient.invalidateQueries({ queryKey: campaignsQueryKeys.details() })
132
132
  queryClient.invalidateQueries({ queryKey: promotionsQueryKeys.lists() })
133
+ queryClient.invalidateQueries({ queryKey: promotionsQueryKeys.details() })
133
134
  options?.onSuccess?.(data, variables, context)
134
135
  },
135
136
  ...options,