@medusajs/dashboard 3.0.0-preview-20250211091350 → 3.0.0-preview-20250406180144

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (446) hide show
  1. package/dist/{add-campaign-promotions-YQ6JJK6I.mjs → add-campaign-promotions-EYK2OY7B.mjs} +19 -18
  2. package/dist/{adjust-inventory-42AT6TIZ.mjs → adjust-inventory-WYNH75F7.mjs} +10 -9
  3. package/dist/{api-key-management-create-FCTZ6A46.mjs → api-key-management-create-HWBQGG6O.mjs} +10 -9
  4. package/dist/{api-key-management-detail-V6UELD25.mjs → api-key-management-detail-2TXLKXOT.mjs} +42 -44
  5. package/dist/{api-key-management-edit-WTS63YJS.mjs → api-key-management-edit-UX47FHWV.mjs} +11 -10
  6. package/dist/{api-key-management-list-MKVE46ZE.mjs → api-key-management-list-DGPEFCW2.mjs} +17 -19
  7. package/dist/{api-key-management-sales-channels-SHHZXVPP.mjs → api-key-management-sales-channels-SYEJXQLU.mjs} +19 -18
  8. package/dist/app.css +44 -30
  9. package/dist/app.js +64876 -57524
  10. package/dist/app.mjs +56 -4597
  11. package/dist/{campaign-budget-edit-7MSDQ3MH.mjs → campaign-budget-edit-57NSOYJ3.mjs} +9 -8
  12. package/dist/{campaign-configuration-XITAHVHN.mjs → campaign-configuration-QV3OHWBZ.mjs} +9 -8
  13. package/dist/{campaign-create-WKVDJFQC.mjs → campaign-create-NYJ4HILG.mjs} +8 -7
  14. package/dist/{campaign-detail-PGM2SOEA.mjs → campaign-detail-BMKKY4FI.mjs} +43 -45
  15. package/dist/{campaign-edit-NRN4EBJC.mjs → campaign-edit-3D5WFWCT.mjs} +9 -8
  16. package/dist/{campaign-list-6TW2SO7C.mjs → campaign-list-OADDBYVB.mjs} +17 -19
  17. package/dist/{categories-metadata-D3EM5VK2.mjs → categories-metadata-TE7B2OJY.mjs} +35 -35
  18. package/dist/{category-create-ULKTNF7N.mjs → category-create-NVRG7B6E.mjs} +10 -9
  19. package/dist/{category-detail-Z6GWCJUW.mjs → category-detail-MTVNR43M.mjs} +44 -46
  20. package/dist/{category-edit-HTC6237J.mjs → category-edit-JBZQKNL7.mjs} +10 -9
  21. package/dist/{category-list-6WTV4T7D.mjs → category-list-2XIIEFBU.mjs} +16 -18
  22. package/dist/{category-organize-OPDZY4YR.mjs → category-organize-HUXXVJAB.mjs} +7 -6
  23. package/dist/{category-products-ND7PSI4Q.mjs → category-products-F3I4B7TM.mjs} +44 -43
  24. package/dist/{chunk-NRUKBT5S.mjs → chunk-2MPQMCLO.mjs} +4 -4
  25. package/dist/{chunk-ZYBB636P.mjs → chunk-2VTICXJR.mjs} +1 -1
  26. package/dist/{chunk-IPEN5VX6.mjs → chunk-2WQFRVK5.mjs} +3 -3
  27. package/dist/{chunk-ZMMQPAR2.mjs → chunk-2ZKVRTBW.mjs} +1 -1
  28. package/dist/{chunk-QDC5CTTV.mjs → chunk-32IQRUVY.mjs} +1 -1
  29. package/dist/{chunk-YXEAWUSX.mjs → chunk-3KLERXD7.mjs} +15 -1
  30. package/dist/{chunk-NDQ77BA4.mjs → chunk-3OHH43G6.mjs} +2 -2
  31. package/dist/{chunk-GT4RPCDE.mjs → chunk-4GJJIXM6.mjs} +2 -2
  32. package/dist/{chunk-EI45S6ZK.mjs → chunk-4HLCNNIC.mjs} +1 -1
  33. package/dist/{chunk-5ZZZZK7A.mjs → chunk-6I62UDJA.mjs} +4 -1
  34. package/dist/{chunk-AODKPQIG.mjs → chunk-6LA2RGO4.mjs} +3 -3
  35. package/dist/{chunk-77TK23EH.mjs → chunk-7I5DQGWY.mjs} +1 -0
  36. package/dist/{chunk-YJPZZD5Z.mjs → chunk-7MM5L2ZM.mjs} +1 -1
  37. package/dist/{chunk-HVUHNRLX.mjs → chunk-A2UMBW3V.mjs} +1 -1
  38. package/dist/{chunk-QX7ANQDG.mjs → chunk-AL4WDQTN.mjs} +23 -17
  39. package/dist/{chunk-S4HBRQEC.mjs → chunk-B4GODIOW.mjs} +1 -1
  40. package/dist/{chunk-5EJJE3NE.mjs → chunk-BC3M3N6P.mjs} +2 -2
  41. package/dist/{chunk-OCNMY23F.mjs → chunk-C5LYZZZ5.mjs} +1 -1
  42. package/dist/chunk-C5P5PL3E.mjs +31 -0
  43. package/dist/chunk-CDQY5XPE.mjs +5241 -0
  44. package/dist/{chunk-JXBMQ4SZ.mjs → chunk-CF64SRBE.mjs} +6 -6
  45. package/dist/{chunk-QE3BG56P.mjs → chunk-CLRTJ6DI.mjs} +2 -2
  46. package/dist/{chunk-CBJWO6K6.mjs → chunk-D7H6ZNK4.mjs} +12 -5
  47. package/dist/{chunk-LM3FXIYT.mjs → chunk-DDV2HJEV.mjs} +2 -2
  48. package/dist/chunk-DEQUVHHE.mjs +17 -0
  49. package/dist/{chunk-EMNHBSFU.mjs → chunk-DFA6WGYO.mjs} +34 -0
  50. package/dist/{chunk-S5X4EFD4.mjs → chunk-DRAV7IQC.mjs} +6 -6
  51. package/dist/{chunk-AFDSZWCS.mjs → chunk-DXOEDXLQ.mjs} +5 -5
  52. package/dist/{chunk-MAWEQJDF.mjs → chunk-EAX5QFXH.mjs} +1 -1
  53. package/dist/{chunk-WX2SMNCD.mjs → chunk-EMIHDNB7.mjs} +4 -3
  54. package/dist/{chunk-GVRV2SOJ.mjs → chunk-ENV6YVOM.mjs} +3 -3
  55. package/dist/{chunk-N6PBCMOV.mjs → chunk-EYMDU2JD.mjs} +9 -9
  56. package/dist/{chunk-6SDR2EUC.mjs → chunk-F6IJV2I2.mjs} +2 -2
  57. package/dist/{chunk-S3MWIWV4.mjs → chunk-F6PXCY3N.mjs} +34 -1
  58. package/dist/{chunk-BOR5HF2M.mjs → chunk-FP5F2XCU.mjs} +2 -2
  59. package/dist/{chunk-KLXXECPX.mjs → chunk-FVC7M755.mjs} +2 -2
  60. package/dist/{chunk-MRJ6KQAL.mjs → chunk-FVK4ZYYM.mjs} +2 -2
  61. package/dist/{chunk-ZVVQK46Y.mjs → chunk-FZANNV6G.mjs} +1 -1
  62. package/dist/{chunk-SWYL3QGB.mjs → chunk-G2H6MAK7.mjs} +1 -14
  63. package/dist/{chunk-RAKBTSZ7.mjs → chunk-GIQRSI5I.mjs} +2 -2
  64. package/dist/{chunk-BF3VCHXD.mjs → chunk-GRT22PE5.mjs} +2 -2
  65. package/dist/{chunk-IC72XMDJ.mjs → chunk-GXXQ33F7.mjs} +1 -1
  66. package/dist/{chunk-W6N53UNG.mjs → chunk-GZBFGV7Y.mjs} +14 -1
  67. package/dist/{chunk-HP4JZCP4.mjs → chunk-HDSWPQLG.mjs} +11 -12
  68. package/dist/{chunk-QWU4TCQ7.mjs → chunk-HGKRB5AS.mjs} +8 -8
  69. package/dist/{chunk-ODVOHYAS.mjs → chunk-HGUTDEW5.mjs} +26 -28
  70. package/dist/{chunk-QFAUOMG6.mjs → chunk-HUGE7T5V.mjs} +3 -3
  71. package/dist/{chunk-A2MEYV4D.mjs → chunk-ICR3D7SB.mjs} +2 -2
  72. package/dist/{chunk-DJPQV344.mjs → chunk-IVB3LUGL.mjs} +1 -1
  73. package/dist/{chunk-TKREK46F.mjs → chunk-IXQKZGD4.mjs} +1 -1
  74. package/dist/{chunk-3OJ4LCJL.mjs → chunk-KHN4RXLS.mjs} +1 -1
  75. package/dist/{chunk-TXPNGFWJ.mjs → chunk-KOSCMAIC.mjs} +1 -1
  76. package/dist/{chunk-VJRTPNEA.mjs → chunk-LDJKJLBJ.mjs} +1 -1
  77. package/dist/{chunk-CJ3L6MQZ.mjs → chunk-LIWT6YHM.mjs} +1 -1
  78. package/dist/{chunk-FX3ZJWB6.mjs → chunk-LTC6LGS4.mjs} +1 -1
  79. package/dist/{chunk-IQ2LC4FN.mjs → chunk-NGEWNLV7.mjs} +41 -54
  80. package/dist/{chunk-FPVDKY3X.mjs → chunk-NLC6AFB4.mjs} +23 -24
  81. package/dist/{chunk-WAYDNCEG.mjs → chunk-OBQI23QM.mjs} +1 -16
  82. package/dist/{chunk-4M3ZY7KA.mjs → chunk-PCFUZKDS.mjs} +3 -1
  83. package/dist/{chunk-JKKJMCX3.mjs → chunk-PEGJVODH.mjs} +1 -1
  84. package/dist/{chunk-JGKUKVRC.mjs → chunk-PFTU26LC.mjs} +1 -1
  85. package/dist/{chunk-O3US4QMC.mjs → chunk-PIR2H25N.mjs} +1 -1
  86. package/dist/{chunk-UQUJ5W2Q.mjs → chunk-PNU5HPGY.mjs} +2 -2
  87. package/dist/{chunk-B4FQDBC3.mjs → chunk-PW2G3HGL.mjs} +9 -10
  88. package/dist/{chunk-HYULYW73.mjs → chunk-QL4XKIVL.mjs} +1 -1
  89. package/dist/{chunk-SFPKA7H3.mjs → chunk-QTCZFYFH.mjs} +1 -1
  90. package/dist/{chunk-SY6HAFQV.mjs → chunk-QZ6PT4QV.mjs} +2 -2
  91. package/dist/{chunk-NAC6TXKN.mjs → chunk-RLY2SL5E.mjs} +1 -1
  92. package/dist/{chunk-IUIZA5UF.mjs → chunk-RWU2ZKWZ.mjs} +3 -3
  93. package/dist/{chunk-CLOHNZKZ.mjs → chunk-RZD5DU5K.mjs} +2 -2
  94. package/dist/{chunk-6FJ2PJHE.mjs → chunk-S22NYSST.mjs} +7 -4
  95. package/dist/{chunk-6XTDCUWJ.mjs → chunk-SKR2YX52.mjs} +2 -2
  96. package/dist/{chunk-UGE5SYTC.mjs → chunk-TDDYKNA2.mjs} +4 -4
  97. package/dist/{chunk-F7H5DLUU.mjs → chunk-TP7N4YBP.mjs} +1 -1
  98. package/dist/{chunk-5OOAHPXU.mjs → chunk-UAZEQNCO.mjs} +2 -2
  99. package/dist/{chunk-UT3IS7J3.mjs → chunk-URDECN5D.mjs} +43597 -37277
  100. package/dist/{chunk-23LLRBGF.mjs → chunk-V2LANK5S.mjs} +2 -2
  101. package/dist/{chunk-AS54JDUL.mjs → chunk-W7KW2VOI.mjs} +27 -27
  102. package/dist/{chunk-BKWQ2FHJ.mjs → chunk-WL7NJCWV.mjs} +1 -1
  103. package/dist/{chunk-JHNHXN7U.mjs → chunk-X2Y4KNQI.mjs} +2 -2
  104. package/dist/{chunk-YYGNAECV.mjs → chunk-X66KDK4I.mjs} +1 -1
  105. package/dist/{chunk-NOL65OUL.mjs → chunk-XM6J2DWV.mjs} +1 -1
  106. package/dist/{chunk-6CNRNROJ.mjs → chunk-YIZSVS2R.mjs} +6 -4
  107. package/dist/{chunk-JJ3UWAUO.mjs → chunk-YS65UGPC.mjs} +3 -3
  108. package/dist/{chunk-AYRG2MQL.mjs → chunk-ZCO6EK4W.mjs} +24 -7
  109. package/dist/{chunk-6TVXQXDC.mjs → chunk-ZIHOMEGZ.mjs} +2 -2
  110. package/dist/{chunk-WHZIEWSQ.mjs → chunk-ZJ3OFMHB.mjs} +2 -2
  111. package/dist/{collection-add-products-KGBBZFCE.mjs → collection-add-products-BAX6JOLN.mjs} +44 -43
  112. package/dist/{collection-create-NLRAIKZP.mjs → collection-create-PXO6DJS3.mjs} +9 -8
  113. package/dist/{collection-detail-AZZ2NT4L.mjs → collection-detail-YE42DHWS.mjs} +43 -45
  114. package/dist/{collection-edit-WO54XZLV.mjs → collection-edit-D7OGD4MC.mjs} +10 -9
  115. package/dist/{collection-list-2AFD2BXW.mjs → collection-list-KTS4LVM2.mjs} +54 -58
  116. package/dist/collection-metadata-244B7424.mjs +69 -0
  117. package/dist/{customer-create-AJYD5CIA.mjs → customer-create-TKKVS4LF.mjs} +8 -7
  118. package/dist/customer-create-address-P4YQFUI5.mjs +291 -0
  119. package/dist/{customer-detail-MWT2NNQK.mjs → customer-detail-HJPJLMMO.mjs} +246 -129
  120. package/dist/{customer-edit-566R4FAT.mjs → customer-edit-I4K3LK66.mjs} +12 -11
  121. package/dist/{customer-group-add-customers-6IANRPQ6.mjs → customer-group-add-customers-U3ENH6JX.mjs} +19 -18
  122. package/dist/{customer-group-create-XTXMFKFX.mjs → customer-group-create-5EILGGLH.mjs} +8 -7
  123. package/dist/{customer-group-detail-ULS2F7OQ.mjs → customer-group-detail-JRPGZBVS.mjs} +44 -46
  124. package/dist/{customer-group-edit-KVEBH5N2.mjs → customer-group-edit-NBVNSBMX.mjs} +9 -8
  125. package/dist/{customer-group-list-LZSSOYBR.mjs → customer-group-list-643IECH3.mjs} +38 -40
  126. package/dist/{customer-group-metadata-MTAZJYBH.mjs → customer-group-metadata-IRTI56TA.mjs} +7 -7
  127. package/dist/{customer-list-JAKCVGFG.mjs → customer-list-544N5LA5.mjs} +18 -20
  128. package/dist/{customer-metadata-RO5DVFXZ.mjs → customer-metadata-TPIFKFIQ.mjs} +7 -7
  129. package/dist/{customers-add-customer-group-6TEWBPIE.mjs → customers-add-customer-group-CTBHD33Y.mjs} +43 -42
  130. package/dist/{edit-inventory-item-N6JQUIYO.mjs → edit-inventory-item-KQUKSOGO.mjs} +6 -5
  131. package/dist/{edit-inventory-item-attributes-D5SSHDVI.mjs → edit-inventory-item-attributes-I55BRBWC.mjs} +23 -6
  132. package/dist/{edit-reservation-E6JRXRAL.mjs → edit-reservation-GEJHV6OI.mjs} +13 -12
  133. package/dist/{edit-rules-6XNJL6AE.mjs → edit-rules-7MMNZKEQ.mjs} +15 -13
  134. package/dist/index.d.ts +4 -4
  135. package/dist/{inventory-create-KYURNZS6.mjs → inventory-create-NZ67QMNB.mjs} +38 -36
  136. package/dist/{inventory-detail-S56TNEU5.mjs → inventory-detail-GO2QWKV7.mjs} +47 -48
  137. package/dist/{inventory-list-P2ZZH6EN.mjs → inventory-list-X7BACFKE.mjs} +15 -17
  138. package/dist/{inventory-metadata-IDMV4XVV.mjs → inventory-metadata-AG5IVFBR.mjs} +33 -33
  139. package/dist/{inventory-stock-4R73ZT3V.mjs → inventory-stock-XZWLARFE.mjs} +34 -33
  140. package/dist/{invite-W2J3H5L6.mjs → invite-3KXZ7ZZI.mjs} +9 -8
  141. package/dist/{location-create-3FROOIXF.mjs → location-create-G3CYBYOF.mjs} +9 -8
  142. package/dist/{location-detail-IEGCZTAI.mjs → location-detail-GHY3DXRP.mjs} +48 -42
  143. package/dist/{location-edit-AQUHRPQ6.mjs → location-edit-IMBG32Z4.mjs} +10 -9
  144. package/dist/{location-fulfillment-providers-37FS5TYU.mjs → location-fulfillment-providers-IFPDR2YN.mjs} +44 -43
  145. package/dist/{location-list-ITU5AOC7.mjs → location-list-5UJ6CSA7.mjs} +13 -15
  146. package/dist/{location-sales-channels-TSOI2JYI.mjs → location-sales-channels-HERXGXG2.mjs} +18 -17
  147. package/dist/{location-service-zone-create-2JT4IKFH.mjs → location-service-zone-create-DXKD3F26.mjs} +22 -24
  148. package/dist/{location-service-zone-edit-LKYVVXDR.mjs → location-service-zone-edit-W3G7XOC7.mjs} +13 -15
  149. package/dist/{location-service-zone-manage-areas-PT4R2I3K.mjs → location-service-zone-manage-areas-IFT2GCAD.mjs} +21 -20
  150. package/dist/{location-service-zone-shipping-option-create-KXZIUIZQ.mjs → location-service-zone-shipping-option-create-7KOH5VVW.mjs} +89 -57
  151. package/dist/{location-service-zone-shipping-option-edit-SC4HD6LU.mjs → location-service-zone-shipping-option-edit-ODUEKZON.mjs} +25 -16
  152. package/dist/{location-service-zone-shipping-option-pricing-FOET7XJC.mjs → location-service-zone-shipping-option-pricing-SKUSE5YE.mjs} +20 -19
  153. package/dist/{login-TN5VDDLW.mjs → login-OYY6LIPR.mjs} +37 -37
  154. package/dist/{manage-locations-PSPBWN5X.mjs → manage-locations-E7YAZVH2.mjs} +7 -6
  155. package/dist/{order-allocate-items-6HPR2T5L.mjs → order-allocate-items-TMQ5M7TG.mjs} +16 -15
  156. package/dist/{order-create-claim-FFWV762A.mjs → order-create-claim-AHFF4YNW.mjs} +95 -82
  157. package/dist/{order-create-edit-LS3ARJDM.mjs → order-create-edit-NLXEFK77.mjs} +52 -51
  158. package/dist/{order-create-exchange-3OVNNNW3.mjs → order-create-exchange-33STYVYU.mjs} +96 -83
  159. package/dist/{order-create-fulfillment-K5DFAWHB.mjs → order-create-fulfillment-62OZHL3L.mjs} +53 -51
  160. package/dist/{order-create-refund-2D46DG3T.mjs → order-create-refund-FXUURAS7.mjs} +60 -64
  161. package/dist/{order-create-return-PJ3LFXDG.mjs → order-create-return-PONHUZVN.mjs} +41 -37
  162. package/dist/{order-create-shipment-CCH6V3U6.mjs → order-create-shipment-REC24C7Y.mjs} +35 -34
  163. package/dist/{order-detail-YYP4INKH.mjs → order-detail-SYXNI7WK.mjs} +72 -85
  164. package/dist/{order-edit-billing-address-3PYGDUWT.mjs → order-edit-billing-address-XDNORAHG.mjs} +37 -36
  165. package/dist/{order-edit-email-C5AMYZDN.mjs → order-edit-email-V4DC4GJV.mjs} +36 -35
  166. package/dist/{order-edit-shipping-address-T6I4D234.mjs → order-edit-shipping-address-NWT5LDKC.mjs} +37 -36
  167. package/dist/{order-list-IMVPWMTQ.mjs → order-list-X6ETGR3A.mjs} +23 -25
  168. package/dist/order-metadata-4YNV2NWH.mjs +69 -0
  169. package/dist/{order-receive-return-2NBMNVBR.mjs → order-receive-return-AXAZNUIB.mjs} +43 -42
  170. package/dist/{order-request-transfer-U5OYJEI6.mjs → order-request-transfer-OZNQQL3N.mjs} +38 -36
  171. package/dist/{price-list-configuration-6OHKVV2W.mjs → price-list-configuration-C7QXYPBJ.mjs} +22 -21
  172. package/dist/{price-list-create-QKTF4G3M.mjs → price-list-create-2VI6JXLQ.mjs} +49 -48
  173. package/dist/{price-list-detail-G5Y3VVRK.mjs → price-list-detail-2HRWG7KP.mjs} +47 -49
  174. package/dist/{price-list-edit-OFFEMUHG.mjs → price-list-edit-TMZCXEFR.mjs} +11 -10
  175. package/dist/{price-list-list-XPNVK6IC.mjs → price-list-list-DDQYCK4O.mjs} +18 -20
  176. package/dist/{price-list-prices-add-NIFFLI7Y.mjs → price-list-prices-add-IQZO6P4N.mjs} +46 -45
  177. package/dist/{price-list-prices-edit-KAEE6YLB.mjs → price-list-prices-edit-JUS5FBBN.mjs} +16 -15
  178. package/dist/{product-attributes-WLWSFTCO.mjs → product-attributes-OT373EPY.mjs} +50 -11
  179. package/dist/{product-create-P7U26TXX.mjs → product-create-2TKUBQEH.mjs} +77 -72
  180. package/dist/{product-create-option-ISAGA5KO.mjs → product-create-option-E2GRTBWP.mjs} +6 -5
  181. package/dist/{product-create-variant-ZQKPGLQQ.mjs → product-create-variant-3B32EC76.mjs} +42 -40
  182. package/dist/{product-detail-6LXT2IIU.mjs → product-detail-HZBEXKBU.mjs} +105 -66
  183. package/dist/{product-edit-IDL5IGVQ.mjs → product-edit-V4XTHXKI.mjs} +51 -11
  184. package/dist/{product-edit-option-6ZGZKU5G.mjs → product-edit-option-RHMF3YKT.mjs} +6 -5
  185. package/dist/{product-export-JGH4CULP.mjs → product-export-EWO37XJF.mjs} +37 -51
  186. package/dist/{product-import-YY2EXFLI.mjs → product-import-JCEJKM3F.mjs} +35 -34
  187. package/dist/{product-list-XOFUYF5S.mjs → product-list-YW3UTPME.mjs} +51 -48
  188. package/dist/{product-media-RSCMACQU.mjs → product-media-JLPIJRET.mjs} +6 -5
  189. package/dist/product-metadata-PQQ7XV63.mjs +67 -0
  190. package/dist/{product-organization-6N7JBWH5.mjs → product-organization-D5AK5F5W.mjs} +53 -14
  191. package/dist/{product-prices-NPJIYAIK.mjs → product-prices-BBTCM3XR.mjs} +16 -17
  192. package/dist/{product-sales-channels-MKWZD4NM.mjs → product-sales-channels-7Y3D3C7Q.mjs} +14 -13
  193. package/dist/{product-shipping-profile-EK6G3NTZ.mjs → product-shipping-profile-3NVF3DW2.mjs} +58 -10
  194. package/dist/{product-stock-L3FRYPQS.mjs → product-stock-TZS75EG7.mjs} +42 -41
  195. package/dist/{product-tag-create-CLWQPP7D.mjs → product-tag-create-LE4MZ5BW.mjs} +34 -33
  196. package/dist/{product-tag-detail-NDZJLI2Q.mjs → product-tag-detail-3EOHF4Z7.mjs} +63 -66
  197. package/dist/{product-tag-edit-QHHZYHCG.mjs → product-tag-edit-E6WEFNFQ.mjs} +35 -34
  198. package/dist/{product-tag-list-A73PYQRI.mjs → product-tag-list-RUTJQUCX.mjs} +63 -66
  199. package/dist/product-type-create-GU5IYXQB.mjs +101 -0
  200. package/dist/{product-type-detail-AQ5SUXFF.mjs → product-type-detail-3X5ME5WA.mjs} +48 -47
  201. package/dist/{product-type-edit-5ETUUK7N.mjs → product-type-edit-S53VUBU3.mjs} +9 -8
  202. package/dist/{product-type-list-TUHBNIIB.mjs → product-type-list-IJI5WEYY.mjs} +22 -21
  203. package/dist/{product-variant-detail-3XZBP2QJ.mjs → product-variant-detail-UN6GESYO.mjs} +37 -39
  204. package/dist/{product-variant-edit-7FZ7PQ6U.mjs → product-variant-edit-G6AM27AT.mjs} +36 -34
  205. package/dist/{product-variant-manage-inventory-items-PRFQHHZD.mjs → product-variant-manage-inventory-items-BKFYUODS.mjs} +9 -7
  206. package/dist/{product-variant-metadata-PY76KWCU.mjs → product-variant-metadata-2V27ZMDS.mjs} +33 -33
  207. package/dist/{profile-detail-EYSOSXIU.mjs → profile-detail-YLKHVSGO.mjs} +7 -9
  208. package/dist/{profile-edit-KZGW3D7V.mjs → profile-edit-EGWJGTXV.mjs} +12 -11
  209. package/dist/{promotion-add-campaign-YG4T32AU.mjs → promotion-add-campaign-4VNRQF52.mjs} +11 -10
  210. package/dist/{promotion-create-DUY3VRR7.mjs → promotion-create-PLDWDZMZ.mjs} +17 -15
  211. package/dist/{promotion-detail-KUVY3KBM.mjs → promotion-detail-BRQXNXUL.mjs} +39 -41
  212. package/dist/{promotion-edit-details-6BZF724F.mjs → promotion-edit-details-D6M646E6.mjs} +9 -8
  213. package/dist/{promotion-list-6PKG7DBB.mjs → promotion-list-BSYPXZNW.mjs} +16 -18
  214. package/dist/{region-add-countries-5VS6OSZW.mjs → region-add-countries-D6N7ISOZ.mjs} +17 -16
  215. package/dist/{region-create-3UVS7VHZ.mjs → region-create-EOZTZIP5.mjs} +28 -27
  216. package/dist/{region-detail-SGGN2NPK.mjs → region-detail-HL4UQGTJ.mjs} +13 -15
  217. package/dist/{region-edit-GPMEIHUM.mjs → region-edit-PXIMLBFB.mjs} +19 -18
  218. package/dist/{region-list-ETVUX5R3.mjs → region-list-A7Z5XJUW.mjs} +17 -19
  219. package/dist/{region-metadata-J4QDEISD.mjs → region-metadata-4S6FEUXA.mjs} +35 -35
  220. package/dist/{reservation-create-O3ALBX5F.mjs → reservation-create-INUIVD55.mjs} +13 -12
  221. package/dist/{reservation-detail-X46PRDBS.mjs → reservation-detail-I4DM7TQ4.mjs} +32 -34
  222. package/dist/{reservation-list-HF5TGB2X.mjs → reservation-list-NID2SFUF.mjs} +17 -19
  223. package/dist/{reservation-metadata-GBTOI33G.mjs → reservation-metadata-5ZABNMJP.mjs} +35 -35
  224. package/dist/{reset-password-CXIAZ6KT.mjs → reset-password-XTYYQVM4.mjs} +7 -6
  225. package/dist/{return-reason-create-7DOM36PA.mjs → return-reason-create-YANSYS43.mjs} +8 -7
  226. package/dist/{return-reason-edit-U2DRNMRP.mjs → return-reason-edit-4FSM4H3M.mjs} +9 -8
  227. package/dist/{return-reason-list-R2B2M5F3.mjs → return-reason-list-PHUB3SD5.mjs} +37 -40
  228. package/dist/{sales-channel-add-products-XX6XXL67.mjs → sales-channel-add-products-OJR2UYTQ.mjs} +44 -43
  229. package/dist/{sales-channel-create-5NVNETJO.mjs → sales-channel-create-HVZPII6E.mjs} +9 -8
  230. package/dist/{sales-channel-detail-A5LWMTIW.mjs → sales-channel-detail-ZTX3GVHN.mjs} +43 -45
  231. package/dist/{sales-channel-edit-ZHU2WG4C.mjs → sales-channel-edit-BK7O3ZFI.mjs} +10 -9
  232. package/dist/{sales-channel-list-WIDZSTDW.mjs → sales-channel-list-HOPPCB5U.mjs} +38 -40
  233. package/dist/{sales-channel-metadata-EU2OLGZU.mjs → sales-channel-metadata-UH4QYASI.mjs} +35 -35
  234. package/dist/{shipping-profile-create-A5NGBX2U.mjs → shipping-profile-create-PBDONCGJ.mjs} +8 -7
  235. package/dist/{shipping-profile-detail-E2ZVCQB5.mjs → shipping-profile-detail-EORJZ7NX.mjs} +6 -8
  236. package/dist/{shipping-profile-metadata-B3XD5644.mjs → shipping-profile-metadata-UB73OBPJ.mjs} +33 -33
  237. package/dist/{shipping-profiles-list-QF6YVBB6.mjs → shipping-profiles-list-WRKLRQR7.mjs} +14 -16
  238. package/dist/{store-add-currencies-SSEOM5WZ.mjs → store-add-currencies-CPWMKSFB.mjs} +19 -18
  239. package/dist/{store-detail-RK42OQIJ.mjs → store-detail-WLC4RF2Y.mjs} +136 -138
  240. package/dist/{store-edit-VP2ZK6DB.mjs → store-edit-JNSWFWIG.mjs} +12 -10
  241. package/dist/store-metadata-GLAZZPP6.mjs +68 -0
  242. package/dist/{tax-region-create-OLUBBICW.mjs → tax-region-create-EW5USMNY.mjs} +35 -34
  243. package/dist/{tax-region-detail-MUS2Q44R.mjs → tax-region-detail-MVSV7BWW.mjs} +45 -47
  244. package/dist/{tax-region-list-OAH2FFY2.mjs → tax-region-list-FNVPRMTQ.mjs} +13 -15
  245. package/dist/{tax-region-province-create-TAQQLOAS.mjs → tax-region-province-create-LQ5SPSXW.mjs} +10 -9
  246. package/dist/{tax-region-province-detail-WENPM2PD.mjs → tax-region-province-detail-4G2WUUBB.mjs} +40 -42
  247. package/dist/{tax-region-tax-override-create-VANMBRAP.mjs → tax-region-tax-override-create-TMMFKM7B.mjs} +67 -67
  248. package/dist/{tax-region-tax-override-edit-IY5SXK2S.mjs → tax-region-tax-override-edit-R2G2M4PQ.mjs} +72 -72
  249. package/dist/{tax-region-tax-rate-create-GU7QEL3V.mjs → tax-region-tax-rate-create-7GNLSDJ2.mjs} +12 -11
  250. package/dist/{tax-region-tax-rate-edit-JZO6CSAX.mjs → tax-region-tax-rate-edit-6U2BQMIE.mjs} +11 -10
  251. package/dist/{user-detail-I53MPAAS.mjs → user-detail-X2Z2IYNI.mjs} +7 -9
  252. package/dist/{user-edit-5OL3L6IX.mjs → user-edit-HFSJM4QT.mjs} +9 -8
  253. package/dist/{user-invite-HKO52FHN.mjs → user-invite-5S2HHL2P.mjs} +23 -22
  254. package/dist/{user-list-6DWTXQUP.mjs → user-list-LI27NZLQ.mjs} +12 -14
  255. package/dist/user-metadata-GJ6PIXLU.mjs +70 -0
  256. package/dist/{workflow-execution-detail-ERZLGDON.mjs → workflow-execution-detail-D26MDYFC.mjs} +32 -34
  257. package/dist/{workflow-execution-list-VEHTWIZD.mjs → workflow-execution-list-4QDXZ3N5.mjs} +12 -14
  258. package/package.json +11 -12
  259. package/src/app.tsx +19 -14
  260. package/src/components/common/empty-table-content/empty-table-content.tsx +5 -2
  261. package/src/components/common/infinite-list/infinite-list.tsx +18 -8
  262. package/src/components/common/listicle/index.ts +1 -0
  263. package/src/components/common/listicle/listicle.tsx +34 -0
  264. package/src/components/common/sidebar-link/sidebar-link.tsx +2 -2
  265. package/src/components/common/switch-box/switch-box.tsx +15 -11
  266. package/src/components/data-table/data-table.tsx +19 -17
  267. package/src/components/forms/metadata-form/metadata-form.tsx +19 -8
  268. package/src/components/inputs/combobox/combobox.tsx +15 -1
  269. package/src/components/layout/main-layout/main-layout.tsx +3 -3
  270. package/src/components/layout/nav-item/nav-item.tsx +1 -1
  271. package/src/components/layout/notifications/notifications.tsx +1 -0
  272. package/src/components/layout/settings-layout/settings-layout.tsx +2 -3
  273. package/src/components/modals/hooks/use-state-aware-to.tsx +26 -0
  274. package/src/components/modals/route-drawer/route-drawer.tsx +7 -4
  275. package/src/components/modals/route-focus-modal/route-focus-modal.tsx +7 -4
  276. package/src/components/modals/route-modal-provider/route-provider.tsx +2 -2
  277. package/src/components/table/table-cells/common/date-cell/date-cell.tsx +10 -12
  278. package/src/{extensions/dashboard-extension-manager/dashboard-extension-manager.tsx → dashboard-app/dashboard-app.tsx} +168 -58
  279. package/src/{extensions → dashboard-app}/forms/form-extension-zone/form-extension-zone.tsx +5 -3
  280. package/src/{extensions → dashboard-app}/index.ts +1 -2
  281. package/src/dashboard-app/routes/get-route.map.tsx +1742 -0
  282. package/src/dashboard-app/routes/utils.ts +221 -0
  283. package/src/{extensions → dashboard-app}/types.ts +15 -0
  284. package/src/hooks/api/auth.tsx +1 -1
  285. package/src/hooks/api/customers.tsx +113 -0
  286. package/src/hooks/api/inventory.tsx +3 -0
  287. package/src/hooks/api/order-edits.tsx +1 -1
  288. package/src/hooks/table/query/use-product-table-query.tsx +4 -0
  289. package/src/hooks/use-combobox-data.tsx +6 -2
  290. package/src/i18n/languages.ts +15 -1
  291. package/src/i18n/translations/$schema.json +149 -5
  292. package/src/i18n/translations/__tests__/validate-translations.spec.ts +1 -0
  293. package/src/i18n/translations/bg.json +2983 -0
  294. package/src/i18n/translations/en.json +64 -25
  295. package/src/i18n/translations/index.ts +8 -0
  296. package/src/i18n/translations/lt.json +3003 -0
  297. package/src/i18n/translations/pl.json +359 -74
  298. package/src/index.ts +2 -0
  299. package/src/lib/payment.ts +8 -6
  300. package/src/providers/extension-provider/extension-context.tsx +8 -0
  301. package/src/providers/extension-provider/extension-provider.tsx +18 -0
  302. package/src/providers/extension-provider/index.ts +2 -0
  303. package/src/providers/extension-provider/use-extension.tsx +10 -0
  304. package/src/providers/providers.tsx +5 -7
  305. package/src/routes/api-key-management/api-key-management-detail/api-key-management-detail.tsx +2 -2
  306. package/src/routes/api-key-management/api-key-management-detail/components/api-key-general-section/api-key-general-section.tsx +3 -1
  307. package/src/routes/api-key-management/api-key-management-list/api-key-management-list.tsx +2 -2
  308. package/src/routes/campaigns/campaign-detail/campaign-detail.tsx +2 -2
  309. package/src/routes/campaigns/campaign-list/campaign-list.tsx +2 -2
  310. package/src/routes/categories/category-detail/category-detail.tsx +2 -2
  311. package/src/routes/categories/category-list/category-list.tsx +2 -2
  312. package/src/routes/collections/collection-detail/collection-detail.tsx +2 -2
  313. package/src/routes/collections/collection-list/collection-list.tsx +2 -2
  314. package/src/routes/customer-groups/customer-group-detail/customer-group-detail.tsx +2 -2
  315. package/src/routes/customer-groups/customer-group-list/components/customer-group-list-table/customer-group-list-table.tsx +8 -8
  316. package/src/routes/customer-groups/customer-group-list/customer-group-list.tsx +2 -2
  317. package/src/routes/customers/customer-create-address/components/create-customer-address-form/create-customer-address-form.tsx +282 -0
  318. package/src/routes/customers/customer-create-address/components/create-customer-address-form/index.ts +1 -0
  319. package/src/routes/customers/customer-create-address/customer-create-address.tsx +10 -0
  320. package/src/routes/customers/customer-create-address/index.ts +1 -0
  321. package/src/routes/customers/customer-detail/components/customer-address-section/customer-address-section.tsx +104 -0
  322. package/src/routes/customers/customer-detail/components/customer-address-section/index.ts +1 -0
  323. package/src/routes/customers/customer-detail/customer-detail.tsx +21 -11
  324. package/src/routes/customers/customer-detail/loader.ts +4 -1
  325. package/src/routes/customers/customer-list/customer-list.tsx +2 -2
  326. package/src/routes/inventory/inventory-detail/components/adjust-inventory/adjust-inventory-drawer.tsx +1 -1
  327. package/src/routes/inventory/inventory-detail/components/edit-inventory-item-attributes/components/edit-item-attributes-form.tsx +17 -0
  328. package/src/routes/inventory/inventory-detail/components/inventory-item-attributes/attributes-section.tsx +1 -0
  329. package/src/routes/inventory/inventory-detail/inventory-detail.tsx +2 -2
  330. package/src/routes/inventory/inventory-list/inventory-list.tsx +2 -2
  331. package/src/routes/locations/location-detail/components/location-general-section/location-general-section.tsx +13 -3
  332. package/src/routes/locations/location-detail/location-detail.tsx +2 -2
  333. package/src/routes/locations/location-list/location-list.tsx +10 -12
  334. package/src/routes/locations/location-service-zone-create/components/create-service-zone-form/create-service-zone-form.tsx +2 -3
  335. package/src/routes/locations/location-service-zone-edit/components/edit-region-form/edit-service-zone-form.tsx +4 -3
  336. package/src/routes/locations/location-service-zone-shipping-option-create/components/create-shipping-options-form/create-shipping-option-details-form.tsx +54 -46
  337. package/src/routes/locations/location-service-zone-shipping-option-create/components/create-shipping-options-form/create-shipping-options-form.tsx +8 -2
  338. package/src/routes/locations/location-service-zone-shipping-option-create/components/create-shipping-options-form/create-shipping-options-prices-form.tsx +27 -2
  339. package/src/routes/locations/location-service-zone-shipping-option-create/location-service-zone-shipping-option-create.tsx +14 -3
  340. package/src/routes/locations/location-service-zone-shipping-option-edit/components/edit-region-form/edit-shipping-option-form.tsx +50 -42
  341. package/src/routes/locations/location-service-zone-shipping-option-edit/location-service-zone-shipping-option-edit.tsx +15 -1
  342. package/src/routes/login/login.tsx +2 -2
  343. package/src/routes/orders/order-create-claim/components/claim-create-form/claim-create-form.tsx +22 -18
  344. package/src/routes/orders/order-create-claim/components/claim-create-form/claim-outbound-section.tsx +29 -16
  345. package/src/routes/orders/order-create-exchange/components/exchange-create-form/exchange-inbound-section.tsx +20 -15
  346. package/src/routes/orders/order-create-exchange/components/exchange-create-form/exchange-outbound-section.tsx +30 -17
  347. package/src/routes/orders/order-create-fulfillment/components/order-create-fulfillment-form/order-create-fulfillment-form.tsx +25 -18
  348. package/src/routes/orders/order-create-refund/components/create-refund-form/create-refund-form.tsx +22 -25
  349. package/src/routes/orders/order-create-return/components/return-create-form/return-create-form.tsx +9 -7
  350. package/src/routes/orders/order-detail/components/order-fulfillment-section/order-fulfillment-section.tsx +27 -5
  351. package/src/routes/orders/order-detail/components/order-summary-section/order-summary-section.tsx +21 -28
  352. package/src/routes/orders/order-detail/constants.ts +1 -0
  353. package/src/routes/orders/order-detail/order-detail.tsx +2 -2
  354. package/src/routes/orders/order-list/order-list.tsx +2 -2
  355. package/src/routes/orders/order-receive-return/components/order-receive-return-form/order-receive-return-form.tsx +2 -2
  356. package/src/routes/price-lists/price-list-detail/components/price-list-configuration-section/price-list-configuration-section.tsx +1 -1
  357. package/src/routes/price-lists/price-list-detail/price-list-detail.tsx +2 -2
  358. package/src/routes/price-lists/price-list-list/price-list-list.tsx +2 -2
  359. package/src/routes/product-tags/product-tag-detail/product-tag-detail.tsx +2 -2
  360. package/src/routes/product-tags/product-tag-list/product-tag-list.tsx +2 -2
  361. package/src/routes/product-types/common/hooks/use-delete-product-type-action.tsx +7 -3
  362. package/src/routes/product-types/product-type-create/components/create-product-type-form/create-product-type-form.tsx +20 -23
  363. package/src/routes/product-types/product-type-detail/components/product-type-general-section/product-type-general-section.tsx +4 -1
  364. package/src/routes/product-types/product-type-detail/product-type-detail.tsx +2 -2
  365. package/src/routes/product-types/product-type-list/components/product-type-list-table/product-table-row-actions.tsx +4 -1
  366. package/src/routes/product-types/product-type-list/product-type-list.tsx +2 -2
  367. package/src/routes/product-variants/product-variant-detail/product-variant-detail.tsx +2 -2
  368. package/src/routes/product-variants/product-variant-manage-inventory-items/components/manage-variant-inventory-items-form/manage-variant-inventory-items-form.tsx +1 -1
  369. package/src/routes/products/product-attributes/components/product-attributes-form/product-attributes-form.tsx +3 -3
  370. package/src/routes/products/product-create/components/product-create-details-form/components/product-create-details-variant-section/product-create-details-variant-section.tsx +2 -2
  371. package/src/routes/products/product-create/components/product-create-details-form/product-create-details-form.tsx +3 -5
  372. package/src/routes/products/product-create/components/product-create-form/product-create-form.tsx +10 -14
  373. package/src/routes/products/product-create/components/product-create-inventory-kit-form/components/product-create-inventory-kit-section/product-create-inventory-kit-section.tsx +1 -1
  374. package/src/routes/products/product-create/components/product-create-organize-form/components/product-create-organize-section/product-create-details-organize-section.tsx +3 -1
  375. package/src/routes/products/product-create/components/product-create-organize-form/product-create-organize-form.tsx +3 -5
  376. package/src/routes/products/product-create/constants.ts +4 -4
  377. package/src/routes/products/product-create/utils.ts +6 -6
  378. package/src/routes/products/product-detail/components/product-attribute-section/product-attribute-section.tsx +2 -2
  379. package/src/routes/products/product-detail/components/product-general-section/product-general-section.tsx +2 -2
  380. package/src/routes/products/product-detail/components/product-organization-section/product-organization-section.tsx +2 -2
  381. package/src/routes/products/product-detail/components/product-variant-section/product-variant-section.tsx +53 -16
  382. package/src/routes/products/product-detail/constants.ts +1 -1
  383. package/src/routes/products/product-detail/product-detail.tsx +2 -2
  384. package/src/routes/products/product-edit/components/edit-product-form/edit-product-form.tsx +4 -6
  385. package/src/routes/products/product-export/product-export.tsx +1 -3
  386. package/src/routes/products/product-list/components/product-list-table/product-list-table.tsx +1 -0
  387. package/src/routes/products/product-list/loader.ts +7 -2
  388. package/src/routes/products/product-list/product-list.tsx +2 -2
  389. package/src/routes/products/product-organization/components/product-organization-form/product-organization-form.tsx +3 -3
  390. package/src/routes/products/product-prices/product-prices.tsx +1 -3
  391. package/src/routes/products/product-shipping-profile/components/product-organization-form/product-shipping-profile-form.tsx +13 -2
  392. package/src/routes/products/product-stock/components/product-stock-form/product-stock-form.tsx +2 -2
  393. package/src/routes/profile/profile-detail/profile-detail.tsx +2 -2
  394. package/src/routes/promotions/common/edit-rules/components/rule-value-form-field/rule-value-form-field.tsx +30 -54
  395. package/src/routes/promotions/promotion-detail/promotion-detail.tsx +2 -2
  396. package/src/routes/promotions/promotion-list/promotions-list.tsx +2 -2
  397. package/src/routes/regions/region-detail/region-detail.tsx +2 -2
  398. package/src/routes/regions/region-list/region-list.tsx +2 -2
  399. package/src/routes/reservations/reservation-detail/reservation-detail.tsx +3 -3
  400. package/src/routes/reservations/reservation-list/reservation-list.tsx +2 -2
  401. package/src/routes/return-reasons/return-reason-list/return-reason-list.tsx +2 -2
  402. package/src/routes/sales-channels/sales-channel-detail/sales-channel-detail.tsx +2 -2
  403. package/src/routes/sales-channels/sales-channel-list/sales-channel-list.tsx +2 -2
  404. package/src/routes/shipping-profiles/shipping-profile-detail/shipping-profile-detail.tsx +2 -2
  405. package/src/routes/shipping-profiles/shipping-profiles-list/shipping-profile-list.tsx +2 -2
  406. package/src/routes/store/store-detail/components/store-currency-section/{store-currencies-section.tsx/store-currency-section.tsx → store-currency-section.tsx} +9 -9
  407. package/src/routes/store/store-detail/store-detail.tsx +8 -8
  408. package/src/routes/tax-regions/tax-region-detail/tax-region-detail.tsx +2 -2
  409. package/src/routes/tax-regions/tax-region-list/tax-region-list.tsx +2 -2
  410. package/src/routes/tax-regions/tax-region-province-detail/tax-region-detail.tsx +2 -2
  411. package/src/routes/users/user-detail/user-detail.tsx +2 -2
  412. package/src/routes/users/user-list/user-list.tsx +2 -2
  413. package/src/routes/workflow-executions/workflow-execution-detail/workflow-detail.tsx +2 -2
  414. package/src/routes/workflow-executions/workflow-execution-list/workflow-execution-list.tsx +2 -2
  415. package/src/vite-env.d.ts +3 -0
  416. package/dist/chunk-53IEL2PE.mjs +0 -46
  417. package/dist/chunk-VIJAVLIU.mjs +0 -551
  418. package/dist/chunk-XWO5BP42.mjs +0 -37
  419. package/dist/collection-metadata-XSJPOGIP.mjs +0 -69
  420. package/dist/order-metadata-DRR355QQ.mjs +0 -69
  421. package/dist/product-metadata-EW6JGOKL.mjs +0 -67
  422. package/dist/product-type-create-5AWIC2HY.mjs +0 -107
  423. package/dist/store-metadata-Z2PO4TKS.mjs +0 -68
  424. package/dist/user-metadata-ISZ5VACI.mjs +0 -70
  425. package/index.html +0 -13
  426. package/src/components/common/inline-tip/index.ts +0 -1
  427. package/src/components/common/inline-tip/inline-tip.tsx +0 -60
  428. package/src/extensions/dashboard-extension-manager/index.ts +0 -2
  429. package/src/extensions/dashboard-extension-provider/dashboard-extension-context.tsx +0 -7
  430. package/src/extensions/dashboard-extension-provider/dashboard-extension-provider.tsx +0 -18
  431. package/src/extensions/dashboard-extension-provider/index.ts +0 -2
  432. package/src/extensions/dashboard-extension-provider/use-dashboard-extension.tsx +0 -12
  433. package/src/extensions/routes/utils.ts +0 -71
  434. package/src/providers/router-provider/index.ts +0 -1
  435. package/src/providers/router-provider/route-extensions.tsx +0 -12
  436. package/src/providers/router-provider/route-map.tsx +0 -1688
  437. package/src/providers/router-provider/router-provider.tsx +0 -14
  438. package/src/providers/router-provider/settings-extensions.tsx +0 -12
  439. package/dist/{chunk-RNCCSLPH.mjs → chunk-LBIOZZPA.mjs} +1 -1
  440. /package/src/{extensions → dashboard-app}/forms/form-extension-zone/index.ts +0 -0
  441. /package/src/{extensions → dashboard-app}/forms/form-extension-zone/types.ts +0 -0
  442. /package/src/{extensions → dashboard-app}/forms/form-extension-zone/utils.ts +0 -0
  443. /package/src/{extensions → dashboard-app}/forms/hooks.tsx +0 -0
  444. /package/src/{extensions → dashboard-app}/forms/index.ts +0 -0
  445. /package/src/{extensions → dashboard-app}/links/utils.ts +0 -0
  446. /package/src/routes/store/store-detail/components/store-currency-section/{store-currencies-section.tsx/index.ts → index.ts} +0 -0
