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

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 (332) 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-MM673US3.mjs} +16 -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 +7050 -5968
  10. package/dist/app.mjs +18 -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-G2VM7CRL.mjs} +23 -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-M4PAATNV.mjs} +14 -12
  18. package/dist/{category-create-FOVB5MJ4.mjs → category-create-GMFWRFT7.mjs} +38 -16
  19. package/dist/{category-detail-ENUI5EFL.mjs → category-detail-MTLPW4MR.mjs} +20 -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-DGWKONYE.mjs} +16 -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-R2NWOCML.mjs → chunk-5FAWKUSU.mjs} +8 -2
  27. package/dist/chunk-5U3FFMC7.mjs +84 -0
  28. package/dist/{chunk-YM4QJC6Y.mjs → chunk-7GBCLBMX.mjs} +1 -1
  29. package/dist/{chunk-JHXKKOHO.mjs → chunk-7JJTWGHU.mjs} +49 -15
  30. package/dist/{chunk-6AGMMT5H.mjs → chunk-A4GWVZB4.mjs} +4 -4
  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-2PMSBTXI.mjs → chunk-CD7VQIPA.mjs} +11 -11
  34. package/dist/{chunk-RVOPC44F.mjs → chunk-CGEJJR5K.mjs} +623 -682
  35. package/dist/{chunk-J5E7MQSS.mjs → chunk-CY33DS7K.mjs} +6 -0
  36. package/dist/{chunk-ZJA7VBUR.mjs → chunk-DKOCYXB5.mjs} +34 -1
  37. package/dist/{chunk-ZCZL3STK.mjs → chunk-EA5GGT2Q.mjs} +1 -1
  38. package/dist/{chunk-OGHQ6VJI.mjs → chunk-EILZIUOP.mjs} +1 -6
  39. package/dist/{chunk-7VJK6HNE.mjs → chunk-EYL2JACT.mjs} +4 -4
  40. package/dist/{chunk-BFNH5UWD.mjs → chunk-EYTETK3W.mjs} +1 -1
  41. package/dist/{chunk-74K7HGNI.mjs → chunk-FXG2Z3QT.mjs} +3 -2
  42. package/dist/{chunk-SMHXCFRS.mjs → chunk-G3VGLFVH.mjs} +54 -41
  43. package/dist/{chunk-2RQLKDBF.mjs → chunk-GIZFNLKK.mjs} +103 -96
  44. package/dist/{chunk-NRBOPOMS.mjs → chunk-HOERC634.mjs} +1 -1
  45. package/dist/{chunk-AOFGTNG6.mjs → chunk-HQKGZADC.mjs} +6 -1
  46. package/dist/{chunk-LBIOZZPA.mjs → chunk-HWKLNKOY.mjs} +1 -1
  47. package/dist/{chunk-Y4YXZY7R.mjs → chunk-I2QEZTVU.mjs} +2 -2
  48. package/dist/{chunk-S2UEWRDA.mjs → chunk-IL5IMREK.mjs} +59 -49
  49. package/dist/{chunk-JIQQKKLO.mjs → chunk-IP2QPPWC.mjs} +1 -1
  50. package/dist/{chunk-SCBXRJPV.mjs → chunk-IRO6DO7J.mjs} +1 -1
  51. package/dist/{chunk-YI4CZGTU.mjs → chunk-ITJEYJNB.mjs} +1 -1
  52. package/dist/{chunk-T7G2CURS.mjs → chunk-IVZ6BMDB.mjs} +1 -0
  53. package/dist/{chunk-5WKYR6PY.mjs → chunk-IXMPYDY2.mjs} +1 -1
  54. package/dist/{chunk-XGJ5DXXG.mjs → chunk-K2HM7KXJ.mjs} +12 -12
  55. package/dist/{chunk-OKMF4YI7.mjs → chunk-K3OMOMRB.mjs} +25 -0
  56. package/dist/{chunk-2LPGQWPV.mjs → chunk-KTL6E2WT.mjs} +1 -1
  57. package/dist/{chunk-OHSRRFGN.mjs → chunk-LKVQ5YC6.mjs} +1 -1
  58. package/dist/{chunk-QGCKTVQX.mjs → chunk-LMRZMI7O.mjs} +1 -1
  59. package/dist/{chunk-OLUNPPBR.mjs → chunk-MAKOUE5W.mjs} +1 -1
  60. package/dist/{chunk-Q5DI5VYN.mjs → chunk-MLNUGLGT.mjs} +1 -1
  61. package/dist/{chunk-5M5ZVAWU.mjs → chunk-MSOFJHH3.mjs} +2 -2
  62. package/dist/{chunk-JMQ6V54O.mjs → chunk-NFQXNOP7.mjs} +1 -1
  63. package/dist/{chunk-UWJBDOQD.mjs → chunk-NKVMOKZA.mjs} +41 -29
  64. package/dist/{chunk-NCR5UWRI.mjs → chunk-NY6I2FYO.mjs} +1 -1
  65. package/dist/{chunk-3NJTXRIY.mjs → chunk-OZPB6JBL.mjs} +5 -1
  66. package/dist/{chunk-FPJBF7VS.mjs → chunk-P2O6XTD4.mjs} +1 -1
  67. package/dist/{chunk-EFA7S5L3.mjs → chunk-PGTXMCSV.mjs} +1 -1
  68. package/dist/{chunk-D7H6ZNK4.mjs → chunk-PRLQLEEQ.mjs} +2 -0
  69. package/dist/{chunk-ZODJNBAV.mjs → chunk-R2G2B47Y.mjs} +1 -0
  70. package/dist/{chunk-HUX22ZHT.mjs → chunk-RF75BZNF.mjs} +3 -3
  71. package/dist/{chunk-4RG7UJCT.mjs → chunk-RGP3IXX4.mjs} +1 -1
  72. package/dist/chunk-S4DMV3ZT.mjs +35 -0
  73. package/dist/{chunk-5NQ3X2JI.mjs → chunk-SNDSWB6B.mjs} +1 -1
  74. package/dist/{chunk-EE7SOCEQ.mjs → chunk-SQFZWNYA.mjs} +4 -4
  75. package/dist/{chunk-O74UDEWT.mjs → chunk-TKZK3YPU.mjs} +1 -1
  76. package/dist/{chunk-KSRI5LOF.mjs → chunk-U25RCIX2.mjs} +2 -2
  77. package/dist/{chunk-BHZAQZYP.mjs → chunk-U4R5MBF2.mjs} +1 -1
  78. package/dist/{chunk-CK3VFTZM.mjs → chunk-UKX2FFFV.mjs} +2 -2
  79. package/dist/{chunk-37UXEJF2.mjs → chunk-V6JXTITD.mjs} +1 -1
  80. package/dist/chunk-VLOA5XAC.mjs +113 -0
  81. package/dist/{chunk-4Q4LIFFO.mjs → chunk-XP3BY6G6.mjs} +1 -1
  82. package/dist/{chunk-6IZUCU7K.mjs → chunk-YSFTQA6Y.mjs} +2 -2
  83. package/dist/{chunk-XKXNQ2KV.mjs → chunk-ZCARHA6C.mjs} +1 -1
  84. package/dist/{chunk-RMEITCLS.mjs → chunk-ZSDEVTFT.mjs} +1 -1
  85. package/dist/{collection-add-products-2ISNNIHD.mjs → collection-add-products-KEB3ESAK.mjs} +16 -14
  86. package/dist/{collection-create-75ZI5NDG.mjs → collection-create-PTOF33H2.mjs} +2 -2
  87. package/dist/{collection-detail-OSX6NHNQ.mjs → collection-detail-V24IDEZQ.mjs} +18 -16
  88. package/dist/{collection-edit-RD6BDDDI.mjs → collection-edit-WM57WXJ2.mjs} +2 -2
  89. package/dist/{collection-list-MPIYSHQJ.mjs → collection-list-GD2IJYOP.mjs} +20 -18
  90. package/dist/{collection-metadata-EOFYXEQI.mjs → collection-metadata-Z2JMXTHW.mjs} +14 -12
  91. package/dist/{customer-create-address-TPSDYZBN.mjs → customer-create-address-JOYBIPPN.mjs} +1 -1
  92. package/dist/{customer-detail-FCNRRZSW.mjs → customer-detail-E7LPLLML.mjs} +18 -16
  93. package/dist/{customer-group-add-customers-ULPWTALS.mjs → customer-group-add-customers-YF2T323Z.mjs} +3 -2
  94. package/dist/{customer-group-detail-QI3QLJJL.mjs → customer-group-detail-5ZWHOJOD.mjs} +17 -15
  95. package/dist/{customer-group-list-D26UKQMR.mjs → customer-group-list-N22GDJVL.mjs} +16 -14
  96. package/dist/{customer-group-metadata-UPAPULMF.mjs → customer-group-metadata-YQCOIVQG.mjs} +2 -1
  97. package/dist/{customer-list-SINCBCOZ.mjs → customer-list-5IWEXYSW.mjs} +5 -4
  98. package/dist/{customer-metadata-5NPUMPZ2.mjs → customer-metadata-JZEJBH4V.mjs} +2 -1
  99. package/dist/{customers-add-customer-group-5TFTVDB6.mjs → customers-add-customer-group-LFEUVS5G.mjs} +15 -13
  100. package/dist/{edit-inventory-item-ZPE4MMC4.mjs → edit-inventory-item-UV2Z7SYL.mjs} +1 -1
  101. package/dist/{edit-inventory-item-attributes-KT7BSPZ7.mjs → edit-inventory-item-attributes-BRC3KBYT.mjs} +2 -2
  102. package/dist/{edit-reservation-EKH4RIAX.mjs → edit-reservation-NYGQBFBO.mjs} +7 -2
  103. package/dist/{edit-rules-63NG4QVR.mjs → edit-rules-BCGRJ4FJ.mjs} +15 -13
  104. package/dist/{inventory-create-RIVJFJJQ.mjs → inventory-create-OPYAZF3M.mjs} +20 -14
  105. package/dist/{inventory-detail-QHL7TJFZ.mjs → inventory-detail-PAVP7J2W.mjs} +26 -18
  106. package/dist/{inventory-list-YMYF7QVP.mjs → inventory-list-J5VZGQ2M.mjs} +6 -5
  107. package/dist/{inventory-metadata-FH4CHJBA.mjs → inventory-metadata-PMQLZCHW.mjs} +14 -12
  108. package/dist/{inventory-stock-D6E4LQRK.mjs → inventory-stock-7QXMAX45.mjs} +15 -13
  109. package/dist/{location-create-LUP363ZB.mjs → location-create-22H74MFP.mjs} +1 -1
  110. package/dist/{location-detail-Z6ZDX6RY.mjs → location-detail-IXHZ7DZS.mjs} +15 -13
  111. package/dist/{location-edit-26K26G23.mjs → location-edit-X6JBEWIF.mjs} +2 -2
  112. package/dist/{location-fulfillment-providers-45VXZMZI.mjs → location-fulfillment-providers-3KPC4HQT.mjs} +17 -15
  113. package/dist/{location-list-62KBWY4T.mjs → location-list-VNEYHAKV.mjs} +15 -8
  114. package/dist/{location-sales-channels-O5XLIPAR.mjs → location-sales-channels-66ZE3ZMI.mjs} +5 -4
  115. package/dist/{location-service-zone-create-RPFLBVV4.mjs → location-service-zone-create-D5QSFS3M.mjs} +4 -3
  116. package/dist/{location-service-zone-manage-areas-VEUUGPKF.mjs → location-service-zone-manage-areas-HKCALG4Q.mjs} +4 -3
  117. package/dist/{location-service-zone-shipping-option-create-NO3665DC.mjs → location-service-zone-shipping-option-create-PVQ66CXW.mjs} +24 -15
  118. package/dist/{location-service-zone-shipping-option-edit-TMXNX4VX.mjs → location-service-zone-shipping-option-edit-JYM6GHTA.mjs} +40 -28
  119. package/dist/{location-service-zone-shipping-option-pricing-U2SDK5DE.mjs → location-service-zone-shipping-option-pricing-FLB63UKY.mjs} +3 -2
  120. package/dist/{login-DSPNELTI.mjs → login-DVYOEF5F.mjs} +12 -11
  121. package/dist/manage-locations-RPHTPGRE.mjs +247 -0
  122. package/dist/{order-allocate-items-J3ZHGC22.mjs → order-allocate-items-2RYXQRVK.mjs} +26 -14
  123. package/dist/{order-create-claim-V63BWLB5.mjs → order-create-claim-FK4LIPAE.mjs} +21 -18
  124. package/dist/{order-create-edit-NPF4UZ4D.mjs → order-create-edit-VGIWYKBB.mjs} +19 -16
  125. package/dist/{order-create-exchange-RHIPPSKU.mjs → order-create-exchange-BMRCMN5G.mjs} +21 -18
  126. package/dist/{order-create-fulfillment-4SSUHQ75.mjs → order-create-fulfillment-NLGPRK4J.mjs} +20 -12
  127. package/dist/{order-create-refund-QVQC5ZP5.mjs → order-create-refund-TEMK6IEQ.mjs} +51 -14
  128. package/dist/{order-create-return-GVA6M2RY.mjs → order-create-return-6FHAU3OZ.mjs} +11 -9
  129. package/dist/{order-create-shipment-TJAARKWA.mjs → order-create-shipment-WCEZXWM6.mjs} +14 -11
  130. package/dist/{order-detail-2MIN6B2I.mjs → order-detail-QABTBPGX.mjs} +50 -40
  131. package/dist/{order-edit-billing-address-QP2I5F3E.mjs → order-edit-billing-address-MWF3L6GK.mjs} +13 -12
  132. package/dist/{order-edit-email-7WT7XTHB.mjs → order-edit-email-UDJOGYPP.mjs} +12 -11
  133. package/dist/{order-edit-shipping-address-3QFMQP4I.mjs → order-edit-shipping-address-O46U65WM.mjs} +13 -12
  134. package/dist/{order-list-73DBATIK.mjs → order-list-VDUUHTSU.mjs} +11 -10
  135. package/dist/{order-metadata-YJS26DHK.mjs → order-metadata-SHCFZWCA.mjs} +14 -12
  136. package/dist/{order-receive-return-PZMMMUB2.mjs → order-receive-return-MC4DIRK3.mjs} +15 -13
  137. package/dist/{order-request-transfer-QBIZD36E.mjs → order-request-transfer-MELQKMC4.mjs} +13 -12
  138. package/dist/{price-list-configuration-435QDWB2.mjs → price-list-configuration-VACKCKJF.mjs} +6 -5
  139. package/dist/{price-list-create-RXDH5CXF.mjs → price-list-create-TZUDGP2J.mjs} +40 -24
  140. package/dist/{price-list-detail-PKIKOJ4H.mjs → price-list-detail-DX74DH6G.mjs} +19 -17
  141. package/dist/{price-list-edit-ZGBOZYSC.mjs → price-list-edit-G73ZIU2Y.mjs} +51 -31
  142. package/dist/{price-list-list-C6NEB2R4.mjs → price-list-list-QYZSJNF5.mjs} +8 -7
  143. package/dist/{price-list-prices-add-2CDPUSYA.mjs → price-list-prices-add-IHMS7HIH.mjs} +29 -20
  144. package/dist/{price-list-prices-edit-ENB4GJZT.mjs → price-list-prices-edit-R53ITSDD.mjs} +5 -4
  145. package/dist/{product-attributes-FQDJCNUB.mjs → product-attributes-AULEVQ5C.mjs} +20 -17
  146. package/dist/{product-create-W37RQLON.mjs → product-create-2RPJZR2Q.mjs} +28 -21
  147. package/dist/{product-create-option-3JR35UZ5.mjs → product-create-option-OW2LMVST.mjs} +1 -1
  148. package/dist/{product-create-variant-KJKQ6ROY.mjs → product-create-variant-NKU6J7NG.mjs} +32 -18
  149. package/dist/{product-detail-TANIKAEK.mjs → product-detail-NNTUGXU5.mjs} +22 -19
  150. package/dist/{product-edit-DO76GHBI.mjs → product-edit-6WRMNGPM.mjs} +42 -28
  151. package/dist/{product-edit-option-VNDGZ37A.mjs → product-edit-option-OM56DLU6.mjs} +1 -1
  152. package/dist/{product-export-XERWEI5H.mjs → product-export-W6KP2RGO.mjs} +14 -13
  153. package/dist/{product-import-AGFJMSVK.mjs → product-import-P76MITMC.mjs} +15 -13
  154. package/dist/{product-list-KJ3HXPLB.mjs → product-list-7H64APWI.mjs} +20 -18
  155. package/dist/{product-media-VG4YM2W6.mjs → product-media-TRKQTA4G.mjs} +5 -5
  156. package/dist/{product-metadata-NZ3HKO67.mjs → product-metadata-2G6DWHWG.mjs} +14 -12
  157. package/dist/{product-organization-OOVUGXNP.mjs → product-organization-43YS5OUI.mjs} +21 -18
  158. package/dist/{product-prices-PCBMYYGV.mjs → product-prices-XLY5TUSJ.mjs} +3 -2
  159. package/dist/{product-sales-channels-QEJRSCAU.mjs → product-sales-channels-KSIHPDJG.mjs} +5 -4
  160. package/dist/{product-shipping-profile-FFMKOF6B.mjs → product-shipping-profile-SFU2PVR4.mjs} +20 -17
  161. package/dist/{product-stock-SUVEQZML.mjs → product-stock-GAWLELSE.mjs} +17 -14
  162. package/dist/{product-tag-create-T6HVAQKN.mjs → product-tag-create-FVU5JRL3.mjs} +12 -11
  163. package/dist/{product-tag-detail-HOWUZC3P.mjs → product-tag-detail-VMVPWMZK.mjs} +23 -21
  164. package/dist/{product-tag-edit-WWQDNDRC.mjs → product-tag-edit-OWI3OFVF.mjs} +12 -11
  165. package/dist/{product-tag-list-FAKSLONF.mjs → product-tag-list-YPIZII2D.mjs} +23 -21
  166. package/dist/{product-tag-metadata-6B56VEZU.mjs → product-tag-metadata-B4YBSHOH.mjs} +14 -12
  167. package/dist/{product-type-detail-KN64HYUV.mjs → product-type-detail-243HFRBD.mjs} +18 -16
  168. package/dist/{product-type-list-6ZIWPIUH.mjs → product-type-list-MJLAGQYC.mjs} +5 -4
  169. package/dist/{product-type-metadata-F3FTI6OG.mjs → product-type-metadata-4YE4UEOF.mjs} +14 -12
  170. package/dist/{product-variant-detail-OUHBUY4J.mjs → product-variant-detail-LJE3IFNE.mjs} +17 -15
  171. package/dist/{product-variant-edit-NBYHDUJ5.mjs → product-variant-edit-IGJIWVQQ.mjs} +18 -13
  172. package/dist/{product-variant-manage-inventory-items-TM3VAHBJ.mjs → product-variant-manage-inventory-items-2M2KTPNK.mjs} +2 -2
  173. package/dist/{product-variant-metadata-XDVLJYGQ.mjs → product-variant-metadata-F6BGFMMS.mjs} +14 -12
  174. package/dist/{profile-detail-ROG22HHL.mjs → profile-detail-XYAQ2G36.mjs} +3 -2
  175. package/dist/{profile-edit-HSUQIQQH.mjs → profile-edit-7WD4FTRH.mjs} +31 -19
  176. package/dist/{promotion-add-campaign-7R26KU2U.mjs → promotion-add-campaign-YREHV6TQ.mjs} +9 -21
  177. package/dist/{promotion-create-UUOG52D5.mjs → promotion-create-YGHBTAFC.mjs} +30 -17
  178. package/dist/{promotion-detail-GONXLJZ2.mjs → promotion-detail-BIC23HFR.mjs} +17 -15
  179. package/dist/{promotion-edit-details-HQLYX4X4.mjs → promotion-edit-details-A2UUSAZA.mjs} +10 -2
  180. package/dist/{promotion-list-NNEMVJ6I.mjs → promotion-list-WDHOSD55.mjs} +9 -8
  181. package/dist/refund-reason-create-YCWLRRBW.mjs +158 -0
  182. package/dist/refund-reason-edit-E2HDAQZI.mjs +144 -0
  183. package/dist/refund-reason-list-7GANH7KL.mjs +246 -0
  184. package/dist/{region-add-countries-Y4YAHDUZ.mjs → region-add-countries-6GSF4CKJ.mjs} +3 -2
  185. package/dist/{region-create-5Y3GIQBV.mjs → region-create-AFZTSM3N.mjs} +34 -18
  186. package/dist/{region-detail-CWRFM6P3.mjs → region-detail-PB7EUSTD.mjs} +5 -4
  187. package/dist/{region-edit-JWQWCLM3.mjs → region-edit-DSYIUI7W.mjs} +25 -9
  188. package/dist/{region-list-FQNI7F37.mjs → region-list-52LF5S4S.mjs} +5 -4
  189. package/dist/{region-metadata-IQVB4ERU.mjs → region-metadata-L5K6YENH.mjs} +14 -12
  190. package/dist/{reservation-create-7RFXWDXB.mjs → reservation-create-FV7QXGL3.mjs} +3 -3
  191. package/dist/{reservation-detail-RTGHD35L.mjs → reservation-detail-USDAVGWH.mjs} +16 -14
  192. package/dist/{reservation-list-UOC7RNRZ.mjs → reservation-list-NOWJUMXV.mjs} +7 -6
  193. package/dist/{reservation-metadata-WKJXBRLQ.mjs → reservation-metadata-47C6RWYS.mjs} +14 -12
  194. package/dist/{reset-password-ANJHGYUE.mjs → reset-password-LCVV4NOA.mjs} +1 -1
  195. package/dist/{return-reason-list-MOP7YWMZ.mjs → return-reason-list-FW7OYUOW.mjs} +8 -7
  196. package/dist/{sales-channel-add-products-OKVZJ6FI.mjs → sales-channel-add-products-NGPN4IRB.mjs} +16 -14
  197. package/dist/{sales-channel-create-3MPOMVPD.mjs → sales-channel-create-NODWGJDD.mjs} +4 -2
  198. package/dist/{sales-channel-detail-WESBK6Q7.mjs → sales-channel-detail-IWWRX2Y3.mjs} +18 -16
  199. package/dist/{sales-channel-edit-LSLAM7A4.mjs → sales-channel-edit-ALIRERVH.mjs} +4 -2
  200. package/dist/{sales-channel-list-LKVHXUXW.mjs → sales-channel-list-LCPDOQK3.mjs} +16 -14
  201. package/dist/{sales-channel-metadata-2OQAHYB4.mjs → sales-channel-metadata-VZ4TINYG.mjs} +14 -12
  202. package/dist/{shipping-option-type-create-3CGPGDYJ.mjs → shipping-option-type-create-NOMFII5B.mjs} +12 -11
  203. package/dist/{shipping-option-type-detail-S23H2OGW.mjs → shipping-option-type-detail-6XIJRVZ5.mjs} +16 -14
  204. package/dist/{shipping-option-type-edit-IHE7XM6M.mjs → shipping-option-type-edit-PEDYL6JQ.mjs} +12 -11
  205. package/dist/{shipping-option-type-list-47GRJ6EC.mjs → shipping-option-type-list-GI5GBLIS.mjs} +18 -16
  206. package/dist/{shipping-profile-detail-FDUPDSH4.mjs → shipping-profile-detail-FS46IJZP.mjs} +3 -2
  207. package/dist/{shipping-profile-metadata-OXWOXAAR.mjs → shipping-profile-metadata-ZOR7MQFF.mjs} +14 -12
  208. package/dist/{shipping-profiles-list-ZHJEUIKJ.mjs → shipping-profiles-list-QFOG5IDH.mjs} +5 -4
  209. package/dist/{store-add-currencies-R26SVHT5.mjs → store-add-currencies-W4MWOALR.mjs} +5 -2
  210. package/dist/{store-detail-4K7TW2TP.mjs → store-detail-MZAKRCTC.mjs} +17 -15
  211. package/dist/{store-edit-EU55TNFU.mjs → store-edit-3DU5MC25.mjs} +24 -12
  212. package/dist/{store-metadata-JP2CI7EF.mjs → store-metadata-GO4TXB3W.mjs} +14 -12
  213. package/dist/{tax-region-create-IWM4755I.mjs → tax-region-create-KDCNQGPC.mjs} +15 -14
  214. package/dist/{tax-region-detail-V2F2DONN.mjs → tax-region-detail-O6U6ZVDB.mjs} +19 -17
  215. package/dist/{tax-region-edit-CJPMYTBF.mjs → tax-region-edit-T4B5DM55.mjs} +13 -12
  216. package/dist/{tax-region-list-NMM3LBPN.mjs → tax-region-list-SQQE2GUU.mjs} +6 -5
  217. package/dist/{tax-region-province-create-GIIU2G7K.mjs → tax-region-province-create-SBRFGWN3.mjs} +2 -2
  218. package/dist/{tax-region-province-detail-4PUQ5ADW.mjs → tax-region-province-detail-XH45ZAOJ.mjs} +18 -16
  219. package/dist/{tax-region-tax-override-create-3SCIOK4P.mjs → tax-region-tax-override-create-MSL7HEM6.mjs} +26 -20
  220. package/dist/{tax-region-tax-override-edit-P3QJKET3.mjs → tax-region-tax-override-edit-AO6CYS62.mjs} +26 -20
  221. package/dist/{tax-region-tax-rate-create-Z43M3JTQ.mjs → tax-region-tax-rate-create-JIV5FXUD.mjs} +1 -1
  222. package/dist/{tax-region-tax-rate-edit-RBF5D2MK.mjs → tax-region-tax-rate-edit-WU2ZQLZQ.mjs} +1 -1
  223. package/dist/{user-detail-VIVFFLOW.mjs → user-detail-ZFW3YF3M.mjs} +4 -3
  224. package/dist/{user-invite-W26LOOW7.mjs → user-invite-KUH4AI2L.mjs} +4 -3
  225. package/dist/{user-list-MKJLB5CQ.mjs → user-list-G4H2RSDX.mjs} +4 -3
  226. package/dist/{user-metadata-ZURLDLGC.mjs → user-metadata-2CR2AK3U.mjs} +14 -12
  227. package/dist/{workflow-execution-detail-4R6AFFHV.mjs → workflow-execution-detail-ZD7OVL4W.mjs} +18 -13
  228. package/dist/{workflow-execution-list-5J3DQQRD.mjs → workflow-execution-list-5WL4L464.mjs} +4 -3
  229. package/package.json +9 -9
  230. package/src/components/common/action-menu/action-menu.tsx +3 -1
  231. package/src/components/common/customer-info/customer-info.tsx +1 -1
  232. package/src/components/common/json-view-section/json-view-section.tsx +4 -1
  233. package/src/components/common/sidebar-link/sidebar-link.tsx +1 -1
  234. package/src/components/common/switch-box/switch-box.tsx +2 -0
  235. package/src/components/data-grid/components/data-grid-root.tsx +9 -3
  236. package/src/components/data-grid/components/data-grid-toggleable-number-cell.tsx +2 -1
  237. package/src/components/filtering/filter-group/filter-group.tsx +5 -1
  238. package/src/components/filtering/order-by/order-by.tsx +4 -1
  239. package/src/components/forms/address-form/address-form.tsx +7 -2
  240. package/src/components/forms/metadata-form/metadata-form.tsx +6 -3
  241. package/src/components/inputs/combobox/combobox.tsx +11 -11
  242. package/src/components/inputs/country-select/country-select.tsx +1 -1
  243. package/src/components/inputs/province-select/province-select.tsx +1 -1
  244. package/src/components/layout/main-layout/main-layout.tsx +7 -5
  245. package/src/components/layout/settings-layout/settings-layout.tsx +4 -0
  246. package/src/components/layout/shell/shell.tsx +6 -6
  247. package/src/components/layout/user-menu/user-menu.tsx +12 -10
  248. package/src/components/search/search.tsx +5 -3
  249. package/src/components/table/data-table/data-table-order-by/data-table-order-by.tsx +4 -1
  250. package/src/components/table/data-table/data-table-root/data-table-root.tsx +3 -3
  251. package/src/dashboard-app/forms/form-extension-zone/form-extension-zone.tsx +1 -1
  252. package/src/dashboard-app/routes/get-route.map.tsx +36 -0
  253. package/src/hooks/api/campaigns.tsx +1 -0
  254. package/src/hooks/api/inventory.tsx +3 -0
  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 +11 -2
  323. package/src/routes/regions/region-edit/components/edit-region-form/edit-region-form.tsx +11 -2
  324. package/src/routes/reservations/reservation-detail/components/edit-reservation/components/edit-reservation-form.tsx +3 -1
  325. package/src/routes/sales-channels/sales-channel-create/components/create-sales-channel-form/create-sales-channel-form.tsx +2 -0
  326. package/src/routes/sales-channels/sales-channel-edit/components/edit-sales-channel-form/edit-sales-channel-form.tsx +2 -0
  327. package/src/routes/store/store-add-currencies/components/add-currencies-form/add-currencies-form.tsx +2 -0
  328. package/src/routes/store/store-edit/components/edit-store-form/edit-store-form.tsx +7 -2
  329. package/src/routes/tax-regions/tax-region-tax-override-create/components/tax-region-override-create-form/tax-region-tax-override-create.tsx +3 -1
  330. 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
  331. package/src/routes/workflow-executions/workflow-execution-detail/components/workflow-execution-timeline-section/workflow-execution-timeline-section.tsx +3 -2
  332. package/dist/manage-locations-3TBIUSHP.mjs +0 -236
