@medusajs/dashboard 3.0.0-snapshot-20250410112222 → 3.0.0-snapshot-20251104011621
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-ZVOK5XD2.mjs → add-campaign-promotions-ZUJD7HBF.mjs} +14 -14
- package/dist/{adjust-inventory-WYNH75F7.mjs → adjust-inventory-7EWRE2HD.mjs} +3 -3
- package/dist/{api-key-management-create-HWBQGG6O.mjs → api-key-management-create-SPLD3JMO.mjs} +5 -5
- package/dist/{api-key-management-detail-QVWVJ5X6.mjs → api-key-management-detail-MFQTHUN6.mjs} +26 -22
- package/dist/{api-key-management-edit-UX47FHWV.mjs → api-key-management-edit-2VPL7PHB.mjs} +5 -5
- package/dist/{api-key-management-list-XQ5M7CMJ.mjs → api-key-management-list-22GXXJUC.mjs} +17 -18
- package/dist/{api-key-management-sales-channels-PILAZSU6.mjs → api-key-management-sales-channels-MV6FMA4C.mjs} +15 -11
- package/dist/app.css +347 -334
- package/dist/app.js +79816 -56782
- package/dist/app.mjs +28 -23
- package/dist/{campaign-budget-edit-57NSOYJ3.mjs → campaign-budget-edit-V2VMINUO.mjs} +4 -4
- package/dist/{campaign-configuration-QV3OHWBZ.mjs → campaign-configuration-PP4A5ADV.mjs} +3 -3
- package/dist/{campaign-create-NYJ4HILG.mjs → campaign-create-GD2D45NX.mjs} +8 -6
- package/dist/{campaign-detail-ITINMJJH.mjs → campaign-detail-IKHUALTL.mjs} +50 -44
- package/dist/{campaign-edit-3D5WFWCT.mjs → campaign-edit-O3LKMLXK.mjs} +3 -3
- package/dist/{campaign-list-SXMDW6B6.mjs → campaign-list-3452F4Y6.mjs} +17 -18
- package/dist/{categories-metadata-TE7B2OJY.mjs → categories-metadata-2HM7G27P.mjs} +18 -17
- package/dist/{category-create-NVRG7B6E.mjs → category-create-BC2VUVKO.mjs} +41 -20
- package/dist/{category-detail-WTSUKIXM.mjs → category-detail-D4PYJJGJ.mjs} +35 -35
- package/dist/{category-edit-JBZQKNL7.mjs → category-edit-U5Y5KJ2Y.mjs} +38 -18
- package/dist/{category-list-OWRWVUVN.mjs → category-list-MLLB5U6K.mjs} +13 -14
- package/dist/{category-organize-HUXXVJAB.mjs → category-organize-4NXFDN2I.mjs} +5 -6
- package/dist/{category-products-CRKFES6N.mjs → category-products-K5INZSSV.mjs} +35 -35
- package/dist/{chunk-JDZPSIIG.mjs → chunk-2D44OO7A.mjs} +1 -1
- package/dist/{chunk-FVK4ZYYM.mjs → chunk-2O43G3RH.mjs} +1 -1
- package/dist/{chunk-KERJR2T2.mjs → chunk-2WZUO66T.mjs} +1 -1
- package/dist/{chunk-GW6TVOAA.mjs → chunk-3C6WQ7NH.mjs} +21 -1
- package/dist/{chunk-ICR3D7SB.mjs → chunk-3DO2JGVG.mjs} +1 -1
- package/dist/{chunk-NOZD6HRU.mjs → chunk-3EGEJ6Q2.mjs} +3 -2
- package/dist/chunk-3I6G3NRU.mjs +44 -0
- package/dist/{chunk-LQFD6I7N.mjs → chunk-3JJBLFYN.mjs} +1 -1
- package/dist/{chunk-YIZSVS2R.mjs → chunk-3TZOFKX2.mjs} +23 -3
- package/dist/{chunk-6I62UDJA.mjs → chunk-4BGVSXZZ.mjs} +43 -22
- package/dist/{chunk-3WXBLS2P.mjs → chunk-4FM6S5CX.mjs} +2 -1
- package/dist/chunk-4XSXVVYD.mjs +18 -0
- package/dist/{chunk-6UX3SSRT.mjs → chunk-67ORSRVT.mjs} +36 -1
- package/dist/chunk-6CPMXY5N.mjs +18 -0
- package/dist/{chunk-2WQFRVK5.mjs → chunk-6IXLTZ2H.mjs} +5 -2
- package/dist/{chunk-AL4WDQTN.mjs → chunk-6VRDTPH2.mjs} +60 -50
- package/dist/{chunk-FVC7M755.mjs → chunk-6XWHQ6ON.mjs} +1 -1
- package/dist/{chunk-NGEWNLV7.mjs → chunk-7DWBXEH3.mjs} +72 -20
- package/dist/{chunk-ZCO6EK4W.mjs → chunk-AERWK3TJ.mjs} +13 -10
- package/dist/{chunk-TDDYKNA2.mjs → chunk-AHQI2S2Z.mjs} +66 -5
- package/dist/{chunk-HUGE7T5V.mjs → chunk-ALKTJGWS.mjs} +2 -2
- package/dist/chunk-AMRS4CSX.mjs +9 -0
- package/dist/{chunk-OIAPXGI2.mjs → chunk-B6ZOPCPA.mjs} +1 -1
- package/dist/chunk-BW322BVH.mjs +52 -0
- package/dist/chunk-BW4QA6B6.mjs +49 -0
- package/dist/{chunk-AQS3BSDG.mjs → chunk-CBYAN3G4.mjs} +4 -3
- package/dist/{chunk-CF64SRBE.mjs → chunk-CIY65KNH.mjs} +1 -1
- package/dist/{chunk-VDBOSWVE.mjs → chunk-DG7J63J2.mjs} +7 -7
- package/dist/{chunk-MWVM4TYO.mjs → chunk-DK4WIVY6.mjs} +18 -0
- package/dist/{chunk-THZJC662.mjs → chunk-EHAU7SOS.mjs} +10 -1
- package/dist/{chunk-DXOEDXLQ.mjs → chunk-ELPHCFRW.mjs} +13 -8
- package/dist/{chunk-TP7N4YBP.mjs → chunk-EQKJ5FSL.mjs} +1 -1
- package/dist/{chunk-7I5DQGWY.mjs → chunk-F7LJJHQT.mjs} +11 -1
- package/dist/{chunk-EUTK2A3J.mjs → chunk-FA2DYBNX.mjs} +1 -1
- package/dist/{chunk-CIE5NZAY.mjs → chunk-FKIOYL3D.mjs} +81 -13
- package/dist/{chunk-2RQLKDBF.mjs → chunk-GIZFNLKK.mjs} +103 -96
- package/dist/{chunk-ETF2DN4M.mjs → chunk-GLVCH422.mjs} +3 -3
- package/dist/chunk-GRNWRTT3.mjs +822 -0
- package/dist/{chunk-AOFGTNG6.mjs → chunk-HQKGZADC.mjs} +6 -1
- package/dist/{chunk-LBIOZZPA.mjs → chunk-HWKLNKOY.mjs} +1 -1
- package/dist/{chunk-LDJKJLBJ.mjs → chunk-I6E6CALJ.mjs} +14 -0
- package/dist/{chunk-7MM5L2ZM.mjs → chunk-IKXQEHLS.mjs} +1 -1
- package/dist/{chunk-NNBHHXXN.mjs → chunk-INE2QCSC.mjs} +1 -1
- package/dist/{chunk-7ITM2TNQ.mjs → chunk-IVZ6BMDB.mjs} +4 -3
- package/dist/{chunk-XMAWMECC.mjs → chunk-IW4TACOD.mjs} +1 -1
- package/dist/{chunk-3OHH43G6.mjs → chunk-IXZVR3HG.mjs} +1 -1
- package/dist/chunk-KEQOAJC2.mjs +108 -0
- package/dist/chunk-KX4P5L3R.mjs +127 -0
- package/dist/chunk-KXRW6JRE.mjs +354 -0
- package/dist/{chunk-W7KW2VOI.mjs → chunk-LEKWKUIS.mjs} +3 -3
- package/dist/{chunk-LTC6LGS4.mjs → chunk-LOAL44PP.mjs} +1 -1
- package/dist/chunk-MFALVTRQ.mjs +181 -0
- package/dist/{chunk-Q5DI5VYN.mjs → chunk-MLNUGLGT.mjs} +1 -1
- package/dist/{chunk-ZJ3OFMHB.mjs → chunk-MQALAB34.mjs} +1 -1
- package/dist/{chunk-F6IJV2I2.mjs → chunk-N4N4KGET.mjs} +1 -1
- package/dist/{chunk-RZD5DU5K.mjs → chunk-NDXL7ZT5.mjs} +13 -13
- package/dist/{chunk-BC3M3N6P.mjs → chunk-NQIC7ZFS.mjs} +2 -2
- package/dist/{chunk-GZBFGV7Y.mjs → chunk-OFN7DIZA.mjs} +18 -14
- package/dist/{chunk-PNU5HPGY.mjs → chunk-OGAZYXOV.mjs} +1 -1
- package/dist/{chunk-XNVMTSI7.mjs → chunk-ORMX5RJQ.mjs} +3 -3
- package/dist/{chunk-3NJTXRIY.mjs → chunk-OZPB6JBL.mjs} +5 -1
- package/dist/{chunk-FP5F2XCU.mjs → chunk-P777A4W3.mjs} +5 -5
- package/dist/{chunk-PWBTCXBJ.mjs → chunk-PFKKVLZX.mjs} +1 -1
- package/dist/{chunk-O6K7WXYN.mjs → chunk-PJ5EUKOB.mjs} +92 -43
- package/dist/chunk-PMA2D6IL.mjs +49 -0
- package/dist/{chunk-D7H6ZNK4.mjs → chunk-PRLQLEEQ.mjs} +2 -0
- package/dist/{chunk-5ZEHQCGN.mjs → chunk-PYIPIUAY.mjs} +55526 -34216
- package/dist/chunk-Q33G337Z.mjs +98 -0
- package/dist/{chunk-DGRTPKQC.mjs → chunk-QMRGIWOP.mjs} +1 -1
- package/dist/{chunk-RSYDZHZN.mjs → chunk-QXXHLVRQ.mjs} +44 -72
- package/dist/chunk-QZ7TP4HQ.mjs +7 -0
- package/dist/{chunk-G2H6MAK7.mjs → chunk-R2G2B47Y.mjs} +15 -5
- package/dist/chunk-R2QF6AQX.mjs +41 -0
- package/dist/chunk-RM6NY572.mjs +48 -0
- package/dist/{chunk-CVCFQMSO.mjs → chunk-S34JJVBQ.mjs} +58 -17
- package/dist/chunk-S4DMV3ZT.mjs +35 -0
- package/dist/{chunk-43EZDQEG.mjs → chunk-SC6BSTC7.mjs} +2 -2
- package/dist/{chunk-LU7VJVTE.mjs → chunk-SJ3E4T6B.mjs} +1 -1
- package/dist/{chunk-X2Y4KNQI.mjs → chunk-SNDSWB6B.mjs} +21 -9
- package/dist/{chunk-2MPQMCLO.mjs → chunk-TUCPFNIY.mjs} +57 -13
- package/dist/chunk-UC26CCHZ.mjs +45 -0
- package/dist/{chunk-SKR2YX52.mjs → chunk-UKX2FFFV.mjs} +2 -2
- package/dist/{chunk-6LA2RGO4.mjs → chunk-ULQ3V4CC.mjs} +2 -2
- package/dist/{chunk-UCMPRD5U.mjs → chunk-VAIHVNV6.mjs} +1 -1
- package/dist/chunk-VLOA5XAC.mjs +113 -0
- package/dist/{chunk-E46GSGZ5.mjs → chunk-VWXNC2B5.mjs} +5 -5
- package/dist/chunk-W77EPLUD.mjs +1141 -0
- package/dist/{chunk-OV5NMSY6.mjs → chunk-WATKBUHQ.mjs} +1 -1
- package/dist/{chunk-GE4APTT2.mjs → chunk-WEMXXZMY.mjs} +47 -36
- package/dist/chunk-WMOGMKQN.mjs +0 -0
- package/dist/{chunk-DRAV7IQC.mjs → chunk-WT5BXCPV.mjs} +76 -44
- package/dist/{chunk-RWU2ZKWZ.mjs → chunk-WTK7SR6S.mjs} +37 -3
- package/dist/{chunk-PDWBYQOW.mjs → chunk-X6BAAGCL.mjs} +1 -1
- package/dist/{chunk-UAZEQNCO.mjs → chunk-X6DSNTTX.mjs} +1 -1
- package/dist/{chunk-4UY4U2B5.mjs → chunk-XDCNT5GQ.mjs} +4 -6
- package/dist/{chunk-G3QXMPRB.mjs → chunk-XLDQPLK4.mjs} +8 -41
- package/dist/chunk-XWO5BP42.mjs +37 -0
- package/dist/{chunk-C2ZUHW3Z.mjs → chunk-XXROCJ7D.mjs} +191 -309
- package/dist/{chunk-YS65UGPC.mjs → chunk-XYHXWLTJ.mjs} +1 -1
- package/dist/{chunk-3XEXC5WH.mjs → chunk-Y2XQE25L.mjs} +2 -2
- package/dist/{tax-region-tax-override-edit-2T7PD6N3.mjs → chunk-YL4UEHO3.mjs} +52 -236
- package/dist/{chunk-XKXNQ2KV.mjs → chunk-ZCARHA6C.mjs} +1 -1
- package/dist/{chunk-PBEBKGPJ.mjs → chunk-ZUUKLYH4.mjs} +1 -1
- package/dist/{collection-add-products-XERJQKAX.mjs → collection-add-products-TWIDVZMU.mjs} +34 -34
- package/dist/collection-create-CUZFWEOB.mjs +132 -0
- package/dist/{collection-detail-XRN3Y3YT.mjs → collection-detail-B33WPVIW.mjs} +30 -30
- package/dist/{collection-edit-D7OGD4MC.mjs → collection-edit-22I7EEJG.mjs} +4 -4
- package/dist/{collection-list-G5PTIE4I.mjs → collection-list-DAW7WOX5.mjs} +41 -41
- package/dist/{collection-metadata-244B7424.mjs → collection-metadata-ZUFYY4OU.mjs} +18 -17
- package/dist/{customer-create-TKKVS4LF.mjs → customer-create-WCBUYT44.mjs} +2 -2
- package/dist/{customer-create-address-P4YQFUI5.mjs → customer-create-address-VWVIJDMK.mjs} +5 -4
- package/dist/{customer-detail-EW4Y5ZHT.mjs → customer-detail-ATJGSJTH.mjs} +38 -38
- package/dist/{customer-edit-I4K3LK66.mjs → customer-edit-FMK2AWZ5.mjs} +2 -2
- package/dist/{customer-group-add-customers-UJJ77G7K.mjs → customer-group-add-customers-57THRZ6D.mjs} +30 -31
- package/dist/{customer-group-create-5EILGGLH.mjs → customer-group-create-Y5O2CJOI.mjs} +2 -2
- package/dist/{customer-group-detail-WZFJPKZE.mjs → customer-group-detail-OVZIWNPP.mjs} +29 -30
- package/dist/{customer-group-edit-NBVNSBMX.mjs → customer-group-edit-SMVW7PHM.mjs} +2 -2
- package/dist/{customer-group-list-ZYLGQKOU.mjs → customer-group-list-SADXXHAE.mjs} +25 -21
- package/dist/{customer-group-metadata-IRTI56TA.mjs → customer-group-metadata-XJIMV7QU.mjs} +4 -3
- package/dist/{customer-list-3LZRV3ZM.mjs → customer-list-TE7VNBX6.mjs} +15 -16
- package/dist/{customer-metadata-TPIFKFIQ.mjs → customer-metadata-E32DPXXE.mjs} +4 -3
- package/dist/{customers-add-customer-group-F473JGOA.mjs → customers-add-customer-group-XNPZ47LK.mjs} +26 -27
- package/dist/{edit-inventory-item-KQUKSOGO.mjs → edit-inventory-item-5RPZHCM7.mjs} +3 -3
- package/dist/{edit-inventory-item-attributes-I55BRBWC.mjs → edit-inventory-item-attributes-R73ZTBYG.mjs} +6 -5
- package/dist/{edit-reservation-GEJHV6OI.mjs → edit-reservation-WMLAFMYU.mjs} +9 -4
- package/dist/{edit-rules-7MMNZKEQ.mjs → edit-rules-KV43O773.mjs} +44 -9
- package/dist/en.json +3219 -0
- package/dist/{home-KSB2J7CS.mjs → home-KFQGXKRT.mjs} +1 -1
- package/dist/index.d.ts +8 -3
- package/dist/{inventory-create-NZ67QMNB.mjs → inventory-create-NW5WSPBV.mjs} +27 -21
- package/dist/{inventory-detail-UBCCADB3.mjs → inventory-detail-I2CNJC6Y.mjs} +188 -191
- package/dist/{inventory-list-XIL665KR.mjs → inventory-list-I7IXI4KC.mjs} +11 -12
- package/dist/{inventory-metadata-AG5IVFBR.mjs → inventory-metadata-7XR4ON7G.mjs} +18 -17
- package/dist/{inventory-stock-XZWLARFE.mjs → inventory-stock-VTIDGTOY.mjs} +20 -19
- package/dist/{invite-3KXZ7ZZI.mjs → invite-U4I4IUOM.mjs} +1 -1
- package/dist/{location-create-G3CYBYOF.mjs → location-create-GZCUNYDT.mjs} +5 -4
- package/dist/{location-detail-GHY3DXRP.mjs → location-detail-WZM4EXFM.mjs} +24 -23
- package/dist/{location-edit-IMBG32Z4.mjs → location-edit-VNEMLWGR.mjs} +5 -5
- package/dist/{location-fulfillment-providers-ELVN5G5W.mjs → location-fulfillment-providers-F7MMM5KC.mjs} +26 -27
- package/dist/location-list-W6EHBBE5.mjs +323 -0
- package/dist/{location-sales-channels-JODORWDG.mjs → location-sales-channels-J3V26P3Q.mjs} +15 -11
- package/dist/{location-service-zone-create-6DZFP7Y7.mjs → location-service-zone-create-27MNMKPQ.mjs} +10 -11
- package/dist/{location-service-zone-edit-W3G7XOC7.mjs → location-service-zone-edit-LCBBZ2OA.mjs} +2 -2
- package/dist/{location-service-zone-manage-areas-EJIOVS3U.mjs → location-service-zone-manage-areas-U3EPNWSI.mjs} +10 -11
- package/dist/{location-service-zone-shipping-option-create-7KOH5VVW.mjs → location-service-zone-shipping-option-create-F3EQW67U.mjs} +65 -30
- package/dist/location-service-zone-shipping-option-edit-27MYKN7R.mjs +356 -0
- package/dist/{location-service-zone-shipping-option-pricing-SKUSE5YE.mjs → location-service-zone-shipping-option-pricing-GJIO4RRM.mjs} +7 -6
- package/dist/{login-OYY6LIPR.mjs → login-VZALGB6R.mjs} +15 -15
- package/dist/manage-locations-ZRCDYW5V.mjs +247 -0
- package/dist/{no-match-YRNHGOT3.mjs → no-match-7QRDCDCD.mjs} +1 -1
- package/dist/{order-allocate-items-TMQ5M7TG.mjs → order-allocate-items-MZ7Y4FU4.mjs} +53 -25
- package/dist/{order-create-claim-JRJNBW7N.mjs → order-create-claim-VFFKHCI6.mjs} +93 -62
- package/dist/{order-create-edit-IYZYZOJU.mjs → order-create-edit-7TFUOMST.mjs} +35 -35
- package/dist/{order-create-exchange-SWV6T3C2.mjs → order-create-exchange-CXQ5ZM3Q.mjs} +81 -64
- package/dist/{order-create-fulfillment-62OZHL3L.mjs → order-create-fulfillment-VTICR6OE.mjs} +111 -56
- package/dist/order-create-refund-RWDVIXPV.mjs +686 -0
- package/dist/{order-create-return-CDCLNOCB.mjs → order-create-return-AYWH3WMR.mjs} +36 -30
- package/dist/{order-create-shipment-REC24C7Y.mjs → order-create-shipment-2KNYEHSU.mjs} +118 -41
- package/dist/{order-detail-RP63TRG6.mjs → order-detail-IFXJNVTV.mjs} +895 -391
- package/dist/{order-edit-billing-address-XDNORAHG.mjs → order-edit-billing-address-T6BIIRAX.mjs} +20 -19
- package/dist/{order-edit-email-V4DC4GJV.mjs → order-edit-email-SLUOGWRO.mjs} +17 -17
- package/dist/{order-edit-shipping-address-NWT5LDKC.mjs → order-edit-shipping-address-YUES5K5Q.mjs} +20 -19
- package/dist/order-list-4N3OV2PU.mjs +283 -0
- package/dist/{order-metadata-4YNV2NWH.mjs → order-metadata-HS33MC6S.mjs} +18 -17
- package/dist/{order-receive-return-AXAZNUIB.mjs → order-receive-return-E6BGSZVL.mjs} +21 -20
- package/dist/{order-request-transfer-OZNQQL3N.mjs → order-request-transfer-7IIDQ37I.mjs} +19 -19
- package/dist/{price-list-configuration-QDADAJXD.mjs → price-list-configuration-4XY4JW4I.mjs} +13 -14
- package/dist/{price-list-create-7HYQ5R7R.mjs → price-list-create-VFQVCUWV.mjs} +58 -44
- package/dist/{price-list-detail-DWUY4NRM.mjs → price-list-detail-32UKOWNW.mjs} +33 -33
- package/dist/{price-list-edit-TMZCXEFR.mjs → price-list-edit-GXDLVOU4.mjs} +53 -33
- package/dist/{price-list-list-C53HAXU7.mjs → price-list-list-TKXSU27S.mjs} +13 -14
- package/dist/{price-list-prices-add-PGOF7G5W.mjs → price-list-prices-add-AY75YZ7D.mjs} +44 -36
- package/dist/{price-list-prices-edit-JUS5FBBN.mjs → price-list-prices-edit-J7HCNDTO.mjs} +8 -7
- package/dist/{product-attributes-GKM272E2.mjs → product-attributes-3GCAY7KW.mjs} +37 -29
- package/dist/{product-create-6IIIZWTB.mjs → product-create-4TD7FQC7.mjs} +205 -179
- package/dist/{product-create-option-E2GRTBWP.mjs → product-create-option-D2636LJL.mjs} +3 -3
- package/dist/{product-create-variant-3B32EC76.mjs → product-create-variant-ZWY57BX7.mjs} +38 -25
- package/dist/{product-detail-KCPBP53S.mjs → product-detail-J7T7MNUY.mjs} +74 -64
- package/dist/{product-edit-PBISK6ZJ.mjs → product-edit-MJ7VAIVY.mjs} +50 -36
- package/dist/{product-edit-option-RHMF3YKT.mjs → product-edit-option-DYAFZIT2.mjs} +3 -3
- package/dist/{product-export-KJXAVIZ3.mjs → product-export-X64NQWTS.mjs} +47 -37
- package/dist/product-image-variants-edit-J6A5G4AC.mjs +327 -0
- package/dist/{product-import-JCEJKM3F.mjs → product-import-HDNC36SM.mjs} +25 -25
- package/dist/product-list-E7HS4SBG.mjs +445 -0
- package/dist/{product-media-34NDO6DC.mjs → product-media-Z3NNTB7H.mjs} +10 -11
- package/dist/{product-metadata-PQQ7XV63.mjs → product-metadata-LMDEXR3V.mjs} +18 -17
- package/dist/{product-organization-QZ5AXVG5.mjs → product-organization-263TICCI.mjs} +30 -27
- package/dist/{product-prices-BBTCM3XR.mjs → product-prices-MCZYVPQW.mjs} +6 -5
- package/dist/{product-sales-channels-5L64AKRQ.mjs → product-sales-channels-RHZQXWAY.mjs} +14 -10
- package/dist/{product-shipping-profile-Z2MVNVBT.mjs → product-shipping-profile-GVTR3MHD.mjs} +29 -26
- package/dist/{product-stock-TZS75EG7.mjs → product-stock-O2BH5R45.mjs} +22 -20
- package/dist/{product-tag-create-LE4MZ5BW.mjs → product-tag-create-GOJTE5XA.mjs} +16 -16
- package/dist/{product-tag-detail-LQFUS6IU.mjs → product-tag-detail-CK5F4DU3.mjs} +56 -54
- package/dist/{product-tag-edit-E6WEFNFQ.mjs → product-tag-edit-IT4GHLSO.mjs} +16 -16
- package/dist/{product-tag-list-DASW6YQO.mjs → product-tag-list-VNROS2W3.mjs} +55 -54
- package/dist/product-tag-metadata-QV2BOGP2.mjs +70 -0
- package/dist/{product-type-create-GU5IYXQB.mjs → product-type-create-AHVZETDR.mjs} +2 -2
- package/dist/{product-type-detail-VLOGXH6T.mjs → product-type-detail-7K5RLART.mjs} +30 -30
- package/dist/{product-type-edit-S53VUBU3.mjs → product-type-edit-2RGFBZPK.mjs} +2 -2
- package/dist/{product-type-list-A36X6L73.mjs → product-type-list-2ZQ2NE3R.mjs} +15 -16
- package/dist/product-type-metadata-5TDBJGNQ.mjs +70 -0
- package/dist/{product-variant-detail-HKNUYNS5.mjs → product-variant-detail-3SO2MX22.mjs} +111 -53
- package/dist/{product-variant-edit-G6AM27AT.mjs → product-variant-edit-DW27AYBX.mjs} +24 -19
- package/dist/product-variant-manage-inventory-items-T5OB3YX3.mjs +341 -0
- package/dist/product-variant-media-PHRCKUDK.mjs +374 -0
- package/dist/{product-variant-metadata-2V27ZMDS.mjs → product-variant-metadata-4KJE6B2R.mjs} +18 -17
- package/dist/{profile-detail-4HQ3RK2U.mjs → profile-detail-UTJBWZSA.mjs} +5 -4
- package/dist/{profile-edit-VZPQ4NSH.mjs → profile-edit-OOYMTKX6.mjs} +34 -22
- package/dist/{promotion-add-campaign-4VNRQF52.mjs → promotion-add-campaign-XJB2ZKZ3.mjs} +12 -24
- package/dist/{promotion-create-PLDWDZMZ.mjs → promotion-create-F27AOTVZ.mjs} +258 -93
- package/dist/{promotion-detail-DKYNPGDK.mjs → promotion-detail-ZDINJASC.mjs} +146 -87
- package/dist/promotion-edit-details-JMZ77QJ4.mjs +496 -0
- package/dist/{promotion-list-AGVOXS5Q.mjs → promotion-list-MN6YJCYA.mjs} +15 -16
- package/dist/refund-reason-create-5ATQ2IPU.mjs +192 -0
- package/dist/refund-reason-edit-F7AMOTG3.mjs +192 -0
- package/dist/refund-reason-list-SFTHVSPC.mjs +244 -0
- package/dist/{region-add-countries-DGMSV27N.mjs → region-add-countries-KGFPZSRE.mjs} +15 -15
- package/dist/{region-create-NQLVPGUT.mjs → region-create-YJJRTAYO.mjs} +62 -53
- package/dist/{region-detail-BBK4KAZ5.mjs → region-detail-ERE4ZF2I.mjs} +10 -11
- package/dist/region-edit-QCN7SMR5.mjs +308 -0
- package/dist/{region-list-F7I4UPZS.mjs → region-list-W55C3CTH.mjs} +15 -16
- package/dist/{region-metadata-4S6FEUXA.mjs → region-metadata-CRAHVHOC.mjs} +18 -17
- package/dist/{reservation-create-INUIVD55.mjs → reservation-create-YZMZ6HSS.mjs} +5 -5
- package/dist/{reservation-detail-QKUCAH7D.mjs → reservation-detail-6MCBQZAE.mjs} +19 -18
- package/dist/{reservation-list-NAYFTRNY.mjs → reservation-list-IEUC3KXK.mjs} +15 -15
- package/dist/{reservation-metadata-5ZABNMJP.mjs → reservation-metadata-IQNJPNAX.mjs} +18 -17
- package/dist/{reset-password-HHFO6CDI.mjs → reset-password-CUEG23GU.mjs} +3 -2
- package/dist/{return-reason-create-YANSYS43.mjs → return-reason-create-45IARQ5L.mjs} +2 -2
- package/dist/{return-reason-edit-4FSM4H3M.mjs → return-reason-edit-5FIOEJ5Y.mjs} +2 -2
- package/dist/{return-reason-list-YQP7NEIY.mjs → return-reason-list-CBOVMQZF.mjs} +37 -36
- package/dist/{sales-channel-add-products-ACYP5CUR.mjs → sales-channel-add-products-7RKUDBXN.mjs} +29 -29
- package/dist/{sales-channel-create-HVZPII6E.mjs → sales-channel-create-7ISLGNGC.mjs} +6 -4
- package/dist/{sales-channel-detail-UFL3EW5W.mjs → sales-channel-detail-TKVVIAS5.mjs} +30 -30
- package/dist/{sales-channel-edit-BK7O3ZFI.mjs → sales-channel-edit-2PEHGAWF.mjs} +6 -4
- package/dist/{sales-channel-list-2EDYVY5Y.mjs → sales-channel-list-SI7JVBOI.mjs} +25 -22
- package/dist/{sales-channel-metadata-UH4QYASI.mjs → sales-channel-metadata-ZOCPAIGM.mjs} +18 -17
- package/dist/{settings-FQUPXMWF.mjs → settings-FKUZ6EYT.mjs} +1 -1
- package/dist/shipping-option-type-create-YR2QV2OG.mjs +195 -0
- package/dist/shipping-option-type-detail-TYHGCV2X.mjs +178 -0
- package/dist/shipping-option-type-edit-6KL3MHVT.mjs +193 -0
- package/dist/shipping-option-type-list-YPCCUVFZ.mjs +277 -0
- package/dist/{shipping-profile-create-PBDONCGJ.mjs → shipping-profile-create-372EMPUI.mjs} +2 -2
- package/dist/{shipping-profile-detail-EORJZ7NX.mjs → shipping-profile-detail-MRXUOUXK.mjs} +4 -3
- package/dist/{shipping-profile-metadata-UB73OBPJ.mjs → shipping-profile-metadata-A33XKBQN.mjs} +18 -17
- package/dist/{shipping-profiles-list-EFGYH4OS.mjs → shipping-profiles-list-KYYSHLSZ.mjs} +9 -10
- package/dist/{store-add-currencies-2OBWTWKT.mjs → store-add-currencies-SNSW7A6O.mjs} +11 -10
- package/dist/{store-detail-U5HON77R.mjs → store-detail-3ZV7FCPV.mjs} +24 -25
- package/dist/{store-edit-JNSWFWIG.mjs → store-edit-FNKVB3UA.mjs} +29 -17
- package/dist/{store-metadata-GLAZZPP6.mjs → store-metadata-LMRFCZ3J.mjs} +18 -17
- package/dist/{tax-region-create-EW5USMNY.mjs → tax-region-create-5Y6EA7XE.mjs} +103 -36
- package/dist/{tax-region-detail-MVSV7BWW.mjs → tax-region-detail-TTYUBJ3V.mjs} +107 -40
- package/dist/tax-region-edit-IKEWHRUK.mjs +163 -0
- package/dist/{tax-region-list-FNVPRMTQ.mjs → tax-region-list-HQMSVGDD.mjs} +12 -11
- package/dist/{tax-region-province-create-LQ5SPSXW.mjs → tax-region-province-create-6GZCPPGW.mjs} +35 -53
- package/dist/{tax-region-province-detail-4G2WUUBB.mjs → tax-region-province-detail-YCY56CRL.mjs} +81 -28
- package/dist/{tax-region-tax-override-create-EXGXVKBR.mjs → tax-region-tax-override-create-R3PNDP43.mjs} +90 -61
- package/dist/tax-region-tax-override-edit-QLD7MIQY.mjs +270 -0
- package/dist/{tax-region-tax-rate-create-7GNLSDJ2.mjs → tax-region-tax-rate-create-TJLSRCEC.mjs} +7 -6
- package/dist/{tax-region-tax-rate-edit-6U2BQMIE.mjs → tax-region-tax-rate-edit-DEKCUURK.mjs} +7 -6
- package/dist/{user-detail-X2Z2IYNI.mjs → user-detail-DFZPKHG2.mjs} +5 -4
- package/dist/{user-edit-HFSJM4QT.mjs → user-edit-NFRTYOKO.mjs} +2 -2
- package/dist/{user-invite-3V3ZTOJS.mjs → user-invite-FQNKJKMD.mjs} +14 -20
- package/dist/{user-list-35TJ53CP.mjs → user-list-6EVTLPJE.mjs} +15 -10
- package/dist/{user-metadata-GJ6PIXLU.mjs → user-metadata-BQKW4WAU.mjs} +18 -17
- package/dist/{workflow-execution-detail-D26MDYFC.mjs → workflow-execution-detail-D5QUZFTV.mjs} +21 -17
- package/dist/{workflow-execution-list-FKIKX7HK.mjs → workflow-execution-list-JOVBPL45.mjs} +8 -9
- package/package.json +25 -32
- package/src/app.tsx +2 -0
- package/src/components/common/action-menu/action-menu.tsx +3 -1
- package/src/components/common/customer-info/customer-info.tsx +1 -1
- package/src/components/common/infinite-list/infinite-list.tsx +8 -2
- package/src/components/common/json-view-section/json-view-section.tsx +4 -1
- package/src/components/common/sidebar-link/sidebar-link.tsx +1 -1
- package/src/components/common/switch-box/switch-box.tsx +2 -0
- package/src/components/data-grid/components/data-grid-root.tsx +9 -3
- package/src/components/data-grid/components/data-grid-toggleable-number-cell.tsx +2 -1
- package/src/components/data-grid/hooks/use-data-grid-form-handlers.tsx +6 -5
- package/src/components/data-table/data-table.tsx +171 -56
- package/src/components/filtering/filter-group/filter-group.tsx +5 -1
- package/src/components/filtering/order-by/order-by.tsx +4 -1
- package/src/components/filtering/query/query.tsx +1 -1
- package/src/components/forms/address-form/address-form.tsx +7 -2
- package/src/components/forms/metadata-form/metadata-form.tsx +6 -3
- package/src/components/inputs/combobox/combobox.tsx +21 -14
- package/src/components/inputs/country-select/country-select.tsx +37 -62
- package/src/components/inputs/percentage-input/percentage-input.tsx +67 -37
- package/src/components/inputs/province-select/province-select.tsx +42 -62
- package/src/components/layout/main-layout/main-layout.tsx +7 -5
- package/src/components/layout/settings-layout/settings-layout.tsx +4 -0
- package/src/components/layout/shell/shell.tsx +6 -6
- package/src/components/layout/user-menu/user-menu.tsx +12 -10
- package/src/components/modals/hooks/use-state-aware-to.tsx +10 -4
- package/src/components/modals/route-modal-form/route-modal-form.tsx +6 -6
- package/src/components/search/search.tsx +5 -3
- package/src/components/search/use-search-results.tsx +1 -1
- package/src/components/table/configurable-data-table/configurable-data-table.tsx +240 -0
- package/src/components/table/configurable-data-table/index.ts +3 -0
- package/src/components/table/configurable-data-table/save-view-dropdown.tsx +87 -0
- package/src/components/table/data-table/data-table-filter/date-filter.tsx +22 -4
- package/src/components/table/data-table/data-table-filter/number-filter.tsx +1 -1
- package/src/components/table/data-table/data-table-filter/string-filter.tsx +1 -1
- package/src/components/table/data-table/data-table-order-by/data-table-order-by.tsx +4 -1
- package/src/components/table/data-table/data-table-root/data-table-root.tsx +3 -3
- package/src/components/table/data-table/data-table-search/data-table-search.tsx +1 -1
- package/src/components/table/save-view-dialog/index.ts +1 -0
- package/src/components/table/save-view-dialog/save-view-dialog.tsx +163 -0
- package/src/components/table/save-view-dropdown/index.ts +1 -0
- package/src/components/table/save-view-dropdown/save-view-dropdown.tsx +88 -0
- package/src/components/table/view-selector/index.ts +2 -0
- package/src/components/table/view-selector/view-pills.tsx +265 -0
- package/src/components/table/view-selector/view-selector.tsx +253 -0
- package/src/components/utilities/i18n/i18n.tsx +9 -1
- package/src/dashboard-app/dashboard-app.tsx +22 -0
- package/src/dashboard-app/forms/form-extension-zone/form-extension-zone.tsx +1 -1
- package/src/dashboard-app/routes/get-route.map.tsx +124 -1
- package/src/dashboard-app/types.ts +7 -0
- package/src/hooks/api/campaigns.tsx +1 -0
- package/src/hooks/api/feature-flags.tsx +22 -0
- package/src/hooks/api/index.ts +3 -0
- package/src/hooks/api/inventory.tsx +7 -1
- package/src/hooks/api/orders.tsx +61 -1
- package/src/hooks/api/payments.tsx +6 -1
- package/src/hooks/api/plugins.tsx +28 -0
- package/src/hooks/api/products.tsx +55 -1
- package/src/hooks/api/promotions.tsx +17 -3
- package/src/hooks/api/refund-reasons.tsx +105 -10
- package/src/hooks/api/shipping-option-types.tsx +128 -0
- package/src/hooks/api/tax-regions.tsx +24 -0
- package/src/hooks/api/views.tsx +244 -0
- package/src/hooks/table/columns/index.ts +1 -0
- package/src/hooks/table/columns/use-column-state.ts +209 -0
- package/src/hooks/table/columns/use-configurable-table-columns.tsx +109 -0
- package/src/hooks/table/columns/use-order-data-table-columns.tsx +234 -0
- package/src/hooks/table/columns/use-refund-reason-table-columns.tsx +39 -0
- package/src/hooks/table/columns/use-shipping-option-table-columns.tsx +89 -0
- package/src/hooks/table/columns/use-shipping-option-type-table-columns.tsx +44 -0
- package/src/hooks/table/filters/use-product-table-filters.tsx +3 -0
- package/src/hooks/table/filters/use-shipping-option-table-filters.tsx +10 -19
- package/src/hooks/table/filters/use-shipping-option-type-table-filters.tsx +5 -0
- package/src/hooks/table/query/index.ts +1 -0
- package/src/hooks/table/query/use-order-table-query.tsx +1 -1
- package/src/hooks/table/query/use-product-variant-table-query.tsx +32 -0
- package/src/hooks/table/query/use-promotion-table-query.tsx +3 -2
- package/src/hooks/table/query/use-refund-reason-table-query.tsx +32 -0
- package/src/hooks/table/query/use-shipping-option-table-query.tsx +16 -4
- package/src/hooks/table/query/use-shipping-option-type-table-query.tsx +32 -0
- package/src/hooks/table/use-table-configuration.tsx +287 -0
- package/src/hooks/use-combobox-data.tsx +27 -3
- package/src/hooks/use-debounced-search.tsx +1 -1
- package/src/hooks/use-document-direction.tsx +54 -0
- package/src/hooks/use-view-configurations.tsx +102 -0
- package/src/i18n/config.ts +2 -5
- package/src/i18n/languages.ts +35 -0
- package/src/i18n/translations/$schema.json +818 -33
- package/src/i18n/translations/ar.json +8 -4
- package/src/i18n/translations/bg.json +8 -4
- package/src/i18n/translations/bs.json +3016 -0
- package/src/i18n/translations/cs.json +136 -14
- package/src/i18n/translations/de.json +42 -38
- package/src/i18n/translations/el.json +8 -4
- package/src/i18n/translations/en.json +239 -25
- package/src/i18n/translations/es.json +344 -28
- package/src/i18n/translations/fa.json +8 -4
- package/src/i18n/translations/fr.json +8 -4
- package/src/i18n/translations/he.json +3017 -0
- package/src/i18n/translations/hu.json +3005 -0
- package/src/i18n/translations/id.json +3020 -0
- package/src/i18n/translations/index.ts +20 -1
- package/src/i18n/translations/it.json +8 -4
- package/src/i18n/translations/ja.json +8 -4
- package/src/i18n/translations/ko.json +234 -212
- package/src/i18n/translations/lt.json +8 -4
- package/src/i18n/translations/mk.json +8 -4
- package/src/i18n/translations/mn.json +8 -4
- package/src/i18n/translations/nl.json +3005 -0
- package/src/i18n/translations/pl.json +149 -30
- package/src/i18n/translations/ptBR.json +8 -4
- package/src/i18n/translations/ro.json +8 -4
- package/src/i18n/translations/ru.json +8 -4
- package/src/i18n/translations/th.json +8 -4
- package/src/i18n/translations/tr.json +8 -4
- package/src/i18n/translations/uk.json +8 -4
- package/src/i18n/translations/vi.json +56 -8
- package/src/i18n/translations/zhCN.json +106 -17
- package/src/lib/common.ts +13 -0
- package/src/lib/credit-line.ts +8 -0
- package/src/lib/data/countries.ts +7 -7
- package/src/lib/data/country-states.ts +9 -0
- package/src/lib/data/currencies.ts +18 -0
- package/src/lib/format-currency.ts +1 -1
- package/src/lib/number-helper.ts +19 -0
- package/src/lib/orders.ts +23 -0
- package/src/lib/percentage-helpers.ts +1 -0
- package/src/lib/plugins.ts +7 -0
- package/src/lib/promotions.ts +3 -1
- package/src/lib/shipping-options.ts +43 -0
- package/src/lib/table/cell-renderers.tsx +313 -0
- package/src/lib/table/entity-adapters.tsx +138 -0
- package/src/lib/table/entity-defaults.ts +73 -0
- package/src/lib/table/field-utils.ts +75 -0
- package/src/lib/table/table-adapters.ts +94 -0
- package/src/lib/table-display-utils.tsx +372 -0
- package/src/module.d.ts +6 -0
- package/src/providers/feature-flag-provider/index.tsx +46 -0
- package/src/providers/i18n-provider/i18n-provider.tsx +9 -4
- package/src/providers/keybind-provider/hooks.tsx +1 -1
- package/src/providers/providers.tsx +6 -4
- package/src/routes/api-key-management/api-key-management-detail/components/api-key-sales-channel-section/api-key-sales-channel-section.tsx +1 -0
- package/src/routes/api-key-management/api-key-management-list/components/api-key-management-list-table/api-key-management-list-table.tsx +1 -1
- package/src/routes/campaigns/campaign-create/components/create-campaign-form/create-campaign-form.tsx +8 -2
- package/src/routes/campaigns/campaign-detail/components/campaign-budget/campaign-budget.tsx +20 -9
- package/src/routes/campaigns/campaign-detail/components/campaign-spend/campaign-spend.tsx +6 -4
- package/src/routes/campaigns/campaign-list/components/campaign-list-table.tsx +1 -1
- package/src/routes/campaigns/common/components/create-campaign-form-fields/create-campaign-form-fields.tsx +61 -6
- package/src/routes/campaigns/common/constants.ts +1 -0
- package/src/routes/categories/category-create/components/create-category-form/create-category-details.tsx +12 -3
- package/src/routes/categories/category-create/components/create-category-form/create-category-form.tsx +4 -3
- 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 +12 -3
- package/src/routes/categories/category-products/components/edit-category-products-form/edit-category-products-form.tsx +10 -8
- package/src/routes/collections/collection-add-products/components/add-products-to-collection-form/add-products-to-collection-form.tsx +10 -8
- package/src/routes/collections/collection-create/components/create-collection-form/create-collection-form.tsx +22 -19
- package/src/routes/customer-groups/customer-group-add-customers/components/add-customers-form/add-customers-form.tsx +16 -14
- package/src/routes/inventory/inventory-create/components/inventory-create-form/inventory-create-form.tsx +3 -1
- package/src/routes/inventory/inventory-detail/components/inventory-item-location-levels.tsx +1 -1
- package/src/routes/inventory/inventory-detail/components/inventory-item-reservations.tsx +1 -1
- 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/location-list-table.tsx +12 -18
- package/src/routes/inventory/inventory-detail/components/location-levels-table/use-location-list-table-columns.tsx +79 -6
- package/src/routes/inventory/inventory-detail/components/location-levels-table/use-location-list-table-query.tsx +9 -21
- 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/location-search-input.tsx +34 -0
- package/src/routes/inventory/inventory-detail/components/manage-locations/components/manage-locations-form.tsx +127 -140
- package/src/routes/locations/common/components/conditional-price-form/conditional-price-form.tsx +1 -1
- package/src/routes/locations/location-edit/components/edit-location-form/edit-location-form.tsx +2 -3
- package/src/routes/locations/location-list/index.ts +0 -1
- package/src/routes/locations/location-list/location-list.tsx +61 -15
- package/src/routes/locations/location-list/use-location-list-table-columns.tsx +185 -0
- package/src/routes/locations/location-list/use-location-list-table-query.tsx +22 -0
- package/src/routes/locations/location-sales-channels/components/edit-sales-channels-form/edit-sales-channels-form.tsx +1 -1
- package/src/routes/locations/location-service-zone-shipping-option-create/components/create-shipping-options-form/create-shipping-option-details-form.tsx +40 -5
- package/src/routes/locations/location-service-zone-shipping-option-create/components/create-shipping-options-form/create-shipping-options-form.tsx +4 -7
- package/src/routes/locations/location-service-zone-shipping-option-create/components/create-shipping-options-form/schema.ts +1 -0
- package/src/routes/locations/location-service-zone-shipping-option-edit/components/edit-region-form/edit-shipping-option-form.tsx +84 -4
- package/src/routes/orders/order-allocate-items/components/order-create-fulfillment-form/order-allocate-items-form.tsx +28 -11
- package/src/routes/orders/order-allocate-items/components/order-create-fulfillment-form/order-allocate-items-item.tsx +2 -2
- package/src/routes/orders/order-allocate-items/components/order-create-fulfillment-form/utils.ts +28 -0
- package/src/routes/orders/order-balance-settlement/components/order-balance-settlement-form/index.ts +1 -0
- package/src/routes/orders/order-balance-settlement/components/order-balance-settlement-form/order-balance-settlement-form.tsx +396 -0
- package/src/routes/orders/order-balance-settlement/index.ts +1 -0
- package/src/routes/orders/order-create-claim/components/claim-create-form/claim-create-form.tsx +49 -18
- package/src/routes/orders/order-create-claim/components/claim-create-form/claim-outbound-item.tsx +1 -1
- package/src/routes/orders/order-create-claim/components/claim-create-form/claim-outbound-section.tsx +7 -10
- package/src/routes/orders/order-create-edit/components/order-edit-create-form/order-edit-create-form.tsx +2 -1
- package/src/routes/orders/order-create-edit/components/order-edit-create-form/order-edit-item.tsx +1 -1
- package/src/routes/orders/order-create-exchange/components/exchange-create-form/exchange-create-form.tsx +38 -16
- package/src/routes/orders/order-create-exchange/components/exchange-create-form/exchange-outbound-item.tsx +1 -1
- package/src/routes/orders/order-create-exchange/components/exchange-create-form/exchange-outbound-section.tsx +7 -10
- package/src/routes/orders/order-create-fulfillment/components/order-create-fulfillment-form/order-create-fulfillment-form.tsx +32 -30
- package/src/routes/orders/order-create-fulfillment/components/order-create-fulfillment-form/order-create-fulfillment-item.tsx +71 -16
- package/src/routes/orders/order-create-refund/components/create-refund-form/create-refund-form.tsx +122 -79
- package/src/routes/orders/order-create-refund/order-create-refund.tsx +7 -14
- package/src/routes/orders/order-create-return/components/return-create-form/return-create-form.tsx +16 -9
- package/src/routes/orders/order-create-shipment/components/order-create-shipment-form/order-create-shipment-form.tsx +108 -44
- package/src/routes/orders/order-detail/components/order-activity-section/order-timeline.tsx +20 -12
- package/src/routes/orders/order-detail/components/order-fulfillment-section/order-fulfillment-section.tsx +30 -13
- package/src/routes/orders/order-detail/components/order-payment-section/order-payment-section.tsx +104 -16
- package/src/routes/orders/order-detail/components/order-summary-section/order-summary-section.tsx +270 -116
- package/src/routes/orders/order-detail/constants.ts +11 -1
- package/src/routes/orders/order-detail/order-detail.tsx +4 -2
- package/src/routes/orders/order-list/components/order-list-table/components/save-view-dropdown.tsx +81 -0
- package/src/routes/orders/order-list/components/order-list-table/configurable-order-list-table.tsx +16 -0
- package/src/routes/orders/order-list/components/order-list-table/constants.ts +14 -0
- package/src/routes/orders/order-list/components/order-list-table/hooks/use-order-data-table-columns.tsx +153 -0
- package/src/routes/orders/order-list/components/order-list-table/order-list-table.tsx +10 -1
- package/src/routes/orders/order-list/components/order-list-table/order-table-adapter.tsx +68 -0
- package/src/routes/orders/order-list/components/order-list-table/use-order-table-filters.tsx +62 -0
- package/src/routes/orders/order-list/const.ts +2 -2
- package/src/routes/orders/order-receive-return/components/order-receive-return-form/order-receive-return-form.tsx +2 -1
- package/src/routes/price-lists/price-list-create/components/price-list-create-form/price-list-create-form.tsx +3 -1
- package/src/routes/price-lists/price-list-create/components/price-list-create-form/price-list-details-form.tsx +8 -2
- package/src/routes/price-lists/price-list-detail/components/price-list-product-section/price-list-product-section.tsx +1 -1
- package/src/routes/price-lists/price-list-edit/components/price-list-edit-form/edit-price-list-form.tsx +12 -3
- package/src/routes/price-lists/price-list-prices-add/components/price-list-prices-add-form/price-list-prices-add-form.tsx +10 -5
- package/src/routes/price-lists/price-list-prices-add/components/price-list-prices-add-form/price-list-prices-add-product-ids-form.tsx +1 -0
- package/src/routes/product-tags/product-tag-detail/product-tag-detail.tsx +1 -0
- package/src/routes/product-tags/product-tag-metadata/index.ts +1 -0
- package/src/routes/product-tags/product-tag-metadata/product-tag-metadata.tsx +26 -0
- package/src/routes/product-types/product-type-metadata/index.ts +1 -0
- package/src/routes/product-types/product-type-metadata/product-type-metadata.tsx +26 -0
- package/src/routes/product-variants/product-variant-detail/components/variant-media-section/index.ts +1 -0
- package/src/routes/product-variants/product-variant-detail/components/variant-media-section/variant-media-section.tsx +77 -0
- package/src/routes/product-variants/product-variant-detail/constants.ts +1 -1
- package/src/routes/product-variants/product-variant-detail/product-variant-detail.tsx +2 -0
- package/src/routes/product-variants/product-variant-edit/components/product-edit-variant-form/product-edit-variant-form.tsx +4 -0
- package/src/routes/product-variants/product-variant-manage-inventory-items/components/manage-variant-inventory-items-form/manage-variant-inventory-items-form.tsx +183 -115
- package/src/routes/product-variants/product-variant-media/components/edit-product-variant-media-form/edit-product-variant-media-form.tsx +434 -0
- package/src/routes/product-variants/product-variant-media/components/edit-product-variant-media-form/index.ts +1 -0
- package/src/routes/product-variants/product-variant-media/index.ts +1 -0
- package/src/routes/product-variants/product-variant-media/product-variant-media.tsx +38 -0
- package/src/routes/products/common/components/category-combobox/category-combobox.tsx +11 -11
- package/src/routes/products/product-attributes/components/product-attributes-form/product-attributes-form.tsx +8 -4
- package/src/routes/products/product-create/components/product-create-details-form/components/product-create-details-general-section/product-create-general-section.tsx +4 -4
- package/src/routes/products/product-create/components/product-create-details-form/components/product-create-details-variant-section/product-create-details-variant-section.tsx +23 -30
- package/src/routes/products/product-create/components/product-create-form/product-create-form.tsx +3 -1
- package/src/routes/products/product-create/components/product-create-inventory-kit-form/components/product-create-inventory-kit-section/product-create-inventory-kit-section.tsx +148 -109
- package/src/routes/products/product-create/components/product-create-organize-form/components/product-create-sales-channel-stacked-modal/product-create-sales-channel-drawer.tsx +1 -1
- package/src/routes/products/product-create-variant/components/create-product-variant-form/create-product-variant-form.tsx +10 -5
- package/src/routes/products/product-create-variant/components/create-product-variant-form/details-tab.tsx +6 -1
- package/src/routes/products/product-detail/components/product-general-section/product-general-section.tsx +6 -1
- package/src/routes/products/product-detail/components/product-media-section/product-media-section.tsx +15 -3
- package/src/routes/products/product-detail/components/product-variant-section/product-variant-section.tsx +21 -28
- package/src/routes/products/product-edit/components/edit-product-form/edit-product-form.tsx +7 -2
- package/src/routes/products/product-export/product-export.tsx +15 -15
- package/src/routes/products/product-image-variants-edit/components/variants-table-form/index.ts +1 -0
- package/src/routes/products/product-image-variants-edit/components/variants-table-form/variants-table-form.tsx +264 -0
- package/src/routes/products/product-image-variants-edit/index.ts +1 -0
- package/src/routes/products/product-image-variants-edit/product-image-variants-edit.tsx +61 -0
- package/src/routes/products/product-import/helpers/import-template.ts +6 -7
- package/src/routes/products/product-list/components/product-list-table/configurable-product-list-table.tsx +26 -0
- package/src/routes/products/product-list/components/product-list-table/product-list-table.tsx +10 -2
- package/src/routes/products/product-list/components/product-list-table/product-table-adapter.tsx +51 -0
- package/src/routes/products/product-list/components/product-list-table/use-product-table-filters.tsx +104 -0
- package/src/routes/products/product-media/components/edit-product-media-form/edit-product-media-form.tsx +1 -0
- package/src/routes/products/product-media/components/product-media-gallery/product-media-gallery.tsx +3 -3
- package/src/routes/products/product-stock/hooks/use-product-stock-columns.tsx +2 -1
- package/src/routes/profile/profile-edit/components/edit-profile-form/edit-profile-form.tsx +9 -3
- package/src/routes/promotions/common/edit-rules/components/edit-rules-form/edit-rules-form.tsx +8 -1
- package/src/routes/promotions/common/edit-rules/components/edit-rules-form/form-schema.ts +3 -0
- package/src/routes/promotions/common/edit-rules/components/rule-value-form-field/rule-value-form-field.tsx +36 -5
- package/src/routes/promotions/common/edit-rules/components/rules-form-field/rules-form-field.tsx +59 -8
- package/src/routes/promotions/promotion-add-campaign/components/add-campaign-promotion-form/add-campaign-promotion-form.tsx +48 -49
- package/src/routes/promotions/promotion-add-campaign/components/add-campaign-promotion-form/campaign-details.tsx +29 -2
- package/src/routes/promotions/promotion-add-campaign/promotion-add-campaign.tsx +4 -21
- package/src/routes/promotions/promotion-create/components/create-promotion-form/create-promotion-form.tsx +195 -80
- package/src/routes/promotions/promotion-create/components/create-promotion-form/form-schema.ts +5 -3
- package/src/routes/promotions/promotion-create/components/create-promotion-form/templates.ts +56 -5
- package/src/routes/promotions/promotion-detail/components/promotion-conditions-section/promotion-conditions-section.tsx +9 -3
- package/src/routes/promotions/promotion-detail/components/promotion-general-section/promotion-general-section.tsx +16 -0
- package/src/routes/promotions/promotion-detail/promotion-detail.tsx +4 -0
- package/src/routes/promotions/promotion-edit-details/components/edit-promotion-form/edit-promotion-details-form.tsx +242 -122
- package/src/routes/promotions/promotion-list/components/promotion-list-table/promotion-list-table.tsx +1 -1
- package/src/routes/refund-reasons/refund-reason-create/components/refund-reason-create-form/index.ts +1 -0
- package/src/routes/refund-reasons/refund-reason-create/components/refund-reason-create-form/refund-reason-create-form.tsx +177 -0
- package/src/routes/refund-reasons/refund-reason-create/index.ts +1 -0
- package/src/routes/refund-reasons/refund-reason-create/refund-reason-create.tsx +10 -0
- package/src/routes/refund-reasons/refund-reason-edit/components/refund-reason-edit-form/index.ts +1 -0
- package/src/routes/refund-reasons/refund-reason-edit/components/refund-reason-edit-form/refund-reason-edit-form.tsx +141 -0
- package/src/routes/refund-reasons/refund-reason-edit/index.ts +1 -0
- package/src/routes/refund-reasons/refund-reason-edit/refund-reason-edit.tsx +33 -0
- package/src/routes/refund-reasons/refund-reason-list/components/refund-reason-list-table/index.ts +1 -0
- package/src/routes/refund-reasons/refund-reason-list/components/refund-reason-list-table/refund-reason-list-table.tsx +138 -0
- package/src/routes/refund-reasons/refund-reason-list/index.ts +2 -0
- package/src/routes/refund-reasons/refund-reason-list/loader.ts +16 -0
- package/src/routes/refund-reasons/refund-reason-list/refund-reason-list.tsx +21 -0
- package/src/routes/regions/region-add-countries/components/add-countries-form/add-countries-form.tsx +12 -12
- package/src/routes/regions/region-create/components/create-region-form/create-region-form.tsx +40 -24
- package/src/routes/regions/region-create/region-create.tsx +1 -10
- package/src/routes/regions/region-edit/components/edit-region-form/edit-region-form.tsx +33 -11
- package/src/routes/regions/region-edit/region-edit.tsx +0 -5
- package/src/routes/reservations/reservation-detail/components/edit-reservation/components/edit-reservation-form.tsx +3 -1
- package/src/routes/reservations/reservation-list/components/reservation-list-table/use-reservation-table-query.tsx +2 -1
- package/src/routes/sales-channels/sales-channel-create/components/create-sales-channel-form/create-sales-channel-form.tsx +2 -0
- package/src/routes/sales-channels/sales-channel-edit/components/edit-sales-channel-form/edit-sales-channel-form.tsx +2 -0
- package/src/routes/shipping-option-types/common/hooks/use-delete-shipping-option-type-action.tsx +43 -0
- package/src/routes/shipping-option-types/shipping-option-type-create/components/create-shipping-option-type-form/create-shipping-option-type-form.tsx +168 -0
- package/src/routes/shipping-option-types/shipping-option-type-create/components/create-shipping-option-type-form/index.ts +1 -0
- package/src/routes/shipping-option-types/shipping-option-type-create/index.ts +1 -0
- package/src/routes/shipping-option-types/shipping-option-type-create/shipping-option-type-create.tsx +10 -0
- package/src/routes/shipping-option-types/shipping-option-type-detail/breadcrumb.tsx +24 -0
- package/src/routes/shipping-option-types/shipping-option-type-detail/components/shipping-option-type-general-section/index.ts +1 -0
- package/src/routes/shipping-option-types/shipping-option-type-detail/components/shipping-option-type-general-section/shipping-option-type-general-section.tsx +66 -0
- package/src/routes/shipping-option-types/shipping-option-type-detail/index.ts +3 -0
- package/src/routes/shipping-option-types/shipping-option-type-detail/loader.ts +19 -0
- package/src/routes/shipping-option-types/shipping-option-type-detail/shipping-option-type-detail.tsx +46 -0
- package/src/routes/shipping-option-types/shipping-option-type-edit/components/edit-shipping-option-type-form/edit-shipping-option-type-form.tsx +145 -0
- package/src/routes/shipping-option-types/shipping-option-type-edit/components/edit-shipping-option-type-form/index.ts +1 -0
- package/src/routes/shipping-option-types/shipping-option-type-edit/index.ts +1 -0
- package/src/routes/shipping-option-types/shipping-option-type-edit/shipping-option-type-edit.tsx +31 -0
- package/src/routes/shipping-option-types/shipping-option-type-list/components/shipping-option-type-list-table/index.ts +1 -0
- package/src/routes/shipping-option-types/shipping-option-type-list/components/shipping-option-type-list-table/shipping-option-type-list-table.tsx +99 -0
- package/src/routes/shipping-option-types/shipping-option-type-list/components/shipping-option-type-list-table/shipping-option-type-table-row-actions.tsx +44 -0
- package/src/routes/shipping-option-types/shipping-option-type-list/index.ts +1 -0
- package/src/routes/shipping-option-types/shipping-option-type-list/shipping-option-type-list.tsx +18 -0
- package/src/routes/store/store-add-currencies/components/add-currencies-form/add-currencies-form.tsx +2 -0
- package/src/routes/store/store-edit/components/edit-store-form/edit-store-form.tsx +9 -4
- package/src/routes/tax-regions/common/components/target-form/target-form.tsx +157 -6
- package/src/routes/tax-regions/common/components/target-item/target-item.tsx +15 -2
- package/src/routes/tax-regions/common/components/tax-override-card/tax-override-card.tsx +33 -13
- package/src/routes/tax-regions/common/components/tax-region-card/tax-region-card.tsx +23 -5
- package/src/routes/tax-regions/common/constants.ts +1 -0
- package/src/routes/tax-regions/tax-region-create/components/tax-region-create-form/tax-region-create-form.tsx +70 -10
- package/src/routes/tax-regions/tax-region-detail/tax-region-detail.tsx +4 -2
- package/src/routes/tax-regions/tax-region-detail/tax-region-provider-section/index.ts +1 -0
- package/src/routes/tax-regions/tax-region-detail/tax-region-provider-section/tax-region-provider-section.tsx +28 -0
- package/src/routes/tax-regions/tax-region-edit/components/tax-region-edit/index.ts +1 -0
- package/src/routes/tax-regions/tax-region-edit/components/tax-region-edit/tax-region-edit-form.tsx +109 -0
- package/src/routes/tax-regions/tax-region-edit/index.ts +1 -0
- package/src/routes/tax-regions/tax-region-edit/tax-region-edit.tsx +33 -0
- package/src/routes/tax-regions/tax-region-province-create/components/tax-region-province-create-form/tax-region-province-create-form.tsx +2 -1
- package/src/routes/tax-regions/tax-region-province-detail/components/tax-region-province-detail-section/tax-region-detail-section.tsx +1 -0
- package/src/routes/tax-regions/tax-region-tax-override-create/components/tax-region-override-create-form/tax-region-tax-override-create.tsx +29 -2
- package/src/routes/tax-regions/tax-region-tax-override-edit/components/tax-region-tax-override-edit-form/tax-region-tax-override-edit-form.tsx +59 -14
- package/src/routes/tax-regions/tax-region-tax-override-edit/tax-region-tax-override-edit.tsx +95 -51
- package/src/routes/tax-regions/tax-region-tax-override-edit/types.ts +4 -3
- package/src/routes/tax-regions/tax-region-tax-rate-create/components/tax-region-tax-rate-create-form/tax-region-tax-rate-create-form.tsx +1 -0
- package/src/routes/tax-regions/tax-region-tax-rate-edit/components/tax-region-tax-rate-edit-form/tax-region-tax-rate-edit-form.tsx +1 -0
- package/src/routes/workflow-executions/workflow-execution-detail/components/workflow-execution-timeline-section/workflow-execution-timeline-section.tsx +3 -2
- package/src/utils/column-utils.ts +71 -0
- package/dist/chunk-4GJJIXM6.mjs +0 -64
- package/dist/chunk-ACBS6KFT.mjs +0 -51
- package/dist/chunk-BKJC5BGQ.mjs +0 -53
- package/dist/chunk-CLRTJ6DI.mjs +0 -164
- package/dist/chunk-DDV2HJEV.mjs +0 -318
- package/dist/chunk-DFA6WGYO.mjs +0 -115
- package/dist/chunk-GH77ZQI2.mjs +0 -36
- package/dist/chunk-I5HYE2RW.mjs +0 -31
- package/dist/chunk-K7S5TX6I.mjs +0 -142
- package/dist/chunk-M3VFKDXJ.mjs +0 -62
- package/dist/chunk-MW4K5NNY.mjs +0 -69
- package/dist/chunk-OPZDUI6B.mjs +0 -5241
- package/dist/chunk-R2O6QX4D.mjs +0 -16
- package/dist/chunk-TD3LLNM6.mjs +0 -383
- package/dist/chunk-V3MOBCDF.mjs +0 -10
- package/dist/chunk-YEDAFXMB.mjs +0 -57
- package/dist/chunk-YRY2CZ6I.mjs +0 -73
- package/dist/collection-create-PXO6DJS3.mjs +0 -124
- package/dist/location-list-5UJ6CSA7.mjs +0 -286
- package/dist/location-service-zone-shipping-option-edit-ODUEKZON.mjs +0 -277
- package/dist/manage-locations-E7YAZVH2.mjs +0 -236
- package/dist/order-create-refund-FXUURAS7.mjs +0 -298
- package/dist/order-list-D4WMVRA2.mjs +0 -146
- package/dist/product-list-BGBZJ5WX.mjs +0 -262
- package/dist/product-variant-manage-inventory-items-BKFYUODS.mjs +0 -306
- package/dist/promotion-edit-details-D6M646E6.mjs +0 -377
- package/dist/region-edit-PXIMLBFB.mjs +0 -285
- package/src/routes/inventory/inventory-detail/components/location-levels-table/location-actions.tsx +0 -62
- package/src/routes/locations/location-list/components/location-list-header/index.ts +0 -1
- package/src/routes/locations/location-list/components/location-list-header/location-list-header.tsx +0 -21
- package/src/routes/locations/location-list/loader.ts +0 -36
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import React, { useState, useEffect } from "react"
|
|
2
|
+
import {
|
|
3
|
+
DropdownMenu,
|
|
4
|
+
Button,
|
|
5
|
+
toast,
|
|
6
|
+
usePrompt,
|
|
7
|
+
} from "@medusajs/ui"
|
|
8
|
+
import {
|
|
9
|
+
Plus,
|
|
10
|
+
CloudArrowUp,
|
|
11
|
+
SquarePlusMicro,
|
|
12
|
+
} from "@medusajs/icons"
|
|
13
|
+
|
|
14
|
+
interface SaveViewDropdownProps {
|
|
15
|
+
isDefaultView: boolean
|
|
16
|
+
currentViewId?: string | null
|
|
17
|
+
currentViewName?: string | null
|
|
18
|
+
onSaveAsDefault?: () => void
|
|
19
|
+
onUpdateExisting?: () => void
|
|
20
|
+
onSaveAsNew?: () => void
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export const SaveViewDropdown: React.FC<SaveViewDropdownProps> = ({
|
|
24
|
+
isDefaultView,
|
|
25
|
+
currentViewId,
|
|
26
|
+
currentViewName,
|
|
27
|
+
onSaveAsDefault,
|
|
28
|
+
onUpdateExisting,
|
|
29
|
+
onSaveAsNew,
|
|
30
|
+
}) => {
|
|
31
|
+
const prompt = usePrompt()
|
|
32
|
+
|
|
33
|
+
const handleSaveAsDefault = async () => {
|
|
34
|
+
const result = await prompt({
|
|
35
|
+
title: "Save as system default",
|
|
36
|
+
description: "This will save the current configuration as the system default. All users will see this configuration by default unless they have their own personal views. Are you sure?",
|
|
37
|
+
confirmText: "Save as default",
|
|
38
|
+
cancelText: "Cancel",
|
|
39
|
+
})
|
|
40
|
+
|
|
41
|
+
if (result && onSaveAsDefault) {
|
|
42
|
+
onSaveAsDefault()
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
const handleUpdateExisting = async () => {
|
|
47
|
+
const result = await prompt({
|
|
48
|
+
title: "Update existing view",
|
|
49
|
+
description: `Update "${currentViewName}" with the current configuration?`,
|
|
50
|
+
confirmText: "Update",
|
|
51
|
+
cancelText: "Cancel",
|
|
52
|
+
})
|
|
53
|
+
|
|
54
|
+
if (result && onUpdateExisting) {
|
|
55
|
+
onUpdateExisting()
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
return (
|
|
60
|
+
<DropdownMenu>
|
|
61
|
+
<DropdownMenu.Trigger asChild>
|
|
62
|
+
<Button variant="secondary" size="small">
|
|
63
|
+
Save
|
|
64
|
+
</Button>
|
|
65
|
+
</DropdownMenu.Trigger>
|
|
66
|
+
<DropdownMenu.Content>
|
|
67
|
+
{isDefaultView && onSaveAsDefault && (
|
|
68
|
+
<DropdownMenu.Item onClick={handleSaveAsDefault}>
|
|
69
|
+
<CloudArrowUp className="h-4 w-4" />
|
|
70
|
+
Save as system default
|
|
71
|
+
</DropdownMenu.Item>
|
|
72
|
+
)}
|
|
73
|
+
{!isDefaultView && currentViewId && onUpdateExisting && (
|
|
74
|
+
<DropdownMenu.Item onClick={handleUpdateExisting}>
|
|
75
|
+
<CloudArrowUp className="h-4 w-4" />
|
|
76
|
+
Update "{currentViewName}"
|
|
77
|
+
</DropdownMenu.Item>
|
|
78
|
+
)}
|
|
79
|
+
{onSaveAsNew && (
|
|
80
|
+
<DropdownMenu.Item onClick={onSaveAsNew}>
|
|
81
|
+
<SquarePlusMicro className="h-4 w-4" />
|
|
82
|
+
Save as new view
|
|
83
|
+
</DropdownMenu.Item>
|
|
84
|
+
)}
|
|
85
|
+
</DropdownMenu.Content>
|
|
86
|
+
</DropdownMenu>
|
|
87
|
+
)
|
|
88
|
+
}
|
|
@@ -0,0 +1,265 @@
|
|
|
1
|
+
import React, { useEffect, useState, useRef } from "react"
|
|
2
|
+
import {
|
|
3
|
+
Badge,
|
|
4
|
+
usePrompt,
|
|
5
|
+
toast,
|
|
6
|
+
DropdownMenu,
|
|
7
|
+
} from "@medusajs/ui"
|
|
8
|
+
import {
|
|
9
|
+
Trash,
|
|
10
|
+
PencilSquare,
|
|
11
|
+
ArrowUturnLeft,
|
|
12
|
+
} from "@medusajs/icons"
|
|
13
|
+
import { useViewConfigurations, useViewConfiguration } from "../../../hooks/use-view-configurations"
|
|
14
|
+
import type { ViewConfiguration } from "../../../hooks/use-view-configurations"
|
|
15
|
+
import { SaveViewDialog } from "../save-view-dialog"
|
|
16
|
+
|
|
17
|
+
interface ViewPillsProps {
|
|
18
|
+
entity: string
|
|
19
|
+
currentColumns?: {
|
|
20
|
+
visible: string[]
|
|
21
|
+
order: string[]
|
|
22
|
+
}
|
|
23
|
+
currentConfiguration?: {
|
|
24
|
+
filters?: Record<string, unknown>
|
|
25
|
+
sorting?: { id: string; desc: boolean } | null
|
|
26
|
+
search?: string
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export const ViewPills: React.FC<ViewPillsProps> = ({
|
|
31
|
+
entity,
|
|
32
|
+
currentColumns,
|
|
33
|
+
currentConfiguration,
|
|
34
|
+
}) => {
|
|
35
|
+
const {
|
|
36
|
+
listViews,
|
|
37
|
+
activeView,
|
|
38
|
+
setActiveView,
|
|
39
|
+
isDefaultViewActive,
|
|
40
|
+
} = useViewConfigurations(entity)
|
|
41
|
+
|
|
42
|
+
const views = listViews?.view_configurations || []
|
|
43
|
+
|
|
44
|
+
const [saveDialogOpen, setSaveDialogOpen] = useState(false)
|
|
45
|
+
const [editingView, setEditingView] = useState<ViewConfiguration | null>(null)
|
|
46
|
+
const [contextMenuOpen, setContextMenuOpen] = useState<string | null>(null)
|
|
47
|
+
const [contextMenuPosition, setContextMenuPosition] = useState({ x: 0, y: 0 })
|
|
48
|
+
const [deletingViewId, setDeletingViewId] = useState<string | null>(null)
|
|
49
|
+
const prompt = usePrompt()
|
|
50
|
+
|
|
51
|
+
const currentActiveView = activeView?.view_configuration || null
|
|
52
|
+
|
|
53
|
+
// Get delete mutation for the current deleting view
|
|
54
|
+
const { deleteView } = useViewConfiguration(entity, deletingViewId || '')
|
|
55
|
+
|
|
56
|
+
const handleViewSelect = async (viewId: string | null) => {
|
|
57
|
+
try {
|
|
58
|
+
if (viewId === null) {
|
|
59
|
+
// Select default view - clear the active view
|
|
60
|
+
await setActiveView.mutateAsync(null)
|
|
61
|
+
return
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
const view = views.find(v => v.id === viewId)
|
|
65
|
+
if (view) {
|
|
66
|
+
await setActiveView.mutateAsync(viewId)
|
|
67
|
+
}
|
|
68
|
+
} catch (error) {
|
|
69
|
+
console.error("Error in handleViewSelect:", error)
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
const handleDeleteView = async (view: ViewConfiguration) => {
|
|
74
|
+
const result = await prompt({
|
|
75
|
+
title: "Delete view",
|
|
76
|
+
description: `Are you sure you want to delete "${view.name}"? This action cannot be undone.`,
|
|
77
|
+
confirmText: "Delete",
|
|
78
|
+
cancelText: "Cancel",
|
|
79
|
+
})
|
|
80
|
+
|
|
81
|
+
if (result) {
|
|
82
|
+
setDeletingViewId(view.id)
|
|
83
|
+
// The actual deletion will happen in the effect below
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
// Handle deletion when deletingViewId is set
|
|
88
|
+
useEffect(() => {
|
|
89
|
+
if (deletingViewId && deleteView.mutateAsync) {
|
|
90
|
+
deleteView.mutateAsync().then(() => {
|
|
91
|
+
setDeletingViewId(null)
|
|
92
|
+
}).catch(() => {
|
|
93
|
+
setDeletingViewId(null)
|
|
94
|
+
// Error is handled by the hook
|
|
95
|
+
})
|
|
96
|
+
}
|
|
97
|
+
}, [deletingViewId, deleteView.mutateAsync])
|
|
98
|
+
|
|
99
|
+
const handleEditView = (view: ViewConfiguration) => {
|
|
100
|
+
setEditingView(view)
|
|
101
|
+
setSaveDialogOpen(true)
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
const handleResetSystemDefault = async (systemDefaultView: ViewConfiguration) => {
|
|
105
|
+
const result = await prompt({
|
|
106
|
+
title: "Reset system default",
|
|
107
|
+
description: "This will delete the saved system default and revert to the original code-level defaults. All users will be affected. Are you sure?",
|
|
108
|
+
confirmText: "Reset",
|
|
109
|
+
cancelText: "Cancel",
|
|
110
|
+
})
|
|
111
|
+
|
|
112
|
+
if (result) {
|
|
113
|
+
setDeletingViewId(systemDefaultView.id)
|
|
114
|
+
// The actual deletion will happen in the effect above
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
const systemDefaultView = views.find(v => v.is_system_default)
|
|
119
|
+
const personalViews = views.filter(v => !v.is_system_default)
|
|
120
|
+
|
|
121
|
+
// Determine if we're showing default
|
|
122
|
+
const isDefaultActive = isDefaultViewActive
|
|
123
|
+
const defaultLabel = "Default"
|
|
124
|
+
|
|
125
|
+
return (
|
|
126
|
+
<>
|
|
127
|
+
<div className="flex items-center gap-2">
|
|
128
|
+
{/* Default view badge (either code-level or system default) */}
|
|
129
|
+
<div className="relative inline-block">
|
|
130
|
+
<Badge
|
|
131
|
+
color={isDefaultActive ? "blue" : "grey"}
|
|
132
|
+
size="xsmall"
|
|
133
|
+
className="cursor-pointer"
|
|
134
|
+
onClick={() => handleViewSelect(null)}
|
|
135
|
+
onContextMenu={(e) => {
|
|
136
|
+
e.preventDefault()
|
|
137
|
+
if (systemDefaultView) {
|
|
138
|
+
setContextMenuPosition({ x: e.clientX, y: e.clientY })
|
|
139
|
+
setContextMenuOpen('default')
|
|
140
|
+
}
|
|
141
|
+
}}
|
|
142
|
+
>
|
|
143
|
+
{defaultLabel}
|
|
144
|
+
</Badge>
|
|
145
|
+
{systemDefaultView && contextMenuOpen === 'default' && (
|
|
146
|
+
<DropdownMenu
|
|
147
|
+
open={true}
|
|
148
|
+
onOpenChange={(open) => {
|
|
149
|
+
if (!open) setContextMenuOpen(null)
|
|
150
|
+
}}
|
|
151
|
+
>
|
|
152
|
+
<DropdownMenu.Trigger asChild>
|
|
153
|
+
<div
|
|
154
|
+
style={{
|
|
155
|
+
position: 'fixed',
|
|
156
|
+
left: contextMenuPosition.x,
|
|
157
|
+
top: contextMenuPosition.y,
|
|
158
|
+
width: 0,
|
|
159
|
+
height: 0
|
|
160
|
+
}}
|
|
161
|
+
/>
|
|
162
|
+
</DropdownMenu.Trigger>
|
|
163
|
+
<DropdownMenu.Content align="start" sideOffset={0}>
|
|
164
|
+
<DropdownMenu.Item
|
|
165
|
+
onClick={() => {
|
|
166
|
+
handleResetSystemDefault(systemDefaultView)
|
|
167
|
+
setContextMenuOpen(null)
|
|
168
|
+
}}
|
|
169
|
+
className="flex items-center gap-x-2"
|
|
170
|
+
>
|
|
171
|
+
<ArrowUturnLeft className="text-ui-fg-subtle" />
|
|
172
|
+
<span>Reset to code defaults</span>
|
|
173
|
+
</DropdownMenu.Item>
|
|
174
|
+
</DropdownMenu.Content>
|
|
175
|
+
</DropdownMenu>
|
|
176
|
+
)}
|
|
177
|
+
</div>
|
|
178
|
+
|
|
179
|
+
{/* Separator */}
|
|
180
|
+
{personalViews.length > 0 && <div className="text-ui-fg-muted">|</div>}
|
|
181
|
+
|
|
182
|
+
{/* Personal view badges */}
|
|
183
|
+
{personalViews.map((view) => (
|
|
184
|
+
<div key={view.id} className="relative inline-block">
|
|
185
|
+
<Badge
|
|
186
|
+
color={currentActiveView?.id === view.id ? "blue" : "grey"}
|
|
187
|
+
size="xsmall"
|
|
188
|
+
className="cursor-pointer"
|
|
189
|
+
onClick={() => handleViewSelect(view.id)}
|
|
190
|
+
onContextMenu={(e) => {
|
|
191
|
+
e.preventDefault()
|
|
192
|
+
setContextMenuPosition({ x: e.clientX, y: e.clientY })
|
|
193
|
+
setContextMenuOpen(view.id)
|
|
194
|
+
}}
|
|
195
|
+
>
|
|
196
|
+
{view.name}
|
|
197
|
+
</Badge>
|
|
198
|
+
{contextMenuOpen === view.id && (
|
|
199
|
+
<DropdownMenu
|
|
200
|
+
open={true}
|
|
201
|
+
onOpenChange={(open) => {
|
|
202
|
+
if (!open) setContextMenuOpen(null)
|
|
203
|
+
}}
|
|
204
|
+
>
|
|
205
|
+
<DropdownMenu.Trigger asChild>
|
|
206
|
+
<div
|
|
207
|
+
style={{
|
|
208
|
+
position: 'fixed',
|
|
209
|
+
left: contextMenuPosition.x,
|
|
210
|
+
top: contextMenuPosition.y,
|
|
211
|
+
width: 0,
|
|
212
|
+
height: 0
|
|
213
|
+
}}
|
|
214
|
+
/>
|
|
215
|
+
</DropdownMenu.Trigger>
|
|
216
|
+
<DropdownMenu.Content align="start" sideOffset={0}>
|
|
217
|
+
<DropdownMenu.Item
|
|
218
|
+
onClick={() => {
|
|
219
|
+
handleEditView(view)
|
|
220
|
+
setContextMenuOpen(null)
|
|
221
|
+
}}
|
|
222
|
+
className="flex items-center gap-x-2"
|
|
223
|
+
>
|
|
224
|
+
<PencilSquare className="text-ui-fg-subtle" />
|
|
225
|
+
<span>Edit name</span>
|
|
226
|
+
</DropdownMenu.Item>
|
|
227
|
+
<DropdownMenu.Item
|
|
228
|
+
onClick={() => {
|
|
229
|
+
handleDeleteView(view)
|
|
230
|
+
setContextMenuOpen(null)
|
|
231
|
+
}}
|
|
232
|
+
className="flex items-center gap-x-2 text-ui-fg-error"
|
|
233
|
+
>
|
|
234
|
+
<Trash />
|
|
235
|
+
<span>Delete</span>
|
|
236
|
+
</DropdownMenu.Item>
|
|
237
|
+
</DropdownMenu.Content>
|
|
238
|
+
</DropdownMenu>
|
|
239
|
+
)}
|
|
240
|
+
</div>
|
|
241
|
+
))}
|
|
242
|
+
|
|
243
|
+
</div>
|
|
244
|
+
|
|
245
|
+
{saveDialogOpen && (
|
|
246
|
+
<SaveViewDialog
|
|
247
|
+
entity={entity}
|
|
248
|
+
currentColumns={currentColumns}
|
|
249
|
+
currentConfiguration={currentConfiguration}
|
|
250
|
+
editingView={editingView}
|
|
251
|
+
onClose={() => {
|
|
252
|
+
setSaveDialogOpen(false)
|
|
253
|
+
setEditingView(null)
|
|
254
|
+
}}
|
|
255
|
+
onSaved={async (newView) => {
|
|
256
|
+
setSaveDialogOpen(false)
|
|
257
|
+
setEditingView(null)
|
|
258
|
+
toast.success(`View "${newView.name}" saved successfully`)
|
|
259
|
+
// The view is already set as active in SaveViewDialog
|
|
260
|
+
}}
|
|
261
|
+
/>
|
|
262
|
+
)}
|
|
263
|
+
</>
|
|
264
|
+
)
|
|
265
|
+
}
|
|
@@ -0,0 +1,253 @@
|
|
|
1
|
+
import React, { useEffect, useState } from "react"
|
|
2
|
+
import {
|
|
3
|
+
Select,
|
|
4
|
+
Button,
|
|
5
|
+
Tooltip,
|
|
6
|
+
DropdownMenu,
|
|
7
|
+
Badge,
|
|
8
|
+
usePrompt,
|
|
9
|
+
toast,
|
|
10
|
+
} from "@medusajs/ui"
|
|
11
|
+
import {
|
|
12
|
+
Eye,
|
|
13
|
+
EyeSlash,
|
|
14
|
+
Plus,
|
|
15
|
+
Trash,
|
|
16
|
+
PencilSquare,
|
|
17
|
+
Star,
|
|
18
|
+
CheckCircleSolid,
|
|
19
|
+
ArrowUturnLeft,
|
|
20
|
+
} from "@medusajs/icons"
|
|
21
|
+
import { useViewConfigurations, useViewConfiguration } from "../../../hooks/use-view-configurations"
|
|
22
|
+
import type { ViewConfiguration } from "../../../hooks/use-view-configurations"
|
|
23
|
+
import { SaveViewDialog } from "../save-view-dialog"
|
|
24
|
+
|
|
25
|
+
interface ViewSelectorProps {
|
|
26
|
+
entity: string
|
|
27
|
+
onViewChange?: (view: ViewConfiguration | null) => void
|
|
28
|
+
currentColumns?: {
|
|
29
|
+
visible: string[]
|
|
30
|
+
order: string[]
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export const ViewSelector: React.FC<ViewSelectorProps> = ({
|
|
35
|
+
entity,
|
|
36
|
+
onViewChange,
|
|
37
|
+
currentColumns,
|
|
38
|
+
}) => {
|
|
39
|
+
const {
|
|
40
|
+
listViews,
|
|
41
|
+
activeView,
|
|
42
|
+
setActiveView,
|
|
43
|
+
isDefaultViewActive,
|
|
44
|
+
} = useViewConfigurations(entity)
|
|
45
|
+
|
|
46
|
+
const [saveDialogOpen, setSaveDialogOpen] = useState(false)
|
|
47
|
+
const [editingView, setEditingView] = useState<ViewConfiguration | null>(null)
|
|
48
|
+
const [deletingViewId, setDeletingViewId] = useState<string | null>(null)
|
|
49
|
+
const prompt = usePrompt()
|
|
50
|
+
|
|
51
|
+
const views = listViews.data?.view_configurations || []
|
|
52
|
+
const currentActiveView = activeView.data?.view_configuration || null
|
|
53
|
+
|
|
54
|
+
// Get delete mutation for the current deleting view
|
|
55
|
+
const { deleteView } = useViewConfiguration(entity, deletingViewId || '')
|
|
56
|
+
|
|
57
|
+
// Load views and active view
|
|
58
|
+
useEffect(() => {
|
|
59
|
+
if (activeView.isSuccess && onViewChange) {
|
|
60
|
+
onViewChange(currentActiveView)
|
|
61
|
+
}
|
|
62
|
+
}, [activeView.isSuccess, currentActiveView, onViewChange])
|
|
63
|
+
|
|
64
|
+
const handleViewSelect = async (viewId: string) => {
|
|
65
|
+
const view = views.find(v => v.id === viewId)
|
|
66
|
+
if (view) {
|
|
67
|
+
await setActiveView.mutateAsync(viewId)
|
|
68
|
+
if (onViewChange) {
|
|
69
|
+
onViewChange(view)
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
const handleDeleteView = async (view: ViewConfiguration) => {
|
|
75
|
+
const result = await prompt({
|
|
76
|
+
title: "Delete view",
|
|
77
|
+
description: `Are you sure you want to delete "${view.name}"? This action cannot be undone.`,
|
|
78
|
+
confirmText: "Delete",
|
|
79
|
+
cancelText: "Cancel",
|
|
80
|
+
})
|
|
81
|
+
|
|
82
|
+
if (result) {
|
|
83
|
+
setDeletingViewId(view.id)
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
// Handle deletion when deletingViewId is set
|
|
88
|
+
useEffect(() => {
|
|
89
|
+
if (deletingViewId && deleteView.mutateAsync) {
|
|
90
|
+
deleteView.mutateAsync().then(() => {
|
|
91
|
+
if (currentActiveView?.id === deletingViewId) {
|
|
92
|
+
if (onViewChange) {
|
|
93
|
+
onViewChange(null)
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
setDeletingViewId(null)
|
|
97
|
+
}).catch(() => {
|
|
98
|
+
setDeletingViewId(null)
|
|
99
|
+
})
|
|
100
|
+
}
|
|
101
|
+
}, [deletingViewId, deleteView.mutateAsync, currentActiveView?.id, onViewChange])
|
|
102
|
+
|
|
103
|
+
const handleSaveView = () => {
|
|
104
|
+
setSaveDialogOpen(true)
|
|
105
|
+
setEditingView(null)
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
const handleEditView = (view: ViewConfiguration) => {
|
|
109
|
+
setEditingView(view)
|
|
110
|
+
setSaveDialogOpen(true)
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
const handleResetSystemDefault = async (systemDefaultView: ViewConfiguration) => {
|
|
114
|
+
const result = await prompt({
|
|
115
|
+
title: "Reset system default",
|
|
116
|
+
description: "This will delete the saved system default and revert to the original code-level defaults. All users will be affected. Are you sure?",
|
|
117
|
+
confirmText: "Reset",
|
|
118
|
+
cancelText: "Cancel",
|
|
119
|
+
})
|
|
120
|
+
|
|
121
|
+
if (result) {
|
|
122
|
+
setDeletingViewId(systemDefaultView.id)
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
const systemDefaultView = views.find(v => v.is_system_default)
|
|
127
|
+
const personalViews = views.filter(v => !v.is_system_default)
|
|
128
|
+
|
|
129
|
+
return (
|
|
130
|
+
<>
|
|
131
|
+
<div className="flex items-center gap-2">
|
|
132
|
+
<DropdownMenu>
|
|
133
|
+
<DropdownMenu.Trigger asChild>
|
|
134
|
+
<Button variant="secondary" size="small">
|
|
135
|
+
<Eye className="h-4 w-4" />
|
|
136
|
+
{currentActiveView ? currentActiveView.name : "Default View"}
|
|
137
|
+
</Button>
|
|
138
|
+
</DropdownMenu.Trigger>
|
|
139
|
+
<DropdownMenu.Content className="w-[260px]">
|
|
140
|
+
{systemDefaultView && (
|
|
141
|
+
<>
|
|
142
|
+
<DropdownMenu.Label>System Default</DropdownMenu.Label>
|
|
143
|
+
<DropdownMenu.Item
|
|
144
|
+
onClick={() => handleViewSelect(systemDefaultView.id)}
|
|
145
|
+
className="justify-between group"
|
|
146
|
+
>
|
|
147
|
+
<span className="flex items-center gap-2">
|
|
148
|
+
<Star className="h-4 w-4" />
|
|
149
|
+
{systemDefaultView.name || "System Default"}
|
|
150
|
+
</span>
|
|
151
|
+
<div className="flex items-center gap-1">
|
|
152
|
+
{currentActiveView?.id === systemDefaultView.id && (
|
|
153
|
+
<CheckCircleSolid className="h-4 w-4 text-ui-fg-positive" />
|
|
154
|
+
)}
|
|
155
|
+
<div className="opacity-0 group-hover:opacity-100">
|
|
156
|
+
<Tooltip content="Reset to code defaults">
|
|
157
|
+
<Button
|
|
158
|
+
variant="transparent"
|
|
159
|
+
size="small"
|
|
160
|
+
onClick={(e) => {
|
|
161
|
+
e.stopPropagation()
|
|
162
|
+
handleResetSystemDefault(systemDefaultView)
|
|
163
|
+
}}
|
|
164
|
+
>
|
|
165
|
+
<ArrowUturnLeft className="h-3 w-3" />
|
|
166
|
+
</Button>
|
|
167
|
+
</Tooltip>
|
|
168
|
+
</div>
|
|
169
|
+
</div>
|
|
170
|
+
</DropdownMenu.Item>
|
|
171
|
+
{personalViews.length > 0 && <DropdownMenu.Separator />}
|
|
172
|
+
</>
|
|
173
|
+
)}
|
|
174
|
+
|
|
175
|
+
{personalViews.length > 0 && (
|
|
176
|
+
<>
|
|
177
|
+
<DropdownMenu.Label>Personal Views</DropdownMenu.Label>
|
|
178
|
+
{personalViews.map((view) => (
|
|
179
|
+
<DropdownMenu.Item
|
|
180
|
+
key={view.id}
|
|
181
|
+
onClick={() => handleViewSelect(view.id)}
|
|
182
|
+
className="justify-between group"
|
|
183
|
+
>
|
|
184
|
+
<span className="flex-1">{view.name}</span>
|
|
185
|
+
<div className="flex items-center gap-1">
|
|
186
|
+
{currentActiveView?.id === view.id && (
|
|
187
|
+
<CheckCircleSolid className="h-4 w-4 text-ui-fg-positive" />
|
|
188
|
+
)}
|
|
189
|
+
<div className="opacity-0 group-hover:opacity-100 flex items-center gap-1">
|
|
190
|
+
<Tooltip content="Edit view">
|
|
191
|
+
<Button
|
|
192
|
+
variant="transparent"
|
|
193
|
+
size="small"
|
|
194
|
+
onClick={(e) => {
|
|
195
|
+
e.stopPropagation()
|
|
196
|
+
handleEditView(view)
|
|
197
|
+
}}
|
|
198
|
+
>
|
|
199
|
+
<PencilSquare className="h-3 w-3" />
|
|
200
|
+
</Button>
|
|
201
|
+
</Tooltip>
|
|
202
|
+
<Tooltip content="Delete view">
|
|
203
|
+
<Button
|
|
204
|
+
variant="transparent"
|
|
205
|
+
size="small"
|
|
206
|
+
onClick={(e) => {
|
|
207
|
+
e.stopPropagation()
|
|
208
|
+
handleDeleteView(view)
|
|
209
|
+
}}
|
|
210
|
+
>
|
|
211
|
+
<Trash className="h-3 w-3" />
|
|
212
|
+
</Button>
|
|
213
|
+
</Tooltip>
|
|
214
|
+
</div>
|
|
215
|
+
</div>
|
|
216
|
+
</DropdownMenu.Item>
|
|
217
|
+
))}
|
|
218
|
+
</>
|
|
219
|
+
)}
|
|
220
|
+
|
|
221
|
+
<DropdownMenu.Separator />
|
|
222
|
+
<DropdownMenu.Item
|
|
223
|
+
onClick={handleSaveView}
|
|
224
|
+
className="text-ui-fg-interactive"
|
|
225
|
+
>
|
|
226
|
+
<Plus className="h-4 w-4" />
|
|
227
|
+
Save current view
|
|
228
|
+
</DropdownMenu.Item>
|
|
229
|
+
</DropdownMenu.Content>
|
|
230
|
+
</DropdownMenu>
|
|
231
|
+
</div>
|
|
232
|
+
|
|
233
|
+
{saveDialogOpen && (
|
|
234
|
+
<SaveViewDialog
|
|
235
|
+
entity={entity}
|
|
236
|
+
currentColumns={currentColumns}
|
|
237
|
+
editingView={editingView}
|
|
238
|
+
onClose={() => {
|
|
239
|
+
setSaveDialogOpen(false)
|
|
240
|
+
setEditingView(null)
|
|
241
|
+
}}
|
|
242
|
+
onSaved={(newView) => {
|
|
243
|
+
setSaveDialogOpen(false)
|
|
244
|
+
setEditingView(null)
|
|
245
|
+
if (onViewChange) {
|
|
246
|
+
onViewChange(newView)
|
|
247
|
+
}
|
|
248
|
+
}}
|
|
249
|
+
/>
|
|
250
|
+
)}
|
|
251
|
+
</>
|
|
252
|
+
)
|
|
253
|
+
}
|
|
@@ -3,12 +3,16 @@ import LanguageDetector from "i18next-browser-languagedetector"
|
|
|
3
3
|
import { initReactI18next } from "react-i18next"
|
|
4
4
|
|
|
5
5
|
import { defaultI18nOptions } from "../../../i18n/config"
|
|
6
|
+
import { useExtension } from "../../../providers/extension-provider"
|
|
6
7
|
|
|
7
8
|
export const I18n = () => {
|
|
9
|
+
const { getI18nResources } = useExtension()
|
|
10
|
+
|
|
8
11
|
if (i18n.isInitialized) {
|
|
9
12
|
return null
|
|
10
13
|
}
|
|
11
14
|
|
|
15
|
+
const resources = getI18nResources()
|
|
12
16
|
i18n
|
|
13
17
|
.use(
|
|
14
18
|
new LanguageDetector(null, {
|
|
@@ -17,7 +21,11 @@ export const I18n = () => {
|
|
|
17
21
|
})
|
|
18
22
|
)
|
|
19
23
|
.use(initReactI18next)
|
|
20
|
-
.init(
|
|
24
|
+
.init({
|
|
25
|
+
...defaultI18nOptions,
|
|
26
|
+
resources,
|
|
27
|
+
supportedLngs: Object.keys(resources),
|
|
28
|
+
})
|
|
21
29
|
|
|
22
30
|
return null
|
|
23
31
|
}
|