@medusajs/dashboard 2.10.4-preview-20250928000328 → 2.10.4-snapshot-20250918173105
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.
- package/dist/{add-campaign-promotions-3BB3BLFD.mjs → add-campaign-promotions-FE4BXGVN.mjs} +6 -7
- package/dist/{adjust-inventory-OIJTAKHP.mjs → adjust-inventory-WBEBMJN7.mjs} +1 -1
- package/dist/{api-key-management-create-XDQHUNWK.mjs → api-key-management-create-VXPZX2Q5.mjs} +3 -3
- package/dist/{api-key-management-detail-ZQLQKGYF.mjs → api-key-management-detail-SAVBCKX7.mjs} +14 -15
- package/dist/{api-key-management-edit-2SUSKI7T.mjs → api-key-management-edit-7CGMSHAY.mjs} +3 -3
- package/dist/{api-key-management-list-C2WM4PHC.mjs → api-key-management-list-5DI3L4DV.mjs} +7 -8
- package/dist/{api-key-management-sales-channels-MVHVMPF6.mjs → api-key-management-sales-channels-WL5L5XWM.mjs} +5 -6
- package/dist/app.css +34 -89
- package/dist/app.js +5633 -6732
- package/dist/app.mjs +15 -17
- package/dist/{campaign-budget-edit-UWGCET5Z.mjs → campaign-budget-edit-OXNTSPGE.mjs} +1 -1
- package/dist/{campaign-configuration-WWCCFNYQ.mjs → campaign-configuration-Z5HA2DG3.mjs} +1 -1
- package/dist/{campaign-create-CQ3XBHSY.mjs → campaign-create-AVBNHFC2.mjs} +3 -4
- package/dist/{campaign-detail-LASOFZ2O.mjs → campaign-detail-KTOLZNTA.mjs} +21 -22
- package/dist/{campaign-edit-R43GXNET.mjs → campaign-edit-3TDW52BO.mjs} +1 -1
- package/dist/{campaign-list-CDO5PRTL.mjs → campaign-list-G4MD3RPU.mjs} +6 -7
- package/dist/{categories-metadata-HUIY6V4F.mjs → categories-metadata-GXWJ3HOG.mjs} +12 -13
- package/dist/{category-create-GMFWRFT7.mjs → category-create-FOVB5MJ4.mjs} +16 -38
- package/dist/{category-detail-ZJJBYVFX.mjs → category-detail-ENUI5EFL.mjs} +18 -19
- package/dist/{category-edit-HCHER73V.mjs → category-edit-O4ZSANE5.mjs} +16 -36
- package/dist/{category-list-IXW2NWWJ.mjs → category-list-UI6W5KF5.mjs} +7 -8
- package/dist/{category-organize-LRQKM4LA.mjs → category-organize-BW3YOPUS.mjs} +2 -2
- package/dist/{category-products-7N4TITQ4.mjs → category-products-ZG5QDWSW.mjs} +14 -15
- package/dist/{chunk-2PGNKUXS.mjs → chunk-2HKRIUW4.mjs} +1 -1
- package/dist/{chunk-KTL6E2WT.mjs → chunk-2LPGQWPV.mjs} +1 -1
- package/dist/{chunk-OFN7DIZA.mjs → chunk-2PMSBTXI.mjs} +13 -17
- package/dist/{chunk-GIZFNLKK.mjs → chunk-2RQLKDBF.mjs} +96 -103
- package/dist/{chunk-AN5IILM2.mjs → chunk-2YP2ZNKR.mjs} +1 -1
- package/dist/{chunk-OZPB6JBL.mjs → chunk-3NJTXRIY.mjs} +1 -5
- package/dist/{chunk-XP3BY6G6.mjs → chunk-4Q4LIFFO.mjs} +1 -1
- package/dist/{chunk-RGP3IXX4.mjs → chunk-4RG7UJCT.mjs} +1 -1
- package/dist/{chunk-MSOFJHH3.mjs → chunk-5M5ZVAWU.mjs} +2 -2
- package/dist/{chunk-SNDSWB6B.mjs → chunk-5NQ3X2JI.mjs} +1 -1
- package/dist/{chunk-CXTAH75K.mjs → chunk-5WKYR6PY.mjs} +1 -1
- package/dist/{chunk-XR7I5HGZ.mjs → chunk-6AGMMT5H.mjs} +4 -4
- package/dist/{chunk-YSFTQA6Y.mjs → chunk-6IZUCU7K.mjs} +2 -2
- package/dist/{chunk-FXG2Z3QT.mjs → chunk-74K7HGNI.mjs} +2 -3
- package/dist/{chunk-EYL2JACT.mjs → chunk-7VJK6HNE.mjs} +4 -4
- package/dist/{chunk-U4R5MBF2.mjs → chunk-7YZF3THS.mjs} +1 -1
- package/dist/{chunk-HQKGZADC.mjs → chunk-AOFGTNG6.mjs} +1 -6
- package/dist/{chunk-EYTETK3W.mjs → chunk-BFNH5UWD.mjs} +1 -1
- package/dist/chunk-BKJC5BGQ.mjs +53 -0
- package/dist/{chunk-UKX2FFFV.mjs → chunk-CK3VFTZM.mjs} +2 -2
- package/dist/{chunk-PRLQLEEQ.mjs → chunk-D7H6ZNK4.mjs} +0 -2
- package/dist/{chunk-SQFZWNYA.mjs → chunk-EE7SOCEQ.mjs} +4 -4
- package/dist/{chunk-PGTXMCSV.mjs → chunk-EFA7S5L3.mjs} +1 -1
- package/dist/{chunk-P2O6XTD4.mjs → chunk-FPJBF7VS.mjs} +1 -1
- package/dist/{chunk-V6JXTITD.mjs → chunk-GB7CZNXI.mjs} +2 -2
- package/dist/{chunk-RF75BZNF.mjs → chunk-HUX22ZHT.mjs} +3 -3
- package/dist/{chunk-7DFTLGA5.mjs → chunk-IRJKUFJU.mjs} +682 -623
- package/dist/{chunk-CY33DS7K.mjs → chunk-J5E7MQSS.mjs} +0 -6
- package/dist/{chunk-DKOCYXB5.mjs → chunk-JELVERJM.mjs} +3 -40
- package/dist/{chunk-7JJTWGHU.mjs → chunk-JHXKKOHO.mjs} +15 -49
- package/dist/{chunk-IP2QPPWC.mjs → chunk-KMUDF36P.mjs} +1 -1
- package/dist/{chunk-U25RCIX2.mjs → chunk-KSRI5LOF.mjs} +2 -2
- package/dist/{chunk-QPLPGRYF.mjs → chunk-LAWIWR7K.mjs} +1 -1
- package/dist/{chunk-HWKLNKOY.mjs → chunk-LBIOZZPA.mjs} +1 -1
- package/dist/{chunk-NY6I2FYO.mjs → chunk-NCR5UWRI.mjs} +1 -1
- package/dist/{chunk-VWQYN2RW.mjs → chunk-NRBOPOMS.mjs} +1 -1
- package/dist/{chunk-TKZK3YPU.mjs → chunk-O74UDEWT.mjs} +1 -1
- package/dist/{chunk-PAG2HG6I.mjs → chunk-OGHQ6VJI.mjs} +5 -44
- package/dist/{chunk-LKVQ5YC6.mjs → chunk-OHSRRFGN.mjs} +1 -1
- package/dist/{chunk-K3OMOMRB.mjs → chunk-OKMF4YI7.mjs} +0 -25
- package/dist/{chunk-MLNUGLGT.mjs → chunk-Q5DI5VYN.mjs} +1 -1
- package/dist/{chunk-LMRZMI7O.mjs → chunk-QGCKTVQX.mjs} +1 -1
- package/dist/{chunk-VI7MI3US.mjs → chunk-R2NWOCML.mjs} +2 -8
- package/dist/{chunk-ZSDEVTFT.mjs → chunk-RMEITCLS.mjs} +1 -1
- package/dist/{chunk-IL5IMREK.mjs → chunk-S2UEWRDA.mjs} +49 -59
- package/dist/{chunk-NFQXNOP7.mjs → chunk-S45XMWVD.mjs} +1 -1
- package/dist/{chunk-IRO6DO7J.mjs → chunk-SCBXRJPV.mjs} +1 -1
- package/dist/{chunk-RBDAWRFF.mjs → chunk-SMHXCFRS.mjs} +41 -54
- package/dist/{chunk-IVZ6BMDB.mjs → chunk-T7G2CURS.mjs} +0 -1
- package/dist/{chunk-7GBCLBMX.mjs → chunk-UNM3LPTG.mjs} +12 -25
- package/dist/{chunk-NKVMOKZA.mjs → chunk-UWJBDOQD.mjs} +29 -41
- package/dist/{chunk-4QUHWHBD.mjs → chunk-X4X5KUGQ.mjs} +0 -3
- package/dist/{chunk-K2HM7KXJ.mjs → chunk-XGJ5DXXG.mjs} +12 -12
- package/dist/{chunk-ZCARHA6C.mjs → chunk-XKXNQ2KV.mjs} +1 -1
- package/dist/{chunk-5WMJLYEP.mjs → chunk-Y4YXZY7R.mjs} +2 -2
- package/dist/{chunk-ITJEYJNB.mjs → chunk-YI4CZGTU.mjs} +1 -1
- package/dist/{chunk-AXXGAOQL.mjs → chunk-YWNHMIEQ.mjs} +2 -2
- package/dist/chunk-ZCZL3STK.mjs +64 -0
- package/dist/{chunk-R2G2B47Y.mjs → chunk-ZODJNBAV.mjs} +0 -1
- package/dist/{collection-add-products-WKMNYPLS.mjs → collection-add-products-2ISNNIHD.mjs} +14 -15
- package/dist/{collection-create-PTOF33H2.mjs → collection-create-75ZI5NDG.mjs} +2 -2
- package/dist/{collection-detail-NONKXELG.mjs → collection-detail-OSX6NHNQ.mjs} +16 -17
- package/dist/{collection-edit-WM57WXJ2.mjs → collection-edit-RD6BDDDI.mjs} +2 -2
- package/dist/{collection-list-3ZHLS2LP.mjs → collection-list-MPIYSHQJ.mjs} +18 -19
- package/dist/{collection-metadata-J6P3K7U6.mjs → collection-metadata-EOFYXEQI.mjs} +12 -13
- package/dist/{customer-create-address-JOYBIPPN.mjs → customer-create-address-TPSDYZBN.mjs} +1 -1
- package/dist/{customer-detail-5Y7ICDMA.mjs → customer-detail-FCNRRZSW.mjs} +16 -17
- package/dist/{customer-group-add-customers-YF2T323Z.mjs → customer-group-add-customers-ULPWTALS.mjs} +2 -3
- package/dist/{customer-group-detail-PXP73BFA.mjs → customer-group-detail-QI3QLJJL.mjs} +15 -16
- package/dist/{customer-group-list-3DB643XQ.mjs → customer-group-list-GPIKR66X.mjs} +14 -15
- package/dist/{customer-group-metadata-YQCOIVQG.mjs → customer-group-metadata-UPAPULMF.mjs} +1 -2
- package/dist/{customer-list-5IWEXYSW.mjs → customer-list-SINCBCOZ.mjs} +4 -5
- package/dist/{customer-metadata-JZEJBH4V.mjs → customer-metadata-5NPUMPZ2.mjs} +1 -2
- package/dist/{customers-add-customer-group-BVUVU46N.mjs → customers-add-customer-group-5TFTVDB6.mjs} +13 -14
- package/dist/{edit-inventory-item-UV2Z7SYL.mjs → edit-inventory-item-ZPE4MMC4.mjs} +1 -1
- package/dist/{edit-inventory-item-attributes-BRC3KBYT.mjs → edit-inventory-item-attributes-KT7BSPZ7.mjs} +2 -2
- package/dist/{edit-reservation-NYGQBFBO.mjs → edit-reservation-EKH4RIAX.mjs} +2 -7
- package/dist/{edit-rules-3MSTPCE5.mjs → edit-rules-63NG4QVR.mjs} +13 -14
- package/dist/{inventory-create-NEYX7PZJ.mjs → inventory-create-RIVJFJJQ.mjs} +14 -19
- package/dist/{inventory-detail-66HDQL3W.mjs → inventory-detail-5433AAQ2.mjs} +18 -25
- package/dist/{inventory-list-J5VZGQ2M.mjs → inventory-list-YMYF7QVP.mjs} +5 -6
- package/dist/{inventory-metadata-OSTUWM23.mjs → inventory-metadata-FH4CHJBA.mjs} +12 -13
- package/dist/{inventory-stock-XY2OCAY3.mjs → inventory-stock-D6E4LQRK.mjs} +13 -14
- package/dist/{location-create-22H74MFP.mjs → location-create-LUP363ZB.mjs} +1 -1
- package/dist/{location-detail-UZHD3IKW.mjs → location-detail-Z6ZDX6RY.mjs} +13 -14
- package/dist/{location-edit-X6JBEWIF.mjs → location-edit-26K26G23.mjs} +2 -2
- package/dist/{location-fulfillment-providers-D4RMKQXU.mjs → location-fulfillment-providers-45VXZMZI.mjs} +15 -16
- package/dist/location-list-BKK2PAKF.mjs +297 -0
- package/dist/{location-sales-channels-66ZE3ZMI.mjs → location-sales-channels-2BOIPBBG.mjs} +4 -5
- package/dist/{location-service-zone-create-D5QSFS3M.mjs → location-service-zone-create-RPFLBVV4.mjs} +3 -4
- package/dist/{location-service-zone-manage-areas-HKCALG4Q.mjs → location-service-zone-manage-areas-VEUUGPKF.mjs} +3 -4
- package/dist/{location-service-zone-shipping-option-create-OASLL2K7.mjs → location-service-zone-shipping-option-create-NO3665DC.mjs} +15 -23
- package/dist/{location-service-zone-shipping-option-edit-DOCLZOO7.mjs → location-service-zone-shipping-option-edit-TMXNX4VX.mjs} +28 -40
- package/dist/{location-service-zone-shipping-option-pricing-FLB63UKY.mjs → location-service-zone-shipping-option-pricing-U2SDK5DE.mjs} +2 -3
- package/dist/{login-LQRL2ZDY.mjs → login-DSPNELTI.mjs} +11 -11
- package/dist/manage-locations-3TBIUSHP.mjs +236 -0
- package/dist/{order-allocate-items-2RYXQRVK.mjs → order-allocate-items-J3ZHGC22.mjs} +14 -26
- package/dist/{order-create-claim-7UF734QH.mjs → order-create-claim-V63BWLB5.mjs} +18 -20
- package/dist/{order-create-edit-MZHUVTGE.mjs → order-create-edit-NPF4UZ4D.mjs} +16 -18
- package/dist/{order-create-exchange-2UGEF65S.mjs → order-create-exchange-RHIPPSKU.mjs} +18 -20
- package/dist/{order-create-fulfillment-HGJ2YPUB.mjs → order-create-fulfillment-4SSUHQ75.mjs} +12 -19
- package/dist/{order-create-refund-CJDKVBSE.mjs → order-create-refund-QVQC5ZP5.mjs} +17 -52
- package/dist/{order-create-return-5IPRHHLJ.mjs → order-create-return-GVA6M2RY.mjs} +9 -11
- package/dist/{order-create-shipment-3FDVQ6WT.mjs → order-create-shipment-TJAARKWA.mjs} +11 -13
- package/dist/{order-detail-SEPCRJW5.mjs → order-detail-2MIN6B2I.mjs} +42 -50
- package/dist/{order-edit-billing-address-J75NQFRY.mjs → order-edit-billing-address-QP2I5F3E.mjs} +12 -12
- package/dist/{order-edit-email-ABFQKE6A.mjs → order-edit-email-7WT7XTHB.mjs} +11 -11
- package/dist/{order-edit-shipping-address-OXW7TAJD.mjs → order-edit-shipping-address-3QFMQP4I.mjs} +12 -12
- package/dist/{order-list-VDUUHTSU.mjs → order-list-7S3N6H5A.mjs} +10 -11
- package/dist/{order-metadata-5NF3ICQL.mjs → order-metadata-YJS26DHK.mjs} +12 -13
- package/dist/{order-receive-return-IM65P7XQ.mjs → order-receive-return-PZMMMUB2.mjs} +13 -14
- package/dist/{order-request-transfer-LZ25KEDA.mjs → order-request-transfer-QBIZD36E.mjs} +12 -12
- package/dist/{price-list-configuration-VACKCKJF.mjs → price-list-configuration-435QDWB2.mjs} +5 -6
- package/dist/{price-list-create-EC5VGCMW.mjs → price-list-create-RXDH5CXF.mjs} +24 -39
- package/dist/{price-list-detail-CRTJA5O4.mjs → price-list-detail-PKIKOJ4H.mjs} +17 -18
- package/dist/{price-list-edit-G73ZIU2Y.mjs → price-list-edit-ZGBOZYSC.mjs} +31 -51
- package/dist/{price-list-list-QYZSJNF5.mjs → price-list-list-C6NEB2R4.mjs} +7 -8
- package/dist/{price-list-prices-add-HYCM4QDY.mjs → price-list-prices-add-2CDPUSYA.mjs} +20 -28
- package/dist/{price-list-prices-edit-R53ITSDD.mjs → price-list-prices-edit-ENB4GJZT.mjs} +4 -5
- package/dist/{product-attributes-WVQRK3GQ.mjs → product-attributes-LVV3K24U.mjs} +17 -19
- package/dist/{product-create-PWSPOVUS.mjs → product-create-HQORHMCM.mjs} +21 -27
- package/dist/{product-create-option-OW2LMVST.mjs → product-create-option-3JR35UZ5.mjs} +1 -1
- package/dist/{product-create-variant-V2QGXFEF.mjs → product-create-variant-KJKQ6ROY.mjs} +18 -31
- package/dist/{product-detail-EBPCCBI4.mjs → product-detail-UROTMCRL.mjs} +19 -21
- package/dist/{product-edit-5E6D43KE.mjs → product-edit-4EVIUVKV.mjs} +28 -41
- package/dist/{product-edit-option-OM56DLU6.mjs → product-edit-option-VNDGZ37A.mjs} +1 -1
- package/dist/{product-export-VFC3I5DK.mjs → product-export-XERWEI5H.mjs} +13 -13
- package/dist/{product-import-V7EZJ2TU.mjs → product-import-AGFJMSVK.mjs} +13 -14
- package/dist/{product-list-FFZO57JG.mjs → product-list-3B742YCJ.mjs} +18 -19
- package/dist/{product-media-TRKQTA4G.mjs → product-media-APQKPFTT.mjs} +5 -5
- package/dist/{product-metadata-VYQ65KYI.mjs → product-metadata-NZ3HKO67.mjs} +12 -13
- package/dist/{product-organization-OCVSTKEK.mjs → product-organization-YQUIMUYX.mjs} +18 -20
- package/dist/{product-prices-XLY5TUSJ.mjs → product-prices-PCBMYYGV.mjs} +2 -3
- package/dist/{product-sales-channels-KSIHPDJG.mjs → product-sales-channels-UGPAXFAV.mjs} +4 -5
- package/dist/{product-shipping-profile-SG6NDHF4.mjs → product-shipping-profile-FRIMAOZQ.mjs} +17 -19
- package/dist/{product-stock-LJRYRSKN.mjs → product-stock-SUVEQZML.mjs} +14 -16
- package/dist/{product-tag-create-EB5CVUOP.mjs → product-tag-create-T6HVAQKN.mjs} +11 -11
- package/dist/{product-tag-detail-V5CZY4R4.mjs → product-tag-detail-HOWUZC3P.mjs} +21 -22
- package/dist/{product-tag-edit-YATSW5OK.mjs → product-tag-edit-WWQDNDRC.mjs} +11 -11
- package/dist/{product-tag-list-2LFGEFGL.mjs → product-tag-list-FAKSLONF.mjs} +21 -22
- package/dist/{product-tag-metadata-R5P5FWAZ.mjs → product-tag-metadata-6B56VEZU.mjs} +12 -13
- package/dist/{product-type-detail-BZNI5GJ5.mjs → product-type-detail-KN64HYUV.mjs} +16 -17
- package/dist/{product-type-list-MJLAGQYC.mjs → product-type-list-6ZIWPIUH.mjs} +4 -5
- package/dist/{product-type-metadata-SUQHWLWA.mjs → product-type-metadata-F3FTI6OG.mjs} +12 -13
- package/dist/{product-variant-detail-W2JHQQQJ.mjs → product-variant-detail-OUHBUY4J.mjs} +15 -16
- package/dist/{product-variant-edit-DSY77FF4.mjs → product-variant-edit-NBYHDUJ5.mjs} +13 -17
- package/dist/{product-variant-manage-inventory-items-JH65NAD4.mjs → product-variant-manage-inventory-items-TM3VAHBJ.mjs} +2 -2
- package/dist/{product-variant-metadata-HE3MRTJB.mjs → product-variant-metadata-XDVLJYGQ.mjs} +12 -13
- package/dist/{profile-detail-XYAQ2G36.mjs → profile-detail-ROG22HHL.mjs} +2 -3
- package/dist/{profile-edit-7WD4FTRH.mjs → profile-edit-HSUQIQQH.mjs} +19 -31
- package/dist/{promotion-add-campaign-YOUUM6RB.mjs → promotion-add-campaign-7R26KU2U.mjs} +21 -9
- package/dist/{promotion-create-NBFV4XQV.mjs → promotion-create-UUOG52D5.mjs} +17 -29
- package/dist/{promotion-detail-247QD6DA.mjs → promotion-detail-6ZD7Z6BF.mjs} +76 -126
- package/dist/{promotion-edit-details-A2UUSAZA.mjs → promotion-edit-details-HQLYX4X4.mjs} +2 -10
- package/dist/{promotion-list-WDHOSD55.mjs → promotion-list-GI64LDWI.mjs} +8 -9
- package/dist/{region-add-countries-6GSF4CKJ.mjs → region-add-countries-Y4YAHDUZ.mjs} +2 -3
- package/dist/{region-create-AV2NJNNJ.mjs → region-create-5Y3GIQBV.mjs} +39 -49
- package/dist/{region-detail-PB7EUSTD.mjs → region-detail-CWRFM6P3.mjs} +4 -5
- package/dist/region-edit-JWQWCLM3.mjs +285 -0
- package/dist/{region-list-52LF5S4S.mjs → region-list-FQNI7F37.mjs} +4 -5
- package/dist/{region-metadata-3JIGHAUI.mjs → region-metadata-IQVB4ERU.mjs} +12 -13
- package/dist/{reservation-create-FKBCGQA7.mjs → reservation-create-7RFXWDXB.mjs} +3 -3
- package/dist/{reservation-detail-FENCNQDA.mjs → reservation-detail-RTGHD35L.mjs} +14 -15
- package/dist/{reservation-list-NOWJUMXV.mjs → reservation-list-UOC7RNRZ.mjs} +6 -7
- package/dist/{reservation-metadata-DQ3A7MHU.mjs → reservation-metadata-WKJXBRLQ.mjs} +12 -13
- package/dist/{reset-password-LCVV4NOA.mjs → reset-password-SXA6YKTJ.mjs} +1 -1
- package/dist/{return-reason-list-FW7OYUOW.mjs → return-reason-list-MOP7YWMZ.mjs} +7 -8
- package/dist/{sales-channel-add-products-G4EUOCWY.mjs → sales-channel-add-products-OKVZJ6FI.mjs} +14 -15
- package/dist/{sales-channel-create-NODWGJDD.mjs → sales-channel-create-3MPOMVPD.mjs} +2 -4
- package/dist/{sales-channel-detail-NT7PEVVH.mjs → sales-channel-detail-WESBK6Q7.mjs} +16 -17
- package/dist/{sales-channel-edit-ALIRERVH.mjs → sales-channel-edit-LSLAM7A4.mjs} +2 -4
- package/dist/{sales-channel-list-REV2RETE.mjs → sales-channel-list-ADIJMXNV.mjs} +14 -15
- package/dist/{sales-channel-metadata-O5O6ADG5.mjs → sales-channel-metadata-2OQAHYB4.mjs} +12 -13
- package/dist/{shipping-option-type-create-7FSJNHHA.mjs → shipping-option-type-create-3CGPGDYJ.mjs} +11 -11
- package/dist/{shipping-option-type-detail-6UQST7RY.mjs → shipping-option-type-detail-S23H2OGW.mjs} +14 -15
- package/dist/{shipping-option-type-edit-B475WRRR.mjs → shipping-option-type-edit-IHE7XM6M.mjs} +11 -11
- package/dist/{shipping-option-type-list-DTETSFSA.mjs → shipping-option-type-list-47GRJ6EC.mjs} +16 -17
- package/dist/{shipping-profile-detail-FS46IJZP.mjs → shipping-profile-detail-FDUPDSH4.mjs} +2 -3
- package/dist/{shipping-profile-metadata-PRINFNSY.mjs → shipping-profile-metadata-OXWOXAAR.mjs} +12 -13
- package/dist/{shipping-profiles-list-QFOG5IDH.mjs → shipping-profiles-list-ZHJEUIKJ.mjs} +4 -5
- package/dist/{store-add-currencies-W4MWOALR.mjs → store-add-currencies-R26SVHT5.mjs} +2 -5
- package/dist/{store-detail-QKF2TVNW.mjs → store-detail-4K7TW2TP.mjs} +15 -16
- package/dist/{store-edit-ZPGTNZGL.mjs → store-edit-EU55TNFU.mjs} +12 -24
- package/dist/{store-metadata-M6GIKI5P.mjs → store-metadata-JP2CI7EF.mjs} +12 -13
- package/dist/{tax-region-create-4DTM3RTZ.mjs → tax-region-create-W3K5IFD3.mjs} +14 -14
- package/dist/{tax-region-detail-SLCI3JYL.mjs → tax-region-detail-V2F2DONN.mjs} +17 -18
- package/dist/{tax-region-edit-CJ63JXFQ.mjs → tax-region-edit-CJPMYTBF.mjs} +12 -12
- package/dist/{tax-region-list-SQQE2GUU.mjs → tax-region-list-NMM3LBPN.mjs} +5 -6
- package/dist/{tax-region-province-create-SBRFGWN3.mjs → tax-region-province-create-GIIU2G7K.mjs} +2 -2
- package/dist/{tax-region-province-detail-BGL2USQF.mjs → tax-region-province-detail-4PUQ5ADW.mjs} +16 -17
- package/dist/{tax-region-tax-override-create-L4WOTSBO.mjs → tax-region-tax-override-create-3SCIOK4P.mjs} +20 -25
- package/dist/{tax-region-tax-override-edit-2JAVNE37.mjs → tax-region-tax-override-edit-P3QJKET3.mjs} +20 -25
- package/dist/{tax-region-tax-rate-create-JIV5FXUD.mjs → tax-region-tax-rate-create-Z43M3JTQ.mjs} +1 -1
- package/dist/{tax-region-tax-rate-edit-WU2ZQLZQ.mjs → tax-region-tax-rate-edit-RBF5D2MK.mjs} +1 -1
- package/dist/{user-detail-ZFW3YF3M.mjs → user-detail-VIVFFLOW.mjs} +3 -4
- package/dist/{user-invite-KUH4AI2L.mjs → user-invite-W26LOOW7.mjs} +3 -4
- package/dist/{user-list-G4H2RSDX.mjs → user-list-3YFYZFSK.mjs} +3 -4
- package/dist/{user-metadata-DFTGB46F.mjs → user-metadata-ZURLDLGC.mjs} +12 -13
- package/dist/{workflow-execution-detail-YNT2RKIP.mjs → workflow-execution-detail-4R6AFFHV.mjs} +13 -17
- package/dist/{workflow-execution-list-5WL4L464.mjs → workflow-execution-list-5J3DQQRD.mjs} +3 -4
- package/package.json +9 -9
- package/src/components/common/action-menu/action-menu.tsx +1 -3
- package/src/components/common/customer-info/customer-info.tsx +1 -1
- package/src/components/common/json-view-section/json-view-section.tsx +1 -4
- package/src/components/common/sidebar-link/sidebar-link.tsx +1 -1
- package/src/components/common/switch-box/switch-box.tsx +0 -2
- package/src/components/data-grid/components/data-grid-root.tsx +3 -9
- package/src/components/data-grid/components/data-grid-toggleable-number-cell.tsx +1 -2
- package/src/components/data-table/data-table.tsx +46 -64
- package/src/components/filtering/filter-group/filter-group.tsx +1 -5
- package/src/components/filtering/order-by/order-by.tsx +1 -4
- package/src/components/forms/address-form/address-form.tsx +2 -7
- package/src/components/forms/metadata-form/metadata-form.tsx +3 -6
- package/src/components/inputs/combobox/combobox.tsx +13 -20
- package/src/components/inputs/country-select/country-select.tsx +1 -1
- package/src/components/inputs/province-select/province-select.tsx +1 -1
- package/src/components/layout/main-layout/main-layout.tsx +5 -7
- package/src/components/layout/settings-layout/settings-layout.tsx +0 -4
- package/src/components/layout/shell/shell.tsx +6 -6
- package/src/components/layout/user-menu/user-menu.tsx +10 -12
- package/src/components/search/search.tsx +3 -5
- package/src/components/table/data-table/data-table-order-by/data-table-order-by.tsx +1 -4
- package/src/components/table/data-table/data-table-root/data-table-root.tsx +3 -3
- package/src/dashboard-app/forms/form-extension-zone/form-extension-zone.tsx +1 -1
- package/src/dashboard-app/routes/get-route.map.tsx +0 -36
- package/src/hooks/api/campaigns.tsx +0 -1
- package/src/hooks/api/inventory.tsx +0 -3
- package/src/hooks/api/payments.tsx +1 -6
- package/src/hooks/api/refund-reasons.tsx +10 -105
- package/src/hooks/table/columns/index.ts +0 -1
- package/src/hooks/table/query/index.ts +0 -1
- package/src/hooks/table/use-table-configuration.tsx +1 -1
- package/src/i18n/translations/$schema.json +67 -208
- package/src/i18n/translations/en.json +3 -40
- package/src/providers/i18n-provider/i18n-provider.tsx +4 -9
- package/src/routes/campaigns/campaign-detail/components/campaign-budget/campaign-budget.tsx +3 -3
- package/src/routes/campaigns/common/components/create-campaign-form-fields/create-campaign-form-fields.tsx +1 -4
- package/src/routes/categories/category-create/components/create-category-form/create-category-details.tsx +3 -12
- package/src/routes/categories/category-create/components/create-category-form/create-category-form.tsx +3 -4
- package/src/routes/categories/category-detail/components/category-organize-section/category-organize-section.tsx +1 -1
- package/src/routes/categories/category-edit/components/edit-category-form/edit-category-form.tsx +3 -12
- package/src/routes/inventory/inventory-create/components/inventory-create-form/inventory-create-form.tsx +1 -3
- package/src/routes/inventory/inventory-detail/components/inventory-item-variants/variants-section.tsx +1 -1
- package/src/routes/inventory/inventory-detail/components/location-levels-table/use-location-list-table-columns.tsx +0 -7
- package/src/routes/inventory/inventory-detail/components/manage-locations/components/location-item.tsx +2 -2
- package/src/routes/inventory/inventory-detail/components/manage-locations/components/manage-locations-form.tsx +140 -127
- package/src/routes/locations/location-edit/components/edit-location-form/edit-location-form.tsx +1 -1
- package/src/routes/locations/location-list/components/location-list-header/index.ts +1 -0
- package/src/routes/locations/location-list/components/location-list-header/location-list-header.tsx +21 -0
- package/src/routes/locations/location-list/index.ts +1 -0
- package/src/routes/locations/location-list/loader.ts +36 -0
- package/src/routes/locations/location-list/location-list.tsx +14 -52
- package/src/routes/locations/location-service-zone-shipping-option-create/components/create-shipping-options-form/create-shipping-option-details-form.tsx +1 -4
- package/src/routes/locations/location-service-zone-shipping-option-create/components/create-shipping-options-form/create-shipping-options-form.tsx +1 -3
- package/src/routes/locations/location-service-zone-shipping-option-edit/components/edit-region-form/edit-shipping-option-form.tsx +2 -7
- package/src/routes/orders/order-allocate-items/components/order-create-fulfillment-form/order-allocate-items-form.tsx +2 -7
- package/src/routes/orders/order-create-claim/components/claim-create-form/claim-create-form.tsx +1 -2
- package/src/routes/orders/order-create-edit/components/order-edit-create-form/order-edit-create-form.tsx +1 -2
- package/src/routes/orders/order-create-exchange/components/exchange-create-form/exchange-create-form.tsx +1 -2
- package/src/routes/orders/order-create-fulfillment/components/order-create-fulfillment-form/order-create-fulfillment-form.tsx +1 -5
- package/src/routes/orders/order-create-refund/components/create-refund-form/create-refund-form.tsx +1 -42
- package/src/routes/orders/order-create-return/components/return-create-form/return-create-form.tsx +1 -2
- package/src/routes/orders/order-create-shipment/components/order-create-shipment-form/order-create-shipment-form.tsx +0 -2
- package/src/routes/orders/order-detail/components/order-activity-section/order-timeline.tsx +5 -13
- package/src/routes/orders/order-receive-return/components/order-receive-return-form/order-receive-return-form.tsx +1 -2
- package/src/routes/price-lists/price-list-create/components/price-list-create-form/price-list-create-form.tsx +1 -3
- package/src/routes/price-lists/price-list-create/components/price-list-create-form/price-list-details-form.tsx +2 -8
- package/src/routes/price-lists/price-list-edit/components/price-list-edit-form/edit-price-list-form.tsx +3 -12
- package/src/routes/price-lists/price-list-prices-add/components/price-list-prices-add-form/price-list-prices-add-form.tsx +5 -10
- package/src/routes/product-variants/product-variant-edit/components/product-edit-variant-form/product-edit-variant-form.tsx +0 -4
- package/src/routes/products/common/components/category-combobox/category-combobox.tsx +11 -11
- package/src/routes/products/product-create/components/product-create-form/product-create-form.tsx +1 -3
- package/src/routes/products/product-create-variant/components/create-product-variant-form/create-product-variant-form.tsx +5 -10
- package/src/routes/products/product-create-variant/components/create-product-variant-form/details-tab.tsx +1 -6
- package/src/routes/products/product-edit/components/edit-product-form/edit-product-form.tsx +2 -7
- package/src/routes/products/product-media/components/product-media-gallery/product-media-gallery.tsx +2 -2
- package/src/routes/products/product-stock/hooks/use-product-stock-columns.tsx +1 -2
- package/src/routes/profile/profile-edit/components/edit-profile-form/edit-profile-form.tsx +3 -9
- package/src/routes/promotions/common/edit-rules/components/rules-form-field/rules-form-field.tsx +0 -4
- package/src/routes/promotions/promotion-add-campaign/components/add-campaign-promotion-form/add-campaign-promotion-form.tsx +49 -48
- package/src/routes/promotions/promotion-add-campaign/promotion-add-campaign.tsx +21 -4
- package/src/routes/promotions/promotion-create/components/create-promotion-form/create-promotion-form.tsx +3 -12
- package/src/routes/promotions/promotion-edit-details/components/edit-promotion-form/edit-promotion-details-form.tsx +1 -6
- package/src/routes/regions/region-create/components/create-region-form/create-region-form.tsx +12 -29
- package/src/routes/regions/region-create/region-create.tsx +10 -1
- package/src/routes/regions/region-edit/components/edit-region-form/edit-region-form.tsx +10 -32
- package/src/routes/regions/region-edit/region-edit.tsx +5 -0
- package/src/routes/reservations/reservation-detail/components/edit-reservation/components/edit-reservation-form.tsx +1 -3
- package/src/routes/sales-channels/sales-channel-create/components/create-sales-channel-form/create-sales-channel-form.tsx +0 -2
- package/src/routes/sales-channels/sales-channel-edit/components/edit-sales-channel-form/edit-sales-channel-form.tsx +0 -2
- package/src/routes/store/store-add-currencies/components/add-currencies-form/add-currencies-form.tsx +0 -2
- package/src/routes/store/store-edit/components/edit-store-form/edit-store-form.tsx +2 -7
- package/src/routes/tax-regions/tax-region-tax-override-create/components/tax-region-override-create-form/tax-region-tax-override-create.tsx +1 -3
- package/src/routes/tax-regions/tax-region-tax-override-edit/components/tax-region-tax-override-edit-form/tax-region-tax-override-edit-form.tsx +1 -3
- package/src/routes/workflow-executions/workflow-execution-detail/components/workflow-execution-timeline-section/workflow-execution-timeline-section.tsx +2 -3
- package/dist/chunk-5U3FFMC7.mjs +0 -84
- package/dist/chunk-S4DMV3ZT.mjs +0 -35
- package/dist/chunk-VLOA5XAC.mjs +0 -113
- package/dist/location-list-VNEYHAKV.mjs +0 -323
- package/dist/manage-locations-RPHTPGRE.mjs +0 -247
- package/dist/refund-reason-create-45ZZOX7F.mjs +0 -157
- package/dist/refund-reason-edit-E2HDAQZI.mjs +0 -144
- package/dist/refund-reason-list-WI7NHRDS.mjs +0 -245
- package/dist/region-edit-X7CSUICV.mjs +0 -308
- package/src/hooks/table/columns/use-refund-reason-table-columns.tsx +0 -32
- package/src/hooks/table/query/use-refund-reason-table-query.tsx +0 -32
- package/src/hooks/use-document-direction.tsx +0 -54
- package/src/routes/inventory/inventory-detail/components/manage-locations/components/location-search-input.tsx +0 -34
- package/src/routes/locations/location-list/use-location-list-table-columns.tsx +0 -185
- package/src/routes/locations/location-list/use-location-list-table-query.tsx +0 -22
- package/src/routes/refund-reasons/refund-reason-create/components/refund-reason-create-form/index.ts +0 -1
- package/src/routes/refund-reasons/refund-reason-create/components/refund-reason-create-form/refund-reason-create-form.tsx +0 -131
- package/src/routes/refund-reasons/refund-reason-create/index.ts +0 -1
- package/src/routes/refund-reasons/refund-reason-create/refund-reason-create.tsx +0 -10
- package/src/routes/refund-reasons/refund-reason-edit/components/refund-reason-edit-form/index.ts +0 -1
- package/src/routes/refund-reasons/refund-reason-edit/components/refund-reason-edit-form/refund-reason-edit-form.tsx +0 -119
- package/src/routes/refund-reasons/refund-reason-edit/index.ts +0 -1
- package/src/routes/refund-reasons/refund-reason-edit/refund-reason-edit.tsx +0 -33
- package/src/routes/refund-reasons/refund-reason-list/components/refund-reason-list-table/index.ts +0 -1
- package/src/routes/refund-reasons/refund-reason-list/components/refund-reason-list-table/refund-reason-list-table.tsx +0 -138
- package/src/routes/refund-reasons/refund-reason-list/index.ts +0 -2
- package/src/routes/refund-reasons/refund-reason-list/loader.ts +0 -16
- package/src/routes/refund-reasons/refund-reason-list/refund-reason-list.tsx +0 -21
@@ -36,7 +36,6 @@ import {
|
|
36
36
|
import { queryClient } from "../../../../../lib/query-client"
|
37
37
|
import { InventoryAvailabilityForm } from "./inventory-availability-form"
|
38
38
|
import { CreateInventoryItemSchema } from "./schema"
|
39
|
-
import { useDocumentDirection } from "../../../../../hooks/use-document-direction"
|
40
39
|
|
41
40
|
enum Tab {
|
42
41
|
DETAILS = "details",
|
@@ -55,7 +54,7 @@ export function InventoryCreateForm({ locations }: InventoryCreateFormProps) {
|
|
55
54
|
const { t } = useTranslation()
|
56
55
|
const { handleSuccess } = useRouteModal()
|
57
56
|
const [tab, setTab] = useState<Tab>(Tab.DETAILS)
|
58
|
-
|
57
|
+
|
59
58
|
const form = useForm<CreateInventoryItemSchema>({
|
60
59
|
defaultValues: {
|
61
60
|
title: "",
|
@@ -202,7 +201,6 @@ export function InventoryCreateForm({ locations }: InventoryCreateFormProps) {
|
|
202
201
|
return (
|
203
202
|
<RouteFocusModal.Form form={form}>
|
204
203
|
<ProgressTabs
|
205
|
-
dir={direction}
|
206
204
|
value={tab}
|
207
205
|
className="h-full"
|
208
206
|
onValueChange={(tab) => onTabChange(tab as Tab)}
|
@@ -46,7 +46,7 @@ export const InventoryItemVariantsSection = ({
|
|
46
46
|
</span>
|
47
47
|
</div>
|
48
48
|
<div className="size-7 flex items-center justify-center">
|
49
|
-
<TriangleRightMini className="text-ui-fg-muted
|
49
|
+
<TriangleRightMini className="text-ui-fg-muted" />
|
50
50
|
</div>
|
51
51
|
</div>
|
52
52
|
</div>
|
@@ -49,16 +49,9 @@ export const useLocationListTableColumns = () => {
|
|
49
49
|
level.location_id
|
50
50
|
)
|
51
51
|
|
52
|
-
toast.success(t("inventory.levelDeleted"))
|
53
|
-
|
54
52
|
queryClient.invalidateQueries({
|
55
53
|
queryKey: inventoryItemsQueryKeys.lists(),
|
56
54
|
})
|
57
|
-
queryClient.invalidateQueries({
|
58
|
-
queryKey: inventoryItemLevelsQueryKeys.list({
|
59
|
-
inventoryItemId: level.inventory_item_id,
|
60
|
-
}),
|
61
|
-
})
|
62
55
|
queryClient.invalidateQueries({
|
63
56
|
queryKey: inventoryItemsQueryKeys.detail(level.inventory_item_id),
|
64
57
|
})
|
@@ -1,11 +1,11 @@
|
|
1
1
|
import { Checkbox, Text, clx } from "@medusajs/ui"
|
2
2
|
|
3
|
-
import {
|
3
|
+
import { StockLocationDTO } from "@medusajs/types"
|
4
4
|
|
5
5
|
type LocationItemProps = {
|
6
6
|
selected: boolean
|
7
7
|
onSelect: (selected: boolean) => void
|
8
|
-
location:
|
8
|
+
location: StockLocationDTO
|
9
9
|
}
|
10
10
|
|
11
11
|
export const LocationItem = ({
|
@@ -1,75 +1,111 @@
|
|
1
|
-
import
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
} from "@medusajs/types"
|
1
|
+
import * as zod from "zod"
|
2
|
+
|
3
|
+
import { zodResolver } from "@hookform/resolvers/zod"
|
4
|
+
import { AdminInventoryItem, AdminStockLocation } from "@medusajs/types"
|
6
5
|
import { Button, Text, toast } from "@medusajs/ui"
|
6
|
+
import { useFieldArray, useForm } from "react-hook-form"
|
7
7
|
import { useTranslation } from "react-i18next"
|
8
|
+
import { z } from "zod"
|
8
9
|
import { RouteDrawer, useRouteModal } from "../../../../../../components/modals"
|
9
10
|
import { useBatchInventoryItemLocationLevels } from "../../../../../../hooks/api/inventory"
|
10
|
-
import { sdk } from "../../../../../../lib/client"
|
11
11
|
|
12
|
-
import {
|
12
|
+
import { useEffect, useMemo } from "react"
|
13
|
+
import { KeyboundForm } from "../../../../../../components/utilities/keybound-form"
|
13
14
|
import { LocationItem } from "./location-item"
|
14
|
-
import { LocationSearchInput } from "./location-search-input"
|
15
|
-
import { InfiniteList } from "../../../../../../components/common/infinite-list/infinite-list"
|
16
|
-
import { useStockLocations } from "../../../../../../hooks/api/stock-locations"
|
17
15
|
|
18
16
|
type EditInventoryItemAttributeFormProps = {
|
19
17
|
item: AdminInventoryItem
|
20
18
|
locations: AdminStockLocation[]
|
21
19
|
}
|
22
20
|
|
21
|
+
const EditInventoryItemAttributesSchema = z.object({
|
22
|
+
locations: z.array(
|
23
|
+
z.object({
|
24
|
+
id: z.string(),
|
25
|
+
location_id: z.string(),
|
26
|
+
selected: z.boolean(),
|
27
|
+
})
|
28
|
+
),
|
29
|
+
})
|
30
|
+
|
31
|
+
const getDefaultValues = (
|
32
|
+
allLocations: AdminStockLocation[],
|
33
|
+
existingLevels: Set<string>
|
34
|
+
) => {
|
35
|
+
return {
|
36
|
+
locations: allLocations.map((location) => ({
|
37
|
+
...location,
|
38
|
+
location_id: location.id,
|
39
|
+
selected: existingLevels.has(location.id),
|
40
|
+
})),
|
41
|
+
}
|
42
|
+
}
|
43
|
+
|
23
44
|
export const ManageLocationsForm = ({
|
24
45
|
item,
|
46
|
+
locations,
|
25
47
|
}: EditInventoryItemAttributeFormProps) => {
|
26
48
|
const existingLocationLevels = useMemo(
|
27
49
|
() => new Set(item.location_levels?.map((l) => l.location_id) ?? []),
|
28
|
-
|
50
|
+
item.location_levels
|
29
51
|
)
|
30
52
|
|
31
53
|
const { t } = useTranslation()
|
32
54
|
const { handleSuccess } = useRouteModal()
|
33
|
-
const [searchQuery, setSearchQuery] = useState("")
|
34
|
-
const [selectedLocationIds, setSelectedLocationIds] = useState<Set<string>>(
|
35
|
-
existingLocationLevels
|
36
|
-
)
|
37
55
|
|
38
|
-
const
|
56
|
+
const form = useForm<zod.infer<typeof EditInventoryItemAttributesSchema>>({
|
57
|
+
defaultValues: getDefaultValues(locations, existingLocationLevels),
|
58
|
+
resolver: zodResolver(EditInventoryItemAttributesSchema),
|
59
|
+
})
|
39
60
|
|
40
|
-
const
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
}
|
61
|
+
const { fields: locationFields, update: updateField } = useFieldArray({
|
62
|
+
control: form.control,
|
63
|
+
name: "locations",
|
64
|
+
})
|
65
|
+
|
66
|
+
useEffect(() => {
|
67
|
+
form.setValue(
|
68
|
+
"locations",
|
69
|
+
getDefaultValues(locations, existingLocationLevels).locations
|
70
|
+
)
|
71
|
+
}, [existingLocationLevels, locations])
|
51
72
|
|
52
73
|
const { mutateAsync } = useBatchInventoryItemLocationLevels(item.id)
|
53
74
|
|
54
|
-
const handleSubmit = async () => {
|
55
|
-
|
56
|
-
|
57
|
-
|
75
|
+
const handleSubmit = form.handleSubmit(async ({ locations }) => {
|
76
|
+
// Changes in selected locations
|
77
|
+
const [selectedLocations, unselectedLocations] = locations.reduce(
|
78
|
+
(acc, location) => {
|
79
|
+
// If the location is not changed do nothing
|
80
|
+
if (
|
81
|
+
(!location.selected &&
|
82
|
+
!existingLocationLevels.has(location.location_id)) ||
|
83
|
+
(location.selected &&
|
84
|
+
existingLocationLevels.has(location.location_id))
|
85
|
+
) {
|
86
|
+
return acc
|
87
|
+
}
|
58
88
|
|
59
|
-
|
60
|
-
|
89
|
+
if (location.selected) {
|
90
|
+
acc[0].push(location.location_id)
|
91
|
+
} else {
|
92
|
+
acc[1].push(location.location_id)
|
93
|
+
}
|
94
|
+
return acc
|
95
|
+
},
|
96
|
+
[[], []] as [string[], string[]]
|
61
97
|
)
|
62
98
|
|
63
|
-
|
64
|
-
|
65
|
-
|
99
|
+
if (selectedLocations.length === 0 && unselectedLocations.length === 0) {
|
100
|
+
return handleSuccess()
|
101
|
+
}
|
66
102
|
|
67
103
|
await mutateAsync(
|
68
104
|
{
|
69
|
-
create:
|
105
|
+
create: selectedLocations.map((location_id) => ({
|
70
106
|
location_id,
|
71
107
|
})),
|
72
|
-
delete:
|
108
|
+
delete: unselectedLocations,
|
73
109
|
},
|
74
110
|
{
|
75
111
|
onSuccess: () => {
|
@@ -81,103 +117,80 @@ export const ManageLocationsForm = ({
|
|
81
117
|
},
|
82
118
|
}
|
83
119
|
)
|
84
|
-
}
|
120
|
+
})
|
85
121
|
|
86
122
|
return (
|
87
|
-
<
|
88
|
-
<
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
<
|
95
|
-
|
96
|
-
|
123
|
+
<RouteDrawer.Form form={form}>
|
124
|
+
<KeyboundForm
|
125
|
+
onSubmit={handleSubmit}
|
126
|
+
className="flex flex-1 flex-col overflow-hidden"
|
127
|
+
>
|
128
|
+
<RouteDrawer.Body className="flex flex-1 flex-col gap-y-4 overflow-auto">
|
129
|
+
<div className="text-ui-fg-subtle shadow-elevation-card-rest grid grid-rows-2 divide-y rounded-lg border">
|
130
|
+
<div className="grid grid-cols-2 divide-x">
|
131
|
+
<Text className="px-2 py-1.5" size="small" leading="compact">
|
132
|
+
{t("fields.title")}
|
133
|
+
</Text>
|
134
|
+
<Text className="px-2 py-1.5" size="small" leading="compact">
|
135
|
+
{item.title ?? "-"}
|
136
|
+
</Text>
|
137
|
+
</div>
|
138
|
+
<div className="grid grid-cols-2 divide-x">
|
139
|
+
<Text className="px-2 py-1.5" size="small" leading="compact">
|
140
|
+
{t("fields.sku")}
|
141
|
+
</Text>
|
142
|
+
<Text className="px-2 py-1.5" size="small" leading="compact">
|
143
|
+
{item.sku}
|
144
|
+
</Text>
|
145
|
+
</div>
|
97
146
|
</div>
|
98
|
-
<div className="
|
99
|
-
<Text
|
100
|
-
{t("
|
101
|
-
</Text>
|
102
|
-
<Text className="px-2 py-1.5" size="small" leading="compact">
|
103
|
-
{item.sku}
|
147
|
+
<div className="flex flex-col">
|
148
|
+
<Text size="small" weight="plus" leading="compact">
|
149
|
+
{t("locations.domain")}
|
104
150
|
</Text>
|
151
|
+
<div className="text-ui-fg-subtle flex w-full justify-between">
|
152
|
+
<Text size="small" leading="compact">
|
153
|
+
{t("locations.selectLocations")}
|
154
|
+
</Text>
|
155
|
+
<Text size="small" leading="compact">
|
156
|
+
{"("}
|
157
|
+
{t("general.countOfTotalSelected", {
|
158
|
+
count: locationFields.filter((l) => l.selected).length,
|
159
|
+
total: locations.length,
|
160
|
+
})}
|
161
|
+
{")"}
|
162
|
+
</Text>
|
163
|
+
</div>
|
105
164
|
</div>
|
106
|
-
|
107
|
-
|
108
|
-
<Text size="small" weight="plus" leading="compact">
|
109
|
-
{t("locations.domain")}
|
110
|
-
</Text>
|
111
|
-
<div className="text-ui-fg-subtle flex w-full justify-between">
|
112
|
-
<Text size="small" leading="compact">
|
113
|
-
{t("locations.selectLocations")}
|
114
|
-
</Text>
|
115
|
-
<Text size="small" leading="compact">
|
116
|
-
{"("}
|
117
|
-
{t("general.countOfTotalSelected", {
|
118
|
-
count: selectedLocationIds.size,
|
119
|
-
total: count,
|
120
|
-
})}
|
121
|
-
{")"}
|
122
|
-
</Text>
|
123
|
-
</div>
|
124
|
-
</div>
|
125
|
-
|
126
|
-
<LocationSearchInput
|
127
|
-
onSearchChange={setSearchQuery}
|
128
|
-
placeholder={t("general.search")}
|
129
|
-
/>
|
130
|
-
|
131
|
-
<div className="min-h-0 flex-1">
|
132
|
-
<InfiniteList<
|
133
|
-
HttpTypes.AdminStockLocationListResponse,
|
134
|
-
HttpTypes.AdminStockLocation,
|
135
|
-
HttpTypes.AdminStockLocationListParams
|
136
|
-
>
|
137
|
-
queryKey={["stock-locations", searchQuery]}
|
138
|
-
queryFn={async (params) => {
|
139
|
-
const response = await sdk.admin.stockLocation.list({
|
140
|
-
limit: params.limit,
|
141
|
-
offset: params.offset,
|
142
|
-
...(searchQuery && { q: searchQuery }),
|
143
|
-
})
|
144
|
-
return response
|
145
|
-
}}
|
146
|
-
responseKey="stock_locations"
|
147
|
-
renderItem={(location) => (
|
165
|
+
{locationFields.map((location, idx) => {
|
166
|
+
return (
|
148
167
|
<LocationItem
|
149
|
-
selected={
|
150
|
-
location={location}
|
151
|
-
onSelect={(
|
152
|
-
|
168
|
+
selected={location.selected}
|
169
|
+
location={location as any}
|
170
|
+
onSelect={() =>
|
171
|
+
updateField(idx, {
|
172
|
+
...location,
|
173
|
+
selected: !location.selected,
|
174
|
+
})
|
153
175
|
}
|
176
|
+
key={location.id}
|
154
177
|
/>
|
155
|
-
)
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
</
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
</div>
|
168
|
-
</RouteDrawer.Body>
|
169
|
-
<RouteDrawer.Footer>
|
170
|
-
<div className="flex items-center justify-end gap-x-2">
|
171
|
-
<RouteDrawer.Close asChild>
|
172
|
-
<Button variant="secondary" size="small">
|
173
|
-
{t("actions.cancel")}
|
178
|
+
)
|
179
|
+
})}
|
180
|
+
</RouteDrawer.Body>
|
181
|
+
<RouteDrawer.Footer>
|
182
|
+
<div className="flex items-center justify-end gap-x-2">
|
183
|
+
<RouteDrawer.Close asChild>
|
184
|
+
<Button variant="secondary" size="small">
|
185
|
+
{t("actions.cancel")}
|
186
|
+
</Button>
|
187
|
+
</RouteDrawer.Close>
|
188
|
+
<Button type="submit" size="small" isLoading={false}>
|
189
|
+
{t("actions.save")}
|
174
190
|
</Button>
|
175
|
-
</
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
</div>
|
180
|
-
</RouteDrawer.Footer>
|
181
|
-
</div>
|
191
|
+
</div>
|
192
|
+
</RouteDrawer.Footer>
|
193
|
+
</KeyboundForm>
|
194
|
+
</RouteDrawer.Form>
|
182
195
|
)
|
183
196
|
}
|
package/src/routes/locations/location-edit/components/edit-location-form/edit-location-form.tsx
CHANGED
@@ -62,7 +62,7 @@ export const EditLocationForm = ({ location }: EditLocationFormProps) => {
|
|
62
62
|
},
|
63
63
|
{
|
64
64
|
onSuccess: () => {
|
65
|
-
toast.success(t("stockLocations.edit.successToast"
|
65
|
+
toast.success(t("stockLocations.edit.successToast"))
|
66
66
|
handleSuccess()
|
67
67
|
},
|
68
68
|
onError: (e) => {
|
@@ -0,0 +1 @@
|
|
1
|
+
export * from "./location-list-header"
|
package/src/routes/locations/location-list/components/location-list-header/location-list-header.tsx
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
import { Button, Container, Heading, Text } from "@medusajs/ui"
|
2
|
+
import { useTranslation } from "react-i18next"
|
3
|
+
import { Link } from "react-router-dom"
|
4
|
+
|
5
|
+
export const LocationListHeader = () => {
|
6
|
+
const { t } = useTranslation()
|
7
|
+
|
8
|
+
return (
|
9
|
+
<Container className="flex h-fit items-center justify-between gap-x-4 px-6 py-4">
|
10
|
+
<div>
|
11
|
+
<Heading>{t("stockLocations.domain")}</Heading>
|
12
|
+
<Text className="text-ui-fg-subtle txt-small">
|
13
|
+
{t("stockLocations.list.description")}
|
14
|
+
</Text>
|
15
|
+
</div>
|
16
|
+
<Button size="small" className="shrink-0" variant="secondary" asChild>
|
17
|
+
<Link to="create">{t("actions.create")}</Link>
|
18
|
+
</Button>
|
19
|
+
</Container>
|
20
|
+
)
|
21
|
+
}
|
@@ -0,0 +1,36 @@
|
|
1
|
+
import { FetchError } from "@medusajs/js-sdk"
|
2
|
+
import { LoaderFunctionArgs, redirect } from "react-router-dom"
|
3
|
+
|
4
|
+
import { HttpTypes } from "@medusajs/types"
|
5
|
+
import { stockLocationsQueryKeys } from "../../../hooks/api/stock-locations"
|
6
|
+
import { sdk } from "../../../lib/client"
|
7
|
+
import { queryClient } from "../../../lib/query-client"
|
8
|
+
import { LOCATION_LIST_FIELDS } from "./constants"
|
9
|
+
|
10
|
+
const shippingListQuery = () => ({
|
11
|
+
queryKey: stockLocationsQueryKeys.lists(),
|
12
|
+
queryFn: async () => {
|
13
|
+
return await sdk.admin.stockLocation
|
14
|
+
.list({
|
15
|
+
// TODO: change this when RQ is fixed
|
16
|
+
fields: LOCATION_LIST_FIELDS,
|
17
|
+
})
|
18
|
+
.catch((error: FetchError) => {
|
19
|
+
if (error.status === 401) {
|
20
|
+
throw redirect("/login")
|
21
|
+
}
|
22
|
+
|
23
|
+
throw error
|
24
|
+
})
|
25
|
+
},
|
26
|
+
})
|
27
|
+
|
28
|
+
export const shippingListLoader = async (_: LoaderFunctionArgs) => {
|
29
|
+
const query = shippingListQuery()
|
30
|
+
|
31
|
+
return (
|
32
|
+
queryClient.getQueryData<HttpTypes.AdminStockLocationListResponse>(
|
33
|
+
query.queryKey
|
34
|
+
) ?? (await queryClient.fetchQuery(query))
|
35
|
+
)
|
36
|
+
}
|
@@ -1,46 +1,34 @@
|
|
1
1
|
import { ShoppingBag, TruckFast } from "@medusajs/icons"
|
2
2
|
import { Container, Heading } from "@medusajs/ui"
|
3
3
|
import { useTranslation } from "react-i18next"
|
4
|
+
import { useLoaderData } from "react-router-dom"
|
4
5
|
|
5
6
|
import { useStockLocations } from "../../../hooks/api/stock-locations"
|
7
|
+
import LocationListItem from "./components/location-list-item/location-list-item"
|
6
8
|
import { LOCATION_LIST_FIELDS } from "./constants"
|
7
|
-
import {
|
8
|
-
import { useLocationListTableQuery } from "./use-location-list-table-query"
|
9
|
+
import { shippingListLoader } from "./loader"
|
9
10
|
|
10
|
-
import { DataTable } from "../../../components/data-table"
|
11
11
|
import { SidebarLink } from "../../../components/common/sidebar-link/sidebar-link"
|
12
12
|
import { TwoColumnPage } from "../../../components/layout/pages"
|
13
13
|
import { useExtension } from "../../../providers/extension-provider"
|
14
|
-
import {
|
15
|
-
|
16
|
-
const PAGE_SIZE = 20
|
17
|
-
const PREFIX = "loc"
|
14
|
+
import { LocationListHeader } from "./components/location-list-header"
|
18
15
|
|
19
16
|
export function LocationList() {
|
20
|
-
const
|
21
|
-
|
22
|
-
|
23
|
-
pageSize: PAGE_SIZE,
|
24
|
-
prefix: PREFIX,
|
25
|
-
})
|
17
|
+
const initialData = useLoaderData() as Awaited<
|
18
|
+
ReturnType<typeof shippingListLoader>
|
19
|
+
>
|
26
20
|
|
27
21
|
const {
|
28
22
|
stock_locations: stockLocations = [],
|
29
|
-
count,
|
30
23
|
isError,
|
31
24
|
error,
|
32
|
-
isLoading,
|
33
25
|
} = useStockLocations(
|
34
26
|
{
|
35
27
|
fields: LOCATION_LIST_FIELDS,
|
36
|
-
...searchParams,
|
37
28
|
},
|
38
|
-
{
|
39
|
-
placeholderData: keepPreviousData,
|
40
|
-
}
|
29
|
+
{ initialData }
|
41
30
|
)
|
42
31
|
|
43
|
-
const columns = useLocationListTableColumns()
|
44
32
|
const { getWidgets } = useExtension()
|
45
33
|
|
46
34
|
if (isError) {
|
@@ -58,38 +46,12 @@ export function LocationList() {
|
|
58
46
|
showJSON
|
59
47
|
>
|
60
48
|
<TwoColumnPage.Main>
|
61
|
-
<
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
getRowId={(row) => row.id}
|
68
|
-
heading={t("stockLocations.domain")}
|
69
|
-
subHeading={t("stockLocations.list.description")}
|
70
|
-
emptyState={{
|
71
|
-
empty: {
|
72
|
-
heading: t("stockLocations.list.noRecordsMessage"),
|
73
|
-
description: t("stockLocations.list.noRecordsMessageEmpty"),
|
74
|
-
},
|
75
|
-
filtered: {
|
76
|
-
heading: t("stockLocations.list.noRecordsMessage"),
|
77
|
-
description: t("stockLocations.list.noRecordsMessageFiltered"),
|
78
|
-
},
|
79
|
-
}}
|
80
|
-
actions={[
|
81
|
-
{
|
82
|
-
label: t("actions.create"),
|
83
|
-
to: "create",
|
84
|
-
},
|
85
|
-
]}
|
86
|
-
isLoading={isLoading}
|
87
|
-
rowHref={(row) => `/settings/locations/${row.id}`}
|
88
|
-
enableSearch={true}
|
89
|
-
prefix={PREFIX}
|
90
|
-
layout="fill"
|
91
|
-
/>
|
92
|
-
</Container>
|
49
|
+
<LocationListHeader />
|
50
|
+
<div className="flex flex-col gap-3 lg:col-span-2">
|
51
|
+
{stockLocations.map((location) => (
|
52
|
+
<LocationListItem key={location.id} location={location} />
|
53
|
+
))}
|
54
|
+
</div>
|
93
55
|
</TwoColumnPage.Main>
|
94
56
|
<TwoColumnPage.Sidebar>
|
95
57
|
<LinksSection />
|
@@ -12,7 +12,6 @@ import { sdk } from "../../../../../lib/client"
|
|
12
12
|
import { formatProvider } from "../../../../../lib/format-provider"
|
13
13
|
import { FulfillmentSetType, ShippingOptionPriceType, } from "../../../common/constants"
|
14
14
|
import { CreateShippingOptionSchema } from "./schema"
|
15
|
-
import { useDocumentDirection } from "../../../../../hooks/use-document-direction"
|
16
15
|
|
17
16
|
type CreateShippingOptionDetailsFormProps = {
|
18
17
|
form: UseFormReturn<CreateShippingOptionSchema>
|
@@ -34,7 +33,7 @@ export const CreateShippingOptionDetailsForm = ({
|
|
34
33
|
type,
|
35
34
|
}: CreateShippingOptionDetailsFormProps) => {
|
36
35
|
const { t } = useTranslation()
|
37
|
-
|
36
|
+
|
38
37
|
const isPickup = type === FulfillmentSetType.Pickup
|
39
38
|
|
40
39
|
const shippingProfiles = useComboboxData({
|
@@ -106,7 +105,6 @@ export const CreateShippingOptionDetailsForm = ({
|
|
106
105
|
</Form.Label>
|
107
106
|
<Form.Control>
|
108
107
|
<RadioGroup
|
109
|
-
dir={direction}
|
110
108
|
className="grid grid-cols-1 gap-4 md:grid-cols-2"
|
111
109
|
{...field}
|
112
110
|
onValueChange={field.onChange}
|
@@ -254,7 +252,6 @@ export const CreateShippingOptionDetailsForm = ({
|
|
254
252
|
</Form.Label>
|
255
253
|
<Form.Control>
|
256
254
|
<Select
|
257
|
-
dir={direction}
|
258
255
|
{...field}
|
259
256
|
onValueChange={field.onChange}
|
260
257
|
disabled={!selectedProviderId}
|
@@ -24,7 +24,6 @@ import {
|
|
24
24
|
CreateShippingOptionSchema,
|
25
25
|
} from "./schema"
|
26
26
|
import { useFulfillmentProviderOptions } from "../../../../../hooks/api"
|
27
|
-
import { useDocumentDirection } from "../../../../../hooks/use-document-direction"
|
28
27
|
|
29
28
|
enum Tab {
|
30
29
|
DETAILS = "details",
|
@@ -49,7 +48,7 @@ export function CreateShippingOptionsForm({
|
|
49
48
|
|
50
49
|
const { t } = useTranslation()
|
51
50
|
const { handleSuccess } = useRouteModal()
|
52
|
-
|
51
|
+
|
53
52
|
const form = useForm<CreateShippingOptionSchema>({
|
54
53
|
defaultValues: {
|
55
54
|
name: "",
|
@@ -272,7 +271,6 @@ export function CreateShippingOptionsForm({
|
|
272
271
|
}}
|
273
272
|
>
|
274
273
|
<ProgressTabs
|
275
|
-
dir={direction}
|
276
274
|
value={activeTab}
|
277
275
|
className="flex h-full flex-col overflow-hidden"
|
278
276
|
onValueChange={(tab) => onTabChange(tab as Tab)}
|
@@ -20,7 +20,6 @@ import {
|
|
20
20
|
ShippingOptionPriceType,
|
21
21
|
} from "../../../common/constants"
|
22
22
|
import { formatProvider } from "../../../../../lib/format-provider"
|
23
|
-
import { useDocumentDirection } from "../../../../../hooks/use-document-direction"
|
24
23
|
|
25
24
|
type EditShippingOptionFormProps = {
|
26
25
|
locationId: string
|
@@ -44,7 +43,7 @@ export const EditShippingOptionForm = ({
|
|
44
43
|
}: EditShippingOptionFormProps) => {
|
45
44
|
const { t } = useTranslation()
|
46
45
|
const { handleSuccess } = useRouteModal()
|
47
|
-
|
46
|
+
|
48
47
|
const isPickup = type === FulfillmentSetType.Pickup
|
49
48
|
|
50
49
|
const shippingProfiles = useComboboxData({
|
@@ -148,11 +147,7 @@ export const EditShippingOptionForm = ({
|
|
148
147
|
)}
|
149
148
|
</Form.Label>
|
150
149
|
<Form.Control>
|
151
|
-
<RadioGroup
|
152
|
-
dir={direction}
|
153
|
-
{...field}
|
154
|
-
onValueChange={field.onChange}
|
155
|
-
>
|
150
|
+
<RadioGroup {...field} onValueChange={field.onChange}>
|
156
151
|
<RadioGroup.ChoiceBox
|
157
152
|
className="flex-1"
|
158
153
|
value={ShippingOptionPriceType.FlatRate}
|