@@ -9,31 +9,29 @@ import "./chunk-LQTHYS2Z.mjs";
9
9
  import {
10
10
  _DataTable,
11
11
  useDataTable
12
- } from "./chunk-RAKBTSZ7.mjs";
12
+ } from "./chunk-GIQRSI5I.mjs";
13
13
  import "./chunk-YEDAFXMB.mjs";
14
14
  import "./chunk-AOFGTNG6.mjs";
15
- import "./chunk-WX2SMNCD.mjs";
16
- import "./chunk-JKKJMCX3.mjs";
15
+ import "./chunk-EMIHDNB7.mjs";
16
+ import "./chunk-PEGJVODH.mjs";
17
17
  import "./chunk-M3VFKDXJ.mjs";
18
18
  import {
19
19
  SingleColumnPage
20
20
  } from "./chunk-2RQLKDBF.mjs";
21
- import "./chunk-LPEUYMRK.mjs";
22
21
  import {
23
22
  useQueryParams
24
23
  } from "./chunk-C76H5USB.mjs";
25
- import "./chunk-BKWQ2FHJ.mjs";
26
- import "./chunk-YXEAWUSX.mjs";
24
+ import "./chunk-WL7NJCWV.mjs";
27
25
  import {
28
- useWorkflowExecutions
29
- } from "./chunk-SFPKA7H3.mjs";
26
+ useExtension
27
+ } from "./chunk-C5P5PL3E.mjs";
28
+ import "./chunk-LPEUYMRK.mjs";
29
+ import "./chunk-3KLERXD7.mjs";
30
30
  import {
31
- useDashboardExtension
32
- } from "./chunk-VIJAVLIU.mjs";
33
- import "./chunk-ONB3JEHR.mjs";
34
- import "./chunk-53IEL2PE.mjs";
31
+ useWorkflowExecutions
32
+ } from "./chunk-QTCZFYFH.mjs";
35
33
  import "./chunk-774WSTCC.mjs";
