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

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 (231) hide show
  1. package/dist/{add-campaign-promotions-PHAHMGXP.mjs → add-campaign-promotions-JQKPED4U.mjs} +2 -2
  2. package/dist/{adjust-inventory-I5VYMAI4.mjs → adjust-inventory-2MFA656V.mjs} +2 -2
  3. package/dist/{api-key-management-create-CVRFY4PL.mjs → api-key-management-create-ZUVF3SLR.mjs} +2 -2
  4. package/dist/{api-key-management-detail-G7O7TDPW.mjs → api-key-management-detail-F7ZRCFPA.mjs} +4 -4
  5. package/dist/{api-key-management-edit-JMU3WEPX.mjs → api-key-management-edit-42HNUSXL.mjs} +2 -2
  6. package/dist/{api-key-management-sales-channels-4OU5VGIG.mjs → api-key-management-sales-channels-7FVABESO.mjs} +2 -2
  7. package/dist/app.css +0 -35
  8. package/dist/app.js +11812 -12954
  9. package/dist/app.mjs +4 -4
  10. package/dist/{campaign-budget-edit-B5MSE26J.mjs → campaign-budget-edit-6DMZGUCI.mjs} +2 -2
  11. package/dist/{campaign-configuration-QOE3D2BE.mjs → campaign-configuration-UNFRB5HR.mjs} +2 -2
  12. package/dist/{campaign-create-FJOECKGT.mjs → campaign-create-QXG7PD3S.mjs} +3 -3
  13. package/dist/{campaign-detail-I2N5WUEC.mjs → campaign-detail-6VNSVZHQ.mjs} +3 -3
  14. package/dist/{campaign-edit-K2POQH7M.mjs → campaign-edit-HN4US7DV.mjs} +2 -2
  15. package/dist/{categories-metadata-DNVBNWAJ.mjs → categories-metadata-ORPB2LIW.mjs} +6 -6
  16. package/dist/{category-create-L2KJCHPO.mjs → category-create-FFIBWXAH.mjs} +2 -2
  17. package/dist/{category-detail-XEFMQSZG.mjs → category-detail-RICXPIVS.mjs} +6 -22
  18. package/dist/{category-edit-U6SLZSAX.mjs → category-edit-74MZ6TXN.mjs} +2 -2
  19. package/dist/{category-list-W7JW4PWA.mjs → category-list-AH2EGTI7.mjs} +1 -16
  20. package/dist/{category-organize-LLSVAO3U.mjs → category-organize-B6EFBFKB.mjs} +2 -2
  21. package/dist/{category-products-LF7P7MBF.mjs → category-products-L4XIX3IQ.mjs} +6 -6
  22. package/dist/{chunk-RKUXD6IZ.mjs → chunk-25UWYEJX.mjs} +1 -1
  23. package/dist/{chunk-BZKI5J2M.mjs → chunk-3YPRDSZ6.mjs} +1 -1
  24. package/dist/{chunk-D6UW7URG.mjs → chunk-42OOM4DJ.mjs} +6 -23
  25. package/dist/{chunk-7GJ5T4R3.mjs → chunk-4G2UHUXX.mjs} +2 -2
  26. package/dist/{chunk-FPBKWWSI.mjs → chunk-4YAPXPLM.mjs} +1 -1
  27. package/dist/{chunk-DCYB22MH.mjs → chunk-AMOGGDOW.mjs} +1 -1
  28. package/dist/{chunk-HPPR6PXK.mjs → chunk-CZFLKMYE.mjs} +1 -1
  29. package/dist/{chunk-N3SAXQVR.mjs → chunk-D4J3CEWH.mjs} +2 -2
  30. package/dist/{chunk-F5I264Q3.mjs → chunk-EQTBJSBZ.mjs} +0 -3
  31. package/dist/{chunk-UEJOY5PF.mjs → chunk-EXDBX4YX.mjs} +3 -3
  32. package/dist/{chunk-I6C52ARQ.mjs → chunk-HWKLNKOY.mjs} +1 -1
  33. package/dist/{chunk-3ESSTIV2.mjs → chunk-JUVGXLY5.mjs} +12 -187
  34. package/dist/{chunk-LCEKY54O.mjs → chunk-KF7ZWW4K.mjs} +2 -2
  35. package/dist/{chunk-YIOBBZUB.mjs → chunk-L4NOVTH5.mjs} +2 -2
  36. package/dist/{chunk-DS5IRNJY.mjs → chunk-LHNU4DYZ.mjs} +2 -2
  37. package/dist/{chunk-3BJLNORD.mjs → chunk-PNPT4W2F.mjs} +1 -1
  38. package/dist/{chunk-ZADXDNB3.mjs → chunk-Q4E6LV6K.mjs} +180 -230
  39. package/dist/{chunk-6GLZIACV.mjs → chunk-Q6MSICBU.mjs} +1 -1
  40. package/dist/{chunk-PS5T2R6J.mjs → chunk-UKECZ5PA.mjs} +3 -3
  41. package/dist/{chunk-CFQNWTZV.mjs → chunk-UM4OIJZ3.mjs} +1 -1
  42. package/dist/{chunk-FEB3ZGTL.mjs → chunk-W7SLPIO2.mjs} +17 -214
  43. package/dist/{chunk-R2EBIESZ.mjs → chunk-XTQ7UFA3.mjs} +1 -1
  44. package/dist/{chunk-WVA4O7QS.mjs → chunk-XXBP2Z5M.mjs} +1 -1
  45. package/dist/{chunk-AFXODJBA.mjs → chunk-YV4ANEZF.mjs} +1 -1
  46. package/dist/{collection-add-products-EM7SAFEH.mjs → collection-add-products-MO4FGYD5.mjs} +6 -6
  47. package/dist/{collection-create-4JX4YE47.mjs → collection-create-DCRW344Z.mjs} +2 -2
  48. package/dist/{collection-detail-UQXMMKRW.mjs → collection-detail-ZCHVPXW5.mjs} +5 -20
  49. package/dist/{collection-edit-MXL35GQQ.mjs → collection-edit-UNFEW6HT.mjs} +2 -2
  50. package/dist/{collection-list-EO56ZH4Q.mjs → collection-list-3UUFO7AP.mjs} +5 -20
  51. package/dist/{collection-metadata-UXEYXJY4.mjs → collection-metadata-ZOYQDOOT.mjs} +6 -6
  52. package/dist/{customer-create-IA56MXE6.mjs → customer-create-XCLZENJS.mjs} +2 -2
  53. package/dist/{customer-create-address-27M25HTO.mjs → customer-create-address-4HZUIAM7.mjs} +2 -2
  54. package/dist/{customer-detail-OD5I5YWW.mjs → customer-detail-RMZTHQIQ.mjs} +3 -3
  55. package/dist/{customer-edit-XQ5NWIVX.mjs → customer-edit-BW5GVTQI.mjs} +2 -2
  56. package/dist/{customer-group-add-customers-FRJP6RCY.mjs → customer-group-add-customers-HUGHHMU6.mjs} +2 -2
  57. package/dist/{customer-group-create-RY4FVEIW.mjs → customer-group-create-6YV7W6TI.mjs} +2 -2
  58. package/dist/{customer-group-detail-SOWUWFJ4.mjs → customer-group-detail-4S7WB3WV.mjs} +3 -3
  59. package/dist/{customer-group-edit-MQWARIQZ.mjs → customer-group-edit-7NXU34BQ.mjs} +2 -2
  60. package/dist/{customer-group-list-A5LER6CN.mjs → customer-group-list-JQX6PW6E.mjs} +3 -3
  61. package/dist/{customer-group-metadata-JQJRLLXG.mjs → customer-group-metadata-WK2BGEGO.mjs} +3 -3
  62. package/dist/{customer-metadata-HN2DYD5I.mjs → customer-metadata-ZUWCUTM7.mjs} +3 -3
  63. package/dist/{customers-add-customer-group-75EEIDW6.mjs → customers-add-customer-group-JKTM33OU.mjs} +5 -5
  64. package/dist/{edit-inventory-item-RATTNP2Y.mjs → edit-inventory-item-Y5W6VTHJ.mjs} +2 -2
  65. package/dist/{edit-inventory-item-attributes-JHH5GSNL.mjs → edit-inventory-item-attributes-NAAZDFEJ.mjs} +2 -2
  66. package/dist/{edit-reservation-UZCSNLHY.mjs → edit-reservation-2UD4RZJX.mjs} +2 -2
  67. package/dist/{edit-rules-IKV4MGHV.mjs → edit-rules-AXG2NQNS.mjs} +5 -5
  68. package/dist/en.json +0 -12
  69. package/dist/{inventory-create-DBD7EA7N.mjs → inventory-create-6SKU4TZL.mjs} +6 -6
  70. package/dist/{inventory-detail-Q2HAUD2Y.mjs → inventory-detail-LAYYI2QT.mjs} +3 -3
  71. package/dist/{inventory-metadata-NQXJBGAQ.mjs → inventory-metadata-Q6E6SZF3.mjs} +6 -6
  72. package/dist/{inventory-stock-WAZ7CXTY.mjs → inventory-stock-SNAWXRBE.mjs} +7 -7
  73. package/dist/{invite-WISVECE2.mjs → invite-VKHAAF4Z.mjs} +2 -3
  74. package/dist/{location-create-WZ43K3W7.mjs → location-create-RPLEXUZR.mjs} +2 -2
  75. package/dist/{location-detail-2LKEMZ3X.mjs → location-detail-XXH22FLG.mjs} +5 -7
  76. package/dist/{location-edit-VCS7GVWQ.mjs → location-edit-L4ISEQHX.mjs} +2 -2
  77. package/dist/{location-fulfillment-providers-6WNUCXQL.mjs → location-fulfillment-providers-FSC27EK7.mjs} +6 -6
  78. package/dist/{location-list-UK3WRDL5.mjs → location-list-Z42ZYHUF.mjs} +2 -3
  79. package/dist/{location-sales-channels-NKNM5TQK.mjs → location-sales-channels-YMABMECM.mjs} +2 -2
  80. package/dist/{location-service-zone-create-3FWF3DG5.mjs → location-service-zone-create-NSMZCD5N.mjs} +3 -3
  81. package/dist/{location-service-zone-edit-KHHMSPXD.mjs → location-service-zone-edit-6OUAFEZD.mjs} +2 -2
  82. package/dist/{location-service-zone-manage-areas-YFEAZUUN.mjs → location-service-zone-manage-areas-SEC6LKCZ.mjs} +3 -3
  83. package/dist/{location-service-zone-shipping-option-create-DSLYSNY4.mjs → location-service-zone-shipping-option-create-GWNLLSM5.mjs} +7 -7
  84. package/dist/{location-service-zone-shipping-option-edit-QCURIIGL.mjs → location-service-zone-shipping-option-edit-QS6HTWST.mjs} +2 -2
  85. package/dist/{location-service-zone-shipping-option-pricing-Z5IFOLFJ.mjs → location-service-zone-shipping-option-pricing-23QLNSBT.mjs} +4 -4
  86. package/dist/{login-2DAZRDSC.mjs → login-MFUCIAT6.mjs} +5 -6
  87. package/dist/{manage-locations-MLNMPQ5I.mjs → manage-locations-JD6FSBOT.mjs} +2 -2
  88. package/dist/{order-allocate-items-I5KMPZY5.mjs → order-allocate-items-3DDI4V3W.mjs} +2 -2
  89. package/dist/{order-create-claim-E543W2TJ.mjs → order-create-claim-G7BDA7WR.mjs} +5 -5
  90. package/dist/{order-create-edit-HDWLEUKF.mjs → order-create-edit-BXYPZRZV.mjs} +5 -5
  91. package/dist/{order-create-exchange-HBQWTMXR.mjs → order-create-exchange-AGEXEKOF.mjs} +5 -5
  92. package/dist/{order-create-fulfillment-PN3HLLB2.mjs → order-create-fulfillment-GMLSBCEK.mjs} +5 -5
  93. package/dist/{order-create-refund-EC7XRI5O.mjs → order-create-refund-BT33POIN.mjs} +5 -5
  94. package/dist/{order-create-return-LTGYASZZ.mjs → order-create-return-QGXWSPMP.mjs} +2 -2
  95. package/dist/{order-create-shipment-CPEAPIJU.mjs → order-create-shipment-ZVTOKNC4.mjs} +5 -5
  96. package/dist/{order-detail-MPNBAUUI.mjs → order-detail-MORQRSHL.mjs} +3 -3
  97. package/dist/{order-edit-billing-address-KMV6RJ6F.mjs → order-edit-billing-address-IUVC4GSZ.mjs} +5 -5
  98. package/dist/{order-edit-email-377D6O22.mjs → order-edit-email-MKLJPREH.mjs} +5 -5
  99. package/dist/{order-edit-shipping-address-HEFMKAJP.mjs → order-edit-shipping-address-GFSRTDFG.mjs} +5 -5
  100. package/dist/{order-metadata-QABOWLXK.mjs → order-metadata-BRSYOGKE.mjs} +6 -6
  101. package/dist/{order-receive-return-4WFBZ2T7.mjs → order-receive-return-NI345L43.mjs} +5 -5
  102. package/dist/{order-request-transfer-ISZSSGKO.mjs → order-request-transfer-ZGGIUFRV.mjs} +5 -5
  103. package/dist/{price-list-configuration-WZFAJ7ZM.mjs → price-list-configuration-CWTP3Y5X.mjs} +3 -3
  104. package/dist/{price-list-create-DQFXQ247.mjs → price-list-create-HDYM5ZGW.mjs} +9 -9
  105. package/dist/{price-list-detail-WWJPFIT2.mjs → price-list-detail-GVGNB5AY.mjs} +4 -4
  106. package/dist/{price-list-edit-I5QNCWJP.mjs → price-list-edit-SW7YIR3Z.mjs} +2 -2
  107. package/dist/{price-list-prices-add-6BCDF4DE.mjs → price-list-prices-add-P4XHE3F4.mjs} +8 -8
  108. package/dist/{price-list-prices-edit-Z4YJ4YBY.mjs → price-list-prices-edit-C6SX2TLJ.mjs} +4 -4
  109. package/dist/{product-attributes-RKEXUYKR.mjs → product-attributes-AXSXHPI5.mjs} +6 -6
  110. package/dist/{product-create-S7YVI2MR.mjs → product-create-CAGTWFTS.mjs} +7 -7
  111. package/dist/{product-create-option-UMZKRNTC.mjs → product-create-option-GEGQNSMQ.mjs} +2 -2
  112. package/dist/{product-create-variant-JRKDSU6D.mjs → product-create-variant-5DLZZQPL.mjs} +6 -6
  113. package/dist/{product-detail-G7ZVDV46.mjs → product-detail-FSORFVRL.mjs} +10 -52
  114. package/dist/{product-edit-CMHKUDQP.mjs → product-edit-EYQIREZ6.mjs} +6 -6
  115. package/dist/{product-edit-option-ZMTSLRG5.mjs → product-edit-option-HBIOBQTS.mjs} +2 -2
  116. package/dist/{product-export-H7KYYMGI.mjs → product-export-4XRDDWZQ.mjs} +6 -6
  117. package/dist/{product-image-variants-edit-HU6NVV6T.mjs → product-image-variants-edit-KCFCTXE2.mjs} +5 -5
  118. package/dist/{product-import-5PKTI7YC.mjs → product-import-JTEXWYY7.mjs} +5 -5
  119. package/dist/{product-list-ABFSFWKV.mjs → product-list-T4OZG4OC.mjs} +5 -17
  120. package/dist/{product-media-ULNJ7JJY.mjs → product-media-EGK66SRX.mjs} +2 -2
  121. package/dist/{product-metadata-GHL5HV37.mjs → product-metadata-5BLG4EIR.mjs} +6 -6
  122. package/dist/{product-organization-Z7SXABDX.mjs → product-organization-BEXN2KXC.mjs} +6 -6
  123. package/dist/{product-prices-5WCCQDS6.mjs → product-prices-WQDE4XYT.mjs} +3 -3
  124. package/dist/{product-sales-channels-2PN4L7II.mjs → product-sales-channels-ZICOOOKY.mjs} +2 -2
  125. package/dist/{product-shipping-profile-45XXB7FM.mjs → product-shipping-profile-KIDRTPWA.mjs} +2 -2
  126. package/dist/{product-stock-NHC7WD6Z.mjs → product-stock-SSJVQPBZ.mjs} +7 -7
  127. package/dist/{product-tag-create-MQ6AUCQM.mjs → product-tag-create-ZPYRJTC4.mjs} +5 -5
  128. package/dist/{product-tag-detail-CGURSGJE.mjs → product-tag-detail-VRGVJNDT.mjs} +6 -21
  129. package/dist/{product-tag-edit-TOJYTW4H.mjs → product-tag-edit-2KFYOID4.mjs} +5 -5
  130. package/dist/{product-tag-list-2U4CIGK5.mjs → product-tag-list-WTX6GV7O.mjs} +6 -21
  131. package/dist/{product-tag-metadata-JMFWGTR3.mjs → product-tag-metadata-Y7YHTUKM.mjs} +6 -6
  132. package/dist/{product-type-create-KHSNCQCV.mjs → product-type-create-HBDROTGB.mjs} +2 -2
  133. package/dist/{product-type-detail-UY6Y3T3G.mjs → product-type-detail-3ZLSMENL.mjs} +5 -20
  134. package/dist/{product-type-edit-3LRBWZ3S.mjs → product-type-edit-H3JCMVRV.mjs} +2 -2
  135. package/dist/{product-type-list-XU6DADMO.mjs → product-type-list-QX7QC6RI.mjs} +1 -16
  136. package/dist/{product-type-metadata-EGMTZ622.mjs → product-type-metadata-GJACA4N6.mjs} +6 -6
  137. package/dist/{product-variant-detail-5EKVJXUT.mjs → product-variant-detail-L5G4CPVH.mjs} +5 -21
  138. package/dist/{product-variant-edit-KKLHPWXO.mjs → product-variant-edit-YXALQPQT.mjs} +5 -5
  139. package/dist/{product-variant-manage-inventory-items-OGM64KYP.mjs → product-variant-manage-inventory-items-BLHCH6QD.mjs} +2 -2
  140. package/dist/{product-variant-media-C3KCFODU.mjs → product-variant-media-KLSUISGH.mjs} +2 -2
  141. package/dist/{product-variant-metadata-LBOIYBBF.mjs → product-variant-metadata-OQOE34VY.mjs} +6 -6
  142. package/dist/{profile-edit-YZCUGEXF.mjs → profile-edit-5EEKOEO5.mjs} +2 -2
  143. package/dist/{promotion-add-campaign-DO67QK6M.mjs → promotion-add-campaign-JRTM7WBR.mjs} +3 -3
  144. package/dist/{promotion-create-U6CJPBYU.mjs → promotion-create-OXNLKBL7.mjs} +7 -7
  145. package/dist/{promotion-detail-BYXN4YXZ.mjs → promotion-detail-N6VHHN3X.mjs} +3 -3
  146. package/dist/{promotion-edit-details-6BSOOWQN.mjs → promotion-edit-details-AREFQ6O5.mjs} +2 -2
  147. package/dist/{refund-reason-create-TFC4T4GK.mjs → refund-reason-create-L36EUXXM.mjs} +5 -5
  148. package/dist/{refund-reason-edit-WTM7WR5V.mjs → refund-reason-edit-364ALB4G.mjs} +5 -5
  149. package/dist/{refund-reason-list-7Q6WDYH6.mjs → refund-reason-list-ICO2GYRP.mjs} +3 -3
  150. package/dist/{region-add-countries-7U4J5RW6.mjs → region-add-countries-AFWXMQ6W.mjs} +2 -2
  151. package/dist/{region-create-IUGX33M5.mjs → region-create-YC4VZ4AS.mjs} +2 -2
  152. package/dist/{region-edit-WAU347DP.mjs → region-edit-5GO25GDF.mjs} +2 -2
  153. package/dist/{region-metadata-EGOMWMMB.mjs → region-metadata-VNLW6NYZ.mjs} +6 -6
  154. package/dist/{reservation-create-C6HTEF3R.mjs → reservation-create-Z2SUMBGT.mjs} +2 -2
  155. package/dist/{reservation-detail-FYS6LFU6.mjs → reservation-detail-YXIUIN5I.mjs} +3 -3
  156. package/dist/{reservation-metadata-LZJV35OW.mjs → reservation-metadata-7H7TYWZW.mjs} +6 -6
  157. package/dist/{reset-password-XKX43KUT.mjs → reset-password-5TAYQEUV.mjs} +2 -3
  158. package/dist/{return-reason-create-HM54WRJY.mjs → return-reason-create-NXWDC6AC.mjs} +2 -2
  159. package/dist/{return-reason-edit-VSIRHVQ6.mjs → return-reason-edit-M6IKNNKB.mjs} +2 -2
  160. package/dist/{sales-channel-add-products-XPS4JTBL.mjs → sales-channel-add-products-N7EPWF2N.mjs} +6 -6
  161. package/dist/{sales-channel-create-4XLJDVJO.mjs → sales-channel-create-E7BDTPWD.mjs} +2 -2
  162. package/dist/{sales-channel-detail-5YUELAQ5.mjs → sales-channel-detail-DV6BKC5B.mjs} +4 -4
  163. package/dist/{sales-channel-edit-UZGSXD5X.mjs → sales-channel-edit-HMPA3Y3L.mjs} +2 -2
  164. package/dist/{sales-channel-list-N3KDOVBS.mjs → sales-channel-list-33QC2ZXP.mjs} +3 -3
  165. package/dist/{sales-channel-metadata-MU4BVKOJ.mjs → sales-channel-metadata-HYYQEVRZ.mjs} +6 -6
  166. package/dist/{shipping-option-type-create-AS4AVWZV.mjs → shipping-option-type-create-IXYDKBKG.mjs} +5 -5
  167. package/dist/{shipping-option-type-detail-MCFL4BJE.mjs → shipping-option-type-detail-WMZ3DEY6.mjs} +4 -4
  168. package/dist/{shipping-option-type-edit-PJOD3TA4.mjs → shipping-option-type-edit-YYO3Q2QV.mjs} +5 -5
  169. package/dist/{shipping-option-type-list-VD567MQD.mjs → shipping-option-type-list-YAL6IQF2.mjs} +4 -4
  170. package/dist/{shipping-profile-create-26R64I3Z.mjs → shipping-profile-create-752TMBBE.mjs} +2 -2
  171. package/dist/{shipping-profile-metadata-6MHI75CB.mjs → shipping-profile-metadata-YBXPOVZF.mjs} +6 -6
  172. package/dist/{store-add-currencies-ZFS3WZHG.mjs → store-add-currencies-3VMLZ6KB.mjs} +2 -2
  173. package/dist/{store-add-locales-ERJXWD4L.mjs → store-add-locales-AYY44DB3.mjs} +4 -4
  174. package/dist/{store-detail-EGDXIVWC.mjs → store-detail-4YVABC3P.mjs} +3 -3
  175. package/dist/{store-edit-AB5CDUTK.mjs → store-edit-EPAHLLKP.mjs} +2 -2
  176. package/dist/{store-metadata-ZBUQ62YT.mjs → store-metadata-QQD2NP5U.mjs} +6 -6
  177. package/dist/{tax-region-create-N4YVNQKV.mjs → tax-region-create-AFGAIC3C.mjs} +5 -5
  178. package/dist/{tax-region-detail-UJASYH57.mjs → tax-region-detail-LM7VIA2N.mjs} +12 -13
  179. package/dist/{tax-region-edit-W3B5EUCJ.mjs → tax-region-edit-ZLSY22NQ.mjs} +5 -5
  180. package/dist/{tax-region-list-4MQMCMKY.mjs → tax-region-list-BXZBUXRJ.mjs} +3 -4
  181. package/dist/{tax-region-province-create-GKJ7WMRS.mjs → tax-region-province-create-5JP3PVID.mjs} +2 -2
  182. package/dist/{tax-region-province-detail-K4PDPHXP.mjs → tax-region-province-detail-ZF75A3Z2.mjs} +11 -12
  183. package/dist/{tax-region-tax-override-create-NUI4Z76X.mjs → tax-region-tax-override-create-JVMTMMWB.mjs} +7 -7
  184. package/dist/{tax-region-tax-override-edit-Q4GJHUMJ.mjs → tax-region-tax-override-edit-HS4BCVC7.mjs} +8 -8
  185. package/dist/{tax-region-tax-rate-create-MECFGVPL.mjs → tax-region-tax-rate-create-O2SDSXCH.mjs} +2 -2
  186. package/dist/{tax-region-tax-rate-edit-7DYSPYOD.mjs → tax-region-tax-rate-edit-W62VEVKT.mjs} +2 -2
  187. package/dist/{user-edit-ZBB4RMTP.mjs → user-edit-LXQCTDGA.mjs} +2 -2
  188. package/dist/{user-invite-XB635N26.mjs → user-invite-2OKB7SCF.mjs} +2 -2
  189. package/dist/{user-metadata-2FTA4EB3.mjs → user-metadata-U3WGLABX.mjs} +6 -6
  190. package/dist/{workflow-execution-detail-MGIZSKVA.mjs → workflow-execution-detail-L4IESFKA.mjs} +3 -3
  191. package/package.json +9 -9
  192. package/src/components/common/icon-avatar/icon-avatar.tsx +0 -4
  193. package/src/components/data-grid/components/index.ts +0 -1
  194. package/src/components/data-grid/data-grid.tsx +0 -2
  195. package/src/components/layout/settings-layout/settings-layout.tsx +1 -11
  196. package/src/components/modals/route-focus-modal/route-focus-modal.tsx +3 -8
  197. package/src/components/modals/route-modal-form/route-modal-form.tsx +1 -6
  198. package/src/components/modals/route-modal-provider/route-provider.tsx +4 -16
  199. package/src/dashboard-app/routes/get-route.map.tsx +0 -20
  200. package/src/hooks/api/index.ts +0 -1
  201. package/src/hooks/api/product-variants.tsx +1 -7
  202. package/src/i18n/translations/$schema.json +0 -36
  203. package/src/i18n/translations/en.json +0 -12
  204. package/src/i18n/translations/es.json +0 -12
  205. package/src/routes/categories/category-detail/components/category-general-section/category-general-section.tsx +1 -16
  206. package/src/routes/categories/category-list/components/category-list-table/category-list-table.tsx +1 -16
  207. package/src/routes/collections/collection-detail/components/collection-general-section/collection-general-section.tsx +1 -16
  208. package/src/routes/collections/collection-list/components/collection-list-table/collection-row-actions.tsx +1 -16
  209. package/src/routes/product-tags/product-tag-detail/components/product-tag-general-section/product-tag-general-section.tsx +1 -16
  210. package/src/routes/product-tags/product-tag-list/components/product-tag-list-table/product-tag-list-table.tsx +1 -16
  211. package/src/routes/product-types/product-type-detail/components/product-type-general-section/product-type-general-section.tsx +1 -16
  212. package/src/routes/product-types/product-type-list/components/product-type-list-table/product-table-row-actions.tsx +1 -16
  213. package/src/routes/product-variants/product-variant-detail/components/variant-general-section/variant-general-section.tsx +1 -16
  214. package/src/routes/products/product-detail/components/product-general-section/product-general-section.tsx +1 -16
  215. package/src/routes/products/product-detail/components/product-variant-section/product-variant-section.tsx +1 -32
  216. package/src/routes/products/product-list/components/product-list-table/product-list-table.tsx +1 -15
  217. package/dist/chunk-4Y2NYEXF.mjs +0 -0
  218. package/dist/chunk-JQBWAJQZ.mjs +0 -0
  219. package/dist/translation-list-5ZOAGLCT.mjs +0 -146
  220. package/dist/translations-edit-QPJLE55N.mjs +0 -390
  221. package/src/components/data-grid/components/data-grid-textarea-modal-cell.tsx +0 -233
  222. package/src/hooks/api/translations.tsx +0 -254
  223. package/src/routes/translations/translation-list/index.tsx +0 -1
  224. package/src/routes/translations/translation-list/translation-list.tsx +0 -131
  225. package/src/routes/translations/translations-edit/components/translations-edit-form/index.ts +0 -1
  226. package/src/routes/translations/translations-edit/components/translations-edit-form/translations-edit-form.tsx +0 -423
  227. package/src/routes/translations/translations-edit/index.ts +0 -1
  228. package/src/routes/translations/translations-edit/translations-edit.tsx +0 -67
  229. package/src/routes/translations/translations-edit/utils/index.ts +0 -1
  230. package/src/routes/translations/translations-edit/utils/reference-label-map.ts +0 -10
  231. /package/dist/{chunk-CTUJXJYA.mjs → chunk-6WKBBTKM.mjs} +0 -0
