@medusajs/dashboard 3.0.0-snapshot-20251212142124 → 3.0.0-snapshot-20251214110905
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-JQKPED4U.mjs → add-campaign-promotions-PHAHMGXP.mjs} +2 -2
- package/dist/{adjust-inventory-2MFA656V.mjs → adjust-inventory-I5VYMAI4.mjs} +2 -2
- package/dist/{api-key-management-create-ZUVF3SLR.mjs → api-key-management-create-CVRFY4PL.mjs} +2 -2
- package/dist/{api-key-management-detail-F7ZRCFPA.mjs → api-key-management-detail-HRVP6HRC.mjs} +3 -3
- package/dist/{api-key-management-edit-42HNUSXL.mjs → api-key-management-edit-JMU3WEPX.mjs} +2 -2
- package/dist/{api-key-management-sales-channels-7FVABESO.mjs → api-key-management-sales-channels-4OU5VGIG.mjs} +2 -2
- package/dist/app.css +45 -0
- package/dist/app.js +13473 -12039
- package/dist/app.mjs +4 -4
- package/dist/{campaign-budget-edit-6DMZGUCI.mjs → campaign-budget-edit-B5MSE26J.mjs} +2 -2
- package/dist/{campaign-configuration-UNFRB5HR.mjs → campaign-configuration-QOE3D2BE.mjs} +2 -2
- package/dist/{campaign-create-QXG7PD3S.mjs → campaign-create-FJOECKGT.mjs} +3 -3
- package/dist/{campaign-detail-6VNSVZHQ.mjs → campaign-detail-BDI3P2SF.mjs} +3 -3
- package/dist/{campaign-edit-HN4US7DV.mjs → campaign-edit-K2POQH7M.mjs} +2 -2
- package/dist/{categories-metadata-ORPB2LIW.mjs → categories-metadata-BARTITD5.mjs} +6 -6
- package/dist/{category-create-FFIBWXAH.mjs → category-create-L2KJCHPO.mjs} +2 -2
- package/dist/{category-detail-RICXPIVS.mjs → category-detail-CUMEBNXU.mjs} +22 -7
- package/dist/{category-edit-74MZ6TXN.mjs → category-edit-U6SLZSAX.mjs} +2 -2
- package/dist/{category-list-AH2EGTI7.mjs → category-list-W7JW4PWA.mjs} +16 -1
- package/dist/{category-organize-B6EFBFKB.mjs → category-organize-LLSVAO3U.mjs} +2 -2
- package/dist/{category-products-L4XIX3IQ.mjs → category-products-GYXTDDBQ.mjs} +8 -8
- package/dist/{chunk-XTQ7UFA3.mjs → chunk-2HDKZN4Q.mjs} +1 -1
- package/dist/chunk-35LSPN2U.mjs +66 -0
- package/dist/{chunk-PNPT4W2F.mjs → chunk-3BJLNORD.mjs} +1 -1
- package/dist/{chunk-4G2UHUXX.mjs → chunk-67KHYLIQ.mjs} +9 -9
- package/dist/{chunk-AMOGGDOW.mjs → chunk-AIZ6W4QI.mjs} +1 -1
- package/dist/{chunk-EQBVGH3N.mjs → chunk-B3AOQW2B.mjs} +1 -1
- package/dist/{chunk-UKECZ5PA.mjs → chunk-BBTE6VKD.mjs} +3 -3
- package/dist/{chunk-3YPRDSZ6.mjs → chunk-BZKI5J2M.mjs} +1 -1
- package/dist/{chunk-25UWYEJX.mjs → chunk-CQOOXWPZ.mjs} +1 -1
- package/dist/{chunk-42OOM4DJ.mjs → chunk-D6UW7URG.mjs} +23 -6
- package/dist/{chunk-LHNU4DYZ.mjs → chunk-DS5IRNJY.mjs} +2 -2
- package/dist/{chunk-4VNR7DND.mjs → chunk-F5NZDW7L.mjs} +2 -2
- package/dist/{chunk-JJGE3EV6.mjs → chunk-F63F3FIT.mjs} +2 -2
- package/dist/{chunk-W7SLPIO2.mjs → chunk-FEB3ZGTL.mjs} +214 -17
- package/dist/{chunk-4YAPXPLM.mjs → chunk-FPBKWWSI.mjs} +1 -1
- package/dist/{chunk-EXDBX4YX.mjs → chunk-GC3QXC6D.mjs} +3 -3
- package/dist/{chunk-JUVGXLY5.mjs → chunk-HKKZJTRO.mjs} +188 -13
- package/dist/{chunk-EQTBJSBZ.mjs → chunk-KIIT4BNH.mjs} +3 -0
- package/dist/{chunk-KF7ZWW4K.mjs → chunk-LCEKY54O.mjs} +2 -2
- package/dist/{chunk-D4J3CEWH.mjs → chunk-N3SAXQVR.mjs} +2 -2
- package/dist/{chunk-Q6MSICBU.mjs → chunk-O333RR6K.mjs} +1 -1
- package/dist/{chunk-YV4ANEZF.mjs → chunk-PXZEQZ6Q.mjs} +1 -1
- package/dist/{chunk-Q4E6LV6K.mjs → chunk-Q4AXBDFH.mjs} +269 -182
- package/dist/{chunk-CZFLKMYE.mjs → chunk-RMDYKRWW.mjs} +4 -4
- package/dist/{chunk-GN6OCHP4.mjs → chunk-RU4ZS47V.mjs} +11 -1
- package/dist/{chunk-UM4OIJZ3.mjs → chunk-S22SJRPO.mjs} +1 -1
- package/dist/{chunk-HWKLNKOY.mjs → chunk-U726TGCM.mjs} +1 -1
- package/dist/{chunk-XXBP2Z5M.mjs → chunk-WVA4O7QS.mjs} +1 -1
- package/dist/{chunk-L4NOVTH5.mjs → chunk-YIOBBZUB.mjs} +2 -2
- package/dist/{chunk-FIFVOKTK.mjs → chunk-Z6NHG5LQ.mjs} +1 -1
- package/dist/{collection-add-products-MO4FGYD5.mjs → collection-add-products-4WBPS6PY.mjs} +8 -8
- package/dist/{collection-create-DCRW344Z.mjs → collection-create-4JX4YE47.mjs} +2 -2
- package/dist/{collection-detail-ZCHVPXW5.mjs → collection-detail-HT4SSV32.mjs} +22 -7
- package/dist/{collection-edit-UNFEW6HT.mjs → collection-edit-MXL35GQQ.mjs} +2 -2
- package/dist/{collection-list-3UUFO7AP.mjs → collection-list-FYONEBDN.mjs} +29 -14
- package/dist/{collection-metadata-ZOYQDOOT.mjs → collection-metadata-YEZ2TBRX.mjs} +6 -6
- package/dist/{customer-create-XCLZENJS.mjs → customer-create-IA56MXE6.mjs} +2 -2
- package/dist/{customer-create-address-4HZUIAM7.mjs → customer-create-address-27M25HTO.mjs} +2 -2
- package/dist/{customer-detail-RMZTHQIQ.mjs → customer-detail-MB7CS7OG.mjs} +6 -6
- package/dist/{customer-edit-BW5GVTQI.mjs → customer-edit-XQ5NWIVX.mjs} +2 -2
- package/dist/{customer-group-add-customers-HUGHHMU6.mjs → customer-group-add-customers-DM4VLTNB.mjs} +5 -5
- package/dist/{customer-group-create-6YV7W6TI.mjs → customer-group-create-RY4FVEIW.mjs} +2 -2
- package/dist/{customer-group-detail-4S7WB3WV.mjs → customer-group-detail-U5UAP7QS.mjs} +6 -6
- package/dist/{customer-group-edit-7NXU34BQ.mjs → customer-group-edit-MQWARIQZ.mjs} +2 -2
- package/dist/{customer-group-list-JQX6PW6E.mjs → customer-group-list-KAS6JSCQ.mjs} +3 -3
- package/dist/{customer-group-metadata-WK2BGEGO.mjs → customer-group-metadata-JQJRLLXG.mjs} +3 -3
- package/dist/{customer-metadata-ZUWCUTM7.mjs → customer-metadata-HN2DYD5I.mjs} +3 -3
- package/dist/{customers-add-customer-group-JKTM33OU.mjs → customers-add-customer-group-UKLSPYEU.mjs} +8 -8
- package/dist/{edit-inventory-item-Y5W6VTHJ.mjs → edit-inventory-item-RATTNP2Y.mjs} +2 -2
- package/dist/{edit-inventory-item-attributes-NAAZDFEJ.mjs → edit-inventory-item-attributes-JHH5GSNL.mjs} +2 -2
- package/dist/{edit-reservation-2UD4RZJX.mjs → edit-reservation-UZCSNLHY.mjs} +2 -2
- package/dist/{edit-rules-AXG2NQNS.mjs → edit-rules-VMEHCXYQ.mjs} +5 -5
- package/dist/en.json +34 -0
- package/dist/{inventory-create-6SKU4TZL.mjs → inventory-create-KN72V2KK.mjs} +6 -6
- package/dist/{inventory-detail-LAYYI2QT.mjs → inventory-detail-7OHCFAJO.mjs} +3 -3
- package/dist/{inventory-metadata-Q6E6SZF3.mjs → inventory-metadata-I3IRRMLH.mjs} +6 -6
- package/dist/{inventory-stock-SNAWXRBE.mjs → inventory-stock-5IUICNEH.mjs} +7 -7
- package/dist/{invite-VKHAAF4Z.mjs → invite-FVE4ZBKB.mjs} +2 -2
- package/dist/{location-create-RPLEXUZR.mjs → location-create-WZ43K3W7.mjs} +2 -2
- package/dist/{location-detail-XXH22FLG.mjs → location-detail-3MSUGB4W.mjs} +8 -8
- package/dist/{location-edit-L4ISEQHX.mjs → location-edit-VCS7GVWQ.mjs} +2 -2
- package/dist/{location-fulfillment-providers-FSC27EK7.mjs → location-fulfillment-providers-ZVZMLCIC.mjs} +6 -6
- package/dist/{location-list-Z42ZYHUF.mjs → location-list-KVBA6J47.mjs} +2 -2
- package/dist/{location-sales-channels-YMABMECM.mjs → location-sales-channels-NKNM5TQK.mjs} +2 -2
- package/dist/{location-service-zone-create-NSMZCD5N.mjs → location-service-zone-create-3FWF3DG5.mjs} +3 -3
- package/dist/{location-service-zone-edit-6OUAFEZD.mjs → location-service-zone-edit-KHHMSPXD.mjs} +2 -2
- package/dist/{location-service-zone-manage-areas-SEC6LKCZ.mjs → location-service-zone-manage-areas-YFEAZUUN.mjs} +3 -3
- package/dist/{location-service-zone-shipping-option-create-GWNLLSM5.mjs → location-service-zone-shipping-option-create-CZWEHKVJ.mjs} +7 -7
- package/dist/{location-service-zone-shipping-option-edit-QS6HTWST.mjs → location-service-zone-shipping-option-edit-4CGPQ3VT.mjs} +5 -5
- package/dist/{location-service-zone-shipping-option-pricing-23QLNSBT.mjs → location-service-zone-shipping-option-pricing-Z5IFOLFJ.mjs} +4 -4
- package/dist/{login-MFUCIAT6.mjs → login-OCYZM7SI.mjs} +5 -5
- package/dist/{manage-locations-JD6FSBOT.mjs → manage-locations-MLNMPQ5I.mjs} +2 -2
- package/dist/{order-allocate-items-3DDI4V3W.mjs → order-allocate-items-VRPPVPP3.mjs} +3 -3
- package/dist/{order-create-claim-G7BDA7WR.mjs → order-create-claim-O3ZYTAIC.mjs} +7 -7
- package/dist/{order-create-edit-BXYPZRZV.mjs → order-create-edit-HUS7IRS3.mjs} +6 -6
- package/dist/{order-create-exchange-AGEXEKOF.mjs → order-create-exchange-TUP4NHHX.mjs} +13 -13
- package/dist/{order-create-fulfillment-GMLSBCEK.mjs → order-create-fulfillment-4BGDYHBB.mjs} +5 -5
- package/dist/{order-create-refund-BT33POIN.mjs → order-create-refund-FA5ERI7M.mjs} +5 -5
- package/dist/{order-create-return-QGXWSPMP.mjs → order-create-return-7GPHJ2WU.mjs} +4 -4
- package/dist/{order-create-shipment-ZVTOKNC4.mjs → order-create-shipment-27UBYPKT.mjs} +5 -5
- package/dist/{order-detail-MORQRSHL.mjs → order-detail-2J7KDTKG.mjs} +11 -11
- package/dist/{order-edit-billing-address-IUVC4GSZ.mjs → order-edit-billing-address-E7CD5FBQ.mjs} +5 -5
- package/dist/{order-edit-email-MKLJPREH.mjs → order-edit-email-ELRIQYVN.mjs} +5 -5
- package/dist/{order-edit-shipping-address-GFSRTDFG.mjs → order-edit-shipping-address-HVNAJUZI.mjs} +5 -5
- package/dist/order-export-TRMFVBFO.mjs +121 -0
- package/dist/{order-list-QOYJFYD5.mjs → order-list-Y4FET3XV.mjs} +38 -82
- package/dist/{order-metadata-BRSYOGKE.mjs → order-metadata-THARHEJC.mjs} +6 -6
- package/dist/{order-receive-return-NI345L43.mjs → order-receive-return-X5ASB7DL.mjs} +6 -6
- package/dist/{order-request-transfer-ZGGIUFRV.mjs → order-request-transfer-PKF4ULJY.mjs} +5 -5
- package/dist/{price-list-configuration-CWTP3Y5X.mjs → price-list-configuration-SZRY7CXO.mjs} +4 -4
- package/dist/{price-list-create-HDYM5ZGW.mjs → price-list-create-TYNSJDDM.mjs} +15 -15
- package/dist/{price-list-detail-GVGNB5AY.mjs → price-list-detail-ORYFRNB6.mjs} +6 -6
- package/dist/{price-list-edit-SW7YIR3Z.mjs → price-list-edit-I5QNCWJP.mjs} +2 -2
- package/dist/{price-list-prices-add-P4XHE3F4.mjs → price-list-prices-add-MWAUNUBF.mjs} +10 -10
- package/dist/{price-list-prices-edit-C6SX2TLJ.mjs → price-list-prices-edit-Z4YJ4YBY.mjs} +4 -4
- package/dist/{product-attributes-AXSXHPI5.mjs → product-attributes-5QW6ZEYB.mjs} +6 -6
- package/dist/{product-create-CAGTWFTS.mjs → product-create-YQ76CEF3.mjs} +7 -7
- package/dist/{product-create-option-GEGQNSMQ.mjs → product-create-option-UMZKRNTC.mjs} +2 -2
- package/dist/{product-create-variant-5DLZZQPL.mjs → product-create-variant-IASRY2JX.mjs} +6 -6
- package/dist/{product-detail-FSORFVRL.mjs → product-detail-NVLJQGGK.mjs} +51 -10
- package/dist/{product-edit-EYQIREZ6.mjs → product-edit-DP42G3EU.mjs} +6 -6
- package/dist/{product-edit-option-HBIOBQTS.mjs → product-edit-option-ZMTSLRG5.mjs} +2 -2
- package/dist/{product-export-4XRDDWZQ.mjs → product-export-OK5FCD42.mjs} +15 -15
- package/dist/{product-image-variants-edit-KCFCTXE2.mjs → product-image-variants-edit-VEWNL52X.mjs} +5 -5
- package/dist/{product-import-JTEXWYY7.mjs → product-import-LX625CIX.mjs} +5 -5
- package/dist/{product-list-T4OZG4OC.mjs → product-list-TXEPE6NL.mjs} +19 -7
- package/dist/{product-media-EGK66SRX.mjs → product-media-ULNJ7JJY.mjs} +2 -2
- package/dist/{product-metadata-5BLG4EIR.mjs → product-metadata-ZKKBE6GG.mjs} +6 -6
- package/dist/{product-organization-BEXN2KXC.mjs → product-organization-NMA2WJNT.mjs} +6 -6
- package/dist/{product-prices-WQDE4XYT.mjs → product-prices-5WCCQDS6.mjs} +3 -3
- package/dist/{product-sales-channels-ZICOOOKY.mjs → product-sales-channels-2PN4L7II.mjs} +2 -2
- package/dist/{product-shipping-profile-KIDRTPWA.mjs → product-shipping-profile-45XXB7FM.mjs} +2 -2
- package/dist/{product-stock-SSJVQPBZ.mjs → product-stock-KUHH6MFA.mjs} +7 -7
- package/dist/{product-tag-create-ZPYRJTC4.mjs → product-tag-create-7EVRE5BL.mjs} +5 -5
- package/dist/{product-tag-detail-VRGVJNDT.mjs → product-tag-detail-WULO55NT.mjs} +31 -16
- package/dist/{product-tag-edit-2KFYOID4.mjs → product-tag-edit-J4ODRLXN.mjs} +5 -5
- package/dist/{product-tag-list-WTX6GV7O.mjs → product-tag-list-V4CCQTL6.mjs} +31 -16
- package/dist/{product-tag-metadata-Y7YHTUKM.mjs → product-tag-metadata-KHDYQMSG.mjs} +6 -6
- package/dist/{product-type-create-HBDROTGB.mjs → product-type-create-KHSNCQCV.mjs} +2 -2
- package/dist/{product-type-detail-3ZLSMENL.mjs → product-type-detail-F35MUSLD.mjs} +22 -7
- package/dist/{product-type-edit-H3JCMVRV.mjs → product-type-edit-3LRBWZ3S.mjs} +2 -2
- package/dist/{product-type-list-QX7QC6RI.mjs → product-type-list-K2GULUPF.mjs} +19 -4
- package/dist/{product-type-metadata-GJACA4N6.mjs → product-type-metadata-CGXFFEJO.mjs} +6 -6
- package/dist/{product-variant-detail-L5G4CPVH.mjs → product-variant-detail-NT2MB3Z4.mjs} +19 -4
- package/dist/{product-variant-edit-YXALQPQT.mjs → product-variant-edit-KZ6D5CSA.mjs} +5 -5
- package/dist/{product-variant-manage-inventory-items-BLHCH6QD.mjs → product-variant-manage-inventory-items-OGM64KYP.mjs} +2 -2
- package/dist/{product-variant-media-KLSUISGH.mjs → product-variant-media-C3KCFODU.mjs} +2 -2
- package/dist/{product-variant-metadata-OQOE34VY.mjs → product-variant-metadata-I2PN64TH.mjs} +6 -6
- package/dist/{profile-edit-5EEKOEO5.mjs → profile-edit-YZCUGEXF.mjs} +2 -2
- package/dist/{promotion-add-campaign-JRTM7WBR.mjs → promotion-add-campaign-DO67QK6M.mjs} +3 -3
- package/dist/{promotion-create-OXNLKBL7.mjs → promotion-create-4KVSXYAI.mjs} +12 -12
- package/dist/{promotion-detail-N6VHHN3X.mjs → promotion-detail-NGNVELME.mjs} +3 -3
- package/dist/{promotion-edit-details-AREFQ6O5.mjs → promotion-edit-details-6BSOOWQN.mjs} +2 -2
- package/dist/{refund-reason-create-L36EUXXM.mjs → refund-reason-create-CTAPBK3X.mjs} +5 -5
- package/dist/{refund-reason-edit-364ALB4G.mjs → refund-reason-edit-B6HRNXGE.mjs} +5 -5
- package/dist/{refund-reason-list-ICO2GYRP.mjs → refund-reason-list-7OUHUORB.mjs} +4 -4
- package/dist/{region-add-countries-AFWXMQ6W.mjs → region-add-countries-7U4J5RW6.mjs} +2 -2
- package/dist/{region-create-YC4VZ4AS.mjs → region-create-IUGX33M5.mjs} +2 -2
- package/dist/{region-edit-5GO25GDF.mjs → region-edit-WAU347DP.mjs} +2 -2
- package/dist/{region-metadata-VNLW6NYZ.mjs → region-metadata-GRG3QSJY.mjs} +6 -6
- package/dist/{reservation-create-Z2SUMBGT.mjs → reservation-create-C6HTEF3R.mjs} +2 -2
- package/dist/{reservation-detail-YXIUIN5I.mjs → reservation-detail-KAI7N5UP.mjs} +3 -3
- package/dist/{reservation-metadata-7H7TYWZW.mjs → reservation-metadata-TWV7KLOB.mjs} +6 -6
- package/dist/{reset-password-5TAYQEUV.mjs → reset-password-Y5WVXV4Q.mjs} +2 -2
- package/dist/{return-reason-create-NXWDC6AC.mjs → return-reason-create-HM54WRJY.mjs} +2 -2
- package/dist/{return-reason-edit-M6IKNNKB.mjs → return-reason-edit-VSIRHVQ6.mjs} +2 -2
- package/dist/return-reason-list-IFFIDA5O.mjs +1 -1
- package/dist/{sales-channel-add-products-N7EPWF2N.mjs → sales-channel-add-products-CBECZU46.mjs} +8 -8
- package/dist/{sales-channel-create-E7BDTPWD.mjs → sales-channel-create-4XLJDVJO.mjs} +2 -2
- package/dist/{sales-channel-detail-DV6BKC5B.mjs → sales-channel-detail-NQSBPPIE.mjs} +6 -6
- package/dist/{sales-channel-edit-HMPA3Y3L.mjs → sales-channel-edit-UZGSXD5X.mjs} +2 -2
- package/dist/{sales-channel-list-33QC2ZXP.mjs → sales-channel-list-UYN2OCBR.mjs} +3 -3
- package/dist/{sales-channel-metadata-HYYQEVRZ.mjs → sales-channel-metadata-4XWXYN2E.mjs} +6 -6
- package/dist/{shipping-option-type-create-IXYDKBKG.mjs → shipping-option-type-create-U7PIKVMV.mjs} +5 -5
- package/dist/{shipping-option-type-detail-WMZ3DEY6.mjs → shipping-option-type-detail-QNZLQGI6.mjs} +4 -4
- package/dist/{shipping-option-type-edit-YYO3Q2QV.mjs → shipping-option-type-edit-BP6HLZ7B.mjs} +5 -5
- package/dist/{shipping-option-type-list-YAL6IQF2.mjs → shipping-option-type-list-L274RM6A.mjs} +4 -4
- package/dist/{shipping-profile-create-752TMBBE.mjs → shipping-profile-create-26R64I3Z.mjs} +2 -2
- package/dist/{shipping-profile-metadata-YBXPOVZF.mjs → shipping-profile-metadata-BZKPLXHO.mjs} +6 -6
- package/dist/{store-add-currencies-3VMLZ6KB.mjs → store-add-currencies-ZFS3WZHG.mjs} +2 -2
- package/dist/{store-add-locales-AYY44DB3.mjs → store-add-locales-EXR3NLOM.mjs} +4 -4
- package/dist/{store-detail-4YVABC3P.mjs → store-detail-T4YY5NHG.mjs} +3 -3
- package/dist/{store-edit-EPAHLLKP.mjs → store-edit-AB5CDUTK.mjs} +2 -2
- package/dist/{store-metadata-QQD2NP5U.mjs → store-metadata-FN3WZLXA.mjs} +6 -6
- package/dist/{tax-region-create-AFGAIC3C.mjs → tax-region-create-PWXTFE3Q.mjs} +5 -5
- package/dist/{tax-region-detail-LM7VIA2N.mjs → tax-region-detail-GJW63AMV.mjs} +22 -22
- package/dist/{tax-region-edit-ZLSY22NQ.mjs → tax-region-edit-WOUO7TPQ.mjs} +5 -5
- package/dist/{tax-region-list-BXZBUXRJ.mjs → tax-region-list-P4LDOPZD.mjs} +3 -3
- package/dist/{tax-region-province-create-5JP3PVID.mjs → tax-region-province-create-GKJ7WMRS.mjs} +2 -2
- package/dist/{tax-region-province-detail-ZF75A3Z2.mjs → tax-region-province-detail-FCHPIRXW.mjs} +21 -21
- package/dist/{tax-region-tax-override-create-JVMTMMWB.mjs → tax-region-tax-override-create-ZLWXRNLN.mjs} +16 -16
- package/dist/{tax-region-tax-override-edit-HS4BCVC7.mjs → tax-region-tax-override-edit-ZM2JUFNJ.mjs} +17 -17
- package/dist/{tax-region-tax-rate-create-O2SDSXCH.mjs → tax-region-tax-rate-create-MECFGVPL.mjs} +2 -2
- package/dist/{tax-region-tax-rate-edit-W62VEVKT.mjs → tax-region-tax-rate-edit-7DYSPYOD.mjs} +2 -2
- package/dist/translation-list-Y2GWTRGW.mjs +302 -0
- package/dist/translations-edit-PM4PSMRF.mjs +390 -0
- package/dist/{user-edit-LXQCTDGA.mjs → user-edit-ZBB4RMTP.mjs} +2 -2
- package/dist/{user-invite-2OKB7SCF.mjs → user-invite-XB635N26.mjs} +2 -2
- package/dist/{user-metadata-U3WGLABX.mjs → user-metadata-LNADHFTW.mjs} +6 -6
- package/dist/{workflow-execution-detail-L4IESFKA.mjs → workflow-execution-detail-POTSURJX.mjs} +4 -4
- package/package.json +9 -9
- package/src/components/common/icon-avatar/icon-avatar.tsx +4 -0
- package/src/components/data-grid/components/data-grid-textarea-modal-cell.tsx +233 -0
- package/src/components/data-grid/components/index.ts +1 -0
- package/src/components/data-grid/data-grid.tsx +2 -0
- package/src/components/layout/settings-layout/settings-layout.tsx +11 -1
- package/src/components/modals/route-focus-modal/route-focus-modal.tsx +8 -3
- package/src/components/modals/route-modal-form/route-modal-form.tsx +6 -1
- package/src/components/modals/route-modal-provider/route-provider.tsx +16 -4
- package/src/dashboard-app/routes/get-route.map.tsx +25 -0
- package/src/hooks/api/index.ts +1 -0
- package/src/hooks/api/orders.tsx +18 -1
- package/src/hooks/api/product-variants.tsx +7 -1
- package/src/hooks/api/translations.tsx +254 -0
- package/src/i18n/translations/$schema.json +104 -0
- package/src/i18n/translations/en.json +34 -0
- package/src/i18n/translations/es.json +22 -0
- package/src/routes/categories/category-detail/components/category-general-section/category-general-section.tsx +16 -1
- package/src/routes/categories/category-list/components/category-list-table/category-list-table.tsx +16 -1
- package/src/routes/collections/collection-detail/components/collection-general-section/collection-general-section.tsx +16 -1
- package/src/routes/collections/collection-list/components/collection-list-table/collection-row-actions.tsx +16 -1
- package/src/routes/orders/order-export/components/export-filters.tsx +22 -0
- package/src/routes/orders/order-export/index.ts +1 -0
- package/src/routes/orders/order-export/order-export.tsx +66 -0
- package/src/routes/orders/order-list/components/order-list-table/configurable-order-list-table.tsx +14 -6
- package/src/routes/orders/order-list/components/order-list-table/order-list-table.tsx +8 -2
- package/src/routes/product-tags/product-tag-detail/components/product-tag-general-section/product-tag-general-section.tsx +16 -1
- package/src/routes/product-tags/product-tag-list/components/product-tag-list-table/product-tag-list-table.tsx +16 -1
- package/src/routes/product-types/product-type-detail/components/product-type-general-section/product-type-general-section.tsx +16 -1
- package/src/routes/product-types/product-type-list/components/product-type-list-table/product-table-row-actions.tsx +16 -1
- package/src/routes/product-variants/product-variant-detail/components/variant-general-section/variant-general-section.tsx +16 -1
- package/src/routes/products/product-detail/components/product-general-section/product-general-section.tsx +16 -1
- package/src/routes/products/product-detail/components/product-variant-section/product-variant-section.tsx +32 -1
- package/src/routes/products/product-list/components/product-list-table/product-list-table.tsx +15 -1
- package/src/routes/translations/translation-list/components/active-locales-section/active-locales-section.tsx +68 -0
- package/src/routes/translations/translation-list/components/translation-list-section/translation-list-section.tsx +46 -0
- package/src/routes/translations/translation-list/components/translations-completion-section/translations-completion-section.tsx +67 -0
- package/src/routes/translations/translation-list/index.tsx +1 -0
- package/src/routes/translations/translation-list/translation-list.tsx +128 -0
- package/src/routes/translations/translations-edit/components/translations-edit-form/index.ts +1 -0
- package/src/routes/translations/translations-edit/components/translations-edit-form/translations-edit-form.tsx +423 -0
- package/src/routes/translations/translations-edit/index.ts +1 -0
- package/src/routes/translations/translations-edit/translations-edit.tsx +67 -0
- package/src/routes/translations/translations-edit/utils/index.ts +1 -0
- package/src/routes/translations/translations-edit/utils/reference-label-map.ts +10 -0
- package/dist/{customer-list-ZXCGIXJC.mjs → customer-list-TG4D4QOT.mjs} +3 -3
- package/dist/{region-list-XQRIBDMF.mjs → region-list-JAQXIBYD.mjs} +3 -3
|
@@ -4,10 +4,10 @@ import {
|
|
|
4
4
|
} from "./chunk-6HTZNHPT.mjs";
|
|
5
5
|
import {
|
|
6
6
|
RouteDrawer
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-WVA4O7QS.mjs";
|
|
8
8
|
import {
|
|
9
9
|
useRouteModal
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-D6UW7URG.mjs";
|
|
11
11
|
import {
|
|
12
12
|
Form
|
|
13
13
|
} from "./chunk-OBQI23QM.mjs";
|
|
@@ -14,10 +14,10 @@ import "./chunk-DZWH2RV6.mjs";
|
|
|
14
14
|
import {
|
|
15
15
|
KeyboundForm
|
|
16
16
|
} from "./chunk-6HTZNHPT.mjs";
|
|
17
|
-
import "./chunk-
|
|
17
|
+
import "./chunk-WVA4O7QS.mjs";
|
|
18
18
|
import {
|
|
19
19
|
RouteFocusModal
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-D6UW7URG.mjs";
|
|
21
21
|
import {
|
|
22
22
|
isFetchError
|
|
23
23
|
} from "./chunk-ONB3JEHR.mjs";
|
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
import "./chunk-XRTVFYCW.mjs";
|
|
2
2
|
import {
|
|
3
3
|
MetadataForm
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-N3SAXQVR.mjs";
|
|
5
5
|
import "./chunk-IUCDCPJU.mjs";
|
|
6
6
|
import "./chunk-6HTZNHPT.mjs";
|
|
7
7
|
import {
|
|
8
8
|
RouteDrawer
|
|
9
|
-
} from "./chunk-
|
|
10
|
-
import "./chunk-
|
|
9
|
+
} from "./chunk-WVA4O7QS.mjs";
|
|
10
|
+
import "./chunk-D6UW7URG.mjs";
|
|
11
11
|
import "./chunk-LPEUYMRK.mjs";
|
|
12
12
|
import "./chunk-OC7BQLYI.mjs";
|
|
13
13
|
import "./chunk-S4DMV3ZT.mjs";
|
|
14
14
|
import "./chunk-OBQI23QM.mjs";
|
|
15
|
-
import "./chunk-
|
|
15
|
+
import "./chunk-HKKZJTRO.mjs";
|
|
16
16
|
import "./chunk-I4OBEAOJ.mjs";
|
|
17
17
|
import "./chunk-HI6URQ7H.mjs";
|
|
18
18
|
import "./chunk-6CLQKVAU.mjs";
|
|
19
|
+
import "./chunk-KI7TOXBR.mjs";
|
|
19
20
|
import "./chunk-HKIF5HVL.mjs";
|
|
20
21
|
import "./chunk-XIVBRONM.mjs";
|
|
21
|
-
import "./chunk-KI7TOXBR.mjs";
|
|
22
22
|
import "./chunk-WAXMT4IY.mjs";
|
|
23
23
|
import "./chunk-DYDGGABK.mjs";
|
|
24
24
|
import "./chunk-LGNTHZ5Y.mjs";
|
|
@@ -33,7 +33,7 @@ import "./chunk-NHDFPGQ3.mjs";
|
|
|
33
33
|
import "./chunk-A63RZVX6.mjs";
|
|
34
34
|
import "./chunk-HBXV7ENS.mjs";
|
|
35
35
|
import "./chunk-CDORR33H.mjs";
|
|
36
|
-
import "./chunk-
|
|
36
|
+
import "./chunk-RU4ZS47V.mjs";
|
|
37
37
|
import "./chunk-N4O5FAUC.mjs";
|
|
38
38
|
import "./chunk-7AX6R6G6.mjs";
|
|
39
39
|
import "./chunk-N3FCYZV6.mjs";
|
package/dist/{workflow-execution-detail-L4IESFKA.mjs → workflow-execution-detail-POTSURJX.mjs}
RENAMED
|
@@ -20,16 +20,16 @@ import {
|
|
|
20
20
|
import {
|
|
21
21
|
useDocumentDirection
|
|
22
22
|
} from "./chunk-S4DMV3ZT.mjs";
|
|
23
|
-
import "./chunk-
|
|
23
|
+
import "./chunk-HKKZJTRO.mjs";
|
|
24
24
|
import "./chunk-I4OBEAOJ.mjs";
|
|
25
25
|
import "./chunk-HI6URQ7H.mjs";
|
|
26
26
|
import "./chunk-6CLQKVAU.mjs";
|
|
27
|
-
import "./chunk-HKIF5HVL.mjs";
|
|
28
|
-
import "./chunk-XIVBRONM.mjs";
|
|
29
27
|
import {
|
|
30
28
|
useWorkflowExecution,
|
|
31
29
|
workflowExecutionsQueryKeys
|
|
32
30
|
} from "./chunk-KI7TOXBR.mjs";
|
|
31
|
+
import "./chunk-HKIF5HVL.mjs";
|
|
32
|
+
import "./chunk-XIVBRONM.mjs";
|
|
33
33
|
import "./chunk-WAXMT4IY.mjs";
|
|
34
34
|
import "./chunk-DYDGGABK.mjs";
|
|
35
35
|
import "./chunk-LGNTHZ5Y.mjs";
|
|
@@ -41,7 +41,7 @@ import "./chunk-NHDFPGQ3.mjs";
|
|
|
41
41
|
import "./chunk-A63RZVX6.mjs";
|
|
42
42
|
import "./chunk-HBXV7ENS.mjs";
|
|
43
43
|
import "./chunk-CDORR33H.mjs";
|
|
44
|
-
import "./chunk-
|
|
44
|
+
import "./chunk-RU4ZS47V.mjs";
|
|
45
45
|
import "./chunk-N4O5FAUC.mjs";
|
|
46
46
|
import "./chunk-7AX6R6G6.mjs";
|
|
47
47
|
import "./chunk-N3FCYZV6.mjs";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@medusajs/dashboard",
|
|
3
|
-
"version": "3.0.0-snapshot-
|
|
3
|
+
"version": "3.0.0-snapshot-20251214110905",
|
|
4
4
|
"scripts": {
|
|
5
5
|
"generate:static": "node ./scripts/generate-currencies.js && prettier --write ./src/lib/currencies.ts",
|
|
6
6
|
"dev": "../../../node_modules/.bin/vite",
|
|
@@ -46,10 +46,10 @@
|
|
|
46
46
|
"@dnd-kit/utilities": "^3.2.2",
|
|
47
47
|
"@hookform/error-message": "^2.0.1",
|
|
48
48
|
"@hookform/resolvers": "3.4.2",
|
|
49
|
-
"@medusajs/admin-shared": "3.0.0-snapshot-
|
|
50
|
-
"@medusajs/icons": "3.0.0-snapshot-
|
|
51
|
-
"@medusajs/js-sdk": "3.0.0-snapshot-
|
|
52
|
-
"@medusajs/ui": "4.0.31-snapshot-
|
|
49
|
+
"@medusajs/admin-shared": "3.0.0-snapshot-20251214110905",
|
|
50
|
+
"@medusajs/icons": "3.0.0-snapshot-20251214110905",
|
|
51
|
+
"@medusajs/js-sdk": "3.0.0-snapshot-20251214110905",
|
|
52
|
+
"@medusajs/ui": "4.0.31-snapshot-20251214110905",
|
|
53
53
|
"@radix-ui/react-dialog": "1.1.4",
|
|
54
54
|
"@radix-ui/react-dismissable-layer": "1.1.4",
|
|
55
55
|
"@tanstack/react-query": "5.64.2",
|
|
@@ -80,10 +80,10 @@
|
|
|
80
80
|
"zod": "3.25.76"
|
|
81
81
|
},
|
|
82
82
|
"devDependencies": {
|
|
83
|
-
"@medusajs/admin-shared": "3.0.0-snapshot-
|
|
84
|
-
"@medusajs/admin-vite-plugin": "3.0.0-snapshot-
|
|
85
|
-
"@medusajs/types": "3.0.0-snapshot-
|
|
86
|
-
"@medusajs/ui-preset": "3.0.0-snapshot-
|
|
83
|
+
"@medusajs/admin-shared": "3.0.0-snapshot-20251214110905",
|
|
84
|
+
"@medusajs/admin-vite-plugin": "3.0.0-snapshot-20251214110905",
|
|
85
|
+
"@medusajs/types": "3.0.0-snapshot-20251214110905",
|
|
86
|
+
"@medusajs/ui-preset": "3.0.0-snapshot-20251214110905"
|
|
87
87
|
},
|
|
88
88
|
"packageManager": "yarn@3.2.1"
|
|
89
89
|
}
|
|
@@ -4,6 +4,7 @@ import { PropsWithChildren } from "react"
|
|
|
4
4
|
type IconAvatarProps = PropsWithChildren<{
|
|
5
5
|
className?: string
|
|
6
6
|
size?: "small" | "large" | "xlarge"
|
|
7
|
+
variant?: "squared" | "rounded"
|
|
7
8
|
}>
|
|
8
9
|
|
|
9
10
|
/**
|
|
@@ -13,6 +14,7 @@ type IconAvatarProps = PropsWithChildren<{
|
|
|
13
14
|
*/
|
|
14
15
|
export const IconAvatar = ({
|
|
15
16
|
size = "small",
|
|
17
|
+
variant = "rounded",
|
|
16
18
|
children,
|
|
17
19
|
className,
|
|
18
20
|
}: IconAvatarProps) => {
|
|
@@ -20,6 +22,8 @@ export const IconAvatar = ({
|
|
|
20
22
|
<div
|
|
21
23
|
className={clx(
|
|
22
24
|
"shadow-borders-base flex size-7 items-center justify-center",
|
|
25
|
+
variant === "squared" && "rounded-md",
|
|
26
|
+
variant === "rounded" && "rounded-full",
|
|
23
27
|
"[&>div]:bg-ui-bg-field [&>div]:text-ui-fg-subtle [&>div]:flex [&>div]:size-6 [&>div]:items-center [&>div]:justify-center",
|
|
24
28
|
{
|
|
25
29
|
"size-7 rounded-md [&>div]:size-6 [&>div]:rounded-[4px]":
|
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
import { clx, Textarea } from "@medusajs/ui"
|
|
2
|
+
import { Popover as RadixPopover } from "radix-ui"
|
|
3
|
+
import { useCallback, useEffect, useRef, useState } from "react"
|
|
4
|
+
import { Controller, ControllerRenderProps } from "react-hook-form"
|
|
5
|
+
|
|
6
|
+
import { useCombinedRefs } from "../../../hooks/use-combined-refs"
|
|
7
|
+
import { useDataGridCell, useDataGridCellError } from "../hooks"
|
|
8
|
+
import { useDataGridContext } from "../context"
|
|
9
|
+
import { DataGridCellProps, InputProps, DataGridCellContext } from "../types"
|
|
10
|
+
import { DataGridCellContainer } from "./data-grid-cell-container"
|
|
11
|
+
|
|
12
|
+
type DataGridExpandableTextCellProps<TData, TValue = any> = DataGridCellProps<
|
|
13
|
+
TData,
|
|
14
|
+
TValue
|
|
15
|
+
> & {
|
|
16
|
+
fieldLabel?: string
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export const DataGridExpandableTextCell = <TData, TValue = any>({
|
|
20
|
+
context,
|
|
21
|
+
fieldLabel,
|
|
22
|
+
}: DataGridExpandableTextCellProps<TData, TValue>) => {
|
|
23
|
+
const { field, control, renderProps } = useDataGridCell({
|
|
24
|
+
context,
|
|
25
|
+
})
|
|
26
|
+
const errorProps = useDataGridCellError({ context })
|
|
27
|
+
|
|
28
|
+
const { container, input } = renderProps
|
|
29
|
+
|
|
30
|
+
return (
|
|
31
|
+
<Controller
|
|
32
|
+
control={control}
|
|
33
|
+
name={field}
|
|
34
|
+
render={({ field }) => {
|
|
35
|
+
return (
|
|
36
|
+
<Inner
|
|
37
|
+
field={field}
|
|
38
|
+
inputProps={input}
|
|
39
|
+
fieldLabel={fieldLabel}
|
|
40
|
+
container={container}
|
|
41
|
+
errorProps={errorProps}
|
|
42
|
+
/>
|
|
43
|
+
)
|
|
44
|
+
}}
|
|
45
|
+
/>
|
|
46
|
+
)
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
const Inner = ({
|
|
50
|
+
field,
|
|
51
|
+
inputProps,
|
|
52
|
+
fieldLabel: _fieldLabel,
|
|
53
|
+
container,
|
|
54
|
+
errorProps,
|
|
55
|
+
}: {
|
|
56
|
+
field: ControllerRenderProps<any, string>
|
|
57
|
+
inputProps: InputProps
|
|
58
|
+
fieldLabel?: string
|
|
59
|
+
container: any
|
|
60
|
+
errorProps: any
|
|
61
|
+
}) => {
|
|
62
|
+
const { onChange: _, onBlur, ref, value, ...rest } = field
|
|
63
|
+
const { ref: inputRef, onBlur: onInputBlur, onChange, ...input } = inputProps
|
|
64
|
+
const { setSingleRange, anchor } = useDataGridContext()
|
|
65
|
+
const { row, col } = anchor || { row: 0, col: 0 }
|
|
66
|
+
|
|
67
|
+
const [localValue, setLocalValue] = useState(value || "")
|
|
68
|
+
const [isPopoverOpen, setIsPopoverOpen] = useState(false)
|
|
69
|
+
const [popoverValue, setPopoverValue] = useState(value || "")
|
|
70
|
+
const popoverContentRef = useRef<HTMLDivElement>(null)
|
|
71
|
+
|
|
72
|
+
useEffect(() => {
|
|
73
|
+
setLocalValue(value || "")
|
|
74
|
+
}, [value])
|
|
75
|
+
|
|
76
|
+
useEffect(() => {
|
|
77
|
+
if (isPopoverOpen) {
|
|
78
|
+
setPopoverValue(value || "")
|
|
79
|
+
}
|
|
80
|
+
}, [isPopoverOpen, value])
|
|
81
|
+
|
|
82
|
+
// Prevent DataGrid keyboard handlers from intercepting keys when popover is open
|
|
83
|
+
useEffect(() => {
|
|
84
|
+
if (!isPopoverOpen || !popoverContentRef.current) {
|
|
85
|
+
return
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
const handleKeyDownCapture = (e: KeyboardEvent) => {
|
|
89
|
+
const target = e.target as HTMLElement
|
|
90
|
+
const isTextarea = target.tagName === "TEXTAREA"
|
|
91
|
+
const isInPopover =
|
|
92
|
+
popoverContentRef.current && popoverContentRef.current.contains(target)
|
|
93
|
+
|
|
94
|
+
if (isTextarea || isInPopover) {
|
|
95
|
+
const dataGridKeys = [
|
|
96
|
+
"Enter",
|
|
97
|
+
"Delete",
|
|
98
|
+
"Backspace",
|
|
99
|
+
"ArrowUp",
|
|
100
|
+
"ArrowDown",
|
|
101
|
+
"ArrowLeft",
|
|
102
|
+
"ArrowRight",
|
|
103
|
+
"Tab",
|
|
104
|
+
" ",
|
|
105
|
+
]
|
|
106
|
+
|
|
107
|
+
// Stop the keys from reaching DataGrid, so the textarea can handle them
|
|
108
|
+
if (dataGridKeys.includes(e.key) && e.key !== "Escape") {
|
|
109
|
+
e.stopImmediatePropagation()
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
window.addEventListener("keydown", handleKeyDownCapture, true)
|
|
115
|
+
|
|
116
|
+
return () => {
|
|
117
|
+
window.removeEventListener("keydown", handleKeyDownCapture, true)
|
|
118
|
+
}
|
|
119
|
+
}, [isPopoverOpen])
|
|
120
|
+
|
|
121
|
+
const combinedRefs = useCombinedRefs(inputRef, ref)
|
|
122
|
+
|
|
123
|
+
const handleOverlayMouseDown = useCallback(
|
|
124
|
+
(e: React.MouseEvent) => {
|
|
125
|
+
if (e.detail === 2) {
|
|
126
|
+
e.preventDefault()
|
|
127
|
+
e.stopPropagation()
|
|
128
|
+
setSingleRange({ row, col })
|
|
129
|
+
setIsPopoverOpen(true)
|
|
130
|
+
return
|
|
131
|
+
}
|
|
132
|
+
// For single clicks, use the normal handler which sets anchor and focuses container
|
|
133
|
+
container.overlayProps.onMouseDown?.(e)
|
|
134
|
+
},
|
|
135
|
+
[container.overlayProps, setSingleRange, row, col]
|
|
136
|
+
)
|
|
137
|
+
|
|
138
|
+
const customContainer = {
|
|
139
|
+
...container,
|
|
140
|
+
overlayProps: {
|
|
141
|
+
...container.overlayProps,
|
|
142
|
+
onMouseDown: handleOverlayMouseDown,
|
|
143
|
+
},
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
const handlePopoverSave = () => {
|
|
147
|
+
onChange(popoverValue, value)
|
|
148
|
+
setLocalValue(popoverValue)
|
|
149
|
+
setIsPopoverOpen(false)
|
|
150
|
+
onBlur()
|
|
151
|
+
onInputBlur()
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
const handlePopoverKeyDown = useCallback((e: React.KeyboardEvent) => {
|
|
155
|
+
if (e.key !== "Escape") {
|
|
156
|
+
e.stopPropagation()
|
|
157
|
+
}
|
|
158
|
+
}, [])
|
|
159
|
+
|
|
160
|
+
const displayValue = localValue || ""
|
|
161
|
+
const truncatedValue =
|
|
162
|
+
displayValue.length > 50
|
|
163
|
+
? `${displayValue.substring(0, 50)}...`
|
|
164
|
+
: displayValue
|
|
165
|
+
|
|
166
|
+
return (
|
|
167
|
+
<RadixPopover.Root
|
|
168
|
+
open={isPopoverOpen}
|
|
169
|
+
onOpenChange={(open) => {
|
|
170
|
+
if (!open) {
|
|
171
|
+
handlePopoverSave()
|
|
172
|
+
} else {
|
|
173
|
+
setIsPopoverOpen(true)
|
|
174
|
+
}
|
|
175
|
+
}}
|
|
176
|
+
>
|
|
177
|
+
<DataGridCellContainer {...customContainer} {...errorProps}>
|
|
178
|
+
<RadixPopover.Anchor asChild>
|
|
179
|
+
<div
|
|
180
|
+
className={clx(
|
|
181
|
+
"txt-compact-small text-ui-fg-subtle flex size-full cursor-pointer items-center justify-center bg-transparent outline-none",
|
|
182
|
+
"focus:cursor-text"
|
|
183
|
+
)}
|
|
184
|
+
>
|
|
185
|
+
<span className="w-full truncate text-center">
|
|
186
|
+
{truncatedValue}
|
|
187
|
+
</span>
|
|
188
|
+
</div>
|
|
189
|
+
</RadixPopover.Anchor>
|
|
190
|
+
<input
|
|
191
|
+
className="sr-only"
|
|
192
|
+
autoComplete="off"
|
|
193
|
+
tabIndex={-1}
|
|
194
|
+
value={localValue}
|
|
195
|
+
onChange={(e) => setLocalValue(e.target.value)}
|
|
196
|
+
ref={combinedRefs}
|
|
197
|
+
onBlur={() => {
|
|
198
|
+
onBlur()
|
|
199
|
+
onInputBlur()
|
|
200
|
+
onChange(localValue, value)
|
|
201
|
+
}}
|
|
202
|
+
{...input}
|
|
203
|
+
{...rest}
|
|
204
|
+
/>
|
|
205
|
+
</DataGridCellContainer>
|
|
206
|
+
<RadixPopover.Portal>
|
|
207
|
+
<RadixPopover.Content
|
|
208
|
+
className={clx(
|
|
209
|
+
"bg-ui-bg-base shadow-elevation-flyout flex max-h-[80vh] w-[600px] overflow-hidden p-0 outline-none"
|
|
210
|
+
)}
|
|
211
|
+
align="start"
|
|
212
|
+
side="bottom"
|
|
213
|
+
sideOffset={-29}
|
|
214
|
+
alignOffset={-16}
|
|
215
|
+
collisionPadding={24}
|
|
216
|
+
onEscapeKeyDown={handlePopoverSave}
|
|
217
|
+
onKeyDown={handlePopoverKeyDown}
|
|
218
|
+
>
|
|
219
|
+
<div ref={popoverContentRef} className="h-full w-full">
|
|
220
|
+
<Textarea
|
|
221
|
+
value={popoverValue}
|
|
222
|
+
onChange={(e) => setPopoverValue(e.target.value)}
|
|
223
|
+
onKeyDown={(e) => {
|
|
224
|
+
e.stopPropagation()
|
|
225
|
+
}}
|
|
226
|
+
className="!bg-ui-bg-base h-full min-h-[300px] w-full resize-none border-0 p-4 !shadow-none focus-visible:!shadow-none"
|
|
227
|
+
/>
|
|
228
|
+
</div>
|
|
229
|
+
</RadixPopover.Content>
|
|
230
|
+
</RadixPopover.Portal>
|
|
231
|
+
</RadixPopover.Root>
|
|
232
|
+
)
|
|
233
|
+
}
|
|
@@ -5,3 +5,4 @@ export { DataGridReadonlyCell as DataGridReadOnlyCell } from "./data-grid-readon
|
|
|
5
5
|
export { DataGridRoot, type DataGridRootProps } from "./data-grid-root"
|
|
6
6
|
export { DataGridSkeleton } from "./data-grid-skeleton"
|
|
7
7
|
export { DataGridTextCell } from "./data-grid-text-cell"
|
|
8
|
+
export { DataGridExpandableTextCell } from "./data-grid-textarea-modal-cell"
|
|
@@ -8,6 +8,7 @@ import {
|
|
|
8
8
|
DataGridRoot,
|
|
9
9
|
DataGridSkeleton,
|
|
10
10
|
DataGridTextCell,
|
|
11
|
+
DataGridExpandableTextCell,
|
|
11
12
|
type DataGridRootProps,
|
|
12
13
|
} from "./components"
|
|
13
14
|
|
|
@@ -35,6 +36,7 @@ const _DataGrid = <TData, TFieldValues extends FieldValues = FieldValues>({
|
|
|
35
36
|
export const DataGrid = Object.assign(_DataGrid, {
|
|
36
37
|
BooleanCell: DataGridBooleanCell,
|
|
37
38
|
TextCell: DataGridTextCell,
|
|
39
|
+
ExpandableTextCell: DataGridExpandableTextCell,
|
|
38
40
|
NumberCell: DataGridNumberCell,
|
|
39
41
|
CurrencyCell: DataGridCurrencyCell,
|
|
40
42
|
ReadonlyCell: DataGridReadOnlyCell,
|
|
@@ -9,6 +9,7 @@ import { useExtension } from "../../../providers/extension-provider"
|
|
|
9
9
|
import { INavItem, NavItem } from "../nav-item"
|
|
10
10
|
import { Shell } from "../shell"
|
|
11
11
|
import { UserMenu } from "../user-menu"
|
|
12
|
+
import { useFeatureFlag } from "../../../providers/feature-flag-provider"
|
|
12
13
|
|
|
13
14
|
export const SettingsLayout = () => {
|
|
14
15
|
return (
|
|
@@ -19,6 +20,7 @@ export const SettingsLayout = () => {
|
|
|
19
20
|
}
|
|
20
21
|
|
|
21
22
|
const useSettingRoutes = (): INavItem[] => {
|
|
23
|
+
const isTranslationsEnabled = useFeatureFlag("translation")
|
|
22
24
|
const { t } = useTranslation()
|
|
23
25
|
|
|
24
26
|
return useMemo(
|
|
@@ -63,8 +65,16 @@ const useSettingRoutes = (): INavItem[] => {
|
|
|
63
65
|
label: t("stockLocations.domain"),
|
|
64
66
|
to: "/settings/locations",
|
|
65
67
|
},
|
|
68
|
+
...(isTranslationsEnabled
|
|
69
|
+
? [
|
|
70
|
+
{
|
|
71
|
+
label: t("translations.domain"),
|
|
72
|
+
to: "/settings/translations",
|
|
73
|
+
},
|
|
74
|
+
]
|
|
75
|
+
: []),
|
|
66
76
|
],
|
|
67
|
-
[t]
|
|
77
|
+
[t, isTranslationsEnabled]
|
|
68
78
|
)
|
|
69
79
|
}
|
|
70
80
|
|
|
@@ -8,7 +8,7 @@ import { RouteModalProvider } from "../route-modal-provider/route-provider"
|
|
|
8
8
|
import { StackedModalProvider } from "../stacked-modal-provider"
|
|
9
9
|
|
|
10
10
|
type RouteFocusModalProps = PropsWithChildren<{
|
|
11
|
-
prev?: string | Partial<Path>
|
|
11
|
+
prev?: string | Partial<Path> | number
|
|
12
12
|
}>
|
|
13
13
|
|
|
14
14
|
const Root = ({ prev = "..", children }: RouteFocusModalProps) => {
|
|
@@ -16,7 +16,8 @@ const Root = ({ prev = "..", children }: RouteFocusModalProps) => {
|
|
|
16
16
|
const [open, setOpen] = useState(false)
|
|
17
17
|
const [stackedModalOpen, onStackedModalOpen] = useState(false)
|
|
18
18
|
|
|
19
|
-
const to =
|
|
19
|
+
const to: string | Partial<Path> | number =
|
|
20
|
+
typeof prev === "number" ? prev : useStateAwareTo(prev)
|
|
20
21
|
|
|
21
22
|
/**
|
|
22
23
|
* Open the modal when the component mounts. This
|
|
@@ -34,7 +35,11 @@ const Root = ({ prev = "..", children }: RouteFocusModalProps) => {
|
|
|
34
35
|
const handleOpenChange = (open: boolean) => {
|
|
35
36
|
if (!open) {
|
|
36
37
|
document.body.style.pointerEvents = "auto"
|
|
37
|
-
|
|
38
|
+
if (typeof to === "number") {
|
|
39
|
+
navigate(to)
|
|
40
|
+
} else {
|
|
41
|
+
navigate(to, { replace: true })
|
|
42
|
+
}
|
|
38
43
|
return
|
|
39
44
|
}
|
|
40
45
|
|
|
@@ -24,7 +24,12 @@ export const RouteModalForm = <TFieldValues extends FieldValues = any>({
|
|
|
24
24
|
} = form
|
|
25
25
|
|
|
26
26
|
const blocker = useBlocker(({ currentLocation, nextLocation }) => {
|
|
27
|
-
|
|
27
|
+
// Check both nextLocation and currentLocation state for successful submission
|
|
28
|
+
// This handles browser history navigation (-1) where we set state on current location
|
|
29
|
+
const { isSubmitSuccessful: nextIsSuccessful } = nextLocation.state || {}
|
|
30
|
+
const { isSubmitSuccessful: currentIsSuccessful } =
|
|
31
|
+
currentLocation.state || {}
|
|
32
|
+
const isSubmitSuccessful = nextIsSuccessful || currentIsSuccessful
|
|
28
33
|
|
|
29
34
|
if (isSubmitSuccessful) {
|
|
30
35
|
onClose?.(true)
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { PropsWithChildren, useCallback, useMemo, useState } from "react"
|
|
2
|
-
import { Path, useNavigate } from "react-router-dom"
|
|
2
|
+
import { Path, useLocation, useNavigate } from "react-router-dom"
|
|
3
3
|
import { RouteModalProviderContext } from "./route-modal-context"
|
|
4
4
|
|
|
5
5
|
type RouteModalProviderProps = PropsWithChildren<{
|
|
6
|
-
prev: string | Partial<Path>
|
|
6
|
+
prev: string | Partial<Path> | number
|
|
7
7
|
}>
|
|
8
8
|
|
|
9
9
|
export const RouteModalProvider = ({
|
|
@@ -11,15 +11,27 @@ export const RouteModalProvider = ({
|
|
|
11
11
|
children,
|
|
12
12
|
}: RouteModalProviderProps) => {
|
|
13
13
|
const navigate = useNavigate()
|
|
14
|
+
const location = useLocation()
|
|
14
15
|
|
|
15
16
|
const [closeOnEscape, setCloseOnEscape] = useState(true)
|
|
16
17
|
|
|
17
18
|
const handleSuccess = useCallback(
|
|
18
19
|
(path?: string) => {
|
|
19
20
|
const to = path || prev
|
|
20
|
-
|
|
21
|
+
if (typeof to === "number") {
|
|
22
|
+
// Replace current location with success state, then navigate back
|
|
23
|
+
navigate(location.pathname + location.search, {
|
|
24
|
+
replace: true,
|
|
25
|
+
state: { ...location.state, isSubmitSuccessful: true },
|
|
26
|
+
})
|
|
27
|
+
setTimeout(() => {
|
|
28
|
+
navigate(to)
|
|
29
|
+
}, 0)
|
|
30
|
+
} else {
|
|
31
|
+
navigate(to, { replace: true, state: { isSubmitSuccessful: true } })
|
|
32
|
+
}
|
|
21
33
|
},
|
|
22
|
-
[navigate, prev]
|
|
34
|
+
[navigate, prev, location]
|
|
23
35
|
)
|
|
24
36
|
|
|
25
37
|
const value = useMemo(
|
|
@@ -300,6 +300,12 @@ export function getRouteMap({
|
|
|
300
300
|
{
|
|
301
301
|
path: "",
|
|
302
302
|
lazy: () => import("../../routes/orders/order-list"),
|
|
303
|
+
children: [
|
|
304
|
+
{
|
|
305
|
+
path: "export",
|
|
306
|
+
lazy: () => import("../../routes/orders/order-export"),
|
|
307
|
+
},
|
|
308
|
+
],
|
|
303
309
|
},
|
|
304
310
|
{
|
|
305
311
|
path: ":id",
|
|
@@ -1834,6 +1840,25 @@ export function getRouteMap({
|
|
|
1834
1840
|
},
|
|
1835
1841
|
],
|
|
1836
1842
|
},
|
|
1843
|
+
{
|
|
1844
|
+
path: "translations",
|
|
1845
|
+
errorElement: <ErrorBoundary />,
|
|
1846
|
+
handle: {
|
|
1847
|
+
breadcrumb: () => t("translations.domain"),
|
|
1848
|
+
},
|
|
1849
|
+
children: [
|
|
1850
|
+
{
|
|
1851
|
+
path: "",
|
|
1852
|
+
lazy: () =>
|
|
1853
|
+
import("../../routes/translations/translation-list"),
|
|
1854
|
+
},
|
|
1855
|
+
{
|
|
1856
|
+
path: "edit",
|
|
1857
|
+
lazy: () =>
|
|
1858
|
+
import("../../routes/translations/translations-edit"),
|
|
1859
|
+
},
|
|
1860
|
+
],
|
|
1861
|
+
},
|
|
1837
1862
|
...(settingsRoutes?.[0]?.children || []),
|
|
1838
1863
|
],
|
|
1839
1864
|
},
|
package/src/hooks/api/index.ts
CHANGED
package/src/hooks/api/orders.tsx
CHANGED
|
@@ -10,8 +10,8 @@ import {
|
|
|
10
10
|
import { sdk } from "../../lib/client"
|
|
11
11
|
import { queryClient } from "../../lib/query-client"
|
|
12
12
|
import { queryKeysFactory, TQueryKey } from "../../lib/query-key-factory"
|
|
13
|
-
import { reservationItemsQueryKeys } from "./reservations"
|
|
14
13
|
import { inventoryItemsQueryKeys } from "./inventory"
|
|
14
|
+
import { reservationItemsQueryKeys } from "./reservations"
|
|
15
15
|
|
|
16
16
|
const ORDERS_QUERY_KEY = "orders" as const
|
|
17
17
|
const _orderKeys = queryKeysFactory(ORDERS_QUERY_KEY) as TQueryKey<"orders"> & {
|
|
@@ -438,3 +438,20 @@ export const useUpdateOrderChange = (
|
|
|
438
438
|
...options,
|
|
439
439
|
})
|
|
440
440
|
}
|
|
441
|
+
|
|
442
|
+
export const useExportOrders = (
|
|
443
|
+
query?: HttpTypes.AdminOrderFilters,
|
|
444
|
+
options?: UseMutationOptions<
|
|
445
|
+
{ transaction_id: string },
|
|
446
|
+
FetchError,
|
|
447
|
+
HttpTypes.AdminOrderFilters
|
|
448
|
+
>
|
|
449
|
+
) => {
|
|
450
|
+
return useMutation({
|
|
451
|
+
mutationFn: () => sdk.admin.order.export(query),
|
|
452
|
+
onSuccess: (data, variables, context) => {
|
|
453
|
+
options?.onSuccess?.(data, variables, context)
|
|
454
|
+
},
|
|
455
|
+
...options,
|
|
456
|
+
})
|
|
457
|
+
}
|
|
@@ -2,6 +2,7 @@ import { QueryKey, useQuery, UseQueryOptions } from "@tanstack/react-query"
|
|
|
2
2
|
import { sdk } from "../../lib/client"
|
|
3
3
|
import { queryKeysFactory } from "../../lib/query-key-factory"
|
|
4
4
|
import { FetchError } from "@medusajs/js-sdk"
|
|
5
|
+
import { HttpTypes } from "@medusajs/types"
|
|
5
6
|
|
|
6
7
|
const PRODUCT_VARIANT_QUERY_KEY = "product_variant" as const
|
|
7
8
|
export const productVariantQueryKeys = queryKeysFactory(
|
|
@@ -11,7 +12,12 @@ export const productVariantQueryKeys = queryKeysFactory(
|
|
|
11
12
|
export const useVariants = (
|
|
12
13
|
query?: Record<string, any>,
|
|
13
14
|
options?: Omit<
|
|
14
|
-
UseQueryOptions<
|
|
15
|
+
UseQueryOptions<
|
|
16
|
+
HttpTypes.AdminProductVariantListResponse,
|
|
17
|
+
FetchError,
|
|
18
|
+
HttpTypes.AdminProductVariantListResponse,
|
|
19
|
+
QueryKey
|
|
20
|
+
>,
|
|
15
21
|
"queryFn" | "queryKey"
|
|
16
22
|
>
|
|
17
23
|
) => {
|