36
- import "./chunk-WAYDNCEG.mjs";
34
+ import "./chunk-DEQUVHHE.mjs";
37
35
  import "./chunk-GH77ZQI2.mjs";
38
36
 
39
37
  // src/routes/workflow-executions/workflow-execution-list/components/workflow-execution-list-table/workflow-execution-list-table.tsx
@@ -164,7 +162,7 @@ var WorkflowExecutionListTable = () => {
164
162
  // src/routes/workflow-executions/workflow-execution-list/workflow-execution-list.tsx
165
163
  import { jsx as jsx3 } from "react/jsx-runtime";
166
164
  var WorkflowExcecutionList = () => {
167
- const { getWidgets } = useDashboardExtension();
165
+ const { getWidgets } = useExtension();
168
166
  return /* @__PURE__ */ jsx3(
169
167
  SingleColumnPage,
170
168
  {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@medusajs/dashboard",
3
- "version": "3.0.0-preview-20250211091350",
3
+ "version": "3.0.0-preview-20250406180144",
4
4
  "scripts": {
5
5
  "generate:static": "node ./scripts/generate-currencies.js && prettier --write ./src/lib/currencies.ts",
6
6
  "dev": "vite",
@@ -36,7 +36,6 @@
36
36
  "files": [
37
37
  "package.json",
38
38
  "src",
39
- "index.html",
40
39
  "dist"
41
40
  ],
42
41
  "dependencies": {
@@ -45,10 +44,10 @@
45
44
  "@dnd-kit/sortable": "^8.0.0",
46
45
  "@hookform/error-message": "^2.0.1",
47
46
  "@hookform/resolvers": "3.4.2",
48
- "@medusajs/admin-shared": "3.0.0-preview-20250211091350",
49
- "@medusajs/icons": "3.0.0-preview-20250211091350",
50
- "@medusajs/js-sdk": "3.0.0-preview-20250211091350",
51
- "@medusajs/ui": "4.0.5-preview-20250211091350",
47
+ "@medusajs/admin-shared": "3.0.0-preview-20250406180144",
48
+ "@medusajs/icons": "3.0.0-preview-20250406180144",
49
+ "@medusajs/js-sdk": "3.0.0-preview-20250406180144",
50
+ "@medusajs/ui": "4.0.8-preview-20250406180144",
52
51
  "@tanstack/react-query": "5.64.2",
53
52
  "@tanstack/react-table": "8.20.5",
54
53
  "@tanstack/react-virtual": "^3.8.3",
@@ -75,10 +74,10 @@
75
74
  "zod": "3.22.4"
76
75
  },
77
76
  "devDependencies": {
78
- "@medusajs/admin-shared": "3.0.0-preview-20250211091350",
79
- "@medusajs/admin-vite-plugin": "3.0.0-preview-20250211091350",
80
- "@medusajs/types": "3.0.0-preview-20250211091350",
81
- "@medusajs/ui-preset": "3.0.0-preview-20250211091350",
77
+ "@medusajs/admin-shared": "3.0.0-preview-20250406180144",
78
+ "@medusajs/admin-vite-plugin": "3.0.0-preview-20250406180144",
79
+ "@medusajs/types": "3.0.0-preview-20250406180144",
80
+ "@medusajs/ui-preset": "3.0.0-preview-20250406180144",
82
81
  "@types/node": "^20.11.15",
83
82
  "@types/react": "^18.2.79",
84
83
  "@types/react-dom": "^18.2.25",
@@ -90,9 +89,9 @@
90
89
  "tailwindcss": "^3.4.1",
91
90
  "tsup": "^8.0.2",
92
91
  "typescript": "5.2.2",
93
- "vite": "^5.2.11",
92
+ "vite": "^5.4.14",
94
93
  "vite-plugin-inspect": "^0.8.7",
95
- "vitest": "^2.1.9"
94
+ "vitest": "^3.0.5"
96
95
  },
97
96
  "packageManager": "yarn@3.2.1"
98
97
  }
package/src/app.tsx CHANGED
@@ -1,27 +1,32 @@
1
- import { DashboardExtensionManager } from "./extensions"
2
- import { Providers } from "./providers/providers"
3
- import { RouterProvider } from "./providers/router-provider"
1
+ import { DashboardApp } from "./dashboard-app"
2
+ import { DashboardPlugin } from "./dashboard-app/types"
4
3
 
5
4
  import displayModule from "virtual:medusa/displays"
6
5
  import formModule from "virtual:medusa/forms"
7
6
  import menuItemModule from "virtual:medusa/menu-items"
7
+ import routeModule from "virtual:medusa/routes"
8
8
  import widgetModule from "virtual:medusa/widgets"
9
9
 
10
10
  import "./index.css"
11
11
 
12
- function App() {
13
- const manager = new DashboardExtensionManager({
14
- displayModule,
15
- formModule,
16
- menuItemModule,
17
- widgetModule,
12
+ const localPlugin = {
13
+ widgetModule,
14
+ routeModule,
15
+ displayModule,
16
+ formModule,
17
+ menuItemModule,
18
+ }
19
+
20
+ interface AppProps {
21
+ plugins?: DashboardPlugin[]
22
+ }
23
+
24
+ function App({ plugins = [] }: AppProps) {
25
+ const app = new DashboardApp({
26
+ plugins: [localPlugin, ...plugins],
18
27
  })
19
28
 
20
- return (
21
- <Providers api={manager.api}>
22
- <RouterProvider />
23
- </Providers>
24
- )
29
+ return <div>{app.render()}</div>
25
30
  }
26
31
 
27
32
  export default App
@@ -1,5 +1,6 @@
1
1
  import { ExclamationCircle, MagnifyingGlass, PlusMini } from "@medusajs/icons"
2
2
  import { Button, Text, clx } from "@medusajs/ui"
3
+ import React from "react"
3
4
  import { useTranslation } from "react-i18next"
4
5
  import { Link } from "react-router-dom"
5
6
 
@@ -44,6 +45,7 @@ type NoRecordsProps = {
44
45
  message?: string
45
46
  className?: string
46
47
  buttonVariant?: string
48
+ icon?: React.ReactNode
47
49
  } & ActionProps
48
50
 
49
51
  const DefaultButton = ({ action }: ActionProps) =>
@@ -70,18 +72,19 @@ export const NoRecords = ({
70
72
  action,
71
73
  className,
72
74
  buttonVariant = "default",
75
+ icon = <ExclamationCircle className="text-ui-fg-subtle" />,
73
76
  }: NoRecordsProps) => {
74
77
  const { t } = useTranslation()
75
78
 
76
79
  return (
77
80
  <div
78
81
  className={clx(
79
- "flex h-[400px] w-full flex-col items-center justify-center gap-y-4",
82
+ "flex h-[150px] w-full flex-col items-center justify-center gap-y-4",
80
83
  className
81
84
  )}
82
85
  >
83
86
  <div className="flex flex-col items-center gap-y-3">
84
- <ExclamationCircle className="text-ui-fg-subtle" />
87
+ {icon}
85
88
 
86
89
  <div className="flex flex-col items-center gap-y-1">
87
90
  <Text size="small" leading="compact" weight="plus">
@@ -74,17 +74,27 @@ export const InfiniteList = <
74
74
  // Define the new observers after we stop fetching
75
75
  if (!isFetching) {
76
76
  // Define the new observers after paginating
77
- startObserver.current = new IntersectionObserver((entries) => {
78
- if (entries[0].isIntersecting && hasPreviousPage) {
79
- fetchPreviousPage()
77
+ startObserver.current = new IntersectionObserver(
78
+ (entries) => {
79
+ if (entries[0].isIntersecting && hasPreviousPage) {
80
+ fetchPreviousPage()
81
+ }
82
+ },
83
+ {
84
+ threshold: 0.5,
80
85
  }
81
- })
86
+ )
82
87
 
83
- endObserver.current = new IntersectionObserver((entries) => {
84
- if (entries[0].isIntersecting && hasNextPage) {
85
- fetchNextPage()
88
+ endObserver.current = new IntersectionObserver(
89
+ (entries) => {
90
+ if (entries[0].isIntersecting && hasNextPage) {
91
+ fetchNextPage()
92
+ }
93
+ },
94
+ {
95
+ threshold: 0.5,
86
96
  }
87
- })
97
+ )
88
98
 
89
99
  // Register the new observers to observe the new first and last children
90
100
  startObserver.current?.observe(parentRef.current!.firstChild as Element)
@@ -0,0 +1 @@
1
+ export * from "./listicle"
@@ -0,0 +1,34 @@
1
+ import { Text } from "@medusajs/ui"
2
+ import { ReactNode } from "react"
3
+
4
+ export interface ListicleProps {
5
+ labelKey: string
6
+ descriptionKey: string
7
+ children?: ReactNode
8
+ }
9
+
10
+ export const Listicle = ({
11
+ labelKey,
12
+ descriptionKey,
13
+ children,
14
+ }: ListicleProps) => {
15
+ return (
16
+ <div className="flex flex-col gap-2 px-2 pb-2">
17
+ <div className="shadow-elevation-card-rest bg-ui-bg-component transition-fg hover:bg-ui-bg-component-hover active:bg-ui-bg-component-pressed group-focus-visible:shadow-borders-interactive-with-active rounded-md px-4 py-2">
18
+ <div className="flex items-center gap-4">
19
+ <div className="flex flex-1 flex-col">
20
+ <Text size="small" leading="compact" weight="plus">
21
+ {labelKey}
22
+ </Text>
23
+ <Text size="small" leading="compact" className="text-ui-fg-subtle">
24
+ {descriptionKey}
25
+ </Text>
26
+ </div>
27
+ <div className="flex size-7 items-center justify-center">
28
+ {children}
29
+ </div>
30
+ </div>
31
+ </div>
32
+ </div>
33
+ )
34
+ }
@@ -1,9 +1,9 @@
1
1
  import { ReactNode } from "react"
2
2
  import { Link } from "react-router-dom"
3
3
 
4
- import { IconAvatar } from "../icon-avatar"
5
- import { Text } from "@medusajs/ui"
6
4
  import { TriangleRightMini } from "@medusajs/icons"
5
+ import { Text } from "@medusajs/ui"
6
+ import { IconAvatar } from "../icon-avatar"
7
7
 
8
8
  export interface SidebarLinkProps {
9
9
  to: string
@@ -6,13 +6,13 @@ import { Form } from "../../common/form"
6
6
 
7
7
  interface HeadlessControllerProps<
8
8
  TFieldValues extends FieldValues = FieldValues,
9
- TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>
10
- > extends Omit<ControllerProps<TFieldValues, TName>, "render"> {}
9
+ TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,
10
+ > extends Omit<ControllerProps<TFieldValues, TName>, "render"> {}
11
11
 
12
12
  interface SwitchBoxProps<
13
13
  TFieldValues extends FieldValues = FieldValues,
14
- TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>
15
- > extends HeadlessControllerProps<TFieldValues, TName>{
14
+ TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,
15
+ > extends HeadlessControllerProps<TFieldValues, TName> {
16
16
  label: string
17
17
  description: string
18
18
  optional?: boolean
@@ -26,13 +26,13 @@ interface SwitchBoxProps<
26
26
 
27
27
  /**
28
28
  * Wrapper for the Switch component to be used with `react-hook-form`.
29
- *
29
+ *
30
30
  * Use this component whenever a design calls for wrapping the Switch component
31
31
  * in a container with a label and description.
32
32
  */
33
33
  export const SwitchBox = <
34
34
  TFieldValues extends FieldValues = FieldValues,
35
- TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>
35
+ TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,
36
36
  >({
37
37
  label,
38
38
  description,
@@ -49,10 +49,14 @@ export const SwitchBox = <
49
49
  <Form.Item>
50
50
  <div className="bg-ui-bg-component shadow-elevation-card-rest flex items-start gap-x-3 rounded-lg p-3">
51
51
  <Form.Control>
52
- <Switch {...field} checked={value} onCheckedChange={(e) => {
53
- onCheckedChange?.(e)
54
- onChange(e)
55
- }} />
52
+ <Switch
53
+ {...field}
54
+ checked={value}
55
+ onCheckedChange={(e) => {
56
+ onCheckedChange?.(e)
57
+ onChange(e)
58
+ }}
59
+ />
56
60
  </Form.Control>
57
61
  <div>
58
62
  <Form.Label optional={optional} tooltip={tooltip}>
@@ -67,4 +71,4 @@ export const SwitchBox = <
67
71
  }}
68
72
  />
69
73
  )
70
- }
74
+ }
@@ -15,7 +15,7 @@ import {
15
15
  Text,
16
16
  useDataTable,
17
17
  } from "@medusajs/ui"
18
- import React, { ReactNode, useCallback, useState } from "react"
18
+ import React, { ReactNode, useCallback, useMemo } from "react"
19
19
  import { useTranslation } from "react-i18next"
20
20
  import { Link, useNavigate, useSearchParams } from "react-router-dom"
21
21
 
@@ -110,7 +110,7 @@ export const DataTable = <TData,>({
110
110
  const enableCommands = commands && commands.length > 0
111
111
  const enableSorting = columns.some((column) => column.enableSorting)
112
112
 
113
- const filterIds = filters?.map((f) => f.id) ?? []
113
+ const filterIds = useMemo(() => filters?.map((f) => f.id) ?? [], [filters])
114
114
  const prefixedFilterIds = filterIds.map((id) => getQueryParamKey(id, prefix))
115
115
 
116
116
  const { offset, order, q, ...filterParams } = useQueryParams(
@@ -124,9 +124,11 @@ export const DataTable = <TData,>({
124
124
  )
125
125
  const [_, setSearchParams] = useSearchParams()
126
126
 
127
- const [search, setSearch] = useState<string>(q ?? "")
127
+ const search = useMemo(() => {
128
+ return q ?? ""
129
+ }, [q])
130
+
128
131
  const handleSearchChange = (value: string) => {
129
- setSearch(value)
130
132
  setSearchParams((prev) => {
131
133
  if (value) {
132
134
  prev.set(getQueryParamKey("q", prefix), value)
@@ -138,11 +140,13 @@ export const DataTable = <TData,>({
138
140
  })
139
141
  }
140
142
 
141
- const [pagination, setPagination] = useState<DataTablePaginationState>(
142
- offset ? parsePaginationState(offset, pageSize) : { pageIndex: 0, pageSize }
143
- )
143
+ const pagination: DataTablePaginationState = useMemo(() => {
144
+ return offset
145
+ ? parsePaginationState(offset, pageSize)
146
+ : { pageIndex: 0, pageSize }
147
+ }, [offset, pageSize])
148
+
144
149
  const handlePaginationChange = (value: DataTablePaginationState) => {
145
- setPagination(value)
146
150
  setSearchParams((prev) => {
147
151
  if (value.pageIndex === 0) {
148
152
  prev.delete(getQueryParamKey("offset", prefix))
@@ -152,18 +156,16 @@ export const DataTable = <TData,>({
152
156
  transformPaginationState(value).toString()
153
157
  )
154
158
  }
155
-
156
159
  return prev
157
160
  })
158
161
  }
159
162
 
160
- const [filtering, setFiltering] = useState<DataTableFilteringState>(
161
- parseFilterState(filterIds, filterParams)
163
+ const filtering: DataTableFilteringState = useMemo(
164
+ () => parseFilterState(filterIds, filterParams),
165
+ [filterIds, filterParams]
162
166
  )
163
167
 
164
168
  const handleFilteringChange = (value: DataTableFilteringState) => {
165
- setFiltering(value)
166
-
167
169
  setSearchParams((prev) => {
168
170
  Array.from(prev.keys()).forEach((key) => {
169
171
  if (prefixedFilterIds.includes(key) && !(key in value)) {
@@ -184,11 +186,11 @@ export const DataTable = <TData,>({
184
186
  })
185
187
  }
186
188
 
187
- const [sorting, setSorting] = useState<DataTableSortingState | null>(
188
- order ? parseSortingState(order) : null
189
- )
189
+ const sorting: DataTableSortingState | null = useMemo(() => {
190
+ return order ? parseSortingState(order) : null
191
+ }, [order])
192
+
190
193
  const handleSortingChange = (value: DataTableSortingState) => {
191
- setSorting(value)
192
194
  setSearchParams((prev) => {
193
195
  if (value) {
194
196
  const valueToStore = transformSortingState(value)
@@ -4,6 +4,7 @@ import {
4
4
  DropdownMenu,
5
5
  Heading,
6
6
  IconButton,
7
+ InlineTip,
7
8
  clx,
8
9
  toast,
9
10
  } from "@medusajs/ui"
@@ -21,7 +22,6 @@ import { FetchError } from "@medusajs/js-sdk"
21
22
  import { ComponentPropsWithoutRef, forwardRef } from "react"
22
23
  import { ConditionalTooltip } from "../../common/conditional-tooltip"
23
24
  import { Form } from "../../common/form"
24
- import { InlineTip } from "../../common/inline-tip"
25
25
  import { Skeleton } from "../../common/skeleton"
26
26
  import { RouteDrawer, useRouteModal } from "../../modals"
27
27
  import { KeyboundForm } from "../../utilities/keybound-form"
@@ -88,7 +88,7 @@ const InnerForm = <TRes,>({
88
88
  })
89
89
 
90
90
  const handleSubmit = form.handleSubmit(async (data) => {
91
- const parsedData = parseValues(data)
91
+ const parsedData = parseValues(data, metadata)
92
92
 
93
93
  await hook(
94
94
  {
@@ -364,7 +364,8 @@ function getDefaultValues(
364
364
  }
365
365
 
366
366
  function parseValues(
367
- values: z.infer<typeof MetadataSchema>
367
+ values: z.infer<typeof MetadataSchema>,
368
+ original?: Record<string, any> | null
368
369
  ): Record<string, any> | null {
369
370
  const metadata = values.metadata
370
371
 
@@ -378,12 +379,22 @@ function parseValues(
378
379
 
379
380
  const update: Record<string, any> = {}
380
381
 
382
+ // First, handle removed keys from original
383
+ if (original) {
384
+ Object.keys(original).forEach((originalKey) => {
385
+ const exists = metadata.some((field) => field.key === originalKey)
386
+ if (!exists) {
387
+ update[originalKey] = ""
388
+ }
389
+ })
390
+ }
391
+
381
392
  metadata.forEach((field) => {
382
393
  let key = field.key
383
394
  let value = field.value
384
395
  const disabled = field.disabled
385
396
 
386
- if (!key || !value) {
397
+ if (!key) {
387
398
  return
388
399
  }
389
400
 
@@ -393,7 +404,7 @@ function parseValues(
393
404
  }
394
405
 
395
406
  key = key.trim()
396
- value = value.trim()
407
+ value = value?.trim() ?? ""
397
408
 
398
409
  // We try to cast the value to a boolean or number if possible
399
410
  if (value === "true") {
@@ -401,9 +412,9 @@ function parseValues(
401
412
  } else if (value === "false") {
402
413
  update[key] = false
403
414
  } else {
404
- const parsedNumber = parseFloat(value)
405
- if (!isNaN(parsedNumber)) {
406
- update[key] = parsedNumber
415
+ const isNumeric = /^-?\d*\.?\d+$/.test(value)
416
+ if (isNumeric) {
417
+ update[key] = parseFloat(value)
407
418
  } else {
408
419
  update[key] = value
409
420
  }
@@ -57,6 +57,7 @@ interface ComboboxProps<T extends Value = Value>
57
57
  isFetchingNextPage?: boolean
58
58
  onCreateOption?: (value: string) => void
59
59
  noResultsPlaceholder?: ReactNode
60
+ allowClear?: boolean
60
61
  }
61
62
 
62
63
  const ComboboxImpl = <T extends Value = string>(
@@ -72,6 +73,7 @@ const ComboboxImpl = <T extends Value = string>(
72
73
  isFetchingNextPage,
73
74
  onCreateOption,
74
75
  noResultsPlaceholder,
76
+ allowClear,
75
77
  ...inputProps
76
78
  }: ComboboxProps<T>,
77
79
  ref: ForwardedRef<HTMLInputElement>
@@ -195,7 +197,7 @@ const ComboboxImpl = <T extends Value = string>(
195
197
  const showTag = hasValue && isArrayValue
196
198
  const showSelected = showTag && !searchValue && !open
197
199
 
198
- const hideInput = !isArrayValue && !open
200
+ const hideInput = !isArrayValue && hasValue && !open
199
201
  const selectedLabel = options.find((o) => o.value === selectedValues)?.label
200
202
 
201
203
  const hidePlaceholder = showSelected || open
@@ -303,6 +305,18 @@ const ComboboxImpl = <T extends Value = string>(
303
305
  {...inputProps}
304
306
  />
305
307
  </div>
308
+ {allowClear && controlledValue && (
309
+ <button
310
+ type="button"
311
+ onClick={(e) => {
312
+ e.preventDefault()
313
+ handleValueChange(undefined)
314
+ }}
315
+ className="bg-ui-bg-base hover:bg-ui-bg-base-hover txt-compact-small-plus text-ui-fg-subtle focus-within:border-ui-fg-interactive transition-fg absolute right-[28px] top-0.5 z-[1] flex h-[28px] items-center rounded-[4px] border px-1.5 py-[2px] outline-none"
316
+ >
317
+ <XMarkMini className="text-ui-fg-muted" />
318
+ </button>
319
+ )}
306
320
  <PrimitiveComboboxDisclosure
307
321
  render={(props) => {
308
322
  return (
@@ -24,9 +24,9 @@ import { INavItem, NavItem } from "../../layout/nav-item"
24
24
  import { Shell } from "../../layout/shell"
25
25
 
26
26
  import { Link, useLocation, useNavigate } from "react-router-dom"
27
- import { useDashboardExtension } from "../../../extensions"
28
27
  import { useLogout } from "../../../hooks/api"
29
28
  import { queryClient } from "../../../lib/query-client"
29
+ import { useExtension } from "../../../providers/extension-provider"
30
30
  import { useSearch } from "../../../providers/search-provider"
31
31
  import { UserMenu } from "../user-menu"
32
32
 
@@ -283,7 +283,7 @@ const Searchbar = () => {
283
283
  const CoreRouteSection = () => {
284
284
  const coreRoutes = useCoreRoutes()
285
285
 
286
- const { getMenu } = useDashboardExtension()
286
+ const { getMenu } = useExtension()
287
287
 
288
288
  const menuItems = getMenu("coreExtensions")
289
289
 
@@ -308,7 +308,7 @@ const CoreRouteSection = () => {
308
308
 
309
309
  const ExtensionRouteSection = () => {
310
310
  const { t } = useTranslation()
311
- const { getMenu } = useDashboardExtension()
311
+ const { getMenu } = useExtension()
312
312
 
313
313
  const menuItems = getMenu("coreExtensions").filter((item) => !item.nested)
314
314
 
@@ -130,7 +130,7 @@ export const NavItem = ({
130
130
  <NavItemTooltip to={to}>
131
131
  <NavLink
132
132
  to={to}
133
- end
133
+ end={items?.some((i) => i.to === pathname)}
134
134
  state={
135
135
  from
136
136
  ? {
@@ -66,6 +66,7 @@ export const Notifications = () => {
66
66
  <Drawer.Trigger asChild>
67
67
  <IconButton
68
68
  variant="transparent"
69
+ size="small"
69
70
  className="text-ui-fg-muted hover:text-ui-fg-subtle"
70
71
  >
71
72
  {hasUnread ? <BellAlertDone /> : <BellAlert />}
@@ -5,10 +5,9 @@ import { Fragment, useEffect, useMemo, useState } from "react"
5
5
  import { useTranslation } from "react-i18next"
6
6
  import { Link, useLocation } from "react-router-dom"
7
7
 
8
+ import { useExtension } from "../../../providers/extension-provider"
8
9
  import { INavItem, NavItem } from "../nav-item"
9
10
  import { Shell } from "../shell"
10
-
11
- import { useDashboardExtension } from "../../../extensions"
12
11
  import { UserMenu } from "../user-menu"
13
12
 
14
13
  export const SettingsLayout = () => {
@@ -114,7 +113,7 @@ const getSafeFromValue = (from: string) => {
114
113
  }
115
114
 
116
115
  const SettingsSidebar = () => {
117
- const { getMenu } = useDashboardExtension()
116
+ const { getMenu } = useExtension()
118
117
 
119
118
  const routes = useSettingRoutes()
120
119
  const developerRoutes = useDeveloperRoutes()
@@ -0,0 +1,26 @@
1
+ import { useMemo } from "react"
2
+ import { Path, useLocation } from "react-router-dom"
3
+
4
+ /**
5
+ * Checks if the current location has a restore_params property.
6
+ * If it does, it will return a new path with the params added to it.
7
+ * Otherwise, it will return the previous path.
8
+ *
9
+ * This is useful if the modal needs to return to the original path, with
10
+ * the params that were present when the modal was opened.
11
+ */
12
+ export const useStateAwareTo = (prev: string | Partial<Path>) => {
13
+ const location = useLocation()
14
+
15
+ const to = useMemo(() => {
16
+ const params = location.state?.restore_params
17
+
18
+ if (!params) {
19
+ return prev
20
+ }
21
+
22
+ return `${prev}?${params.toString()}`
23
+ }, [location.state, prev])
24
+
25
+ return to
26
+ }