@@ -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
  }
@@ -251,7 +251,7 @@ const ComboboxImpl = <T extends Value = string>(
251
251
  e.preventDefault()
252
252
  handleValueChange(isArrayValue ? ([] as unknown as T) : undefined)
253
253
  }}
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"
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 start-0.5 top-0.5 z-[1] flex h-[28px] items-center rounded-[4px] border py-[3px] ps-1.5 pe-1 outline-none"
255
255
  >
256
256
  <span className="tabular-nums">{selectedValues.length}</span>
257
257
  <XMarkMini className="text-ui-fg-muted" />
@@ -263,8 +263,8 @@ const ComboboxImpl = <T extends Value = string>(
263
263
  className={clx(
264
264
  "pointer-events-none absolute inset-y-0 flex size-full items-center",
265
265
  {
266
- "left-[calc(var(--tag-width)+8px)]": showTag,
267
- "left-2": !showTag,
266
+ "start-[calc(var(--tag-width)+8px)]": showTag,
267
+ "start-2": !showTag,
268
268
  }
269
269
  )}
270
270
  >
@@ -278,8 +278,8 @@ const ComboboxImpl = <T extends Value = string>(
278
278
  className={clx(
279
279
  "pointer-events-none absolute inset-y-0 flex size-full items-center overflow-hidden",
280
280
  {
281
- "left-[calc(var(--tag-width)+8px)]": showTag,
282
- "left-2": !showTag,
281
+ "start-[calc(var(--tag-width)+8px)]": showTag,
282
+ "start-2": !showTag,
283
283
  }
284
284
  )}
285
285
  >
@@ -293,12 +293,12 @@ const ComboboxImpl = <T extends Value = string>(
293
293
  ref={comboboxRef}
294
294
  onFocus={() => setOpen(true)}
295
295
  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",
296
+ "txt-compact-small text-ui-fg-base !placeholder:text-ui-fg-muted transition-fg size-full cursor-pointer bg-transparent ps-2 pe-8 outline-none focus:cursor-text",
297
297
  "hover:bg-ui-bg-field-hover",
298
298
  {
299
299
  "opacity-0": hideInput,
300
- "pl-2": !showTag,
301
- "pl-[calc(var(--tag-width)+8px)]": showTag,
300
+ "ps-2": !showTag,
301
+ "ps-[calc(var(--tag-width)+8px)]": showTag,
302
302
  }
303
303
  )}
304
304
  placeholder={hidePlaceholder ? undefined : placeholder}
@@ -312,7 +312,7 @@ const ComboboxImpl = <T extends Value = string>(
312
312
  e.preventDefault()
313
313
  handleValueChange(undefined)
314
314
  }}
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"
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 end-[28px] top-0.5 z-[1] flex h-[28px] items-center rounded-[4px] border px-1.5 py-[2px] outline-none"
316
316
  >
