@mercurjs/admin 2.2.0-canary.2 → 2.2.0-canary.21
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-OLNTDP26.js → add-campaign-promotions-EB2MYHMZ.js} +4 -4
- package/dist/{adjust-inventory-CVWSBMHU.js → adjust-inventory-KNHM7QEV.js} +20 -21
- package/dist/{api-key-management-create-7RWOCVAO.js → api-key-management-create-7SIKAXEH.js} +4 -4
- package/dist/{api-key-management-detail-ZIIDMHFI.js → api-key-management-detail-ELMPBXEB.js} +26 -26
- package/dist/{api-key-management-edit-ACH6TJAX.js → api-key-management-edit-C4FYJZGH.js} +4 -4
- package/dist/{api-key-management-list-JHBBXGHH.js → api-key-management-list-FVOOICQR.js} +4 -4
- package/dist/{api-key-management-sales-channels-XEBTUB5V.js → api-key-management-sales-channels-JLSDZRG6.js} +8 -7
- package/dist/{attribute-create-2PNEX4PM.js → attribute-create-Q3IEGYRG.js} +66 -45
- package/dist/{attribute-detail-3QBRIF6Q.js → attribute-detail-SDYWELHS.js} +26 -24
- package/dist/{attribute-edit-5G7P3LP2.js → attribute-edit-4YPWXZRX.js} +3 -3
- package/dist/{attribute-edit-possible-value-VQ7MEFZA.js → attribute-edit-possible-value-YHEWXK6L.js} +3 -3
- package/dist/{attribute-list-OHU2QMUG.js → attribute-list-HW3R6764.js} +20 -21
- package/dist/breadcrumb-CO5DVI72.js +26 -0
- package/dist/breadcrumb-RYIHOYZE.js +27 -0
- package/dist/{campaign-budget-edit-WKSYXTBX.js → campaign-budget-edit-N2WWGO2G.js} +1 -1
- package/dist/{campaign-configuration-ZTK46EB5.js → campaign-configuration-MFFZXUEN.js} +1 -1
- package/dist/{campaign-create-VFFIIRE4.js → campaign-create-NMIOUGXQ.js} +3 -3
- package/dist/{campaign-detail-AZKBPDLC.js → campaign-detail-EAARQB3E.js} +23 -24
- package/dist/{campaign-edit-ZGLDY4X4.js → campaign-edit-PA7FGIY3.js} +1 -1
- package/dist/{categories-metadata-YZUP43OH.js → categories-metadata-INVMU224.js} +21 -22
- package/dist/{category-create-2MRYTSYM.js → category-create-AR33DJYX.js} +8 -5
- package/dist/{category-detail-PBGZSZRK.js → category-detail-ABK4MEZP.js} +29 -28
- package/dist/{category-edit-QLOS2LBA.js → category-edit-XKANIIH5.js} +3 -3
- package/dist/category-icon-edit-4GXAK4JZ.js +117 -0
- package/dist/{category-list-U7ZQBSZN.js → category-list-PFOINLTU.js} +7 -4
- package/dist/category-media-7SLAXXXM.js +654 -0
- package/dist/{category-organize-TIKTYJFZ.js → category-organize-U6UO35Y3.js} +2 -2
- package/dist/{category-products-4V2CKLVW.js → category-products-HTNBFHSW.js} +26 -27
- package/dist/{chunk-3JSAS7QP.js → chunk-22EOFXNK.js} +16 -0
- package/dist/{chunk-EREXPX6I.js → chunk-2KPITPB7.js} +23 -37
- package/dist/{chunk-BVZAGCTV.js → chunk-2L4W75VS.js} +3 -3
- package/dist/{chunk-26UTIAAZ.js → chunk-32URSQ4F.js} +1 -1
- package/dist/{chunk-CKACZXMP.js → chunk-3FN3YH2F.js} +4 -4
- package/dist/{chunk-5POK3PM3.js → chunk-3JN4WUVU.js} +4 -8
- package/dist/{chunk-EJTB2SLE.js → chunk-3LYOKDUA.js} +1 -1
- package/dist/{chunk-VKOE5J66.js → chunk-3XOE4NV5.js} +11 -2
- package/dist/{chunk-XODRTI2W.js → chunk-47TXYMFT.js} +1 -1
- package/dist/chunk-4FHHNYIV.js +280 -0
- package/dist/{chunk-Q6I2IKJB.js → chunk-4GRFDNQQ.js} +2 -2
- package/dist/{chunk-2LQ5SCPB.js → chunk-4O7GPTNJ.js} +19 -7
- package/dist/{chunk-ZHOI4QMK.js → chunk-4OEYCLBE.js} +1 -1
- package/dist/{chunk-HDRFPI6V.js → chunk-4UWPTSZK.js} +346 -424
- package/dist/{chunk-637OFDFC.js → chunk-5NQUJQXX.js} +243 -78
- package/dist/{chunk-IRTI3AS3.js → chunk-5T45PYWI.js} +4 -4
- package/dist/{chunk-GJ6WPZQG.js → chunk-67RX3M6X.js} +158 -27
- package/dist/{chunk-DZIXC7OE.js → chunk-6FLSBL4Q.js} +30 -85
- package/dist/{chunk-3EDQIZV6.js → chunk-6LG3VL3Q.js} +2 -2
- package/dist/{chunk-2S6VXFBZ.js → chunk-6PTZK4CH.js} +4 -4
- package/dist/{chunk-TITPJHIL.js → chunk-6YPV4T3R.js} +1 -1
- package/dist/{chunk-DKMBAZ5P.js → chunk-7IVRL4AF.js} +7 -7
- package/dist/{chunk-G4PROEJI.js → chunk-7ZL46D3W.js} +4 -4
- package/dist/{chunk-HR7TFO2X.js → chunk-A3IFGUDD.js} +3 -3
- package/dist/{chunk-P25PIADJ.js → chunk-AH3KBVKC.js} +1 -1
- package/dist/{chunk-UXD3VNBO.js → chunk-AJLGY3LQ.js} +1 -2
- package/dist/{chunk-CMHI2RPL.js → chunk-AKSUGT5I.js} +21 -0
- package/dist/{chunk-6LZAVEHW.js → chunk-ARN66CDK.js} +3 -3
- package/dist/{chunk-WYA62MUL.js → chunk-AROCMF45.js} +1 -1
- package/dist/chunk-AWLDIHXR.js +204 -0
- package/dist/{chunk-BHOZKBYY.js → chunk-B5OMHYJ5.js} +6 -4
- package/dist/chunk-BN6OOLJA.js +358 -0
- package/dist/{chunk-LYZT5REU.js → chunk-C4XKPQ6T.js} +14 -1
- package/dist/{chunk-NQBSSM5V.js → chunk-CKQPO2SN.js} +2 -2
- package/dist/{chunk-BGGUVHDG.js → chunk-CPWOVYZE.js} +604 -744
- package/dist/{chunk-54RTJBYO.js → chunk-DGCPYCHU.js} +8 -63
- package/dist/{chunk-HLPCO2OQ.js → chunk-EAC3J2Z4.js} +5 -5
- package/dist/{chunk-JQV7CXEC.js → chunk-EDDKIVMF.js} +17 -2
- package/dist/chunk-EG45GIE3.js +368 -0
- package/dist/{chunk-TP7L6M7V.js → chunk-FBD7WJPO.js} +1 -1
- package/dist/{chunk-K4TGNN4P.js → chunk-FCLS6CKW.js} +2 -2
- package/dist/{chunk-FTAR3BDS.js → chunk-FJHAAROU.js} +1 -1
- package/dist/chunk-FNGPOGDR.js +213 -0
- package/dist/{chunk-4LXBQTFN.js → chunk-FREUYHMS.js} +1 -1
- package/dist/{chunk-Q2QFNTNX.js → chunk-FWWPSH6V.js} +1 -1
- package/dist/{chunk-PXTJJQKJ.js → chunk-FYKG35MR.js} +1 -1
- package/dist/{chunk-BAYORQYD.js → chunk-FZHLRCBV.js} +4 -4
- package/dist/{chunk-AB2LHP3M.js → chunk-G66KMUI5.js} +1 -1
- package/dist/{chunk-GNLPUGYK.js → chunk-GHGOOZEL.js} +2 -2
- package/dist/{chunk-ZSFJVRRS.js → chunk-GQUGCSJV.js} +2 -2
- package/dist/chunk-GVEF6UDT.js +8 -0
- package/dist/{chunk-V6OGMYAI.js → chunk-HHW4PPNH.js} +159 -169
- package/dist/{chunk-GKW445WA.js → chunk-IHTQOPB6.js} +13 -187
- package/dist/{chunk-6MJ6ZSJF.js → chunk-IO5S4RFO.js} +6 -6
- package/dist/{chunk-DRJAKRTI.js → chunk-ISS4LS3E.js} +1 -1
- package/dist/{chunk-JQBSPUH2.js → chunk-J3AMUGGZ.js} +14 -1
- package/dist/{chunk-3IVTUFBM.js → chunk-JAPKOO4T.js} +1 -1
- package/dist/chunk-JEJQKTZO.js +191 -0
- package/dist/{chunk-Y2M536WR.js → chunk-JHBNG7OD.js} +17 -0
- package/dist/{chunk-N2LH7A4X.js → chunk-JR4T4OQU.js} +10 -10
- package/dist/{chunk-WKCYMDTV.js → chunk-JRLDKKCM.js} +3 -3
- package/dist/{chunk-XFQH5HPP.js → chunk-JZBVDH6A.js} +3 -3
- package/dist/{chunk-YZW5JD5A.js → chunk-KAAUSK5T.js} +119 -184
- package/dist/{chunk-YGRTRAWX.js → chunk-KDE4HKH2.js} +1 -0
- package/dist/{chunk-SRDK3XX7.js → chunk-KNB55WE4.js} +2 -2
- package/dist/{chunk-QABGBGAE.js → chunk-KNZ6ICKB.js} +6 -6
- package/dist/{chunk-H5PYBIOZ.js → chunk-KYFWVLWO.js} +1 -1
- package/dist/chunk-KZB7LCF2.js +82 -0
- package/dist/{chunk-BE6JLTMI.js → chunk-L5Z4JGRD.js} +1 -1
- package/dist/{chunk-CKNQJPAG.js → chunk-LEHS6RED.js} +4 -2
- package/dist/{chunk-FB7DDNCA.js → chunk-LHVXXHPO.js} +1 -1
- package/dist/{chunk-UPNMDPFX.js → chunk-LLHYICP5.js} +18 -6
- package/dist/{chunk-FFNSWUDC.js → chunk-LNPJFQWA.js} +11 -4
- package/dist/{chunk-YGAX72XV.js → chunk-LO2ZWQGL.js} +0 -2
- package/dist/{chunk-3P4VTL4S.js → chunk-LTAQZW2L.js} +6 -6
- package/dist/{chunk-S72BD7TM.js → chunk-LYCKVPWQ.js} +12 -4
- package/dist/{chunk-2YYXP6XI.js → chunk-M2E3PKA4.js} +196 -212
- package/dist/{chunk-YLKG7W4P.js → chunk-M3YII6OB.js} +73 -20
- package/dist/{chunk-PQI4UJ6F.js → chunk-MASXQMJY.js} +3 -3
- package/dist/{chunk-H5EOOXPA.js → chunk-N6R2WOJ7.js} +1 -2
- package/dist/{chunk-ZF3WBVOB.js → chunk-NEZ35LWM.js} +3 -3
- package/dist/{chunk-QIU6DJY6.js → chunk-NZOB3LPA.js} +1 -1
- package/dist/{chunk-S5BJ5CMF.js → chunk-OKWGPKVK.js} +1 -1
- package/dist/{chunk-6GWCDARX.js → chunk-ORENI3LP.js} +3 -3
- package/dist/{chunk-KXIA66EJ.js → chunk-PAEKCYFU.js} +7 -3
- package/dist/{chunk-AXTQMIIK.js → chunk-PJR6W35H.js} +8 -27
- package/dist/chunk-PN5C4AND.js +115 -0
- package/dist/{chunk-UXQAHUGZ.js → chunk-POSHDM4L.js} +1 -1
- package/dist/{chunk-6FIU2V6Y.js → chunk-PT3DTHQK.js} +1 -1
- package/dist/chunk-PZ27H46M.js +358 -0
- package/dist/{chunk-XZZTC7E5.js → chunk-QKJGSZI2.js} +1 -1
- package/dist/{chunk-N7KTSXS5.js → chunk-QPLEFEOZ.js} +1 -1
- package/dist/chunk-QR3GYYX6.js +0 -0
- package/dist/{chunk-3B6MTW5G.js → chunk-QUHSHIAC.js} +3 -0
- package/dist/{chunk-PRBE5CM3.js → chunk-QYDWMBEX.js} +31 -0
- package/dist/{chunk-BCVUMATY.js → chunk-R2UDZINP.js} +216 -40
- package/dist/{chunk-OSEIN4Y2.js → chunk-RDTFLHYO.js} +2 -2
- package/dist/{chunk-B3EEDC47.js → chunk-RMAQKNBA.js} +10 -94
- package/dist/{chunk-ED7XNGZD.js → chunk-RWW3TAJQ.js} +4 -4
- package/dist/chunk-RXRDZ47F.js +103 -0
- package/dist/chunk-S6A4FVM2.js +170 -0
- package/dist/{chunk-XQBPW3A4.js → chunk-S6E7XAWX.js} +2 -2
- package/dist/{chunk-CBGXKU7Z.js → chunk-SEY52XON.js} +4 -4
- package/dist/{chunk-U2ZFCAPX.js → chunk-SITRHMZZ.js} +11 -8
- package/dist/{chunk-RQPDD3RI.js → chunk-SKKF3CU6.js} +1 -1
- package/dist/{chunk-BGQ7H2KL.js → chunk-SMQM5N45.js} +2 -2
- package/dist/{chunk-BLYJZMNE.js → chunk-TLOJG7LK.js} +2 -2
- package/dist/chunk-UIVWOKWT.js +63 -0
- package/dist/chunk-UKLRBS4W.js +61 -0
- package/dist/{chunk-WS63IRBI.js → chunk-UUTACMA5.js} +6 -6
- package/dist/{chunk-BECQJZQ4.js → chunk-V3ATA433.js} +17 -8
- package/dist/{chunk-4KX6CBJ4.js → chunk-VSLHL2AZ.js} +2 -0
- package/dist/{chunk-WDH5C2NS.js → chunk-WJGABDWC.js} +1 -1
- package/dist/{chunk-A772RAKB.js → chunk-XGUUM3S6.js} +1 -1
- package/dist/{chunk-I5THQVYP.js → chunk-XIFE4VUR.js} +1 -1
- package/dist/chunk-XVSJKCCQ.js +142 -0
- package/dist/chunk-Y3RABQC4.js +33 -0
- package/dist/{chunk-HRGC5JHU.js → chunk-YUECTKEY.js} +107 -411
- package/dist/{chunk-S4SVK5DE.js → chunk-YVLANFBK.js} +29 -1
- package/dist/{chunk-NXLOYMWF.js → chunk-Z7AXFQPD.js} +8 -8
- package/dist/{chunk-OHOWEMHO.js → chunk-ZIFHQXP3.js} +31 -25
- package/dist/{chunk-U7AZOXPV.js → chunk-ZLETFDWJ.js} +205 -110
- package/dist/{collection-add-products-33MYCTBF.js → collection-add-products-CKF2VFVK.js} +25 -26
- package/dist/{collection-create-HUNYHKUJ.js → collection-create-UNGPKT7H.js} +86 -15
- package/dist/{collection-detail-ACN5GFHC.js → collection-detail-36QTD3ZU.js} +27 -26
- package/dist/{collection-edit-OQGYTQDO.js → collection-edit-LQEQ6YGD.js} +3 -3
- package/dist/collection-icon-edit-V4SNBMD5.js +117 -0
- package/dist/{collection-list-M4MFNMXL.js → collection-list-UN7C36DU.js} +32 -30
- package/dist/collection-media-ESJUYVF7.js +654 -0
- package/dist/{collection-metadata-47N7TUOH.js → collection-metadata-6SD67JUV.js} +21 -22
- package/dist/commission-rule-commission-edit-TA3H3EEN.js +196 -0
- package/dist/commission-rule-create-O7Z25SC7.js +412 -0
- package/dist/commission-rule-detail-I7LVSNAM.js +45 -0
- package/dist/commission-rule-edit-YSHDTYZY.js +342 -0
- package/dist/{product-brand-list-ZBPBSRQN.js → commissions-list-OUGVPED6.js} +12 -7
- package/dist/{constants-26tEckuq.d.ts → constants-Bahlh59D.d.ts} +8 -4
- package/dist/{customer-create-QHA4KM6N.js → customer-create-HZXLOIZH.js} +2 -2
- package/dist/{customer-create-address-TYWVWNUE.js → customer-create-address-AEZNVQOG.js} +2 -2
- package/dist/{customer-detail-D5SSLNFT.js → customer-detail-3OQ7RSDN.js} +24 -29
- package/dist/{customer-edit-JZ4PQTIN.js → customer-edit-MMRTWOAF.js} +2 -2
- package/dist/customer-edit-address-AEYX2LMP.js +302 -0
- package/dist/{customer-group-add-customers-VJUBEN7M.js → customer-group-add-customers-4OAYSXWK.js} +3 -3
- package/dist/{customer-group-create-NA2UKCF6.js → customer-group-create-25JT74S3.js} +2 -2
- package/dist/{customer-group-detail-KRT7E2JA.js → customer-group-detail-CH4UIK3X.js} +21 -22
- package/dist/{customer-group-edit-3O6HAYYN.js → customer-group-edit-AAI47MUL.js} +2 -2
- package/dist/{customer-group-list-KKDIESQ6.js → customer-group-list-777C2B57.js} +22 -23
- package/dist/{customer-group-metadata-J6JY7DZ3.js → customer-group-metadata-ELFKJMYK.js} +21 -22
- package/dist/{customer-list-MB6WZFMA.js → customer-list-U7VFBV7E.js} +3 -3
- package/dist/{customer-metadata-AH2LBK4T.js → customer-metadata-4H6ADARR.js} +21 -22
- package/dist/{customers-add-customer-group-AHGAPEIS.js → customers-add-customer-group-AZ3ILZMA.js} +22 -23
- package/dist/{edit-inventory-item-ADNLKLCN.js → edit-inventory-item-NL5WNNI3.js} +20 -21
- package/dist/{edit-inventory-item-attributes-XVR2WLDU.js → edit-inventory-item-attributes-2JEH72WW.js} +20 -21
- package/dist/{edit-reservation-HQQL42QX.js → edit-reservation-TBZL2REV.js} +3 -3
- package/dist/{edit-rules-YMKM5JPI.js → edit-rules-XYTK7DQ2.js} +21 -22
- package/dist/global-commission-edit-LCD6JJUX.js +194 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.js +626 -632
- package/dist/{inventory-create-IVESXFSV.js → inventory-create-7RQSCNCQ.js} +24 -25
- package/dist/{inventory-detail-TINIAFVB.js → inventory-detail-W7BGKWKL.js} +20 -21
- package/dist/{inventory-list-YLIAKQXI.js → inventory-list-SCRYOBZV.js} +2 -2
- package/dist/{inventory-metadata-6INRH2JC.js → inventory-metadata-ZGLTDSQB.js} +21 -22
- package/dist/{inventory-stock-6YGTATID.js → inventory-stock-US7LGBC4.js} +204 -43
- package/dist/loader-S77URTQS.js +32 -0
- package/dist/loader-XPJWDZU3.js +32 -0
- package/dist/{location-create-ZMNB7YKR.js → location-create-SO2CURZL.js} +1 -1
- package/dist/{location-detail-EK2S7WOK.js → location-detail-GAINHCV5.js} +21 -22
- package/dist/{location-edit-DMBF3CYZ.js → location-edit-XA53657R.js} +1 -1
- package/dist/{location-fulfillment-providers-V26OWDAI.js → location-fulfillment-providers-6DFBFALS.js} +25 -26
- package/dist/{location-list-IV323QW2.js → location-list-QXIHD6NJ.js} +21 -22
- package/dist/{location-sales-channels-EYUXMTW7.js → location-sales-channels-46SPET7R.js} +7 -6
- package/dist/{location-service-zone-create-ZS3UWJAA.js → location-service-zone-create-IOB7DWBR.js} +1 -1
- package/dist/{location-service-zone-edit-MTGU2O4C.js → location-service-zone-edit-X37BNDRP.js} +1 -1
- package/dist/{location-service-zone-manage-areas-S7QZTIFT.js → location-service-zone-manage-areas-CWWABV5M.js} +1 -1
- package/dist/{location-service-zone-shipping-option-create-36JZFRGY.js → location-service-zone-shipping-option-create-AUNZVIGU.js} +24 -25
- package/dist/{location-service-zone-shipping-option-edit-3PGSNKYT.js → location-service-zone-shipping-option-edit-WRSLBO23.js} +4 -4
- package/dist/{location-service-zone-shipping-option-pricing-JLGCOZGS.js → location-service-zone-shipping-option-pricing-FZNCTVT6.js} +8 -8
- package/dist/{login-6L3RMREO.js → login-NFPUZDAL.js} +19 -20
- package/dist/{manage-locations-CFTM6DNH.js → manage-locations-WW35SVOX.js} +1 -1
- package/dist/{marketplace-add-currencies-6ANNBGZM.js → marketplace-add-currencies-YVJA6G6V.js} +1 -1
- package/dist/{marketplace-detail-BAU2MEJT.js → marketplace-detail-M7DWNMIH.js} +21 -22
- package/dist/{marketplace-edit-6Q3G2OY5.js → marketplace-edit-QNFCTDUC.js} +1 -1
- package/dist/{marketplace-metadata-KRCGKOCA.js → marketplace-metadata-FYJ7TJLZ.js} +22 -23
- package/dist/offer-detail-page-2DG3W7VG.js +572 -0
- package/dist/offer-variant-detail-page-U4LDYFE3.js +143 -0
- package/dist/{offers-J2SFSNF3.js → offers-PYM6LQSX.js} +287 -124
- package/dist/{order-create-claim-RMDDCUZ6.js → order-create-claim-2MO3LM6J.js} +271 -246
- package/dist/{order-create-edit-PQ54JFZZ.js → order-create-edit-UFD26FE2.js} +206 -111
- package/dist/{order-create-exchange-T6DBVS75.js → order-create-exchange-4PWNGE6U.js} +279 -252
- package/dist/{order-create-refund-OW3MIXBY.js → order-create-refund-A4AXOFZC.js} +24 -25
- package/dist/{order-create-return-YCX6C3VP.js → order-create-return-Y7QS52UL.js} +46 -19
- package/dist/{order-detail-2OAEGBQG.js → order-detail-HPYAUA2N.js} +30 -32
- package/dist/{order-edit-billing-address-VGZBQHF5.js → order-edit-billing-address-R7DOKCV5.js} +22 -23
- package/dist/{order-edit-email-OOCXVRET.js → order-edit-email-44O3ARQ4.js} +21 -22
- package/dist/{order-edit-shipping-address-B4F3E5RE.js → order-edit-shipping-address-UI2AHBXW.js} +21 -22
- package/dist/{order-list-ERQWQ6UI.js → order-list-IVXCYRGB.js} +9 -9
- package/dist/{order-metadata-AN6MPHHT.js → order-metadata-3U5KT3MW.js} +21 -22
- package/dist/{order-request-transfer-A2NJSQ4H.js → order-request-transfer-OM3BPIWZ.js} +21 -22
- package/dist/pages/index.d.ts +159 -340
- package/dist/pages/index.js +191 -194
- package/dist/{price-list-configuration-XAHXLCXR.js → price-list-configuration-6LD6DTEQ.js} +8 -7
- package/dist/{price-list-create-XCP32SJZ.js → price-list-create-SR24HYH3.js} +32 -33
- package/dist/{price-list-detail-26RLU4G3.js → price-list-detail-QIMJQ6DD.js} +26 -27
- package/dist/{price-list-edit-ZVLD4M5T.js → price-list-edit-MEM47NGY.js} +4 -4
- package/dist/{price-list-list-ER4TOZTY.js → price-list-list-GIVZGIYW.js} +5 -5
- package/dist/{price-list-prices-add-H4E2IVBC.js → price-list-prices-add-VE5RTT5O.js} +29 -30
- package/dist/{price-list-prices-edit-WHCIGSB2.js → price-list-prices-edit-R52K4MBL.js} +22 -23
- package/dist/{product-add-existing-attributes-MSJD3GOP.js → product-add-existing-attributes-AC4643LI.js} +66 -30
- package/dist/{product-attributes-MHRXZK5S.js → product-attributes-2LAKXXX6.js} +3 -3
- package/dist/{product-bulk-edit-J6ZP7GGM.js → product-bulk-edit-G7QTYQHG.js} +6 -8
- package/dist/{product-create-WOCQFTMZ.js → product-create-R5HJ2GYT.js} +32 -33
- package/dist/{product-create-attribute-ZT3VZDNZ.js → product-create-attribute-ELMLVRUB.js} +75 -47
- package/dist/product-create-variant-FQSREC66.js +20 -0
- package/dist/{product-detail-AOMYROBE.js → product-detail-77DV4TAW.js} +26 -26
- package/dist/{product-edit-EKAZRIJ6.js → product-edit-3Q5E5E5L.js} +3 -5
- package/dist/product-edit-attribute-WW4LCYD7.js +175 -0
- package/dist/{product-list-J7RDCTOW.js → product-list-4JGMM4AF.js} +26 -27
- package/dist/{product-media-KREKRDOC.js → product-media-OL4ETNFW.js} +9 -8
- package/dist/{product-metadata-O3BAEUYB.js → product-metadata-H53ZIWBS.js} +22 -23
- package/dist/{product-organization-SBQY44IF.js → product-organization-ILQCXL7B.js} +5 -48
- package/dist/{product-sales-channels-TFOGXCMI.js → product-sales-channels-7QCAABL4.js} +7 -6
- package/dist/{product-shipping-profile-E4HJ4EYW.js → product-shipping-profile-4K7LTJ5K.js} +3 -3
- package/dist/{product-tag-create-7JBM6I3V.js → product-tag-create-4OT4PMCG.js} +20 -21
- package/dist/{product-tag-detail-FCVZLJ7N.js → product-tag-detail-NVTDW7BR.js} +43 -42
- package/dist/{product-tag-edit-O2ADFDD6.js → product-tag-edit-RXF6ZZ6E.js} +20 -21
- package/dist/{product-tag-list-N44OW4BR.js → product-tag-list-T6BDTH24.js} +43 -42
- package/dist/{product-tag-metadata-SBOUTUXY.js → product-tag-metadata-HN5QRCYY.js} +21 -22
- package/dist/{product-type-create-RHG4KEAV.js → product-type-create-A7SUR2OX.js} +1 -1
- package/dist/{product-type-detail-II4RYMUP.js → product-type-detail-KOGHJIMG.js} +27 -28
- package/dist/{product-type-edit-CABB7R7Y.js → product-type-edit-DM4U2VB4.js} +1 -1
- package/dist/{product-type-metadata-KN5OXR6J.js → product-type-metadata-QUCMB3ZJ.js} +23 -24
- package/dist/{product-variant-detail-H2YRFDAU.js → product-variant-detail-6XBLXEXQ.js} +24 -34
- package/dist/{product-variant-edit-3HKWOCHQ.js → product-variant-edit-3KAFS4OC.js} +171 -262
- package/dist/{product-variant-metadata-QESZ7VS2.js → product-variant-metadata-N5H2VPGQ.js} +21 -22
- package/dist/{profile-edit-HQTWYWZ7.js → profile-edit-H5QZ66PF.js} +1 -1
- package/dist/{promotion-add-campaign-O3RTMS3W.js → promotion-add-campaign-V3RJ634F.js} +4 -4
- package/dist/{promotion-create-TGC6BVWF.js → promotion-create-Y2XVWGAT.js} +25 -26
- package/dist/{promotion-detail-VYIXZMMD.js → promotion-detail-SCS7MWD7.js} +22 -23
- package/dist/{promotion-edit-details-TKRC5HES.js → promotion-edit-details-NWOBD3YD.js} +1 -1
- package/dist/{promotion-list-C3SKV5BJ.js → promotion-list-ZFF4E4ZW.js} +4 -4
- package/dist/{refund-reason-create-2KEQFOID.js → refund-reason-create-CIXYHBRC.js} +20 -21
- package/dist/{refund-reason-edit-E7CB7SM3.js → refund-reason-edit-AXMEDPRT.js} +20 -21
- package/dist/{refund-reason-list-CB2FZPDK.js → refund-reason-list-F56TJAGR.js} +38 -37
- package/dist/{region-add-countries-COXN4LP3.js → region-add-countries-5I2UDAJU.js} +1 -1
- package/dist/{region-create-P66Q65XY.js → region-create-SIB6WZPV.js} +1 -1
- package/dist/{region-edit-XFE54SAO.js → region-edit-YQZCZIX3.js} +1 -1
- package/dist/region-list-2XXKCDDX.js +1 -1
- package/dist/{region-metadata-723RQGHS.js → region-metadata-QGH7IBQU.js} +24 -25
- package/dist/{reservation-create-Y3HG4AZA.js → reservation-create-F6YDCLCG.js} +3 -3
- package/dist/{reservation-detail-HQMADZ56.js → reservation-detail-7TL2OFEM.js} +20 -21
- package/dist/{reservation-list-YKC3JJ6K.js → reservation-list-RGD6O4RY.js} +3 -3
- package/dist/{reservation-metadata-UG4YTEMY.js → reservation-metadata-UXACXYO6.js} +21 -22
- package/dist/{reset-password-2VNU52CE.js → reset-password-Y7HXY2NX.js} +1 -1
- package/dist/{return-reason-create-KED7446I.js → return-reason-create-G7ON7U3A.js} +1 -1
- package/dist/{return-reason-edit-57EU3XSE.js → return-reason-edit-77RVRFF6.js} +1 -1
- package/dist/{return-reason-list-47DFQ3NX.js → return-reason-list-EJ5DLDR2.js} +21 -19
- package/dist/{sales-channel-add-products-KKU2AR5R.js → sales-channel-add-products-7ERGMGJ7.js} +25 -26
- package/dist/{sales-channel-create-BSNCLZWR.js → sales-channel-create-TAKKGGK3.js} +3 -3
- package/dist/{sales-channel-detail-5WPD5VKT.js → sales-channel-detail-LWVBJCJQ.js} +25 -26
- package/dist/{sales-channel-edit-FUDXMZYV.js → sales-channel-edit-HEESIKZH.js} +3 -3
- package/dist/{sales-channel-list-GYLGH4U7.js → sales-channel-list-I72W2XTH.js} +24 -24
- package/dist/{sales-channel-metadata-H6RSHKVP.js → sales-channel-metadata-RD6QDHRW.js} +21 -22
- package/dist/{shipping-option-type-create-QAOW7753.js → shipping-option-type-create-LXYYXNSQ.js} +20 -21
- package/dist/{shipping-option-type-detail-QGWVDTDU.js → shipping-option-type-detail-2IQSQ5BQ.js} +21 -22
- package/dist/{shipping-option-type-edit-WXYBDRNY.js → shipping-option-type-edit-4XKXWCN3.js} +20 -21
- package/dist/{shipping-option-type-list-YSWP6DSC.js → shipping-option-type-list-QA2TA7XQ.js} +21 -22
- package/dist/{shipping-profile-create-UJNCCKKK.js → shipping-profile-create-JYRXTOBF.js} +1 -1
- package/dist/{shipping-profile-metadata-UE53IA3J.js → shipping-profile-metadata-PVNYV7DY.js} +22 -23
- package/dist/{store-address-edit-PKIBRFH4.js → store-address-edit-SWLACMPC.js} +1 -1
- package/dist/{store-bulk-edit-6SQX7OV2.js → store-bulk-edit-JAOT5GY2.js} +3 -3
- package/dist/{store-closure-edit-OK7MTUHY.js → store-closure-edit-Y3FOCDRX.js} +1 -1
- package/dist/{store-create-WNFRHXWR.js → store-create-F6W5CSH2.js} +24 -25
- package/dist/{store-details-RS3SPTXC.js → store-details-CSHIHCVO.js} +33 -48
- package/dist/{store-edit-34CPYPM3.js → store-edit-YEWQFHHM.js} +8 -8
- package/dist/{store-list-Q5X3JB3R.js → store-list-FGLLHZPD.js} +28 -29
- package/dist/{store-member-invite-7PAPHDOK.js → store-member-invite-MNRTPHUB.js} +2 -2
- package/dist/{store-payment-details-edit-HOGHZMZC.js → store-payment-details-edit-DF2WURRI.js} +1 -1
- package/dist/{store-professional-details-edit-DPJ4ZFDR.js → store-professional-details-edit-FPOLORSE.js} +1 -1
- package/dist/{tax-region-create-3KVECMFN.js → tax-region-create-YQ5YBOC3.js} +21 -22
- package/dist/{tax-region-detail-AOT4X4DZ.js → tax-region-detail-EU5U3SFN.js} +24 -25
- package/dist/{tax-region-edit-5T7VHKIA.js → tax-region-edit-XHO3ELVD.js} +20 -21
- package/dist/{tax-region-metadata-RSZCJGJT.js → tax-region-metadata-NYTCYO6D.js} +21 -22
- package/dist/{tax-region-province-create-OVLIZPNP.js → tax-region-province-create-SEPY4OAZ.js} +1 -1
- package/dist/{tax-region-province-detail-XEMIX5SQ.js → tax-region-province-detail-U4RULBEK.js} +23 -24
- package/dist/{tax-region-tax-override-create-KPFXMSPH.js → tax-region-tax-override-create-5MIAKHY6.js} +46 -47
- package/dist/{tax-region-tax-override-edit-RMMHCFXN.js → tax-region-tax-override-edit-EHLIO56A.js} +48 -49
- package/dist/{tax-region-tax-rate-create-KDN6G52Y.js → tax-region-tax-rate-create-ZITIAU3K.js} +1 -1
- package/dist/{tax-region-tax-rate-edit-D4BFDDJ7.js → tax-region-tax-rate-edit-RQLUPHD4.js} +1 -1
- package/dist/{user-detail-W7DGVXDZ.js → user-detail-6CCQQPFR.js} +1 -1
- package/dist/{user-edit-MXS2DV37.js → user-edit-DVIMNODF.js} +1 -1
- package/dist/{user-invite-HLZJ7FST.js → user-invite-NJZWT4M5.js} +1 -1
- package/dist/{user-metadata-3AFZX3DM.js → user-metadata-VCWUSKHV.js} +21 -22
- package/package.json +2 -2
- package/dist/[id]-YI7UXOO2.js +0 -499
- package/dist/chunk-AKTAFKIU.js +0 -228
- package/dist/chunk-ALATTLBM.js +0 -390
- package/dist/chunk-IEPNHH7Z.js +0 -170
- package/dist/chunk-J65IXAGI.js +0 -292
- package/dist/chunk-QSGR43JM.js +0 -30
- package/dist/chunk-RQ4NMLSS.js +0 -8
- package/dist/chunk-RXM4B6HR.js +0 -8
- package/dist/chunk-SWL7ZCP3.js +0 -11
- package/dist/chunk-TIMU6K63.js +0 -207
- package/dist/chunk-TTERSO37.js +0 -652
- package/dist/chunk-U7XILJH6.js +0 -423
- package/dist/chunk-UM7ZR3VU.js +0 -14
- package/dist/chunk-V5XHY5LP.js +0 -39
- package/dist/chunk-WV4SQ57G.js +0 -141
- package/dist/chunk-ZZ3XFIEM.js +0 -84
- package/dist/commission-rate-create-DCMGZS3D.js +0 -783
- package/dist/commission-rate-detail-LAZZLZVX.js +0 -86
- package/dist/commission-rate-edit-VL4TUE3M.js +0 -768
- package/dist/commission-rate-list-Y5XLEO67.js +0 -26
- package/dist/loader-6KDBTRVR.js +0 -26
- package/dist/order-allocate-items-DJ2V4B7A.js +0 -563
- package/dist/order-create-fulfillment-SMSUJSBN.js +0 -644
- package/dist/order-create-shipment-5ZAWH5CZ.js +0 -215
- package/dist/order-receive-return-DZ4IUOHY.js +0 -563
- package/dist/product-brand-create-B3ZJGHUQ.js +0 -171
- package/dist/product-brand-detail-QBWHNBYM.js +0 -100
- package/dist/product-brand-edit-3TQDHZNN.js +0 -179
- package/dist/product-brand-metadata-EAMW6PQJ.js +0 -87
- package/dist/product-create-option-NIAP75EE.js +0 -130
- package/dist/product-create-variant-QODC7MZ7.js +0 -60
- package/dist/product-edit-option-OZUZGMIM.js +0 -166
- package/dist/product-prices-R5JOHVGS.js +0 -267
- package/dist/product-stock-EIP2XJUR.js +0 -545
- package/dist/product-variant-manage-inventory-items-Q5MJG3EJ.js +0 -337
- package/dist/{chunk-WVKVPGJW.js → chunk-FNKBJCNF.js} +3 -3
|
@@ -1,13 +1,18 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ProductMediaSection
|
|
3
|
+
} from "./chunk-AWLDIHXR.js";
|
|
1
4
|
import {
|
|
2
5
|
SectionRow
|
|
3
6
|
} from "./chunk-3XPXUIK3.js";
|
|
4
7
|
import {
|
|
5
|
-
useDataTableDateColumns
|
|
8
|
+
useDataTableDateColumns
|
|
9
|
+
} from "./chunk-UKLRBS4W.js";
|
|
10
|
+
import {
|
|
6
11
|
useDataTableDateFilters
|
|
7
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-DGCPYCHU.js";
|
|
8
13
|
import {
|
|
9
14
|
PRODUCT_DETAIL_QUERY
|
|
10
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-GVEF6UDT.js";
|
|
11
16
|
import {
|
|
12
17
|
TwoColumnPage
|
|
13
18
|
} from "./chunk-E74OUNA3.js";
|
|
@@ -16,22 +21,26 @@ import {
|
|
|
16
21
|
} from "./chunk-WIYFXWRI.js";
|
|
17
22
|
import {
|
|
18
23
|
DataTable
|
|
19
|
-
} from "./chunk-
|
|
20
|
-
import {
|
|
21
|
-
require_dist
|
|
22
|
-
} from "./chunk-DZIXC7OE.js";
|
|
24
|
+
} from "./chunk-C4XKPQ6T.js";
|
|
23
25
|
import {
|
|
24
26
|
useQueryParams
|
|
25
27
|
} from "./chunk-THHRRYRS.js";
|
|
28
|
+
import {
|
|
29
|
+
require_dist
|
|
30
|
+
} from "./chunk-6FLSBL4Q.js";
|
|
26
31
|
import {
|
|
27
32
|
useProductTag
|
|
28
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-PJR6W35H.js";
|
|
34
|
+
import {
|
|
35
|
+
productAttributesQueryKeys,
|
|
36
|
+
useProductAttribute
|
|
37
|
+
} from "./chunk-533GMKEG.js";
|
|
29
38
|
import {
|
|
30
39
|
useProductType
|
|
31
40
|
} from "./chunk-46M463BR.js";
|
|
32
41
|
import {
|
|
33
42
|
useCollection
|
|
34
|
-
} from "./chunk-
|
|
43
|
+
} from "./chunk-QKJGSZI2.js";
|
|
35
44
|
import {
|
|
36
45
|
useSeller
|
|
37
46
|
} from "./chunk-LEG67A2R.js";
|
|
@@ -40,10 +49,7 @@ import {
|
|
|
40
49
|
} from "./chunk-BDGZ4EQO.js";
|
|
41
50
|
import {
|
|
42
51
|
useProductCategory
|
|
43
|
-
} from "./chunk-
|
|
44
|
-
import {
|
|
45
|
-
PRODUCT_VARIANT_IDS_KEY
|
|
46
|
-
} from "./chunk-YGAX72XV.js";
|
|
52
|
+
} from "./chunk-KYFWVLWO.js";
|
|
47
53
|
import {
|
|
48
54
|
TwoColumnPageSkeleton
|
|
49
55
|
} from "./chunk-INNFZYX2.js";
|
|
@@ -59,8 +65,8 @@ import {
|
|
|
59
65
|
useRejectProduct,
|
|
60
66
|
useRemoveAttributeFromProduct,
|
|
61
67
|
useRequestProductChanges,
|
|
62
|
-
|
|
63
|
-
} from "./chunk-
|
|
68
|
+
variantsQueryKeys
|
|
69
|
+
} from "./chunk-M2E3PKA4.js";
|
|
64
70
|
import {
|
|
65
71
|
sdk
|
|
66
72
|
} from "./chunk-ZBWL72TB.js";
|
|
@@ -86,7 +92,7 @@ import {
|
|
|
86
92
|
isReferenceField,
|
|
87
93
|
partitionProductChangeActions
|
|
88
94
|
} from "@mercurjs/dashboard-shared";
|
|
89
|
-
import {
|
|
95
|
+
import { useQueries } from "@tanstack/react-query";
|
|
90
96
|
import { useTranslation as useTranslation2 } from "react-i18next";
|
|
91
97
|
|
|
92
98
|
// src/components/common/confirm-prompt/confirm-prompt.tsx
|
|
@@ -170,6 +176,7 @@ var ConfirmPrompt = ({
|
|
|
170
176
|
|
|
171
177
|
// src/pages/products/product-detail/components/product-active-edit-section/product-active-edit-section.tsx
|
|
172
178
|
import { Fragment as Fragment2, jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
179
|
+
var VARIANT_LOOKUP_FIELDS = "id,title,sku,*images";
|
|
173
180
|
var ImageStrip = ({
|
|
174
181
|
images,
|
|
175
182
|
faded
|
|
@@ -180,14 +187,6 @@ var ImageStrip = ({
|
|
|
180
187
|
children: images.map((image, idx) => /* @__PURE__ */ jsx2(Thumbnail, { src: image.url, size: "base" }, `${image.url}-${idx}`))
|
|
181
188
|
}
|
|
182
189
|
);
|
|
183
|
-
var BrandName = ({ id }) => {
|
|
184
|
-
const { data } = useQuery({
|
|
185
|
-
queryKey: ["product_brand", id],
|
|
186
|
-
queryFn: () => sdk.admin.productBrands.$id.query({ $id: id }),
|
|
187
|
-
enabled: !!id
|
|
188
|
-
});
|
|
189
|
-
return /* @__PURE__ */ jsx2(Fragment2, { children: data?.product_brand?.name ?? id });
|
|
190
|
-
};
|
|
191
190
|
var TypeName = ({ id }) => {
|
|
192
191
|
const { product_type } = useProductType(id);
|
|
193
192
|
return /* @__PURE__ */ jsx2(Fragment2, { children: product_type?.value ?? id });
|
|
@@ -209,8 +208,6 @@ var ReferenceName = ({
|
|
|
209
208
|
id
|
|
210
209
|
}) => {
|
|
211
210
|
switch (field) {
|
|
212
|
-
case "brand_id":
|
|
213
|
-
return /* @__PURE__ */ jsx2(BrandName, { id });
|
|
214
211
|
case "type_id":
|
|
215
212
|
return /* @__PURE__ */ jsx2(TypeName, { id });
|
|
216
213
|
case "collection_id":
|
|
@@ -313,13 +310,121 @@ var FieldRow = ({ diff }) => {
|
|
|
313
310
|
)
|
|
314
311
|
] });
|
|
315
312
|
};
|
|
316
|
-
var
|
|
313
|
+
var AttributeActionLine = ({
|
|
314
|
+
attributeId,
|
|
315
|
+
valueIds
|
|
316
|
+
}) => {
|
|
317
|
+
const { product_attribute } = useProductAttribute(attributeId);
|
|
318
|
+
const name = product_attribute?.name ?? attributeId;
|
|
319
|
+
const values = product_attribute?.values ?? [];
|
|
320
|
+
const selectedNames = valueIds && valueIds.length ? valueIds.map((id) => {
|
|
321
|
+
const match = values.find((v) => v.id === id);
|
|
322
|
+
return match?.name ?? id;
|
|
323
|
+
}) : [];
|
|
324
|
+
return /* @__PURE__ */ jsxs2(Text, { size: "small", leading: "compact", className: "text-ui-fg-subtle", children: [
|
|
325
|
+
/* @__PURE__ */ jsx2("span", { className: "font-medium text-ui-fg-base", children: name }),
|
|
326
|
+
selectedNames.length > 0 && `: ${selectedNames.join(", ")}`
|
|
327
|
+
] });
|
|
328
|
+
};
|
|
329
|
+
var VariantActionLine = ({
|
|
330
|
+
title,
|
|
331
|
+
images
|
|
332
|
+
}) => /* @__PURE__ */ jsxs2("div", { className: "flex items-center gap-3", children: [
|
|
333
|
+
images && images.length > 0 && /* @__PURE__ */ jsx2(ImageStrip, { images }),
|
|
334
|
+
/* @__PURE__ */ jsx2(Text, { size: "small", leading: "compact", className: "text-ui-fg-subtle", children: /* @__PURE__ */ jsx2("span", { className: "font-medium text-ui-fg-base", children: title }) })
|
|
335
|
+
] });
|
|
336
|
+
var ActionLine = ({
|
|
337
|
+
action,
|
|
338
|
+
variantsById
|
|
339
|
+
}) => {
|
|
317
340
|
const { t } = useTranslation2();
|
|
341
|
+
const details = action.details ?? {};
|
|
342
|
+
if (action.action === import_types.ProductChangeActionType.ATTRIBUTE_ADD || action.action === import_types.ProductChangeActionType.ATTRIBUTE_REMOVE) {
|
|
343
|
+
if (!details.attribute_id) return null;
|
|
344
|
+
return /* @__PURE__ */ jsx2(
|
|
345
|
+
AttributeActionLine,
|
|
346
|
+
{
|
|
347
|
+
attributeId: details.attribute_id,
|
|
348
|
+
valueIds: action.action === import_types.ProductChangeActionType.ATTRIBUTE_ADD ? details.attribute_value_ids : void 0
|
|
349
|
+
}
|
|
350
|
+
);
|
|
351
|
+
}
|
|
352
|
+
const variantFallback = t("fields.variant", { defaultValue: "Variant" });
|
|
353
|
+
if (action.action === import_types.ProductChangeActionType.VARIANT_ADD) {
|
|
354
|
+
const title = details.variant?.title || details.variant?.sku || variantFallback;
|
|
355
|
+
return /* @__PURE__ */ jsx2(VariantActionLine, { title });
|
|
356
|
+
}
|
|
357
|
+
if (action.action === import_types.ProductChangeActionType.VARIANT_REMOVE) {
|
|
358
|
+
const variantId = details.variant_id ?? "";
|
|
359
|
+
const found = variantId ? variantsById.get(variantId) : void 0;
|
|
360
|
+
const title = found?.title || found?.sku || variantId || variantFallback;
|
|
361
|
+
const images = isImageList(found?.images) ? found?.images : void 0;
|
|
362
|
+
return /* @__PURE__ */ jsx2(VariantActionLine, { title, images });
|
|
363
|
+
}
|
|
318
364
|
const label = describeProductChangeAction(action, {
|
|
319
|
-
variant:
|
|
365
|
+
variant: variantFallback
|
|
320
366
|
});
|
|
321
367
|
return /* @__PURE__ */ jsx2(Text, { size: "small", leading: "compact", className: "text-ui-fg-subtle", children: label });
|
|
322
368
|
};
|
|
369
|
+
var VariantUpdateBlock = ({
|
|
370
|
+
variantId,
|
|
371
|
+
diffs,
|
|
372
|
+
variantsById
|
|
373
|
+
}) => {
|
|
374
|
+
const { t } = useTranslation2();
|
|
375
|
+
const found = variantsById.get(variantId);
|
|
376
|
+
const variantFallback = t("fields.variant", { defaultValue: "Variant" });
|
|
377
|
+
const title = found?.title || found?.sku || variantId || variantFallback;
|
|
378
|
+
const sku = found?.sku && title !== found.sku ? found.sku : void 0;
|
|
379
|
+
const images = isImageList(found?.images) ? found?.images : void 0;
|
|
380
|
+
return /* @__PURE__ */ jsxs2(Fragment2, { children: [
|
|
381
|
+
/* @__PURE__ */ jsxs2(
|
|
382
|
+
"div",
|
|
383
|
+
{
|
|
384
|
+
className: "flex items-start gap-4 px-6 py-4",
|
|
385
|
+
"data-testid": `product-active-edit-variant-${variantId}`,
|
|
386
|
+
children: [
|
|
387
|
+
/* @__PURE__ */ jsx2(
|
|
388
|
+
Text,
|
|
389
|
+
{
|
|
390
|
+
size: "small",
|
|
391
|
+
weight: "plus",
|
|
392
|
+
leading: "compact",
|
|
393
|
+
className: "text-ui-fg-subtle w-[160px] shrink-0",
|
|
394
|
+
children: variantFallback
|
|
395
|
+
}
|
|
396
|
+
),
|
|
397
|
+
/* @__PURE__ */ jsxs2("div", { className: "flex flex-1 items-center gap-2", children: [
|
|
398
|
+
images && images.length > 0 && /* @__PURE__ */ jsx2(ImageStrip, { images }),
|
|
399
|
+
/* @__PURE__ */ jsx2(
|
|
400
|
+
Text,
|
|
401
|
+
{
|
|
402
|
+
size: "small",
|
|
403
|
+
leading: "compact",
|
|
404
|
+
className: "text-ui-fg-base font-medium",
|
|
405
|
+
children: title
|
|
406
|
+
}
|
|
407
|
+
),
|
|
408
|
+
sku && /* @__PURE__ */ jsx2(Text, { size: "small", leading: "compact", className: "text-ui-fg-subtle", children: `\xB7 ${sku}` })
|
|
409
|
+
] })
|
|
410
|
+
]
|
|
411
|
+
}
|
|
412
|
+
),
|
|
413
|
+
diffs.length > 0 && /* @__PURE__ */ jsxs2("div", { className: "flex items-start gap-4 px-6 py-4", children: [
|
|
414
|
+
/* @__PURE__ */ jsx2(
|
|
415
|
+
Text,
|
|
416
|
+
{
|
|
417
|
+
size: "small",
|
|
418
|
+
weight: "plus",
|
|
419
|
+
leading: "compact",
|
|
420
|
+
className: "text-ui-fg-subtle w-[160px] shrink-0",
|
|
421
|
+
children: t("labels.updated")
|
|
422
|
+
}
|
|
423
|
+
),
|
|
424
|
+
/* @__PURE__ */ jsx2("div", { className: "flex flex-1 flex-col gap-y-4", children: diffs.map((diff, idx) => /* @__PURE__ */ jsx2(FieldRow, { diff }, `${variantId}-${diff.field}-${idx}`)) })
|
|
425
|
+
] })
|
|
426
|
+
] });
|
|
427
|
+
};
|
|
323
428
|
var ProductActiveEditSection = ({
|
|
324
429
|
product
|
|
325
430
|
}) => {
|
|
@@ -339,13 +444,80 @@ var ProductActiveEditSection = ({
|
|
|
339
444
|
() => partitionProductChangeActions(product_change?.actions ?? []),
|
|
340
445
|
[product_change]
|
|
341
446
|
);
|
|
447
|
+
const productUpdated = useMemo(
|
|
448
|
+
() => updated.filter((d) => !d.variant_id),
|
|
449
|
+
[updated]
|
|
450
|
+
);
|
|
451
|
+
const variantsUpdated = useMemo(() => {
|
|
452
|
+
const groups = /* @__PURE__ */ new Map();
|
|
453
|
+
for (const diff of updated) {
|
|
454
|
+
if (!diff.variant_id) continue;
|
|
455
|
+
const bucket = groups.get(diff.variant_id) ?? [];
|
|
456
|
+
bucket.push(diff);
|
|
457
|
+
groups.set(diff.variant_id, bucket);
|
|
458
|
+
}
|
|
459
|
+
return groups;
|
|
460
|
+
}, [updated]);
|
|
461
|
+
const attributeIds = useMemo(() => {
|
|
462
|
+
const ids = /* @__PURE__ */ new Set();
|
|
463
|
+
for (const action of [...added, ...removed]) {
|
|
464
|
+
if (action.action === import_types.ProductChangeActionType.ATTRIBUTE_ADD || action.action === import_types.ProductChangeActionType.ATTRIBUTE_REMOVE) {
|
|
465
|
+
const details = action.details ?? {};
|
|
466
|
+
if (details.attribute_id) ids.add(details.attribute_id);
|
|
467
|
+
}
|
|
468
|
+
}
|
|
469
|
+
return Array.from(ids);
|
|
470
|
+
}, [added, removed]);
|
|
471
|
+
const attributeQueries = useQueries({
|
|
472
|
+
queries: attributeIds.map((id) => ({
|
|
473
|
+
queryKey: productAttributesQueryKeys.detail(id),
|
|
474
|
+
queryFn: () => sdk.admin.productAttributes.$id.query({ $id: id })
|
|
475
|
+
}))
|
|
476
|
+
});
|
|
477
|
+
const isLoadingAttributes = attributeQueries.some((q) => q.isPending);
|
|
478
|
+
const variantIds = useMemo(() => {
|
|
479
|
+
const ids = /* @__PURE__ */ new Set();
|
|
480
|
+
for (const action of removed) {
|
|
481
|
+
if (action.action === import_types.ProductChangeActionType.VARIANT_REMOVE) {
|
|
482
|
+
const details = action.details ?? {};
|
|
483
|
+
if (details.variant_id) ids.add(details.variant_id);
|
|
484
|
+
}
|
|
485
|
+
}
|
|
486
|
+
for (const diff of updated) {
|
|
487
|
+
if (diff.variant_id) ids.add(diff.variant_id);
|
|
488
|
+
}
|
|
489
|
+
return Array.from(ids);
|
|
490
|
+
}, [removed, updated]);
|
|
491
|
+
const variantQueryInput = { fields: VARIANT_LOOKUP_FIELDS };
|
|
492
|
+
const variantQueries = useQueries({
|
|
493
|
+
queries: variantIds.map((variantId) => ({
|
|
494
|
+
queryKey: variantsQueryKeys.detail(variantId, variantQueryInput),
|
|
495
|
+
queryFn: () => sdk.admin.products.$id.variants.$variantId.query({
|
|
496
|
+
$id: product.id,
|
|
497
|
+
$variantId: variantId,
|
|
498
|
+
...variantQueryInput
|
|
499
|
+
})
|
|
500
|
+
}))
|
|
501
|
+
});
|
|
502
|
+
const isLoadingVariants = variantQueries.some((q) => q.isPending);
|
|
503
|
+
const variantsById = useMemo(() => {
|
|
504
|
+
const map = /* @__PURE__ */ new Map();
|
|
505
|
+
for (const query of variantQueries) {
|
|
506
|
+
const variant = query.data?.variant;
|
|
507
|
+
if (variant?.id) map.set(variant.id, variant);
|
|
508
|
+
}
|
|
509
|
+
return map;
|
|
510
|
+
}, [variantQueries]);
|
|
342
511
|
if (isError || !product_change) {
|
|
343
512
|
return null;
|
|
344
513
|
}
|
|
345
514
|
if (product_change.status !== import_types.ProductChangeStatus.PENDING) {
|
|
346
515
|
return null;
|
|
347
516
|
}
|
|
348
|
-
|
|
517
|
+
if (isLoadingAttributes || isLoadingVariants) {
|
|
518
|
+
return null;
|
|
519
|
+
}
|
|
520
|
+
const hasContent = productUpdated.length > 0 || variantsUpdated.size > 0 || added.length > 0 || removed.length > 0 || deleteRequested;
|
|
349
521
|
const handleConfirm = async (note) => {
|
|
350
522
|
try {
|
|
351
523
|
await confirmChange({ internal_note: note });
|
|
@@ -378,7 +550,7 @@ var ProductActiveEditSection = ({
|
|
|
378
550
|
store: requesterSeller?.name ?? t("products.request.fallbackStore")
|
|
379
551
|
}) }) }),
|
|
380
552
|
hasContent && /* @__PURE__ */ jsxs2(Fragment2, { children: [
|
|
381
|
-
|
|
553
|
+
productUpdated.length > 0 && /* @__PURE__ */ jsxs2("div", { className: "flex items-start gap-4 px-6 py-4", children: [
|
|
382
554
|
/* @__PURE__ */ jsx2(
|
|
383
555
|
Text,
|
|
384
556
|
{
|
|
@@ -389,8 +561,17 @@ var ProductActiveEditSection = ({
|
|
|
389
561
|
children: t("labels.updated")
|
|
390
562
|
}
|
|
391
563
|
),
|
|
392
|
-
/* @__PURE__ */ jsx2("div", { className: "flex flex-1 flex-col gap-y-4", children:
|
|
564
|
+
/* @__PURE__ */ jsx2("div", { className: "flex flex-1 flex-col gap-y-4", children: productUpdated.map((diff, idx) => /* @__PURE__ */ jsx2(FieldRow, { diff }, `${diff.field}-${idx}`)) })
|
|
393
565
|
] }),
|
|
566
|
+
variantsUpdated.size > 0 && Array.from(variantsUpdated.entries()).map(([variantId, diffs]) => /* @__PURE__ */ jsx2(
|
|
567
|
+
VariantUpdateBlock,
|
|
568
|
+
{
|
|
569
|
+
variantId,
|
|
570
|
+
diffs,
|
|
571
|
+
variantsById
|
|
572
|
+
},
|
|
573
|
+
variantId
|
|
574
|
+
)),
|
|
394
575
|
added.length > 0 && /* @__PURE__ */ jsxs2("div", { className: "flex items-start gap-4 px-6 py-4", children: [
|
|
395
576
|
/* @__PURE__ */ jsx2(
|
|
396
577
|
Text,
|
|
@@ -402,7 +583,14 @@ var ProductActiveEditSection = ({
|
|
|
402
583
|
children: t("labels.added")
|
|
403
584
|
}
|
|
404
585
|
),
|
|
405
|
-
/* @__PURE__ */ jsx2("div", { className: "flex flex-1 flex-col gap-y-2", children: added.map((action) => /* @__PURE__ */ jsx2(
|
|
586
|
+
/* @__PURE__ */ jsx2("div", { className: "flex flex-1 flex-col gap-y-2", children: added.map((action) => /* @__PURE__ */ jsx2(
|
|
587
|
+
ActionLine,
|
|
588
|
+
{
|
|
589
|
+
action,
|
|
590
|
+
variantsById
|
|
591
|
+
},
|
|
592
|
+
action.id
|
|
593
|
+
)) })
|
|
406
594
|
] }),
|
|
407
595
|
removed.length > 0 && /* @__PURE__ */ jsxs2("div", { className: "flex items-start gap-4 px-6 py-4", children: [
|
|
408
596
|
/* @__PURE__ */ jsx2(
|
|
@@ -415,7 +603,14 @@ var ProductActiveEditSection = ({
|
|
|
415
603
|
children: t("labels.removed")
|
|
416
604
|
}
|
|
417
605
|
),
|
|
418
|
-
/* @__PURE__ */ jsx2("div", { className: "flex flex-1 flex-col gap-y-2", children: removed.map((action) => /* @__PURE__ */ jsx2(
|
|
606
|
+
/* @__PURE__ */ jsx2("div", { className: "flex flex-1 flex-col gap-y-2", children: removed.map((action) => /* @__PURE__ */ jsx2(
|
|
607
|
+
ActionLine,
|
|
608
|
+
{
|
|
609
|
+
action,
|
|
610
|
+
variantsById
|
|
611
|
+
},
|
|
612
|
+
action.id
|
|
613
|
+
)) })
|
|
419
614
|
] }),
|
|
420
615
|
deleteRequested && /* @__PURE__ */ jsxs2("div", { className: "flex items-start gap-4 px-6 py-4", children: [
|
|
421
616
|
/* @__PURE__ */ jsx2(
|
|
@@ -666,7 +861,8 @@ import {
|
|
|
666
861
|
Trash,
|
|
667
862
|
Swatch,
|
|
668
863
|
DropCap,
|
|
669
|
-
InformationCircleSolid
|
|
864
|
+
InformationCircleSolid,
|
|
865
|
+
PencilSquare
|
|
670
866
|
} from "@medusajs/icons";
|
|
671
867
|
import {
|
|
672
868
|
Badge,
|
|
@@ -708,12 +904,23 @@ var AttributeActions = ({
|
|
|
708
904
|
ActionMenu,
|
|
709
905
|
{
|
|
710
906
|
groups: [
|
|
907
|
+
{
|
|
908
|
+
actions: [
|
|
909
|
+
{
|
|
910
|
+
label: t("actions.edit"),
|
|
911
|
+
to: `attributes/${attribute.id}/edit`,
|
|
912
|
+
icon: /* @__PURE__ */ jsx4(PencilSquare, {})
|
|
913
|
+
}
|
|
914
|
+
]
|
|
915
|
+
},
|
|
711
916
|
{
|
|
712
917
|
actions: [
|
|
713
918
|
{
|
|
714
919
|
label: t("actions.delete"),
|
|
715
920
|
onClick: handleDelete,
|
|
716
|
-
icon: /* @__PURE__ */ jsx4(Trash, {})
|
|
921
|
+
icon: /* @__PURE__ */ jsx4(Trash, {}),
|
|
922
|
+
disabled: attribute.is_required,
|
|
923
|
+
disabledTooltip: attribute.is_required ? t("products.attributeRequiredDeleteDisabledTooltip") : void 0
|
|
717
924
|
}
|
|
718
925
|
]
|
|
719
926
|
}
|
|
@@ -841,7 +1048,7 @@ var ProductAttributeSection = ({
|
|
|
841
1048
|
};
|
|
842
1049
|
|
|
843
1050
|
// src/pages/products/product-detail/components/product-general-section/product-general-section.tsx
|
|
844
|
-
import { PencilSquare, Trash as Trash2 } from "@medusajs/icons";
|
|
1051
|
+
import { PencilSquare as PencilSquare2, Trash as Trash2 } from "@medusajs/icons";
|
|
845
1052
|
import { Container as Container4, Heading as Heading4, StatusBadge, usePrompt as usePrompt2 } from "@medusajs/ui";
|
|
846
1053
|
import { useTranslation as useTranslation5 } from "react-i18next";
|
|
847
1054
|
import { useNavigate } from "react-router-dom";
|
|
@@ -854,8 +1061,6 @@ var productStatusColor = (status) => {
|
|
|
854
1061
|
return "orange";
|
|
855
1062
|
case "published":
|
|
856
1063
|
return "green";
|
|
857
|
-
case "requires_action":
|
|
858
|
-
return "blue";
|
|
859
1064
|
case "rejected":
|
|
860
1065
|
return "red";
|
|
861
1066
|
default:
|
|
@@ -918,7 +1123,7 @@ var ProductGeneralSection = ({
|
|
|
918
1123
|
{
|
|
919
1124
|
label: t("actions.edit"),
|
|
920
1125
|
to: "edit",
|
|
921
|
-
icon: /* @__PURE__ */ jsx5(
|
|
1126
|
+
icon: /* @__PURE__ */ jsx5(PencilSquare2, {})
|
|
922
1127
|
}
|
|
923
1128
|
]
|
|
924
1129
|
},
|
|
@@ -976,210 +1181,30 @@ var ProductGeneralSection = ({
|
|
|
976
1181
|
] });
|
|
977
1182
|
};
|
|
978
1183
|
|
|
979
|
-
// src/pages/products/product-detail/components/product-
|
|
980
|
-
import { PencilSquare as
|
|
981
|
-
import {
|
|
982
|
-
Button as Button3,
|
|
983
|
-
Checkbox,
|
|
984
|
-
CommandBar,
|
|
985
|
-
Container as Container5,
|
|
986
|
-
Heading as Heading5,
|
|
987
|
-
Text as Text4,
|
|
988
|
-
Tooltip as Tooltip2,
|
|
989
|
-
clx,
|
|
990
|
-
usePrompt as usePrompt3
|
|
991
|
-
} from "@medusajs/ui";
|
|
992
|
-
import { useState as useState4 } from "react";
|
|
1184
|
+
// src/pages/products/product-detail/components/product-organization-section/product-organization-section.tsx
|
|
1185
|
+
import { PencilSquare as PencilSquare3 } from "@medusajs/icons";
|
|
1186
|
+
import { Badge as Badge2, Container as Container5, Heading as Heading5, Tooltip as Tooltip2 } from "@medusajs/ui";
|
|
993
1187
|
import { useTranslation as useTranslation6 } from "react-i18next";
|
|
994
1188
|
import { Link } from "react-router-dom";
|
|
995
1189
|
import { jsx as jsx6, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
996
|
-
var ProductMediaSection = ({
|
|
997
|
-
product
|
|
998
|
-
}) => {
|
|
999
|
-
const { t } = useTranslation6();
|
|
1000
|
-
const prompt = usePrompt3();
|
|
1001
|
-
const [selection, setSelection] = useState4({});
|
|
1002
|
-
const media = getMedia(product);
|
|
1003
|
-
const handleCheckedChange = (id) => {
|
|
1004
|
-
setSelection((prev) => {
|
|
1005
|
-
if (prev[id]) {
|
|
1006
|
-
const { [id]: _, ...rest } = prev;
|
|
1007
|
-
return rest;
|
|
1008
|
-
} else {
|
|
1009
|
-
return { ...prev, [id]: true };
|
|
1010
|
-
}
|
|
1011
|
-
});
|
|
1012
|
-
};
|
|
1013
|
-
const { mutateAsync } = useUpdateProduct(product.id);
|
|
1014
|
-
const handleDelete = async () => {
|
|
1015
|
-
const ids = Object.keys(selection);
|
|
1016
|
-
const includingThumbnail = ids.some(
|
|
1017
|
-
(id) => media.find((m) => m.id === id)?.isThumbnail
|
|
1018
|
-
);
|
|
1019
|
-
const res = await prompt({
|
|
1020
|
-
title: t("general.areYouSure"),
|
|
1021
|
-
description: includingThumbnail ? t("products.media.deleteWarningWithThumbnail", {
|
|
1022
|
-
count: ids.length
|
|
1023
|
-
}) : t("products.media.deleteWarning", {
|
|
1024
|
-
count: ids.length
|
|
1025
|
-
}),
|
|
1026
|
-
confirmText: t("actions.delete"),
|
|
1027
|
-
cancelText: t("actions.cancel")
|
|
1028
|
-
});
|
|
1029
|
-
if (!res) {
|
|
1030
|
-
return;
|
|
1031
|
-
}
|
|
1032
|
-
const mediaToKeep = product.images?.filter((i) => !ids.includes(i.id)).map((i) => ({ url: i.url }));
|
|
1033
|
-
await mutateAsync(
|
|
1034
|
-
{
|
|
1035
|
-
images: mediaToKeep,
|
|
1036
|
-
thumbnail: includingThumbnail ? "" : void 0
|
|
1037
|
-
},
|
|
1038
|
-
{
|
|
1039
|
-
onSuccess: () => {
|
|
1040
|
-
setSelection({});
|
|
1041
|
-
}
|
|
1042
|
-
}
|
|
1043
|
-
);
|
|
1044
|
-
};
|
|
1045
|
-
return /* @__PURE__ */ jsxs6(Container5, { className: "divide-y p-0", "data-testid": "product-media-section", children: [
|
|
1046
|
-
/* @__PURE__ */ jsxs6("div", { className: "flex items-center justify-between px-6 py-4", "data-testid": "product-media-header", children: [
|
|
1047
|
-
/* @__PURE__ */ jsx6(Heading5, { level: "h2", "data-testid": "product-media-title", children: t("products.media.label") }),
|
|
1048
|
-
/* @__PURE__ */ jsx6(
|
|
1049
|
-
ActionMenu,
|
|
1050
|
-
{
|
|
1051
|
-
groups: [
|
|
1052
|
-
{
|
|
1053
|
-
actions: [
|
|
1054
|
-
{
|
|
1055
|
-
label: t("actions.edit"),
|
|
1056
|
-
to: "media?view=edit",
|
|
1057
|
-
icon: /* @__PURE__ */ jsx6(PencilSquare2, {})
|
|
1058
|
-
}
|
|
1059
|
-
]
|
|
1060
|
-
}
|
|
1061
|
-
],
|
|
1062
|
-
"data-testid": "product-media-action-menu"
|
|
1063
|
-
}
|
|
1064
|
-
)
|
|
1065
|
-
] }),
|
|
1066
|
-
media.length > 0 ? /* @__PURE__ */ jsx6("div", { className: "grid grid-cols-[repeat(auto-fill,minmax(96px,1fr))] gap-4 px-6 py-4", "data-testid": "product-media-grid", children: media.map((i, index) => {
|
|
1067
|
-
const isSelected = selection[i.id];
|
|
1068
|
-
return /* @__PURE__ */ jsxs6(
|
|
1069
|
-
"div",
|
|
1070
|
-
{
|
|
1071
|
-
className: "shadow-elevation-card-rest hover:shadow-elevation-card-hover transition-fg group relative aspect-square size-full cursor-pointer overflow-hidden rounded-[8px]",
|
|
1072
|
-
"data-testid": `product-media-item-${i.id}`,
|
|
1073
|
-
children: [
|
|
1074
|
-
/* @__PURE__ */ jsx6(
|
|
1075
|
-
"div",
|
|
1076
|
-
{
|
|
1077
|
-
className: clx(
|
|
1078
|
-
"transition-fg invisible absolute right-2 top-2 opacity-0 group-hover:visible group-hover:opacity-100",
|
|
1079
|
-
{
|
|
1080
|
-
"visible opacity-100": isSelected
|
|
1081
|
-
}
|
|
1082
|
-
),
|
|
1083
|
-
"data-testid": `product-media-checkbox-container-${i.id}`,
|
|
1084
|
-
children: /* @__PURE__ */ jsx6(
|
|
1085
|
-
Checkbox,
|
|
1086
|
-
{
|
|
1087
|
-
checked: selection[i.id] || false,
|
|
1088
|
-
onCheckedChange: () => handleCheckedChange(i.id),
|
|
1089
|
-
"data-testid": `product-media-checkbox-${i.id}`
|
|
1090
|
-
}
|
|
1091
|
-
)
|
|
1092
|
-
}
|
|
1093
|
-
),
|
|
1094
|
-
i.isThumbnail && /* @__PURE__ */ jsx6("div", { className: "absolute left-2 top-2", "data-testid": `product-media-thumbnail-badge-${i.id}`, children: /* @__PURE__ */ jsx6(Tooltip2, { content: t("fields.thumbnail"), children: /* @__PURE__ */ jsx6(ThumbnailBadge, {}) }) }),
|
|
1095
|
-
/* @__PURE__ */ jsx6(Link, { to: `media`, state: { curr: index }, "data-testid": `product-media-link-${i.id}`, children: /* @__PURE__ */ jsx6(
|
|
1096
|
-
"img",
|
|
1097
|
-
{
|
|
1098
|
-
src: i.url,
|
|
1099
|
-
alt: product.title,
|
|
1100
|
-
className: "size-full object-cover",
|
|
1101
|
-
"data-testid": `product-media-image-${i.id}`
|
|
1102
|
-
}
|
|
1103
|
-
) })
|
|
1104
|
-
]
|
|
1105
|
-
},
|
|
1106
|
-
i.id
|
|
1107
|
-
);
|
|
1108
|
-
}) }) : /* @__PURE__ */ jsxs6("div", { className: "flex flex-col items-center gap-y-4 pb-8 pt-6", "data-testid": "product-media-empty-state", children: [
|
|
1109
|
-
/* @__PURE__ */ jsxs6("div", { className: "flex flex-col items-center", children: [
|
|
1110
|
-
/* @__PURE__ */ jsx6(
|
|
1111
|
-
Text4,
|
|
1112
|
-
{
|
|
1113
|
-
size: "small",
|
|
1114
|
-
leading: "compact",
|
|
1115
|
-
weight: "plus",
|
|
1116
|
-
className: "text-ui-fg-subtle",
|
|
1117
|
-
"data-testid": "product-media-empty-state-header",
|
|
1118
|
-
children: t("products.media.emptyState.header")
|
|
1119
|
-
}
|
|
1120
|
-
),
|
|
1121
|
-
/* @__PURE__ */ jsx6(Text4, { size: "small", className: "text-ui-fg-muted", "data-testid": "product-media-empty-state-description", children: t("products.media.emptyState.description") })
|
|
1122
|
-
] }),
|
|
1123
|
-
/* @__PURE__ */ jsx6(Button3, { size: "small", variant: "secondary", asChild: true, "data-testid": "product-media-empty-state-button", children: /* @__PURE__ */ jsx6(Link, { to: "media?view=edit", "data-testid": "product-media-empty-state-link", children: t("products.media.emptyState.action") }) })
|
|
1124
|
-
] }),
|
|
1125
|
-
/* @__PURE__ */ jsx6(CommandBar, { open: !!Object.keys(selection).length, "data-testid": "product-media-command-bar", children: /* @__PURE__ */ jsxs6(CommandBar.Bar, { "data-testid": "product-media-command-bar-bar", children: [
|
|
1126
|
-
/* @__PURE__ */ jsx6(CommandBar.Value, { "data-testid": "product-media-command-bar-value", children: t("general.countSelected", {
|
|
1127
|
-
count: Object.keys(selection).length
|
|
1128
|
-
}) }),
|
|
1129
|
-
/* @__PURE__ */ jsx6(CommandBar.Seperator, { "data-testid": "product-media-command-bar-separator" }),
|
|
1130
|
-
/* @__PURE__ */ jsx6(
|
|
1131
|
-
CommandBar.Command,
|
|
1132
|
-
{
|
|
1133
|
-
action: handleDelete,
|
|
1134
|
-
label: t("actions.delete"),
|
|
1135
|
-
shortcut: "d",
|
|
1136
|
-
"data-testid": "product-media-command-bar-delete"
|
|
1137
|
-
}
|
|
1138
|
-
)
|
|
1139
|
-
] }) })
|
|
1140
|
-
] });
|
|
1141
|
-
};
|
|
1142
|
-
var getMedia = (product) => {
|
|
1143
|
-
const { images = [], thumbnail } = product;
|
|
1144
|
-
const media = images.map((image) => ({
|
|
1145
|
-
id: image.id,
|
|
1146
|
-
url: image.url,
|
|
1147
|
-
isThumbnail: image.url === thumbnail
|
|
1148
|
-
}));
|
|
1149
|
-
if (thumbnail && !media.some((mediaItem) => mediaItem.url === thumbnail)) {
|
|
1150
|
-
media.unshift({
|
|
1151
|
-
id: "img_thumbnail",
|
|
1152
|
-
url: thumbnail,
|
|
1153
|
-
isThumbnail: true
|
|
1154
|
-
});
|
|
1155
|
-
}
|
|
1156
|
-
return media;
|
|
1157
|
-
};
|
|
1158
|
-
|
|
1159
|
-
// src/pages/products/product-detail/components/product-organization-section/product-organization-section.tsx
|
|
1160
|
-
import { PencilSquare as PencilSquare3 } from "@medusajs/icons";
|
|
1161
|
-
import { Badge as Badge2, Container as Container6, Heading as Heading6, Tooltip as Tooltip3 } from "@medusajs/ui";
|
|
1162
|
-
import { useTranslation as useTranslation7 } from "react-i18next";
|
|
1163
|
-
import { Link as Link2 } from "react-router-dom";
|
|
1164
|
-
import { jsx as jsx7, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
1165
1190
|
var ProductOrganizationSection = ({
|
|
1166
1191
|
product
|
|
1167
1192
|
}) => {
|
|
1168
|
-
const { t } =
|
|
1169
|
-
return /* @__PURE__ */
|
|
1170
|
-
|
|
1193
|
+
const { t } = useTranslation6();
|
|
1194
|
+
return /* @__PURE__ */ jsxs6(
|
|
1195
|
+
Container5,
|
|
1171
1196
|
{
|
|
1172
1197
|
className: "divide-y p-0",
|
|
1173
1198
|
"data-testid": "product-organization-section",
|
|
1174
1199
|
children: [
|
|
1175
|
-
/* @__PURE__ */
|
|
1200
|
+
/* @__PURE__ */ jsxs6(
|
|
1176
1201
|
"div",
|
|
1177
1202
|
{
|
|
1178
1203
|
className: "flex items-center justify-between px-6 py-4",
|
|
1179
1204
|
"data-testid": "product-organization-header",
|
|
1180
1205
|
children: [
|
|
1181
|
-
/* @__PURE__ */
|
|
1182
|
-
/* @__PURE__ */
|
|
1206
|
+
/* @__PURE__ */ jsx6(Heading5, { level: "h2", "data-testid": "product-organization-title", children: t("products.organization.header") }),
|
|
1207
|
+
/* @__PURE__ */ jsx6(
|
|
1183
1208
|
ActionMenu,
|
|
1184
1209
|
{
|
|
1185
1210
|
groups: [
|
|
@@ -1188,7 +1213,7 @@ var ProductOrganizationSection = ({
|
|
|
1188
1213
|
{
|
|
1189
1214
|
label: t("actions.edit"),
|
|
1190
1215
|
to: "organization",
|
|
1191
|
-
icon: /* @__PURE__ */
|
|
1216
|
+
icon: /* @__PURE__ */ jsx6(PencilSquare3, {})
|
|
1192
1217
|
}
|
|
1193
1218
|
]
|
|
1194
1219
|
}
|
|
@@ -1199,11 +1224,11 @@ var ProductOrganizationSection = ({
|
|
|
1199
1224
|
]
|
|
1200
1225
|
}
|
|
1201
1226
|
),
|
|
1202
|
-
/* @__PURE__ */
|
|
1227
|
+
/* @__PURE__ */ jsx6(
|
|
1203
1228
|
SectionRow,
|
|
1204
1229
|
{
|
|
1205
1230
|
title: t("fields.tags"),
|
|
1206
|
-
value: product.tags?.length ? product.tags.map((tag) => /* @__PURE__ */
|
|
1231
|
+
value: product.tags?.length ? product.tags.map((tag) => /* @__PURE__ */ jsx6(
|
|
1207
1232
|
OrganizationTag,
|
|
1208
1233
|
{
|
|
1209
1234
|
label: tag.value,
|
|
@@ -1214,11 +1239,11 @@ var ProductOrganizationSection = ({
|
|
|
1214
1239
|
"data-testid": "product-tags-row"
|
|
1215
1240
|
}
|
|
1216
1241
|
),
|
|
1217
|
-
/* @__PURE__ */
|
|
1242
|
+
/* @__PURE__ */ jsx6(
|
|
1218
1243
|
SectionRow,
|
|
1219
1244
|
{
|
|
1220
1245
|
title: t("fields.type"),
|
|
1221
|
-
value: product.type ? /* @__PURE__ */
|
|
1246
|
+
value: product.type ? /* @__PURE__ */ jsx6(
|
|
1222
1247
|
OrganizationTag,
|
|
1223
1248
|
{
|
|
1224
1249
|
label: product.type.value,
|
|
@@ -1228,25 +1253,11 @@ var ProductOrganizationSection = ({
|
|
|
1228
1253
|
"data-testid": "product-type-row"
|
|
1229
1254
|
}
|
|
1230
1255
|
),
|
|
1231
|
-
/* @__PURE__ */
|
|
1232
|
-
SectionRow,
|
|
1233
|
-
{
|
|
1234
|
-
title: t("fields.brand"),
|
|
1235
|
-
value: product.brand ? /* @__PURE__ */ jsx7(
|
|
1236
|
-
OrganizationTag,
|
|
1237
|
-
{
|
|
1238
|
-
label: product.brand.name,
|
|
1239
|
-
to: `/settings/product-brands/${product.brand.id}`
|
|
1240
|
-
}
|
|
1241
|
-
) : void 0,
|
|
1242
|
-
"data-testid": "product-brand-row"
|
|
1243
|
-
}
|
|
1244
|
-
),
|
|
1245
|
-
/* @__PURE__ */ jsx7(
|
|
1256
|
+
/* @__PURE__ */ jsx6(
|
|
1246
1257
|
SectionRow,
|
|
1247
1258
|
{
|
|
1248
1259
|
title: t("fields.collection"),
|
|
1249
|
-
value: product.collection ? /* @__PURE__ */
|
|
1260
|
+
value: product.collection ? /* @__PURE__ */ jsx6(
|
|
1250
1261
|
OrganizationTag,
|
|
1251
1262
|
{
|
|
1252
1263
|
label: product.collection.title,
|
|
@@ -1256,11 +1267,11 @@ var ProductOrganizationSection = ({
|
|
|
1256
1267
|
"data-testid": "product-collection-row"
|
|
1257
1268
|
}
|
|
1258
1269
|
),
|
|
1259
|
-
/* @__PURE__ */
|
|
1270
|
+
/* @__PURE__ */ jsx6(
|
|
1260
1271
|
SectionRow,
|
|
1261
1272
|
{
|
|
1262
1273
|
title: t("fields.categories"),
|
|
1263
|
-
value: product.categories?.length ? product.categories.map((pcat) => /* @__PURE__ */
|
|
1274
|
+
value: product.categories?.length ? product.categories.map((pcat) => /* @__PURE__ */ jsx6(
|
|
1264
1275
|
OrganizationTag,
|
|
1265
1276
|
{
|
|
1266
1277
|
label: pcat.name,
|
|
@@ -1276,8 +1287,8 @@ var ProductOrganizationSection = ({
|
|
|
1276
1287
|
);
|
|
1277
1288
|
};
|
|
1278
1289
|
var OrganizationTag = ({ label, to }) => {
|
|
1279
|
-
return /* @__PURE__ */
|
|
1280
|
-
|
|
1290
|
+
return /* @__PURE__ */ jsx6(Tooltip2, { content: label, children: /* @__PURE__ */ jsx6(Badge2, { size: "2xsmall", className: "block w-fit truncate", asChild: true, children: /* @__PURE__ */ jsx6(
|
|
1291
|
+
Link,
|
|
1281
1292
|
{
|
|
1282
1293
|
to,
|
|
1283
1294
|
"data-testid": `organization-tag-${label.toLowerCase().replace(/\s+/g, "-")}`,
|
|
@@ -1288,32 +1299,32 @@ var OrganizationTag = ({ label, to }) => {
|
|
|
1288
1299
|
|
|
1289
1300
|
// src/pages/products/product-detail/components/product-variant-section/product-variant-section.tsx
|
|
1290
1301
|
import { useCallback, useMemo as useMemo2 } from "react";
|
|
1291
|
-
import {
|
|
1302
|
+
import { PencilSquare as PencilSquare4, Trash as Trash3 } from "@medusajs/icons";
|
|
1292
1303
|
import {
|
|
1293
1304
|
Badge as Badge3,
|
|
1294
|
-
|
|
1305
|
+
Button as Button3,
|
|
1306
|
+
Container as Container6,
|
|
1295
1307
|
createDataTableColumnHelper,
|
|
1296
|
-
|
|
1297
|
-
Tooltip as
|
|
1298
|
-
usePrompt as
|
|
1308
|
+
Heading as Heading6,
|
|
1309
|
+
Tooltip as Tooltip3,
|
|
1310
|
+
usePrompt as usePrompt3
|
|
1299
1311
|
} from "@medusajs/ui";
|
|
1300
1312
|
import { keepPreviousData } from "@tanstack/react-query";
|
|
1301
|
-
import { useTranslation as
|
|
1302
|
-
import { useNavigate as useNavigate2, useSearchParams } from "react-router-dom";
|
|
1303
|
-
import { jsx as
|
|
1313
|
+
import { useTranslation as useTranslation7 } from "react-i18next";
|
|
1314
|
+
import { Link as Link2, useNavigate as useNavigate2, useSearchParams } from "react-router-dom";
|
|
1315
|
+
import { jsx as jsx7, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
1304
1316
|
var PAGE_SIZE = 10;
|
|
1305
1317
|
var PREFIX = "pv";
|
|
1306
1318
|
var ProductVariantSection = ({
|
|
1307
1319
|
product
|
|
1308
1320
|
}) => {
|
|
1309
|
-
const { t } =
|
|
1321
|
+
const { t } = useTranslation7();
|
|
1310
1322
|
const { q, order, offset, created_at, updated_at } = useQueryParams(
|
|
1311
1323
|
["q", "order", "offset", "created_at", "updated_at"],
|
|
1312
1324
|
PREFIX
|
|
1313
1325
|
);
|
|
1314
1326
|
const columns = useColumns(product);
|
|
1315
1327
|
const filters = useFilters();
|
|
1316
|
-
const commands = useCommands();
|
|
1317
1328
|
const { variants, count, isPending, isError, error } = useProductVariants(
|
|
1318
1329
|
product.id,
|
|
1319
1330
|
{
|
|
@@ -1323,7 +1334,7 @@ var ProductVariantSection = ({
|
|
|
1323
1334
|
limit: PAGE_SIZE,
|
|
1324
1335
|
created_at: created_at ? JSON.parse(created_at) : void 0,
|
|
1325
1336
|
updated_at: updated_at ? JSON.parse(updated_at) : void 0,
|
|
1326
|
-
fields: "title,created_at,updated_at,*
|
|
1337
|
+
fields: "title,sku,created_at,updated_at,*options,*options.option"
|
|
1327
1338
|
},
|
|
1328
1339
|
{
|
|
1329
1340
|
placeholderData: keepPreviousData
|
|
@@ -1332,62 +1343,52 @@ var ProductVariantSection = ({
|
|
|
1332
1343
|
if (isError) {
|
|
1333
1344
|
throw error;
|
|
1334
1345
|
}
|
|
1335
|
-
return /* @__PURE__ */
|
|
1336
|
-
|
|
1337
|
-
|
|
1338
|
-
|
|
1339
|
-
|
|
1340
|
-
|
|
1341
|
-
|
|
1342
|
-
|
|
1343
|
-
|
|
1344
|
-
|
|
1345
|
-
|
|
1346
|
-
heading: t("products.variants.header"),
|
|
1347
|
-
emptyState: {
|
|
1348
|
-
empty: {
|
|
1349
|
-
heading: t("products.variants.empty.heading"),
|
|
1350
|
-
description: t("products.variants.empty.description")
|
|
1351
|
-
},
|
|
1352
|
-
filtered: {
|
|
1353
|
-
heading: t("products.variants.filtered.heading"),
|
|
1354
|
-
description: t("products.variants.filtered.description")
|
|
1346
|
+
return /* @__PURE__ */ jsxs7(Container6, { className: "p-0", "data-testid": "product-variant-section", children: [
|
|
1347
|
+
/* @__PURE__ */ jsxs7("div", { className: "flex items-center justify-between px-6 py-4", children: [
|
|
1348
|
+
/* @__PURE__ */ jsx7(Heading6, { level: "h2", children: t("products.variants.header") }),
|
|
1349
|
+
/* @__PURE__ */ jsx7(
|
|
1350
|
+
Button3,
|
|
1351
|
+
{
|
|
1352
|
+
size: "small",
|
|
1353
|
+
variant: "secondary",
|
|
1354
|
+
asChild: true,
|
|
1355
|
+
"data-testid": "product-variants-create-button",
|
|
1356
|
+
children: /* @__PURE__ */ jsx7(Link2, { to: "variants/create", children: t("actions.create") })
|
|
1355
1357
|
}
|
|
1356
|
-
|
|
1357
|
-
|
|
1358
|
-
|
|
1359
|
-
|
|
1360
|
-
|
|
1361
|
-
|
|
1362
|
-
|
|
1363
|
-
|
|
1364
|
-
|
|
1365
|
-
|
|
1366
|
-
|
|
1367
|
-
|
|
1368
|
-
|
|
1369
|
-
|
|
1370
|
-
|
|
1371
|
-
|
|
1372
|
-
|
|
1373
|
-
|
|
1374
|
-
|
|
1375
|
-
|
|
1358
|
+
)
|
|
1359
|
+
] }),
|
|
1360
|
+
/* @__PURE__ */ jsx7("div", { "data-testid": "product-variants-table-container", children: /* @__PURE__ */ jsx7(
|
|
1361
|
+
DataTable,
|
|
1362
|
+
{
|
|
1363
|
+
data: variants,
|
|
1364
|
+
columns,
|
|
1365
|
+
filters,
|
|
1366
|
+
rowCount: count,
|
|
1367
|
+
getRowId: (row) => row.id,
|
|
1368
|
+
rowHref: (row) => `/products/${product.id}/variants/${row.id}`,
|
|
1369
|
+
pageSize: PAGE_SIZE,
|
|
1370
|
+
isLoading: isPending,
|
|
1371
|
+
emptyState: {
|
|
1372
|
+
empty: {
|
|
1373
|
+
heading: t("products.variants.empty.heading"),
|
|
1374
|
+
description: t("products.variants.empty.description")
|
|
1375
|
+
},
|
|
1376
|
+
filtered: {
|
|
1377
|
+
heading: t("products.variants.filtered.heading"),
|
|
1378
|
+
description: t("products.variants.filtered.description")
|
|
1376
1379
|
}
|
|
1377
|
-
|
|
1378
|
-
|
|
1379
|
-
}
|
|
1380
|
-
|
|
1381
|
-
|
|
1382
|
-
}
|
|
1383
|
-
) }) });
|
|
1380
|
+
},
|
|
1381
|
+
prefix: PREFIX
|
|
1382
|
+
}
|
|
1383
|
+
) })
|
|
1384
|
+
] });
|
|
1384
1385
|
};
|
|
1385
1386
|
var columnHelper = createDataTableColumnHelper();
|
|
1386
1387
|
var useColumns = (product) => {
|
|
1387
|
-
const { t } =
|
|
1388
|
+
const { t } = useTranslation7();
|
|
1388
1389
|
const navigate = useNavigate2();
|
|
1389
1390
|
const { mutateAsync } = useDeleteVariantLazy(product.id);
|
|
1390
|
-
const prompt =
|
|
1391
|
+
const prompt = usePrompt3();
|
|
1391
1392
|
const [searchParams] = useSearchParams();
|
|
1392
1393
|
const tableSearchParams = useMemo2(() => {
|
|
1393
1394
|
const filtered = new URLSearchParams();
|
|
@@ -1416,44 +1417,8 @@ var useColumns = (product) => {
|
|
|
1416
1417
|
},
|
|
1417
1418
|
[mutateAsync, prompt, t]
|
|
1418
1419
|
);
|
|
1419
|
-
const optionColumns = useMemo2(() => {
|
|
1420
|
-
if (!product?.options) {
|
|
1421
|
-
return [];
|
|
1422
|
-
}
|
|
1423
|
-
return product.options.map((option) => {
|
|
1424
|
-
return columnHelper.display({
|
|
1425
|
-
id: option.id,
|
|
1426
|
-
header: option.title,
|
|
1427
|
-
cell: ({ row }) => {
|
|
1428
|
-
const variantOpt = row.original.options?.find(
|
|
1429
|
-
(opt) => opt.option_id === option.id
|
|
1430
|
-
);
|
|
1431
|
-
if (!variantOpt) {
|
|
1432
|
-
return /* @__PURE__ */ jsx8("span", { className: "text-ui-fg-muted", children: "-" });
|
|
1433
|
-
}
|
|
1434
|
-
return /* @__PURE__ */ jsx8(
|
|
1435
|
-
"div",
|
|
1436
|
-
{
|
|
1437
|
-
className: "flex items-center",
|
|
1438
|
-
"data-testid": `product-variant-option-${option.id}-${row.original.id}`,
|
|
1439
|
-
children: /* @__PURE__ */ jsx8(Tooltip4, { content: variantOpt.value, children: /* @__PURE__ */ jsx8(
|
|
1440
|
-
Badge3,
|
|
1441
|
-
{
|
|
1442
|
-
size: "2xsmall",
|
|
1443
|
-
title: variantOpt.value,
|
|
1444
|
-
className: "inline-flex min-w-[20px] max-w-[140px] items-center justify-center overflow-hidden truncate",
|
|
1445
|
-
"data-testid": `product-variant-option-badge-${option.id}-${row.original.id}-${variantOpt.value}`,
|
|
1446
|
-
children: variantOpt.value
|
|
1447
|
-
}
|
|
1448
|
-
) })
|
|
1449
|
-
}
|
|
1450
|
-
);
|
|
1451
|
-
}
|
|
1452
|
-
});
|
|
1453
|
-
});
|
|
1454
|
-
}, [product]);
|
|
1455
1420
|
const attributeColumns = useMemo2(() => {
|
|
1456
|
-
const variantAttributes = product?.
|
|
1421
|
+
const variantAttributes = product?.attributes?.filter((attr) => attr.is_variant_axis);
|
|
1457
1422
|
if (!variantAttributes?.length) {
|
|
1458
1423
|
return [];
|
|
1459
1424
|
}
|
|
@@ -1462,28 +1427,27 @@ var useColumns = (product) => {
|
|
|
1462
1427
|
id: `attribute-${attribute.id}`,
|
|
1463
1428
|
header: attribute.name,
|
|
1464
1429
|
cell: ({ row }) => {
|
|
1465
|
-
const
|
|
1466
|
-
|
|
1467
|
-
|
|
1468
|
-
)
|
|
1469
|
-
|
|
1470
|
-
return /* @__PURE__ */ jsx8("span", { className: "text-ui-fg-muted", children: "-" });
|
|
1430
|
+
const variantOpt = row.original.options?.find(
|
|
1431
|
+
(opt) => opt.option?.title === attribute.name
|
|
1432
|
+
);
|
|
1433
|
+
if (!variantOpt?.value) {
|
|
1434
|
+
return /* @__PURE__ */ jsx7("span", { className: "text-ui-fg-muted", children: "-" });
|
|
1471
1435
|
}
|
|
1472
|
-
return /* @__PURE__ */
|
|
1436
|
+
return /* @__PURE__ */ jsx7(
|
|
1473
1437
|
"div",
|
|
1474
1438
|
{
|
|
1475
1439
|
className: "flex flex-wrap items-center gap-1",
|
|
1476
1440
|
"data-testid": `product-variant-attribute-${attribute.id}-${row.original.id}`,
|
|
1477
|
-
children:
|
|
1441
|
+
children: /* @__PURE__ */ jsx7(Tooltip3, { content: variantOpt.value, children: /* @__PURE__ */ jsx7(
|
|
1478
1442
|
Badge3,
|
|
1479
1443
|
{
|
|
1480
1444
|
size: "2xsmall",
|
|
1481
|
-
title: value
|
|
1445
|
+
title: variantOpt.value,
|
|
1482
1446
|
className: "inline-flex min-w-[20px] max-w-[140px] items-center justify-center overflow-hidden truncate",
|
|
1483
|
-
"data-testid": `product-variant-attribute-badge-${attribute.id}-${row.original.id}-${value
|
|
1484
|
-
children: value
|
|
1447
|
+
"data-testid": `product-variant-attribute-badge-${attribute.id}-${row.original.id}-${variantOpt.value}`,
|
|
1448
|
+
children: variantOpt.value
|
|
1485
1449
|
}
|
|
1486
|
-
) }
|
|
1450
|
+
) })
|
|
1487
1451
|
}
|
|
1488
1452
|
);
|
|
1489
1453
|
}
|
|
@@ -1495,7 +1459,7 @@ var useColumns = (product) => {
|
|
|
1495
1459
|
const variant = ctx.row.original;
|
|
1496
1460
|
const mainActions = [
|
|
1497
1461
|
{
|
|
1498
|
-
icon: /* @__PURE__ */
|
|
1462
|
+
icon: /* @__PURE__ */ jsx7(PencilSquare4, {}),
|
|
1499
1463
|
label: t("actions.edit"),
|
|
1500
1464
|
onClick: (row) => {
|
|
1501
1465
|
navigate(
|
|
@@ -1511,43 +1475,11 @@ var useColumns = (product) => {
|
|
|
1511
1475
|
];
|
|
1512
1476
|
const secondaryActions = [
|
|
1513
1477
|
{
|
|
1514
|
-
icon: /* @__PURE__ */
|
|
1478
|
+
icon: /* @__PURE__ */ jsx7(Trash3, {}),
|
|
1515
1479
|
label: t("actions.delete"),
|
|
1516
1480
|
onClick: () => handleDelete(variant.id, variant.title)
|
|
1517
1481
|
}
|
|
1518
1482
|
];
|
|
1519
|
-
const inventoryItemsCount = variant.inventory_items?.length || 0;
|
|
1520
|
-
switch (inventoryItemsCount) {
|
|
1521
|
-
case 0:
|
|
1522
|
-
break;
|
|
1523
|
-
case 1: {
|
|
1524
|
-
const inventoryItemLink = `/inventory/${variant.inventory_items[0].inventory.id}`;
|
|
1525
|
-
mainActions.push({
|
|
1526
|
-
label: t("products.variant.inventory.actions.inventoryItems"),
|
|
1527
|
-
onClick: () => {
|
|
1528
|
-
navigate(inventoryItemLink);
|
|
1529
|
-
},
|
|
1530
|
-
icon: /* @__PURE__ */ jsx8(Buildings, {})
|
|
1531
|
-
});
|
|
1532
|
-
break;
|
|
1533
|
-
}
|
|
1534
|
-
default: {
|
|
1535
|
-
const ids = variant.inventory_items?.map((i) => i.inventory?.id);
|
|
1536
|
-
if (!ids || ids.length === 0) {
|
|
1537
|
-
break;
|
|
1538
|
-
}
|
|
1539
|
-
const inventoryKitLink = `/inventory?${new URLSearchParams({
|
|
1540
|
-
id: ids.join(",")
|
|
1541
|
-
}).toString()}`;
|
|
1542
|
-
mainActions.push({
|
|
1543
|
-
label: t("products.variant.inventory.actions.inventoryKit"),
|
|
1544
|
-
onClick: () => {
|
|
1545
|
-
navigate(inventoryKitLink);
|
|
1546
|
-
},
|
|
1547
|
-
icon: /* @__PURE__ */ jsx8(Component, {})
|
|
1548
|
-
});
|
|
1549
|
-
}
|
|
1550
|
-
}
|
|
1551
1483
|
return [mainActions, secondaryActions];
|
|
1552
1484
|
},
|
|
1553
1485
|
[handleDelete, navigate, t, tableSearchParams]
|
|
@@ -1560,14 +1492,20 @@ var useColumns = (product) => {
|
|
|
1560
1492
|
sortAscLabel: t("filters.sorting.alphabeticallyAsc"),
|
|
1561
1493
|
sortDescLabel: t("filters.sorting.alphabeticallyDesc")
|
|
1562
1494
|
}),
|
|
1563
|
-
|
|
1495
|
+
columnHelper.accessor("sku", {
|
|
1496
|
+
header: t("fields.sku"),
|
|
1497
|
+
cell: ({ getValue }) => {
|
|
1498
|
+
const value = getValue();
|
|
1499
|
+
return value ? value : /* @__PURE__ */ jsx7("span", { className: "text-ui-fg-muted", children: "-" });
|
|
1500
|
+
}
|
|
1501
|
+
}),
|
|
1564
1502
|
...attributeColumns,
|
|
1565
1503
|
...dateColumns,
|
|
1566
1504
|
columnHelper.action({
|
|
1567
1505
|
actions: getActions
|
|
1568
1506
|
})
|
|
1569
1507
|
];
|
|
1570
|
-
}, [t,
|
|
1508
|
+
}, [t, attributeColumns, dateColumns, getActions]);
|
|
1571
1509
|
};
|
|
1572
1510
|
var useFilters = () => {
|
|
1573
1511
|
const dateFilters = useDataTableDateFilters();
|
|
@@ -1577,25 +1515,9 @@ var useFilters = () => {
|
|
|
1577
1515
|
];
|
|
1578
1516
|
}, [dateFilters]);
|
|
1579
1517
|
};
|
|
1580
|
-
var commandHelper = createDataTableCommandHelper();
|
|
1581
|
-
var useCommands = () => {
|
|
1582
|
-
const { t } = useTranslation8();
|
|
1583
|
-
const navigate = useNavigate2();
|
|
1584
|
-
return [
|
|
1585
|
-
commandHelper.command({
|
|
1586
|
-
label: t("inventory.stock.action"),
|
|
1587
|
-
shortcut: "i",
|
|
1588
|
-
action: async (selection) => {
|
|
1589
|
-
navigate(
|
|
1590
|
-
`stock?${PRODUCT_VARIANT_IDS_KEY}=${Object.keys(selection).join(",")}`
|
|
1591
|
-
);
|
|
1592
|
-
}
|
|
1593
|
-
})
|
|
1594
|
-
];
|
|
1595
|
-
};
|
|
1596
1518
|
|
|
1597
1519
|
// src/pages/products/product-detail/product-detail.tsx
|
|
1598
|
-
import { jsx as
|
|
1520
|
+
import { jsx as jsx8, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
1599
1521
|
var Root = ({ children }) => {
|
|
1600
1522
|
const initialData = useLoaderData();
|
|
1601
1523
|
const { id } = useParams();
|
|
@@ -1609,7 +1531,7 @@ var Root = ({ children }) => {
|
|
|
1609
1531
|
});
|
|
1610
1532
|
const product = rawProduct;
|
|
1611
1533
|
if (isLoading || !product) {
|
|
1612
|
-
return /* @__PURE__ */
|
|
1534
|
+
return /* @__PURE__ */ jsx8(
|
|
1613
1535
|
TwoColumnPageSkeleton,
|
|
1614
1536
|
{
|
|
1615
1537
|
mainSections: 4,
|
|
@@ -1622,7 +1544,7 @@ var Root = ({ children }) => {
|
|
|
1622
1544
|
if (isError) {
|
|
1623
1545
|
throw error;
|
|
1624
1546
|
}
|
|
1625
|
-
return Children.count(children) > 0 ? /* @__PURE__ */
|
|
1547
|
+
return Children.count(children) > 0 ? /* @__PURE__ */ jsx8(
|
|
1626
1548
|
TwoColumnPage,
|
|
1627
1549
|
{
|
|
1628
1550
|
data: product,
|
|
@@ -1640,15 +1562,15 @@ var Root = ({ children }) => {
|
|
|
1640
1562
|
"data-testid": "product-detail-page",
|
|
1641
1563
|
children: [
|
|
1642
1564
|
/* @__PURE__ */ jsxs8(TwoColumnPage.Main, { "data-testid": "product-detail-main", children: [
|
|
1643
|
-
/* @__PURE__ */
|
|
1644
|
-
/* @__PURE__ */
|
|
1645
|
-
/* @__PURE__ */
|
|
1646
|
-
/* @__PURE__ */
|
|
1647
|
-
/* @__PURE__ */
|
|
1565
|
+
/* @__PURE__ */ jsx8(ProductActiveRequestSection, { product }),
|
|
1566
|
+
/* @__PURE__ */ jsx8(ProductActiveEditSection, { product }),
|
|
1567
|
+
/* @__PURE__ */ jsx8(ProductGeneralSection, { product }),
|
|
1568
|
+
/* @__PURE__ */ jsx8(ProductMediaSection, { product }),
|
|
1569
|
+
/* @__PURE__ */ jsx8(ProductVariantSection, { product })
|
|
1648
1570
|
] }),
|
|
1649
1571
|
/* @__PURE__ */ jsxs8(TwoColumnPage.Sidebar, { "data-testid": "product-detail-sidebar", children: [
|
|
1650
|
-
/* @__PURE__ */
|
|
1651
|
-
/* @__PURE__ */
|
|
1572
|
+
/* @__PURE__ */ jsx8(ProductOrganizationSection, { product }),
|
|
1573
|
+
/* @__PURE__ */ jsx8(ProductAttributeSection, { product })
|
|
1652
1574
|
] })
|
|
1653
1575
|
]
|
|
1654
1576
|
}
|