@@ -1,423 +0,0 @@
1
- import { zodResolver } from "@hookform/resolvers/zod"
2
- import { AdminStoreLocale, HttpTypes } from "@medusajs/types"
3
- import { Button, ProgressTabs, toast } from "@medusajs/ui"
4
- import { ColumnDef } from "@tanstack/react-table"
5
- import { useMemo, useRef } from "react"
6
- import { useForm } from "react-hook-form"
7
- import { useTranslation } from "react-i18next"
8
- import { z } from "zod"
9
-
10
- import {
11
- createDataGridHelper,
12
- DataGrid,
13
- } from "../../../../../components/data-grid"
14
- import {
15
- RouteFocusModal,
16
- useRouteModal,
17
- } from "../../../../../components/modals"
18
- import { KeyboundForm } from "../../../../../components/utilities/keybound-form"
19
- import { useBatchTranslations } from "../../../../../hooks/api/translations"
20
- import { useDocumentDirection } from "../../../../../hooks/use-document-direction"
21
- import { REFERENCE_LABEL_MAP } from "../../utils"
22
-
23
- /**
24
- * Schema for a single locale translation (subrow in DataGrid).
25
- */
26
- const LocaleTranslationSchema = z.object({
27
- id: z.string().nullish(),
28
- locale_code: z.string(),
29
- fields: z.record(z.string().optional()),
30
- })
31
- export type LocaleTranslationSchema = z.infer<typeof LocaleTranslationSchema>
32
-
33
- /**
34
- * Schema for an entity's translations (parent row in DataGrid).
35
- * Contains all locale translations for that entity.
36
- */
37
- const EntityTranslationsSchema = z.object({
38
- locales: z.record(LocaleTranslationSchema),
39
- })
40
- export type EntityTranslationsSchema = z.infer<typeof EntityTranslationsSchema>
41
-
42
- /**
43
- * Form schema
44
- * Maps each reference_id to their corresponding translations for each locale
45
- */
46
- export const TranslationsFormSchema = z.object({
47
- entities: z.record(EntityTranslationsSchema),
48
- })
49
- export type TranslationsFormSchema = z.infer<typeof TranslationsFormSchema>
50
-
51
- /**
52
- * Row types for the DataGrid.
53
- * Parent rows are entities, subrows are locale translations.
54
- */
55
- export type TranslationRow = EntityRow | LocaleRow
56
-
57
- export type EntityRow = {
58
- _type: "entity"
59
- reference_id: string
60
- subRows: LocaleRow[]
61
- }
62
-
63
- export type LocaleRow = {
64
- _type: "locale"
65
- reference_id: string
66
- locale_code: string
67
- locale_name: string
68
- id?: string
69
- }
70
-
71
- export function isEntityRow(row: TranslationRow): row is EntityRow {
72
- return row._type === "entity"
73
- }
74
-
75
- export function isLocaleRow(row: TranslationRow): row is LocaleRow {
76
- return row._type === "locale"
77
- }
78
-
79
- function initTranslationsFormState(
80
- translations: HttpTypes.AdminTranslation[],
81
- references: { id: string; [key: string]: string }[],
82
- availableLocales: AdminStoreLocale[],
83
- translatableFields: string[]
84
- ): TranslationsFormSchema {
85
- const existingMap = new Map<string, HttpTypes.AdminTranslation>()
86
- for (const t of translations) {
87
- existingMap.set(`${t.reference_id}:${t.locale_code}`, t)
88
- }
89
-
90
- const entitiesTranslationState: Record<string, EntityTranslationsSchema> = {}
91
-
92
- for (const reference of references) {
93
- const locales: Record<string, LocaleTranslationSchema> = {}
94
-
95
- for (const locale of availableLocales) {
96
- const key = `${reference.id}:${locale.locale_code}`
97
- const existing = existingMap.get(key)
98
- const isDefaultLocale = locale.is_default
99
-
100
- const fields: Record<string, string> = {}
101
- for (const fieldName of translatableFields) {
102
- const fieldValue = isDefaultLocale
103
- ? (existing?.translations?.[fieldName] as string) ??
104
- reference[fieldName]
105
- : (existing?.translations?.[fieldName] as string) ?? ""
106
- fields[fieldName] = fieldValue
107
- }
108
-
109
- locales[locale.locale_code] = {
110
- id: existing?.id ?? null,
111
- locale_code: locale.locale_code,
112
- fields,
113
- }
114
- }
115
-
116
- entitiesTranslationState[reference.id] = { locales }
117
- }
118
-
119
- return {
120
- entities: entitiesTranslationState,
121
- }
122
- }
123
-
124
- function buildTranslationRows(
125
- references: { id: string; [key: string]: string }[],
126
- availableLocales: AdminStoreLocale[],
127
- translations: HttpTypes.AdminTranslation[]
128
- ): TranslationRow[] {
129
- // Index existing translations by reference_id:locale_code
130
- const existingMap = new Map<string, HttpTypes.AdminTranslation>()
131
- for (const t of translations) {
132
- existingMap.set(`${t.reference_id}:${t.locale_code}`, t)
133
- }
134
-
135
- return references.map((reference) => ({
136
- _type: "entity" as const,
137
- reference_id: reference.id,
138
- subRows: availableLocales.map((locale) => {
139
- const key = `${reference.id}:${locale.locale_code}`
140
- const existing = existingMap.get(key)
141
- return {
142
- _type: "locale" as const,
143
- reference_id: reference.id,
144
- locale_code: locale.locale_code,
145
- locale_name: locale.locale.name,
146
- id: existing?.id,
147
- }
148
- }),
149
- }))
150
- }
151
-
152
- function transformToBatchPayload(
153
- currentState: TranslationsFormSchema,
154
- initialState: TranslationsFormSchema,
155
- entityType: string
156
- ): Required<HttpTypes.AdminBatchTranslations> {
157
- const payload: Required<HttpTypes.AdminBatchTranslations> = {
158
- create: [],
159
- update: [],
160
- delete: [],
161
- }
162
-
163
- for (const [entityId, entityData] of Object.entries(currentState.entities)) {
164
- for (const [localeCode, localeTranslations] of Object.entries(
165
- entityData.locales
166
- )) {
167
- const initial = initialState.entities[entityId]?.locales[localeCode]
168
- const hasContent = Object.values(localeTranslations.fields).some(
169
- (v) => v !== undefined && v.trim() !== ""
170
- )
171
- const hadContent =
172
- initial &&
173
- Object.values(initial.fields).some(
174
- (v) => v !== undefined && v.trim() !== ""
175
- )
176
-
177
- if (!localeTranslations.id && hasContent) {
178
- payload.create.push({
179
- reference_id: entityId,
180
- reference: entityType,
181
- locale_code: localeTranslations.locale_code,
182
- translations: localeTranslations.fields,
183
- })
184
- } else if (localeTranslations.id && hasContent) {
185
- // UPDATE: Has ID and has content - check if changed
186
- const hasChanged =
187
- !initial ||
188
- JSON.stringify(localeTranslations.fields) !==
189
- JSON.stringify(initial.fields)
190
-
191
- if (hasChanged) {
192
- payload.update.push({
193
- id: localeTranslations.id,
194
- translations: localeTranslations.fields,
195
- })
196
- }
197
- } else if (localeTranslations.id && !hasContent && hadContent) {
198
- payload.delete.push(localeTranslations.id)
199
- }
200
- }
201
- }
202
-
203
- return payload
204
- }
205
-
206
- const columnHelper = createDataGridHelper<
207
- TranslationRow,
208
- TranslationsFormSchema
209
- >()
210
-
211
- function useTranslationsGridColumns({
212
- translatableFields,
213
- modalFields = [],
214
- }: {
215
- translatableFields: string[]
216
- modalFields?: string[]
217
- }) {
218
- const { t } = useTranslation()
219
-
220
- const columns: ColumnDef<TranslationRow>[] = useMemo(() => {
221
- return [
222
- columnHelper.column({
223
- id: "locale",
224
- header: t("translations.bulk.mainColumn"),
225
- cell: (context) => {
226
- const row = context.row.original
227
-
228
- if (isEntityRow(row)) {
229
- return (
230
- <DataGrid.ReadonlyCell context={context}></DataGrid.ReadonlyCell>
231
- )
232
- }
233
-
234
- return (
235
- <DataGrid.ReadonlyCell context={context} color="normal">
236
- <div className="flex h-full w-full items-center gap-x-2 overflow-hidden">
237
- <span className="truncate">{row.locale_name}</span>
238
- </div>
239
- </DataGrid.ReadonlyCell>
240
- )
241
- },
242
- disableHiding: true,
243
- }),
244
- ...translatableFields.map((fieldName) => {
245
- const useModal = modalFields.includes(fieldName)
246
-
247
- return columnHelper.column({
248
- id: fieldName,
249
- header: t(`fields.${fieldName}`, { defaultValue: fieldName }),
250
- cell: (context) => {
251
- const row = context.row.original
252
-
253
- if (isEntityRow(row)) {
254
- return (
255
- <DataGrid.ReadonlyCell context={context}>
256
- <span className="text-ui-fg-muted">—</span>
257
- </DataGrid.ReadonlyCell>
258
- )
259
- }
260
-
261
- if (useModal) {
262
- return (
263
- <DataGrid.ExpandableTextCell
264
- context={context}
265
- fieldLabel={fieldName}
266
- />
267
- )
268
- }
269
-
270
- return <DataGrid.TextCell context={context} />
271
- },
272
- field: (context) => {
273
- const row = context.row.original
274
-
275
- if (isEntityRow(row)) {
276
- return null
277
- }
278
-
279
- return `entities.${row.reference_id}.locales.${row.locale_code}.fields.${fieldName}`
280
- },
281
- type: "text",
282
- })
283
- }),
284
- ]
285
- }, [t, translatableFields, modalFields])
286
-
287
- return columns
288
- }
289
-
290
- type TranslationsEditFormProps = {
291
- translations: HttpTypes.AdminTranslation[]
292
- references: { id: string; [key: string]: string }[]
293
- entityType: string
294
- availableLocales: AdminStoreLocale[]
295
- translatableFields: string[]
296
- modalFields?: string[]
297
- }
298
-
299
- export const TranslationsEditForm = ({
300
- translations,
301
- references,
302
- entityType,
303
- availableLocales,
304
- translatableFields,
305
- modalFields = [],
306
- }: TranslationsEditFormProps) => {
307
- const { t } = useTranslation()
308
- const { handleSuccess, setCloseOnEscape } = useRouteModal()
309
- const direction = useDocumentDirection()
310
-
311
- const entities = useMemo(() => references, [references])
312
-
313
- const initialState = useRef(
314
- initTranslationsFormState(
315
- translations,
316
- entities,
317
- availableLocales,
318
- translatableFields
319
- )
320
- )
321
-
322
- const form = useForm<TranslationsFormSchema>({
323
- resolver: zodResolver(TranslationsFormSchema),
324
- defaultValues: initialState.current,
325
- })
326
-
327
- const rows = useMemo(
328
- () => buildTranslationRows(entities, availableLocales, translations),
329
- [entities, availableLocales, translations]
330
- )
331
-
332
- const { mutateAsync, isPending } = useBatchTranslations(entityType)
333
-
334
- const handleSubmit = form.handleSubmit(async (values) => {
335
- const payload = transformToBatchPayload(
336
- values,
337
- initialState.current,
338
- entityType
339
- )
340
-
341
- if (
342
- payload.create.length === 0 &&
343
- payload.update.length === 0 &&
344
- payload.delete.length === 0
345
- ) {
346
- toast.info(
347
- t("translations.noChanges", { defaultValue: "No changes to save" })
348
- )
349
- return
350
- }
351
-
352
- await mutateAsync(payload, {
353
- onSuccess: () => {
354
- toast.success(
355
- t("translations.edit.successToast", {
356
- defaultValue: "Translations updated successfully",
357
- })
358
- )
359
- handleSuccess()
360
- },
361
- onError: (error) => {
362
- toast.error(error.message)
363
- },
364
- })
365
- })
366
-
367
- const columns = useTranslationsGridColumns({
368
- translatableFields,
369
- modalFields,
370
- })
371
-
372
- return (
373
- <RouteFocusModal.Form form={form}>
374
- <KeyboundForm onSubmit={handleSubmit} className="flex h-full flex-col">
375
- <ProgressTabs
376
- dir={direction}
377
- defaultValue={entityType}
378
- className="flex h-full flex-col overflow-hidden"
379
- >
380
- <RouteFocusModal.Header>
381
- <div className="-my-2 w-full border-l">
382
- <ProgressTabs.List className="justify-start-start flex w-full items-center">
383
- <ProgressTabs.Trigger value={entityType}>
384
- {REFERENCE_LABEL_MAP[entityType]}
385
- </ProgressTabs.Trigger>
386
- </ProgressTabs.List>
387
- </div>
388
- </RouteFocusModal.Header>
389
- <RouteFocusModal.Body className="size-full overflow-hidden">
390
- <ProgressTabs.Content
391
- value={entityType}
392
- className="size-full overflow-y-auto"
393
- >
394
- <DataGrid
395
- columns={columns}
396
- data={rows}
397
- getSubRows={(row) => {
398
- if (isEntityRow(row)) {
399
- return row.subRows
400
- }
401
- }}
402
- state={form}
403
- onEditingChange={(editing) => setCloseOnEscape(!editing)}
404
- />
405
- </ProgressTabs.Content>
406
- </RouteFocusModal.Body>
407
- <RouteFocusModal.Footer>
408
- <div className="flex items-center justify-end gap-x-2">
409
- <RouteFocusModal.Close asChild>
410
- <Button size="small" variant="secondary">
411
- {t("actions.cancel")}
412
- </Button>
413
- </RouteFocusModal.Close>
414
- <Button size="small" type="submit" isLoading={isPending}>
415
- {t("actions.save")}
416
- </Button>
417
- </div>
418
- </RouteFocusModal.Footer>
419
- </ProgressTabs>
420
- </KeyboundForm>
421
- </RouteFocusModal.Form>
422
- )
423
- }
@@ -1 +0,0 @@
1
- export { TranslationsEdit as Component } from "./translations-edit"
@@ -1,67 +0,0 @@
1
- import { useNavigate, useSearchParams } from "react-router-dom"
2
- import { useReferenceTranslations, useStore } from "../../../hooks/api"
3
- import { TranslationsEditForm } from "./components/translations-edit-form"
4
- import { useEffect } from "react"
5
- import { RouteFocusModal } from "../../../components/modals"
6
- import { useFeatureFlag } from "../../../providers/feature-flag-provider"
7
-
8
- export const TranslationsEdit = () => {
9
- const isTranslationsEnabled = useFeatureFlag("translation")
10
- const navigate = useNavigate()
11
- const [searchParams] = useSearchParams()
12
- const reference = searchParams.get("reference")
13
- const referenceIdParam = searchParams.getAll("reference_id")
14
-
15
- useEffect(() => {
16
- if (!reference || !isTranslationsEnabled) {
17
- navigate(-1)
18
- return
19
- }
20
- }, [reference, navigate, isTranslationsEnabled])
21
-
22
- const {
23
- translations,
24
- references,
25
- translatableFields,
26
- isPending,
27
- isError,
28
- error,
29
- } = useReferenceTranslations(reference!, referenceIdParam, {
30
- enabled: !!reference,
31
- })
32
-
33
- const {
34
- store,
35
- isPending: isStorePending,
36
- isError: isStoreError,
37
- error: storeError,
38
- } = useStore()
39
-
40
- const ready =
41
- !isPending &&
42
- !!translations &&
43
- !!translatableFields &&
44
- !!references &&
45
- !isStorePending &&
46
- !!store
47
-
48
- if (isError || isStoreError) {
49
- throw error || storeError
50
- }
51
-
52
- return (
53
- <RouteFocusModal prev={referenceIdParam.length ? -1 : ".."}>
54
- {ready && (
55
- <TranslationsEditForm
56
- translations={translations}
57
- references={references}
58
- entityType={reference!}
59
- availableLocales={store?.supported_locales ?? []}
60
- // TODO: change this to get it from the entity translation config when we have it
61
- translatableFields={translatableFields}
62
- modalFields={translatableFields}
63
- />
64
- )}
65
- </RouteFocusModal>
66
- )
67
- }
@@ -1 +0,0 @@
1
- export * from "./reference-label-map"
@@ -1,10 +0,0 @@
1
- export const REFERENCE_LABEL_MAP: Record<string, string> = {
2
- product: "Products",
3
- product_variant: "Product Variants",
4
- product_category: "Product Categories",
5
- product_collection: "Product Collections",
6
- product_type: "Product Types",
7
- product_tag: "Product Tags",
8
- product_option: "Product Options",
9
- product_option_value: "Product Option Values",
10
- }
File without changes