317
317
  <XMarkMini className="text-ui-fg-muted" />
318
318
  </button>
@@ -323,7 +323,7 @@ const ComboboxImpl = <T extends Value = string>(
323
323
  <button
324
324
  {...props}
325
325
  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"
326
+ 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
327
  >
328
328
  <TrianglesMini />
329
329
  </button>
@@ -341,7 +341,7 @@ const ComboboxImpl = <T extends Value = string>(
341
341
  "max-h-[200px] overflow-y-auto",
342
342
  "data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95",
343
343
  "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"
344
+ "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
345
  )}
346
346
  style={{
347
347
  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,
@@ -241,6 +241,9 @@ export const useBatchInventoryItemLocationLevels = (
241
241
  queryClient.invalidateQueries({
242
242
  queryKey: inventoryItemLevelsQueryKeys.detail(inventoryItemId),
243
243
  })
244
+ queryClient.invalidateQueries({
245
+ queryKey: inventoryItemLevelsQueryKeys.list({ inventoryItemId }),
246
+ })
244
247
  options?.onSuccess?.(data, variables, context)
245
248
  },
246
249
  ...options,
@@ -1,29 +1,124 @@
1
1
  import { HttpTypes } from "@medusajs/types"
2
- import { QueryKey, useQuery, UseQueryOptions } from "@tanstack/react-query"
2
+ import {
3
+ useMutation,
4
+ UseMutationOptions,
5
+ useQuery,
6
+ UseQueryOptions,
7
+ } from "@tanstack/react-query"
8
+
9
+ import { FetchError } from "@medusajs/js-sdk"
3
10
  import { sdk } from "../../lib/client"
11
+ import { queryClient } from "../../lib/query-client"
4
12
  import { queryKeysFactory } from "../../lib/query-key-factory"
5
- import { FetchError } from "@medusajs/js-sdk"
6
13
 
7
- const REFUND_REASON_QUERY_KEY = "refund-reason" as const
8
- export const refundReasonQueryKeys = queryKeysFactory(REFUND_REASON_QUERY_KEY)
14
+ const REFUND_REASONS_QUERY_KEY = "refund_reasons" as const
15
+ export const refundReasonsQueryKeys = queryKeysFactory(REFUND_REASONS_QUERY_KEY)
9
16
 
10
17
  export const useRefundReasons = (
11
- query?: HttpTypes.RefundReasonFilters,
18
+ query?: HttpTypes.AdminRefundReasonListParams,
12
19
  options?: Omit<
13
20
  UseQueryOptions<
14
- HttpTypes.RefundReasonsResponse,
21
+ HttpTypes.AdminRefundReasonListResponse,
15
22
  FetchError,
16
- HttpTypes.RefundReasonsResponse,
17
- QueryKey
23
+ HttpTypes.AdminRefundReasonListResponse
18
24
  >,
19
- "queryKey" | "queryFn"
25
+ "queryFn" | "queryKey"
20
26
  >
21
27
  ) => {
22
28
  const { data, ...rest } = useQuery({
23
29
  queryFn: () => sdk.admin.refundReason.list(query),
24
- queryKey: [],
30
+ queryKey: refundReasonsQueryKeys.list(query),
25
31
  ...options,
26
32
  })
27
33
 
28
34
  return { ...data, ...rest }
29
35
  }
36
+
37
+ export const useRefundReason = (
38
+ id: string,
39
+ query?: HttpTypes.AdminRefundReasonParams,
40
+ options?: Omit<
41
+ UseQueryOptions<
42
+ HttpTypes.AdminRefundReasonResponse,
43
+ FetchError,
44
+ HttpTypes.AdminRefundReasonResponse
45
+ >,
46
+ "queryFn" | "queryKey"
47
+ >
48
+ ) => {
49
+ const { data, ...rest } = useQuery({
50
+ queryFn: () => sdk.admin.refundReason.retrieve(id, query),
51
+ queryKey: refundReasonsQueryKeys.detail(id),
52
+ ...options,
53
+ })
54
+
55
+ return { ...data, ...rest }
56
+ }
57
+
58
+ export const useCreateRefundReason = (
59
+ query?: HttpTypes.AdminRefundReasonParams,
60
+ options?: UseMutationOptions<
61
+ HttpTypes.RefundReasonResponse,
62
+ FetchError,
63
+ HttpTypes.AdminCreateRefundReason
64
+ >
65
+ ) => {
66
+ return useMutation({
67
+ mutationFn: async (data) => sdk.admin.refundReason.create(data, query),
68
+ onSuccess: (data, variables, context) => {
69
+ queryClient.invalidateQueries({
70
+ queryKey: refundReasonsQueryKeys.lists(),
71
+ })
72
+
73
+ options?.onSuccess?.(data, variables, context)
74
+ },
75
+ ...options,
76
+ })
77
+ }
78
+
79
+ export const useUpdateRefundReason = (
80
+ id: string,
81
+ options?: UseMutationOptions<
82
+ HttpTypes.AdminRefundReasonResponse,
83
+ FetchError,
84
+ HttpTypes.AdminUpdateRefundReason
85
+ >
86
+ ) => {
87
+ return useMutation({
88
+ mutationFn: async (data) => sdk.admin.refundReason.update(id, data),
89
+ onSuccess: (data, variables, context) => {
90
+ queryClient.invalidateQueries({
91
+ queryKey: refundReasonsQueryKeys.lists(),
92
+ })
93
+ queryClient.invalidateQueries({
94
+ queryKey: refundReasonsQueryKeys.detail(data.refund_reason.id),
95
+ })
96
+
97
+ options?.onSuccess?.(data, variables, context)
98
+ },
99
+ ...options,
100
+ })
101
+ }
102
+
103
+ export const useDeleteRefundReasonLazy = (
104
+ options?: UseMutationOptions<
105
+ HttpTypes.AdminRefundReasonDeleteResponse,
106
+ FetchError,
107
+ string
108
+ >
109
+ ) => {
110
+ return useMutation({
111
+ mutationFn: (id: string) => sdk.admin.refundReason.delete(id),
112
+ onSuccess: (data, variables, context) => {
113
+ queryClient.invalidateQueries({
114
+ queryKey: refundReasonsQueryKeys.lists(),
115
+ })
116
+ queryClient.invalidateQueries({
117
+ queryKey: refundReasonsQueryKeys.details(),
118
+ })
119
+
120
+ options?.onSuccess?.(data, variables, context)
121
+ },
122
+ ...options,
123
+ })
124
+ }
@@ -6,6 +6,7 @@ export * from "./use-order-table-columns"
6
6
  export * from "./use-product-table-columns"
7
7
  export * from "./use-product-tag-table-columns"
8
8
  export * from "./use-product-type-table-columns"
9
+ export * from "./use-refund-reason-table-columns"
9
10
  export * from "./use-region-table-columns"
10
11
  export * from "./use-return-reason-table-columns"
11
12
  export * from "./use-tax-rates-table-columns"
@@ -0,0 +1,32 @@
1
+ import { HttpTypes } from "@medusajs/types"
2
+ import { useMemo } from "react"
3
+ import { useTranslation } from "react-i18next"
4
+ import { createDataTableColumnHelper } from "@medusajs/ui"
5
+ import { DescriptionCell } from "../../../components/table/table-cells/sales-channel/description-cell"
6
+
7
+ const columnHelper = createDataTableColumnHelper<HttpTypes.AdminRefundReason>()
8
+
9
+ export const useRefundReasonTableColumns = () => {
10
+ const { t } = useTranslation()
11
+
12
+ return useMemo(
13
+ () => [
14
+ columnHelper.accessor("label", {
15
+ header: () => t("fields.label"),
16
+ enableSorting: true,
17
+ sortLabel: t("fields.label"),
18
+ sortAscLabel: t("filters.sorting.alphabeticallyAsc"),
19
+ sortDescLabel: t("filters.sorting.alphabeticallyDesc"),
20
+ }),
21
+ columnHelper.accessor("description", {
22
+ header: () => t("fields.description"),
23
+ cell: ({ getValue }) => <DescriptionCell description={getValue()} />,
24
+ enableSorting: true,
25
+ sortLabel: t("fields.description"),
26
+ sortAscLabel: t("filters.sorting.alphabeticallyAsc"),
27
+ sortDescLabel: t("filters.sorting.alphabeticallyDesc"),
28
+ }),
29
+ ],
30
+ [t]
31
+ )
32
+ }