@workharu/dashboard 1.0.1

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 (2279) hide show
  1. package/README.md +30 -0
  2. package/dist/Inter-Medium-RUQTUVA3.ttf +0 -0
  3. package/dist/Inter-Regular-CKBOXRQ3.ttf +0 -0
  4. package/dist/RobotoMono-Medium-LUNBMOOH.ttf +0 -0
  5. package/dist/RobotoMono-Regular-27MA6W2G.ttf +0 -0
  6. package/dist/add-campaign-promotions-CDISEWCN.mjs +263 -0
  7. package/dist/add-locales-DYPQX473.mjs +83 -0
  8. package/dist/adjust-inventory-F54V53EK.mjs +216 -0
  9. package/dist/api-key-management-create-UEH2LPZ4.mjs +185 -0
  10. package/dist/api-key-management-detail-H3CLCRJ3.mjs +497 -0
  11. package/dist/api-key-management-edit-LAYHZCIG.mjs +109 -0
  12. package/dist/api-key-management-list-OS5BWUTN.mjs +354 -0
  13. package/dist/api-key-management-sales-channels-XV6KECQR.mjs +205 -0
  14. package/dist/app.css +5449 -0
  15. package/dist/app.js +215177 -0
  16. package/dist/app.mjs +86 -0
  17. package/dist/campaign-budget-edit-7ZZNWTVJ.mjs +146 -0
  18. package/dist/campaign-configuration-VILLH44O.mjs +153 -0
  19. package/dist/campaign-create-RYNM2OKN.mjs +30 -0
  20. package/dist/campaign-detail-VDR5EFFK.mjs +678 -0
  21. package/dist/campaign-edit-BEFIX3XX.mjs +205 -0
  22. package/dist/campaign-list-RNZ2E7LT.mjs +192 -0
  23. package/dist/categories-metadata-X62IQY4Q.mjs +79 -0
  24. package/dist/category-create-7J42NKMW.mjs +406 -0
  25. package/dist/category-detail-MPFCK5RN.mjs +579 -0
  26. package/dist/category-edit-PPUDCVSE.mjs +223 -0
  27. package/dist/category-list-M54UA3Q2.mjs +308 -0
  28. package/dist/category-organize-Q4YXIWRB.mjs +112 -0
  29. package/dist/category-products-E3VWZHI5.mjs +285 -0
  30. package/dist/chunk-2EQK5L52.mjs +99 -0
  31. package/dist/chunk-2LVQXUFY.mjs +81 -0
  32. package/dist/chunk-2UGTJ6JV.mjs +69 -0
  33. package/dist/chunk-2V5DOTI3.mjs +173 -0
  34. package/dist/chunk-3BQAAPDR.mjs +40 -0
  35. package/dist/chunk-3C2RPYDJ.mjs +223 -0
  36. package/dist/chunk-3I6IEBGV.mjs +219 -0
  37. package/dist/chunk-3ISBJK7K.mjs +45 -0
  38. package/dist/chunk-3TEQI7Q2.mjs +40 -0
  39. package/dist/chunk-3TZOFKX2.mjs +110 -0
  40. package/dist/chunk-4AKNAVPX.mjs +52 -0
  41. package/dist/chunk-4BG52NTE.mjs +126 -0
  42. package/dist/chunk-4DZUJIAL.mjs +14 -0
  43. package/dist/chunk-4FM6S5CX.mjs +17 -0
  44. package/dist/chunk-4GQOUCX6.mjs +0 -0
  45. package/dist/chunk-4MNQMTQV.mjs +50 -0
  46. package/dist/chunk-4SIZ37QP.mjs +90 -0
  47. package/dist/chunk-4SLHA6WN.mjs +429 -0
  48. package/dist/chunk-4T4MNG4Z.mjs +61 -0
  49. package/dist/chunk-4XKRB45V.mjs +465 -0
  50. package/dist/chunk-4XSXVVYD.mjs +18 -0
  51. package/dist/chunk-54IEHX46.mjs +116 -0
  52. package/dist/chunk-556FUJDY.mjs +133 -0
  53. package/dist/chunk-5SZFF255.mjs +20 -0
  54. package/dist/chunk-6GU6IDUA.mjs +8 -0
  55. package/dist/chunk-6HTZNHPT.mjs +34 -0
  56. package/dist/chunk-6JPNKEBB.mjs +265 -0
  57. package/dist/chunk-6MN2SMNT.mjs +49 -0
  58. package/dist/chunk-6OFSUHM5.mjs +258 -0
  59. package/dist/chunk-6PNOUH6F.mjs +50 -0
  60. package/dist/chunk-6UAK5Q3S.mjs +765 -0
  61. package/dist/chunk-6WKBBTKM.mjs +29 -0
  62. package/dist/chunk-7AXHHXCX.mjs +4 -0
  63. package/dist/chunk-7OYLCEKK.mjs +24 -0
  64. package/dist/chunk-7RGNKGQB.mjs +659 -0
  65. package/dist/chunk-ADOCJB6L.mjs +35 -0
  66. package/dist/chunk-AFCZP34D.mjs +464 -0
  67. package/dist/chunk-AM2BU2RH.mjs +6 -0
  68. package/dist/chunk-AMRS4CSX.mjs +9 -0
  69. package/dist/chunk-AS4IIBUS.mjs +171 -0
  70. package/dist/chunk-ATKJ6XLW.mjs +41 -0
  71. package/dist/chunk-B6ZOPCPA.mjs +73 -0
  72. package/dist/chunk-BGNL7QXZ.mjs +174 -0
  73. package/dist/chunk-BGQF2VTH.mjs +160 -0
  74. package/dist/chunk-BLEXUHVN.mjs +61 -0
  75. package/dist/chunk-BPIG7PI6.mjs +16 -0
  76. package/dist/chunk-BS42TIJL.mjs +133 -0
  77. package/dist/chunk-C3NJFNLK.mjs +52 -0
  78. package/dist/chunk-C6AXYXV3.mjs +164 -0
  79. package/dist/chunk-C76H5USB.mjs +16 -0
  80. package/dist/chunk-CBSCX7RE.mjs +13 -0
  81. package/dist/chunk-CEYKNZTH.mjs +33 -0
  82. package/dist/chunk-CR5DSAVZ.mjs +516 -0
  83. package/dist/chunk-D3TDNKSZ.mjs +85 -0
  84. package/dist/chunk-D3YQN7HV.mjs +30 -0
  85. package/dist/chunk-D7EFGOCN.mjs +726 -0
  86. package/dist/chunk-DEOCXBV2.mjs +81 -0
  87. package/dist/chunk-DG7J63J2.mjs +1764 -0
  88. package/dist/chunk-DLXZTJE3.mjs +80 -0
  89. package/dist/chunk-DLZWPHHO.mjs +20 -0
  90. package/dist/chunk-DO2WMVM5.mjs +294 -0
  91. package/dist/chunk-DOWVHHM6.mjs +556 -0
  92. package/dist/chunk-DRHDNSJA.mjs +55 -0
  93. package/dist/chunk-EBOUDEPK.mjs +170 -0
  94. package/dist/chunk-EGZR6JFL.mjs +77 -0
  95. package/dist/chunk-EHAU7SOS.mjs +1280 -0
  96. package/dist/chunk-EJUI5JDF.mjs +180 -0
  97. package/dist/chunk-EJWRAUTW.mjs +37 -0
  98. package/dist/chunk-EKTC7HGF.mjs +62 -0
  99. package/dist/chunk-EMDIIWVL.mjs +87 -0
  100. package/dist/chunk-EMIHDNB7.mjs +64 -0
  101. package/dist/chunk-EWVOEKUL.mjs +97 -0
  102. package/dist/chunk-EYDZJ522.mjs +77 -0
  103. package/dist/chunk-F6ZOHZVB.mjs +9 -0
  104. package/dist/chunk-FA2DYBNX.mjs +6 -0
  105. package/dist/chunk-FGW2G7UI.mjs +501 -0
  106. package/dist/chunk-FGWPAC3I.mjs +4152 -0
  107. package/dist/chunk-FZY2J2AS.mjs +338 -0
  108. package/dist/chunk-G22WWLPG.mjs +44 -0
  109. package/dist/chunk-GSZPEFBC.mjs +34 -0
  110. package/dist/chunk-GYYYXLFU.mjs +422 -0
  111. package/dist/chunk-H5VGKTPX.mjs +47 -0
  112. package/dist/chunk-H7AAHR2V.mjs +278 -0
  113. package/dist/chunk-HIX2NSSN.mjs +124 -0
  114. package/dist/chunk-HJRXMMQI.mjs +121 -0
  115. package/dist/chunk-HQKGZADC.mjs +132 -0
  116. package/dist/chunk-I3VB6NM2.mjs +45 -0
  117. package/dist/chunk-IQBAUTU5.mjs +22 -0
  118. package/dist/chunk-IR5DHEKS.mjs +9 -0
  119. package/dist/chunk-ISGDOD5J.mjs +35 -0
  120. package/dist/chunk-IUCDCPJU.mjs +0 -0
  121. package/dist/chunk-IWY35GD5.mjs +106 -0
  122. package/dist/chunk-JAW6ZD7F.mjs +112 -0
  123. package/dist/chunk-JHATTPS3.mjs +6 -0
  124. package/dist/chunk-K37W6IGC.mjs +1353 -0
  125. package/dist/chunk-K44PQXQY.mjs +37 -0
  126. package/dist/chunk-K5OJP3ZJ.mjs +85 -0
  127. package/dist/chunk-KEQOAJC2.mjs +108 -0
  128. package/dist/chunk-KIIT4BNH.mjs +32 -0
  129. package/dist/chunk-L4CVPEAW.mjs +13 -0
  130. package/dist/chunk-LFLGEXIG.mjs +34 -0
  131. package/dist/chunk-LPEUYMRK.mjs +183 -0
  132. package/dist/chunk-LQTHYS2Z.mjs +0 -0
  133. package/dist/chunk-LR4WE7QF.mjs +133 -0
  134. package/dist/chunk-LT4MVCA7.mjs +19 -0
  135. package/dist/chunk-LYZ7OUA3.mjs +155 -0
  136. package/dist/chunk-MLNUGLGT.mjs +79 -0
  137. package/dist/chunk-MNXC6Q4F.mjs +30 -0
  138. package/dist/chunk-MOSRJHJ3.mjs +31 -0
  139. package/dist/chunk-NFEK63OE.mjs +20 -0
  140. package/dist/chunk-NOAFLTPV.mjs +99 -0
  141. package/dist/chunk-NTEWUH4C.mjs +65 -0
  142. package/dist/chunk-O333RR6K.mjs +116 -0
  143. package/dist/chunk-OBQI23QM.mjs +161 -0
  144. package/dist/chunk-OC7BQLYI.mjs +17 -0
  145. package/dist/chunk-OMC5JCQH.mjs +31 -0
  146. package/dist/chunk-ONB3JEHR.mjs +9 -0
  147. package/dist/chunk-OZPB6JBL.mjs +86 -0
  148. package/dist/chunk-P2IBGUII.mjs +72 -0
  149. package/dist/chunk-P3DRE4IY.mjs +39 -0
  150. package/dist/chunk-P3UUX2T6.mjs +9 -0
  151. package/dist/chunk-PAIVYYY2.mjs +518 -0
  152. package/dist/chunk-PBD6N7EO.mjs +817 -0
  153. package/dist/chunk-PFZTPUFP.mjs +56 -0
  154. package/dist/chunk-PJU3RODH.mjs +53 -0
  155. package/dist/chunk-PRLQLEEQ.mjs +50 -0
  156. package/dist/chunk-PTP3K7TB.mjs +23 -0
  157. package/dist/chunk-PVIPIEMS.mjs +86 -0
  158. package/dist/chunk-PXZ7QYKX.mjs +14 -0
  159. package/dist/chunk-PYIO3TDQ.mjs +18 -0
  160. package/dist/chunk-Q7IJ6TPC.mjs +21 -0
  161. package/dist/chunk-QG545K2O.mjs +76 -0
  162. package/dist/chunk-QIUJGXDT.mjs +106 -0
  163. package/dist/chunk-QJ63TWAK.mjs +240 -0
  164. package/dist/chunk-QJ6SBVJ2.mjs +17 -0
  165. package/dist/chunk-QKNWDY2F.mjs +607 -0
  166. package/dist/chunk-QMRGIWOP.mjs +88 -0
  167. package/dist/chunk-QR6FHSFY.mjs +124 -0
  168. package/dist/chunk-QTVXJCU6.mjs +56 -0
  169. package/dist/chunk-QZ7TP4HQ.mjs +7 -0
  170. package/dist/chunk-R65S6ZZV.mjs +70 -0
  171. package/dist/chunk-RBAXV2E2.mjs +42 -0
  172. package/dist/chunk-RHK5S77S.mjs +94 -0
  173. package/dist/chunk-RIV7FKGN.mjs +31 -0
  174. package/dist/chunk-RWBSD7GH.mjs +47 -0
  175. package/dist/chunk-RWGJ5RIL.mjs +369 -0
  176. package/dist/chunk-S4DMV3ZT.mjs +35 -0
  177. package/dist/chunk-SDOIEL4H.mjs +115 -0
  178. package/dist/chunk-SEMVMECK.mjs +33 -0
  179. package/dist/chunk-SGUYOGWH.mjs +49 -0
  180. package/dist/chunk-SJ3ICN75.mjs +1208 -0
  181. package/dist/chunk-SKQPG6BC.mjs +29 -0
  182. package/dist/chunk-T6MJIWGG.mjs +66 -0
  183. package/dist/chunk-TDK3JDOB.mjs +31 -0
  184. package/dist/chunk-TGK6ESEN.mjs +302 -0
  185. package/dist/chunk-TI7HSSSL.mjs +39 -0
  186. package/dist/chunk-TPANFD43.mjs +595 -0
  187. package/dist/chunk-TZAVGPAP.mjs +193 -0
  188. package/dist/chunk-U726TGCM.mjs +36 -0
  189. package/dist/chunk-UBQ5RL5E.mjs +49 -0
  190. package/dist/chunk-UBW4T4MS.mjs +144 -0
  191. package/dist/chunk-UC26CCHZ.mjs +45 -0
  192. package/dist/chunk-UNTEPIJL.mjs +106 -0
  193. package/dist/chunk-UVGVVAR4.mjs +58 -0
  194. package/dist/chunk-V2CZ23VK.mjs +100 -0
  195. package/dist/chunk-V2OKIIO7.mjs +98 -0
  196. package/dist/chunk-VA3DYGSG.mjs +108568 -0
  197. package/dist/chunk-W53E57PQ.mjs +385 -0
  198. package/dist/chunk-W7625H47.mjs +18 -0
  199. package/dist/chunk-WATKBUHQ.mjs +12 -0
  200. package/dist/chunk-WKOPGFW5.mjs +8 -0
  201. package/dist/chunk-WMOGMKQN.mjs +0 -0
  202. package/dist/chunk-WRSGHGAT.mjs +41 -0
  203. package/dist/chunk-X5VECN6S.mjs +84 -0
  204. package/dist/chunk-XD72PXRS.mjs +329 -0
  205. package/dist/chunk-XDCNT5GQ.mjs +792 -0
  206. package/dist/chunk-XQMUOXFW.mjs +96 -0
  207. package/dist/chunk-XR4GEMGR.mjs +31 -0
  208. package/dist/chunk-XRB4XKMP.mjs +259 -0
  209. package/dist/chunk-XRM7PIRS.mjs +1150 -0
  210. package/dist/chunk-XRTVFYCW.mjs +0 -0
  211. package/dist/chunk-XULRB2FZ.mjs +38 -0
  212. package/dist/chunk-XUQVQCAO.mjs +16 -0
  213. package/dist/chunk-Y44QLYBS.mjs +39 -0
  214. package/dist/chunk-YDJ774GR.mjs +61 -0
  215. package/dist/chunk-YKTL3MAH.mjs +175 -0
  216. package/dist/chunk-YOYOJU5D.mjs +0 -0
  217. package/dist/chunk-YQB7GKXJ.mjs +308 -0
  218. package/dist/chunk-YWAFUIF2.mjs +522 -0
  219. package/dist/chunk-Z4YMK6IK.mjs +41 -0
  220. package/dist/chunk-ZAK25HAN.mjs +363 -0
  221. package/dist/chunk-ZB3WPQQA.mjs +61 -0
  222. package/dist/chunk-ZRP3G32N.mjs +281 -0
  223. package/dist/chunk-ZUBJF5QL.mjs +186 -0
  224. package/dist/chunk-ZVR323XY.mjs +296 -0
  225. package/dist/collection-add-products-V2HO5BJU.mjs +288 -0
  226. package/dist/collection-create-F4MTJHYN.mjs +133 -0
  227. package/dist/collection-detail-AW5L2POV.mjs +473 -0
  228. package/dist/collection-edit-EMAHJ5Q4.mjs +124 -0
  229. package/dist/collection-list-VURYR2IP.mjs +260 -0
  230. package/dist/collection-metadata-I7OYGGFP.mjs +74 -0
  231. package/dist/components.d.mts +80 -0
  232. package/dist/components.d.ts +80 -0
  233. package/dist/components.js +1168 -0
  234. package/dist/components.mjs +42 -0
  235. package/dist/customer-create-CC3UFXLY.mjs +182 -0
  236. package/dist/customer-create-address-6DF3TNVO.mjs +293 -0
  237. package/dist/customer-detail-YBOYKE5Q.mjs +771 -0
  238. package/dist/customer-edit-WKY4MWK4.mjs +193 -0
  239. package/dist/customer-group-add-customers-GFKOHMOF.mjs +243 -0
  240. package/dist/customer-group-create-KI3VKCS6.mjs +112 -0
  241. package/dist/customer-group-detail-BHX2P643.mjs +442 -0
  242. package/dist/customer-group-edit-4P2L2RJU.mjs +109 -0
  243. package/dist/customer-group-list-ZGPST3IQ.mjs +260 -0
  244. package/dist/customer-group-metadata-VHMKH46L.mjs +43 -0
  245. package/dist/customer-list-KCM3JFOR.mjs +175 -0
  246. package/dist/customer-metadata-TDGEM7CT.mjs +43 -0
  247. package/dist/customers-add-customer-group-CJWPLQ55.mjs +282 -0
  248. package/dist/edit-inventory-item-ESAO5XEO.mjs +129 -0
  249. package/dist/edit-inventory-item-attributes-SO4G7D7K.mjs +303 -0
  250. package/dist/edit-reservation-W3R2A7MQ.mjs +246 -0
  251. package/dist/edit-rules-SPWWC4OC.mjs +276 -0
  252. package/dist/home-OBKAUBEM.mjs +27 -0
  253. package/dist/hooks.d.mts +2 -0
  254. package/dist/hooks.d.ts +2 -0
  255. package/dist/hooks.js +1 -0
  256. package/dist/hooks.mjs +0 -0
  257. package/dist/index.d.mts +3779 -0
  258. package/dist/index.d.ts +3779 -0
  259. package/dist/inventory-create-HC645Z7Z.mjs +601 -0
  260. package/dist/inventory-detail-THJZD7IF.mjs +765 -0
  261. package/dist/inventory-list-FFJ2AYBZ.mjs +414 -0
  262. package/dist/inventory-metadata-247YACAP.mjs +79 -0
  263. package/dist/inventory-stock-IDRLZ53P.mjs +294 -0
  264. package/dist/invite-ERMQIIBK.mjs +382 -0
  265. package/dist/location-create-LD34FVNC.mjs +240 -0
  266. package/dist/location-detail-LSISFMNO.mjs +828 -0
  267. package/dist/location-edit-3USGX4VU.mjs +256 -0
  268. package/dist/location-fulfillment-providers-2R4U63QS.mjs +293 -0
  269. package/dist/location-list-6P244OTF.mjs +320 -0
  270. package/dist/location-metadata-J34QUYYM.mjs +78 -0
  271. package/dist/location-sales-channels-PSZW5TPG.mjs +188 -0
  272. package/dist/location-service-zone-create-DVS6SFHH.mjs +173 -0
  273. package/dist/location-service-zone-edit-ZB6IOLPQ.mjs +136 -0
  274. package/dist/location-service-zone-manage-areas-FG2EO2D7.mjs +154 -0
  275. package/dist/location-service-zone-shipping-option-create-LFO2UBLR.mjs +796 -0
  276. package/dist/location-service-zone-shipping-option-edit-FUFLDUER.mjs +367 -0
  277. package/dist/location-service-zone-shipping-option-pricing-GAPMTNQO.mjs +363 -0
  278. package/dist/login-UJVNC7RB.mjs +539 -0
  279. package/dist/manage-locations-MOQCUFZU.mjs +249 -0
  280. package/dist/no-match-7QRDCDCD.mjs +33 -0
  281. package/dist/order-allocate-items-6PT5BTYZ.mjs +557 -0
  282. package/dist/order-create-claim-ELLUPTSC.mjs +2214 -0
  283. package/dist/order-create-edit-IHDOIGCV.mjs +792 -0
  284. package/dist/order-create-exchange-4LMMRTFA.mjs +2158 -0
  285. package/dist/order-create-fulfillment-ULGGMKFG.mjs +607 -0
  286. package/dist/order-create-refund-NXQHJV6O.mjs +698 -0
  287. package/dist/order-create-return-TD4FPK7M.mjs +1305 -0
  288. package/dist/order-create-shipment-WRAPRL6O.mjs +286 -0
  289. package/dist/order-detail-4MFX72PY.mjs +3832 -0
  290. package/dist/order-edit-billing-address-QB7UW46D.mjs +302 -0
  291. package/dist/order-edit-email-MRAVDDAZ.mjs +149 -0
  292. package/dist/order-edit-shipping-address-66RGRJ74.mjs +299 -0
  293. package/dist/order-export-5RIGFF2J.mjs +133 -0
  294. package/dist/order-list-5VIODENW.mjs +342 -0
  295. package/dist/order-metadata-KPDPFAS6.mjs +74 -0
  296. package/dist/order-receive-return-B6Y4ZEHM.mjs +565 -0
  297. package/dist/order-request-transfer-WNAXLABO.mjs +576 -0
  298. package/dist/policy-detail-JVT2S7LO.mjs +229 -0
  299. package/dist/policy-list-KYEGJJXV.mjs +226 -0
  300. package/dist/price-list-configuration-AZUL6X54.mjs +354 -0
  301. package/dist/price-list-create-KU4CFMKK.mjs +966 -0
  302. package/dist/price-list-detail-YHZXKD5R.mjs +569 -0
  303. package/dist/price-list-edit-LESSGSFI.mjs +226 -0
  304. package/dist/price-list-list-EJO3WFO7.mjs +252 -0
  305. package/dist/price-list-metadata-J5CX6RGS.mjs +46 -0
  306. package/dist/price-list-prices-add-LSMHTTDV.mjs +618 -0
  307. package/dist/price-list-prices-edit-L3PU4TCD.mjs +189 -0
  308. package/dist/product-attributes-LM6U3EKB.mjs +345 -0
  309. package/dist/product-create-PO5KOWIQ.mjs +2193 -0
  310. package/dist/product-create-variant-VXQRBURR.mjs +821 -0
  311. package/dist/product-detail-7VCUOEOQ.mjs +1239 -0
  312. package/dist/product-edit-7L5OIIHO.mjs +316 -0
  313. package/dist/product-export-SS66T74J.mjs +140 -0
  314. package/dist/product-image-variants-edit-5XRSWMBL.mjs +335 -0
  315. package/dist/product-import-6RA7TQ7D.mjs +269 -0
  316. package/dist/product-list-KPVFD6ZO.mjs +456 -0
  317. package/dist/product-media-3HHLIHAC.mjs +707 -0
  318. package/dist/product-metadata-3YPKFL5T.mjs +75 -0
  319. package/dist/product-option-create-PL3NMB4K.mjs +273 -0
  320. package/dist/product-option-detail-LFMODC2N.mjs +459 -0
  321. package/dist/product-option-edit-JF5LVKWB.mjs +332 -0
  322. package/dist/product-option-list-KSUYAB5L.mjs +316 -0
  323. package/dist/product-option-metadata-QILBBVZA.mjs +75 -0
  324. package/dist/product-option-value-detail-QFLBDAIE.mjs +199 -0
  325. package/dist/product-option-value-metadata-ACARVAIE.mjs +75 -0
  326. package/dist/product-options-manage-HYEHWZXY.mjs +585 -0
  327. package/dist/product-organization-42JQW26C.mjs +296 -0
  328. package/dist/product-prices-UIFCQPSO.mjs +226 -0
  329. package/dist/product-sales-channels-L7FBF4DP.mjs +164 -0
  330. package/dist/product-shipping-profile-HCWVXBOB.mjs +147 -0
  331. package/dist/product-stock-WTV3MTI2.mjs +546 -0
  332. package/dist/product-tag-create-3XSFL7TA.mjs +128 -0
  333. package/dist/product-tag-detail-HD6FOEQW.mjs +309 -0
  334. package/dist/product-tag-edit-VBJWTHLX.mjs +141 -0
  335. package/dist/product-tag-list-2W7FARAI.mjs +282 -0
  336. package/dist/product-tag-metadata-23VRDVEQ.mjs +74 -0
  337. package/dist/product-type-create-EF7GA6FU.mjs +102 -0
  338. package/dist/product-type-detail-FS47S2MY.mjs +269 -0
  339. package/dist/product-type-edit-GLDOSTGO.mjs +116 -0
  340. package/dist/product-type-list-IVAOPZTX.mjs +201 -0
  341. package/dist/product-type-metadata-K2WKEMEV.mjs +74 -0
  342. package/dist/product-variant-detail-KCQ3YKHX.mjs +570 -0
  343. package/dist/product-variant-edit-EBYT5JKY.mjs +540 -0
  344. package/dist/product-variant-manage-inventory-items-QZYCNFHT.mjs +343 -0
  345. package/dist/product-variant-media-JYF2U4RU.mjs +370 -0
  346. package/dist/product-variant-metadata-FJ6V5J7A.mjs +78 -0
  347. package/dist/profile-detail-3Y2KWIBB.mjs +517 -0
  348. package/dist/profile-edit-HK7PB3HV.mjs +176 -0
  349. package/dist/promotion-add-campaign-CFC3DKTN.mjs +44 -0
  350. package/dist/promotion-create-GHBKXZOY.mjs +1210 -0
  351. package/dist/promotion-detail-LP3XEMSI.mjs +521 -0
  352. package/dist/promotion-edit-details-X6JGRYSA.mjs +497 -0
  353. package/dist/promotion-list-36KJQXHM.mjs +218 -0
  354. package/dist/refund-reason-create-NZUVC2FF.mjs +196 -0
  355. package/dist/refund-reason-edit-BW65DA25.mjs +197 -0
  356. package/dist/refund-reason-list-O64MLFYJ.mjs +245 -0
  357. package/dist/region-add-countries-UCBKS5CV.mjs +222 -0
  358. package/dist/region-create-JTM4JUW6.mjs +494 -0
  359. package/dist/region-detail-NGWVFDNR.mjs +497 -0
  360. package/dist/region-edit-L2SXIZJ5.mjs +307 -0
  361. package/dist/region-list-NHUTS4DL.mjs +216 -0
  362. package/dist/region-metadata-FPF3LOR6.mjs +75 -0
  363. package/dist/reservation-create-3A4FEVK6.mjs +311 -0
  364. package/dist/reservation-detail-PNV2T3TR.mjs +241 -0
  365. package/dist/reservation-list-M6QKOKBK.mjs +303 -0
  366. package/dist/reservation-metadata-3TZRC2QL.mjs +79 -0
  367. package/dist/reset-password-OEBO65IS.mjs +382 -0
  368. package/dist/return-reason-create-WOD2CPYE.mjs +162 -0
  369. package/dist/return-reason-edit-KNTB3UIT.mjs +167 -0
  370. package/dist/return-reason-list-XKRIRR3G.mjs +220 -0
  371. package/dist/role-add-users-IX32NKU4.mjs +273 -0
  372. package/dist/role-create-C5U5CPKJ.mjs +364 -0
  373. package/dist/role-detail-CQEPPVKO.mjs +491 -0
  374. package/dist/role-edit-6I7HWKNE.mjs +133 -0
  375. package/dist/role-list-OZLDNITI.mjs +248 -0
  376. package/dist/role-permissions-QUND47M2.mjs +262 -0
  377. package/dist/sales-channel-add-products-76FAKKC4.mjs +275 -0
  378. package/dist/sales-channel-create-2OFVE3NI.mjs +155 -0
  379. package/dist/sales-channel-detail-7EFTHQFS.mjs +447 -0
  380. package/dist/sales-channel-edit-6FZFOHFV.mjs +165 -0
  381. package/dist/sales-channel-list-P75YQVHN.mjs +208 -0
  382. package/dist/sales-channel-metadata-S265LQTL.mjs +80 -0
  383. package/dist/settings-FX2EB4ZL.mjs +550 -0
  384. package/dist/settings-YZ2DI2KO.mjs +28 -0
  385. package/dist/shipping-option-type-create-CLTSUF4W.mjs +199 -0
  386. package/dist/shipping-option-type-detail-4F7XQGEO.mjs +187 -0
  387. package/dist/shipping-option-type-edit-FSEPTYDZ.mjs +198 -0
  388. package/dist/shipping-option-type-list-4ASNW6RR.mjs +282 -0
  389. package/dist/shipping-profile-create-43GYVWXM.mjs +124 -0
  390. package/dist/shipping-profile-detail-JJ3I25BV.mjs +170 -0
  391. package/dist/shipping-profile-metadata-T6P5YOHM.mjs +76 -0
  392. package/dist/shipping-profiles-list-4OMLVTXI.mjs +252 -0
  393. package/dist/store-add-currencies-O6T2CTT2.mjs +314 -0
  394. package/dist/store-add-locales-KV4VRLGJ.mjs +83 -0
  395. package/dist/store-detail-NQJHMWGI.mjs +780 -0
  396. package/dist/store-edit-JZTAUQWZ.mjs +246 -0
  397. package/dist/store-metadata-VT5LGEPQ.mjs +73 -0
  398. package/dist/tax-region-create-5G6WERCR.mjs +303 -0
  399. package/dist/tax-region-detail-3LL3MLOV.mjs +426 -0
  400. package/dist/tax-region-edit-XETOYMBB.mjs +168 -0
  401. package/dist/tax-region-list-S7MZMPZQ.mjs +100 -0
  402. package/dist/tax-region-province-create-CPXYTVAN.mjs +311 -0
  403. package/dist/tax-region-province-detail-DDRHLZSQ.mjs +294 -0
  404. package/dist/tax-region-tax-override-create-PQS6YRCN.mjs +684 -0
  405. package/dist/tax-region-tax-override-edit-JFVF545V.mjs +275 -0
  406. package/dist/tax-region-tax-rate-create-KNUOXXFD.mjs +194 -0
  407. package/dist/tax-region-tax-rate-edit-MWYSNJH2.mjs +194 -0
  408. package/dist/translation-list-3VCVTZE2.mjs +583 -0
  409. package/dist/translations-edit-P52SWUIF.mjs +688 -0
  410. package/dist/types-BGvHRBHG.d.mts +16 -0
  411. package/dist/types-BGvHRBHG.d.ts +16 -0
  412. package/dist/user-detail-IPWPESTL.mjs +182 -0
  413. package/dist/user-edit-LT2TOFEJ.mjs +117 -0
  414. package/dist/user-invite-GMLYNEAX.mjs +450 -0
  415. package/dist/user-list-4OJ5WEWD.mjs +165 -0
  416. package/dist/user-metadata-AGSKZFHN.mjs +75 -0
  417. package/dist/workflow-execution-detail-QWF4OKGV.mjs +846 -0
  418. package/dist/workflow-execution-list-I4HAVCZV.mjs +233 -0
  419. package/package.json +107 -0
  420. package/src/app.tsx +36 -0
  421. package/src/assets/fonts/Inter-Medium.ttf +0 -0
  422. package/src/assets/fonts/Inter-Regular.ttf +0 -0
  423. package/src/assets/fonts/RobotoMono-Medium.ttf +0 -0
  424. package/src/assets/fonts/RobotoMono-Regular.ttf +0 -0
  425. package/src/common/components/tiered-price-form/amount-display.tsx +27 -0
  426. package/src/common/components/tiered-price-form/tiered-price-form.spec.tsx +186 -0
  427. package/src/common/components/tiered-price-form/tiered-price-form.tsx +166 -0
  428. package/src/common/components/tiered-price-form/tiered-price-input.tsx +58 -0
  429. package/src/common/components/tiered-price-form/tiered-price-item.tsx +75 -0
  430. package/src/common/components/tiered-price-form/tiered-price-list.tsx +31 -0
  431. package/src/common/components/tiered-price-form/types.ts +55 -0
  432. package/src/components/authentication/protected-route/index.ts +1 -0
  433. package/src/components/authentication/protected-route/protected-route.tsx +57 -0
  434. package/src/components/authentication/route-permission-guard/index.ts +1 -0
  435. package/src/components/authentication/route-permission-guard/route-permission-guard.tsx +175 -0
  436. package/src/components/common/action-menu/action-menu.tsx +125 -0
  437. package/src/components/common/action-menu/index.ts +1 -0
  438. package/src/components/common/badge-list-summary/badge-list-summary.tsx +81 -0
  439. package/src/components/common/badge-list-summary/index.ts +1 -0
  440. package/src/components/common/chip-group/chip-group.tsx +111 -0
  441. package/src/components/common/chip-group/index.ts +1 -0
  442. package/src/components/common/conditional-tooltip/conditional-tooltip.tsx +20 -0
  443. package/src/components/common/conditional-tooltip/index.ts +1 -0
  444. package/src/components/common/customer-info/customer-info.tsx +202 -0
  445. package/src/components/common/customer-info/index.ts +1 -0
  446. package/src/components/common/date-range-display/date-range-display.tsx +73 -0
  447. package/src/components/common/date-range-display/index.ts +1 -0
  448. package/src/components/common/display-id/display-id.tsx +30 -0
  449. package/src/components/common/display-id/index.ts +1 -0
  450. package/src/components/common/empty-table-content/empty-table-content.tsx +106 -0
  451. package/src/components/common/empty-table-content/index.ts +1 -0
  452. package/src/components/common/file-preview/file-preview.tsx +130 -0
  453. package/src/components/common/file-preview/index.ts +1 -0
  454. package/src/components/common/file-upload/file-upload.tsx +156 -0
  455. package/src/components/common/file-upload/index.ts +1 -0
  456. package/src/components/common/form/form.tsx +222 -0
  457. package/src/components/common/form/index.ts +1 -0
  458. package/src/components/common/icon-avatar/icon-avatar.tsx +42 -0
  459. package/src/components/common/icon-avatar/index.ts +1 -0
  460. package/src/components/common/infinite-list/index.ts +1 -0
  461. package/src/components/common/infinite-list/infinite-list.tsx +151 -0
  462. package/src/components/common/json-view-section/index.ts +1 -0
  463. package/src/components/common/json-view-section/json-view-section.tsx +201 -0
  464. package/src/components/common/link-button/index.ts +1 -0
  465. package/src/components/common/link-button/link-button.tsx +29 -0
  466. package/src/components/common/list-summary/index.ts +1 -0
  467. package/src/components/common/list-summary/list-summary.tsx +70 -0
  468. package/src/components/common/listicle/index.ts +1 -0
  469. package/src/components/common/listicle/listicle.tsx +34 -0
  470. package/src/components/common/logo-box/avatar-box.tsx +87 -0
  471. package/src/components/common/logo-box/index.ts +2 -0
  472. package/src/components/common/logo-box/logo-box.tsx +74 -0
  473. package/src/components/common/metadata-section/index.ts +1 -0
  474. package/src/components/common/metadata-section/metadata-section.tsx +49 -0
  475. package/src/components/common/permission-guard/index.ts +1 -0
  476. package/src/components/common/permission-guard/permission-guard.tsx +148 -0
  477. package/src/components/common/progress-bar/index.ts +1 -0
  478. package/src/components/common/progress-bar/progress-bar.tsx +33 -0
  479. package/src/components/common/required-permissions-section/index.ts +1 -0
  480. package/src/components/common/required-permissions-section/required-permissions-section.tsx +81 -0
  481. package/src/components/common/section/index.ts +1 -0
  482. package/src/components/common/section/section-row.tsx +41 -0
  483. package/src/components/common/segmented-control/index.ts +1 -0
  484. package/src/components/common/segmented-control/segmented-control.tsx +53 -0
  485. package/src/components/common/sidebar-link/indext.ts +1 -0
  486. package/src/components/common/sidebar-link/sidebar-link.tsx +47 -0
  487. package/src/components/common/skeleton/index.ts +1 -0
  488. package/src/components/common/skeleton/skeleton.tsx +327 -0
  489. package/src/components/common/sortable-list/index.ts +1 -0
  490. package/src/components/common/sortable-list/sortable-list.tsx +228 -0
  491. package/src/components/common/sortable-tree/index.ts +1 -0
  492. package/src/components/common/sortable-tree/keyboard-coordinates.ts +156 -0
  493. package/src/components/common/sortable-tree/sortable-tree-item.tsx +62 -0
  494. package/src/components/common/sortable-tree/sortable-tree.tsx +379 -0
  495. package/src/components/common/sortable-tree/tree-item.tsx +207 -0
  496. package/src/components/common/sortable-tree/types.ts +23 -0
  497. package/src/components/common/sortable-tree/utils.ts +299 -0
  498. package/src/components/common/switch-box/index.ts +1 -0
  499. package/src/components/common/switch-box/switch-box.tsx +76 -0
  500. package/src/components/common/tax-badge/tax-badge.tsx +30 -0
  501. package/src/components/common/thumbnail/index.ts +1 -0
  502. package/src/components/common/thumbnail/thumbnail.tsx +32 -0
  503. package/src/components/common/user-link/index.ts +1 -0
  504. package/src/components/common/user-link/user-link.tsx +58 -0
  505. package/src/components/data-grid/components/data-grid-boolean-cell.tsx +71 -0
  506. package/src/components/data-grid/components/data-grid-cell-container.tsx +97 -0
  507. package/src/components/data-grid/components/data-grid-country-select-cell.tsx +149 -0
  508. package/src/components/data-grid/components/data-grid-currency-cell.tsx +140 -0
  509. package/src/components/data-grid/components/data-grid-duplicate-cell.tsx +21 -0
  510. package/src/components/data-grid/components/data-grid-keyboard-shortcut-modal.tsx +245 -0
  511. package/src/components/data-grid/components/data-grid-multiline-cell.tsx +102 -0
  512. package/src/components/data-grid/components/data-grid-number-cell.tsx +94 -0
  513. package/src/components/data-grid/components/data-grid-quantity-price-cell.tsx +36 -0
  514. package/src/components/data-grid/components/data-grid-readonly-cell.tsx +43 -0
  515. package/src/components/data-grid/components/data-grid-root.tsx +1178 -0
  516. package/src/components/data-grid/components/data-grid-row-error-indicator.tsx +55 -0
  517. package/src/components/data-grid/components/data-grid-select-cell.tsx +55 -0
  518. package/src/components/data-grid/components/data-grid-skeleton.tsx +63 -0
  519. package/src/components/data-grid/components/data-grid-text-cell.tsx +75 -0
  520. package/src/components/data-grid/components/data-grid-textarea-modal-cell.tsx +233 -0
  521. package/src/components/data-grid/components/data-grid-toggleable-number-cell.tsx +206 -0
  522. package/src/components/data-grid/components/index.ts +9 -0
  523. package/src/components/data-grid/context/data-grid-context.tsx +45 -0
  524. package/src/components/data-grid/context/index.ts +2 -0
  525. package/src/components/data-grid/context/use-data-grid-context.tsx +14 -0
  526. package/src/components/data-grid/data-grid.tsx +56 -0
  527. package/src/components/data-grid/helpers/create-data-grid-column-helper.ts +93 -0
  528. package/src/components/data-grid/helpers/create-data-grid-price-columns.tsx +148 -0
  529. package/src/components/data-grid/helpers/index.ts +2 -0
  530. package/src/components/data-grid/hooks/index.ts +14 -0
  531. package/src/components/data-grid/hooks/use-data-grid-cell-error.tsx +78 -0
  532. package/src/components/data-grid/hooks/use-data-grid-cell-handlers.tsx +162 -0
  533. package/src/components/data-grid/hooks/use-data-grid-cell-metadata.tsx +75 -0
  534. package/src/components/data-grid/hooks/use-data-grid-cell-snapshot.tsx +75 -0
  535. package/src/components/data-grid/hooks/use-data-grid-cell.tsx +257 -0
  536. package/src/components/data-grid/hooks/use-data-grid-clipboard-events.tsx +130 -0
  537. package/src/components/data-grid/hooks/use-data-grid-column-visibility.tsx +68 -0
  538. package/src/components/data-grid/hooks/use-data-grid-duplicate-cell.tsx +18 -0
  539. package/src/components/data-grid/hooks/use-data-grid-error-highlighting.tsx +133 -0
  540. package/src/components/data-grid/hooks/use-data-grid-form-handlers.tsx +237 -0
  541. package/src/components/data-grid/hooks/use-data-grid-keydown-event.tsx +732 -0
  542. package/src/components/data-grid/hooks/use-data-grid-mouse-up-event.tsx +96 -0
  543. package/src/components/data-grid/hooks/use-data-grid-navigation.tsx +116 -0
  544. package/src/components/data-grid/hooks/use-data-grid-query-tool.tsx +15 -0
  545. package/src/components/data-grid/index.ts +2 -0
  546. package/src/components/data-grid/models/data-grid-bulk-update-command.ts +38 -0
  547. package/src/components/data-grid/models/data-grid-matrix.ts +421 -0
  548. package/src/components/data-grid/models/data-grid-query-tool.ts +74 -0
  549. package/src/components/data-grid/models/data-grid-update-command.ts +33 -0
  550. package/src/components/data-grid/models/index.ts +4 -0
  551. package/src/components/data-grid/types.ts +173 -0
  552. package/src/components/data-grid/utils.ts +28 -0
  553. package/src/components/data-table/components/data-table-status-cell/data-table-status-cell.tsx +35 -0
  554. package/src/components/data-table/data-table.tsx +575 -0
  555. package/src/components/data-table/helpers/general/use-data-table-date-columns.tsx +61 -0
  556. package/src/components/data-table/helpers/general/use-data-table-date-filters.tsx +95 -0
  557. package/src/components/data-table/helpers/sales-channels/index.ts +4 -0
  558. package/src/components/data-table/helpers/sales-channels/use-sales-channel-table-columns.tsx +61 -0
  559. package/src/components/data-table/helpers/sales-channels/use-sales-channel-table-empty-state.tsx +22 -0
  560. package/src/components/data-table/helpers/sales-channels/use-sales-channel-table-filters.tsx +33 -0
  561. package/src/components/data-table/helpers/sales-channels/use-sales-channel-table-query.tsx +30 -0
  562. package/src/components/data-table/index.ts +1 -0
  563. package/src/components/filtering/filter-group/filter-group.tsx +56 -0
  564. package/src/components/filtering/filter-group/index.ts +1 -0
  565. package/src/components/filtering/order-by/index.ts +1 -0
  566. package/src/components/filtering/order-by/order-by.tsx +151 -0
  567. package/src/components/filtering/query/index.ts +1 -0
  568. package/src/components/filtering/query/query.tsx +57 -0
  569. package/src/components/forms/address-form/address-form.tsx +228 -0
  570. package/src/components/forms/address-form/index.ts +1 -0
  571. package/src/components/forms/email-form/email-form.tsx +42 -0
  572. package/src/components/forms/email-form/index.ts +1 -0
  573. package/src/components/forms/metadata-form/index.ts +1 -0
  574. package/src/components/forms/metadata-form/metadata-form.tsx +436 -0
  575. package/src/components/inputs/chip-input/chip-input.tsx +191 -0
  576. package/src/components/inputs/chip-input/index.ts +1 -0
  577. package/src/components/inputs/combobox/__tests__/combobox.spec.tsx +195 -0
  578. package/src/components/inputs/combobox/combobox.tsx +535 -0
  579. package/src/components/inputs/combobox/index.ts +1 -0
  580. package/src/components/inputs/country-select/country-select.tsx +50 -0
  581. package/src/components/inputs/country-select/index.ts +1 -0
  582. package/src/components/inputs/handle-input/handle-input.tsx +24 -0
  583. package/src/components/inputs/handle-input/index.ts +1 -0
  584. package/src/components/inputs/percentage-input/index.ts +1 -0
  585. package/src/components/inputs/percentage-input/percentage-input.tsx +105 -0
  586. package/src/components/inputs/province-select/index.ts +1 -0
  587. package/src/components/inputs/province-select/province-select.tsx +91 -0
  588. package/src/components/layout/main-layout/index.ts +1 -0
  589. package/src/components/layout/main-layout/main-layout.tsx +418 -0
  590. package/src/components/layout/nav-item/index.ts +1 -0
  591. package/src/components/layout/nav-item/nav-item.tsx +466 -0
  592. package/src/components/layout/notifications/index.ts +1 -0
  593. package/src/components/layout/notifications/notifications.tsx +238 -0
  594. package/src/components/layout/pages/index.ts +3 -0
  595. package/src/components/layout/pages/single-column-page/index.ts +2 -0
  596. package/src/components/layout/pages/single-column-page/single-column-layout-component.tsx +14 -0
  597. package/src/components/layout/pages/single-column-page/single-column-page.tsx +63 -0
  598. package/src/components/layout/pages/single-row/index.ts +1 -0
  599. package/src/components/layout/pages/single-row/single-row-layout-component.tsx +14 -0
  600. package/src/components/layout/pages/two-column-page/index.ts +2 -0
  601. package/src/components/layout/pages/two-column-page/two-column-layout-component.tsx +24 -0
  602. package/src/components/layout/pages/two-column-page/two-column-page.tsx +152 -0
  603. package/src/components/layout/pages/types.ts +15 -0
  604. package/src/components/layout/public-layout/index.ts +1 -0
  605. package/src/components/layout/public-layout/public-layout.tsx +12 -0
  606. package/src/components/layout/settings-layout/index.ts +1 -0
  607. package/src/components/layout/settings-layout/settings-layout.tsx +272 -0
  608. package/src/components/layout/settings-layout/settings-sidebar-layout-component.tsx +75 -0
  609. package/src/components/layout/shell/index.ts +1 -0
  610. package/src/components/layout/shell/shell.tsx +294 -0
  611. package/src/components/layout/user-menu/index.ts +1 -0
  612. package/src/components/layout/user-menu/user-menu.tsx +349 -0
  613. package/src/components/layout-composer/constants.ts +21 -0
  614. package/src/components/layout-composer/core-layouts.tsx +39 -0
  615. package/src/components/layout-composer/customizer-menu.tsx +132 -0
  616. package/src/components/layout-composer/detail-page-defaults.tsx +57 -0
  617. package/src/components/layout-composer/entries.ts +187 -0
  618. package/src/components/layout-composer/entry.tsx +18 -0
  619. package/src/components/layout-composer/index.ts +6 -0
  620. package/src/components/layout-composer/layout-composer.tsx +548 -0
  621. package/src/components/layout-composer/section-dropzone.tsx +164 -0
  622. package/src/components/layout-composer/sortable-entry.tsx +164 -0
  623. package/src/components/layout-composer/types.ts +41 -0
  624. package/src/components/localization/localized-table-pagination/index.ts +1 -0
  625. package/src/components/localization/localized-table-pagination/localized-table-pagination.tsx +26 -0
  626. package/src/components/modals/hooks/use-state-aware-to.tsx +36 -0
  627. package/src/components/modals/index.ts +7 -0
  628. package/src/components/modals/route-drawer/index.ts +1 -0
  629. package/src/components/modals/route-drawer/route-drawer.tsx +86 -0
  630. package/src/components/modals/route-focus-modal/index.ts +1 -0
  631. package/src/components/modals/route-focus-modal/route-focus-modal.tsx +108 -0
  632. package/src/components/modals/route-modal-form/index.ts +1 -0
  633. package/src/components/modals/route-modal-form/route-modal-form.tsx +93 -0
  634. package/src/components/modals/route-modal-provider/index.ts +2 -0
  635. package/src/components/modals/route-modal-provider/route-modal-context.tsx +12 -0
  636. package/src/components/modals/route-modal-provider/route-provider.tsx +51 -0
  637. package/src/components/modals/route-modal-provider/use-route-modal.tsx +12 -0
  638. package/src/components/modals/stacked-drawer/index.ts +1 -0
  639. package/src/components/modals/stacked-drawer/stacked-drawer.tsx +85 -0
  640. package/src/components/modals/stacked-focus-modal/index.ts +1 -0
  641. package/src/components/modals/stacked-focus-modal/stacked-focus-modal.tsx +98 -0
  642. package/src/components/modals/stacked-modal-provider/index.ts +2 -0
  643. package/src/components/modals/stacked-modal-provider/stacked-modal-context.tsx +10 -0
  644. package/src/components/modals/stacked-modal-provider/stacked-modal-provider.tsx +54 -0
  645. package/src/components/modals/stacked-modal-provider/use-stacked-modal.ts +14 -0
  646. package/src/components/search/constants.ts +30 -0
  647. package/src/components/search/index.ts +1 -0
  648. package/src/components/search/search.tsx +575 -0
  649. package/src/components/search/types.ts +20 -0
  650. package/src/components/search/use-search-results.tsx +758 -0
  651. package/src/components/table/configurable-data-table/configurable-data-table.tsx +257 -0
  652. package/src/components/table/configurable-data-table/index.ts +3 -0
  653. package/src/components/table/configurable-data-table/save-view-dropdown.tsx +84 -0
  654. package/src/components/table/data-table/data-table-filter/context.tsx +19 -0
  655. package/src/components/table/data-table/data-table-filter/data-table-filter.tsx +296 -0
  656. package/src/components/table/data-table/data-table-filter/date-filter.tsx +328 -0
  657. package/src/components/table/data-table/data-table-filter/filter-chip.tsx +97 -0
  658. package/src/components/table/data-table/data-table-filter/index.ts +1 -0
  659. package/src/components/table/data-table/data-table-filter/number-filter.tsx +316 -0
  660. package/src/components/table/data-table/data-table-filter/select-filter.tsx +201 -0
  661. package/src/components/table/data-table/data-table-filter/string-filter.tsx +125 -0
  662. package/src/components/table/data-table/data-table-filter/types.ts +9 -0
  663. package/src/components/table/data-table/data-table-order-by/data-table-order-by.tsx +153 -0
  664. package/src/components/table/data-table/data-table-order-by/index.ts +1 -0
  665. package/src/components/table/data-table/data-table-query/data-table-query.tsx +39 -0
  666. package/src/components/table/data-table/data-table-query/index.ts +1 -0
  667. package/src/components/table/data-table/data-table-root/data-table-root.tsx +382 -0
  668. package/src/components/table/data-table/data-table-root/index.ts +1 -0
  669. package/src/components/table/data-table/data-table-search/data-table-search.tsx +61 -0
  670. package/src/components/table/data-table/data-table-search/index.ts +1 -0
  671. package/src/components/table/data-table/data-table.tsx +96 -0
  672. package/src/components/table/data-table/hooks.tsx +73 -0
  673. package/src/components/table/data-table/index.ts +2 -0
  674. package/src/components/table/save-view-dialog/index.ts +1 -0
  675. package/src/components/table/save-view-dialog/save-view-dialog.tsx +174 -0
  676. package/src/components/table/save-view-dropdown/index.ts +1 -0
  677. package/src/components/table/save-view-dropdown/save-view-dropdown.tsx +80 -0
  678. package/src/components/table/table-cells/common/code-cell/code-cell.tsx +27 -0
  679. package/src/components/table/table-cells/common/code-cell/index.ts +1 -0
  680. package/src/components/table/table-cells/common/created-at-cell/created-at-cell.tsx +44 -0
  681. package/src/components/table/table-cells/common/created-at-cell/index.ts +1 -0
  682. package/src/components/table/table-cells/common/date-cell/date-cell.tsx +44 -0
  683. package/src/components/table/table-cells/common/date-cell/index.ts +1 -0
  684. package/src/components/table/table-cells/common/email-cell/email-cell.tsx +28 -0
  685. package/src/components/table/table-cells/common/email-cell/index.ts +1 -0
  686. package/src/components/table/table-cells/common/money-amount-cell/index.ts +1 -0
  687. package/src/components/table/table-cells/common/money-amount-cell/money-amount-cell.tsx +38 -0
  688. package/src/components/table/table-cells/common/name-cell/index.ts +1 -0
  689. package/src/components/table/table-cells/common/name-cell/name-cell.tsx +31 -0
  690. package/src/components/table/table-cells/common/placeholder-cell/index.ts +1 -0
  691. package/src/components/table/table-cells/common/placeholder-cell/placeholder-cell.tsx +7 -0
  692. package/src/components/table/table-cells/common/status-cell/index.ts +1 -0
  693. package/src/components/table/table-cells/common/status-cell/status-cell.tsx +35 -0
  694. package/src/components/table/table-cells/common/text-cell/index.ts +1 -0
  695. package/src/components/table/table-cells/common/text-cell/text-cell.tsx +60 -0
  696. package/src/components/table/table-cells/common/tiered-price-cell/tiered-price-cell.tsx +213 -0
  697. package/src/components/table/table-cells/common/tiered-price-cell/tiered-price-controls.spec.tsx +98 -0
  698. package/src/components/table/table-cells/common/tiered-price-cell/tiered-price-controls.tsx +57 -0
  699. package/src/components/table/table-cells/customer/account-cell/account-cell.tsx +27 -0
  700. package/src/components/table/table-cells/customer/first-seen-cell/first-seen-cell.tsx +25 -0
  701. package/src/components/table/table-cells/customer/first-seen-cell/index.ts +1 -0
  702. package/src/components/table/table-cells/order/country-cell/country-cell.tsx +32 -0
  703. package/src/components/table/table-cells/order/country-cell/index.ts +1 -0
  704. package/src/components/table/table-cells/order/customer-cell/customer-cell.tsx +31 -0
  705. package/src/components/table/table-cells/order/customer-cell/index.ts +1 -0
  706. package/src/components/table/table-cells/order/display-id-cell/display-id-cell.tsx +24 -0
  707. package/src/components/table/table-cells/order/display-id-cell/index.ts +1 -0
  708. package/src/components/table/table-cells/order/fulfillment-status-cell/fulfillment-status-cell.tsx +35 -0
  709. package/src/components/table/table-cells/order/fulfillment-status-cell/index.ts +1 -0
  710. package/src/components/table/table-cells/order/payment-status-cell/index.ts +1 -0
  711. package/src/components/table/table-cells/order/payment-status-cell/payment-status-cell.tsx +26 -0
  712. package/src/components/table/table-cells/order/sales-channel-cell/index.ts +1 -0
  713. package/src/components/table/table-cells/order/sales-channel-cell/sales-channel-cell.tsx +30 -0
  714. package/src/components/table/table-cells/order/total-cell/index.ts +1 -0
  715. package/src/components/table/table-cells/order/total-cell/total-cell.tsx +38 -0
  716. package/src/components/table/table-cells/product/collection-cell/collection-cell.tsx +30 -0
  717. package/src/components/table/table-cells/product/collection-cell/index.ts +1 -0
  718. package/src/components/table/table-cells/product/product-cell/index.ts +1 -0
  719. package/src/components/table/table-cells/product/product-cell/product-cell.tsx +31 -0
  720. package/src/components/table/table-cells/product/product-status-cell/index.ts +1 -0
  721. package/src/components/table/table-cells/product/product-status-cell/product-status-cell.tsx +31 -0
  722. package/src/components/table/table-cells/product/sales-channels-cell/index.ts +1 -0
  723. package/src/components/table/table-cells/product/sales-channels-cell/sales-channels-cell.tsx +73 -0
  724. package/src/components/table/table-cells/product/variant-cell/index.ts +1 -0
  725. package/src/components/table/table-cells/product/variant-cell/variant-cell.tsx +34 -0
  726. package/src/components/table/table-cells/promotion/status-cell/index.ts +1 -0
  727. package/src/components/table/table-cells/promotion/status-cell/status-cell.tsx +13 -0
  728. package/src/components/table/table-cells/region/countries-cell/countries-cell.tsx +39 -0
  729. package/src/components/table/table-cells/region/countries-cell/index.ts +1 -0
  730. package/src/components/table/table-cells/region/fulfillment-providers-cell/fulfillment-providers-cell.tsx +49 -0
  731. package/src/components/table/table-cells/region/fulfillment-providers-cell/index.ts +1 -0
  732. package/src/components/table/table-cells/region/payment-providers-cell/index.ts +1 -0
  733. package/src/components/table/table-cells/region/payment-providers-cell/payment-providers-cell.tsx +36 -0
  734. package/src/components/table/table-cells/region/region-cell/index.ts +1 -0
  735. package/src/components/table/table-cells/region/region-cell/region-cell.tsx +23 -0
  736. package/src/components/table/table-cells/sales-channel/description-cell/description-cell.tsx +28 -0
  737. package/src/components/table/table-cells/sales-channel/description-cell/index.ts +1 -0
  738. package/src/components/table/table-cells/sales-channel/name-cell/index.ts +1 -0
  739. package/src/components/table/table-cells/sales-channel/name-cell/name-cell.tsx +28 -0
  740. package/src/components/table/table-cells/shipping-option/admin-only-cell/admin-only-cell.tsx +25 -0
  741. package/src/components/table/table-cells/shipping-option/admin-only-cell/index.ts +1 -0
  742. package/src/components/table/table-cells/shipping-option/is-return-cell/index.ts +1 -0
  743. package/src/components/table/table-cells/shipping-option/is-return-cell/is-return-cell.tsx +27 -0
  744. package/src/components/table/table-cells/shipping-option/price-type-cell/index.ts +1 -0
  745. package/src/components/table/table-cells/shipping-option/price-type-cell/price-type-cell.tsx +34 -0
  746. package/src/components/table/table-cells/shipping-option/shipping-option-cell/index.ts +1 -0
  747. package/src/components/table/table-cells/shipping-option/shipping-option-cell/shipping-option-cell.tsx +28 -0
  748. package/src/components/table/table-cells/shipping-option/shipping-price-cell/shipping-price-cell.tsx +31 -0
  749. package/src/components/table/table-cells/taxes/type-cell/index.ts +1 -0
  750. package/src/components/table/table-cells/taxes/type-cell/type-cell.tsx +33 -0
  751. package/src/components/table/view-selector/index.ts +2 -0
  752. package/src/components/table/view-selector/view-pills.tsx +264 -0
  753. package/src/components/table/view-selector/view-selector.tsx +257 -0
  754. package/src/components/utilities/error-boundary/error-boundary.tsx +154 -0
  755. package/src/components/utilities/error-boundary/index.ts +1 -0
  756. package/src/components/utilities/generic-forward-ref/generic-forward-ref.tsx +7 -0
  757. package/src/components/utilities/generic-forward-ref/index.ts +1 -0
  758. package/src/components/utilities/i18n/i18n.tsx +33 -0
  759. package/src/components/utilities/i18n/index.ts +1 -0
  760. package/src/components/utilities/keybound-form/index.ts +1 -0
  761. package/src/components/utilities/keybound-form/keybound-form.tsx +42 -0
  762. package/src/components/utilities/visually-hidden/index.ts +1 -0
  763. package/src/components/utilities/visually-hidden/visually-hidden.tsx +5 -0
  764. package/src/css.d.ts +1 -0
  765. package/src/dashboard-app/__tests__/sort-menu-items-by-rank.spec.ts +175 -0
  766. package/src/dashboard-app/dashboard-app.tsx +591 -0
  767. package/src/dashboard-app/forms/form-extension-zone/form-extension-zone.tsx +116 -0
  768. package/src/dashboard-app/forms/form-extension-zone/index.ts +1 -0
  769. package/src/dashboard-app/forms/form-extension-zone/types.ts +1 -0
  770. package/src/dashboard-app/forms/form-extension-zone/utils.ts +53 -0
  771. package/src/dashboard-app/forms/hooks.tsx +105 -0
  772. package/src/dashboard-app/forms/index.ts +2 -0
  773. package/src/dashboard-app/index.ts +12 -0
  774. package/src/dashboard-app/links/utils.ts +20 -0
  775. package/src/dashboard-app/routes/get-route.map.tsx +2316 -0
  776. package/src/dashboard-app/routes/utils.ts +229 -0
  777. package/src/dashboard-app/types.ts +181 -0
  778. package/src/dashboard-app/utils/sort-menu-items-by-rank.ts +42 -0
  779. package/src/exports/components.tsx +43 -0
  780. package/src/exports/hooks.ts +3 -0
  781. package/src/hooks/__tests__/use-document-title-hook.spec.tsx +121 -0
  782. package/src/hooks/__tests__/use-document-title.spec.tsx +184 -0
  783. package/src/hooks/api/api-keys.tsx +179 -0
  784. package/src/hooks/api/auth.tsx +81 -0
  785. package/src/hooks/api/campaigns.tsx +138 -0
  786. package/src/hooks/api/categories.tsx +186 -0
  787. package/src/hooks/api/claims.tsx +601 -0
  788. package/src/hooks/api/cloud.tsx +41 -0
  789. package/src/hooks/api/collections.tsx +180 -0
  790. package/src/hooks/api/currencies.tsx +52 -0
  791. package/src/hooks/api/customer-groups.tsx +207 -0
  792. package/src/hooks/api/customers.tsx +262 -0
  793. package/src/hooks/api/exchanges.tsx +478 -0
  794. package/src/hooks/api/feature-flags.tsx +27 -0
  795. package/src/hooks/api/fulfillment-providers.tsx +59 -0
  796. package/src/hooks/api/fulfillment-sets.tsx +180 -0
  797. package/src/hooks/api/fulfillment.tsx +66 -0
  798. package/src/hooks/api/index.ts +45 -0
  799. package/src/hooks/api/inventory.tsx +274 -0
  800. package/src/hooks/api/invites.tsx +135 -0
  801. package/src/hooks/api/layouts.tsx +115 -0
  802. package/src/hooks/api/locales.tsx +52 -0
  803. package/src/hooks/api/mfa.tsx +131 -0
  804. package/src/hooks/api/notification.tsx +52 -0
  805. package/src/hooks/api/order-edits.tsx +242 -0
  806. package/src/hooks/api/orders.tsx +493 -0
  807. package/src/hooks/api/payment-collections.tsx +104 -0
  808. package/src/hooks/api/payments.tsx +116 -0
  809. package/src/hooks/api/plugins.tsx +28 -0
  810. package/src/hooks/api/price-lists.tsx +199 -0
  811. package/src/hooks/api/price-preferences.tsx +120 -0
  812. package/src/hooks/api/product-options.tsx +270 -0
  813. package/src/hooks/api/product-types.tsx +152 -0
  814. package/src/hooks/api/product-variants.tsx +69 -0
  815. package/src/hooks/api/products.tsx +488 -0
  816. package/src/hooks/api/promotions.tsx +286 -0
  817. package/src/hooks/api/rbac-policies.tsx +188 -0
  818. package/src/hooks/api/rbac-roles.tsx +371 -0
  819. package/src/hooks/api/refund-reasons.tsx +124 -0
  820. package/src/hooks/api/regions.tsx +131 -0
  821. package/src/hooks/api/reservations.tsx +149 -0
  822. package/src/hooks/api/return-reasons.tsx +131 -0
  823. package/src/hooks/api/returns.tsx +651 -0
  824. package/src/hooks/api/sales-channels.tsx +236 -0
  825. package/src/hooks/api/shipping-option-types.tsx +128 -0
  826. package/src/hooks/api/shipping-options.tsx +128 -0
  827. package/src/hooks/api/shipping-profiles.tsx +131 -0
  828. package/src/hooks/api/stock-locations.tsx +202 -0
  829. package/src/hooks/api/store.tsx +83 -0
  830. package/src/hooks/api/tags.tsx +160 -0
  831. package/src/hooks/api/tax-rates.tsx +127 -0
  832. package/src/hooks/api/tax-regions.tsx +124 -0
  833. package/src/hooks/api/translations.tsx +241 -0
  834. package/src/hooks/api/users.tsx +131 -0
  835. package/src/hooks/api/views.tsx +252 -0
  836. package/src/hooks/api/workflow-executions.tsx +52 -0
  837. package/src/hooks/table/columns/index.ts +12 -0
  838. package/src/hooks/table/columns/use-campaign-table-columns.tsx +73 -0
  839. package/src/hooks/table/columns/use-collection-table-columns.tsx +33 -0
  840. package/src/hooks/table/columns/use-column-state.ts +209 -0
  841. package/src/hooks/table/columns/use-configurable-table-columns.tsx +123 -0
  842. package/src/hooks/table/columns/use-customer-group-table-columns.tsx +33 -0
  843. package/src/hooks/table/columns/use-customer-table-columns.tsx +51 -0
  844. package/src/hooks/table/columns/use-fulfillment-provider-table-columns.tsx +25 -0
  845. package/src/hooks/table/columns/use-order-data-table-columns.tsx +240 -0
  846. package/src/hooks/table/columns/use-order-table-columns.tsx +160 -0
  847. package/src/hooks/table/columns/use-product-option-table-columns.tsx +48 -0
  848. package/src/hooks/table/columns/use-product-table-columns.tsx +59 -0
  849. package/src/hooks/table/columns/use-product-tag-table-columns.tsx +35 -0
  850. package/src/hooks/table/columns/use-product-type-table-columns.tsx +36 -0
  851. package/src/hooks/table/columns/use-promotion-table-columns.tsx +49 -0
  852. package/src/hooks/table/columns/use-refund-reason-table-columns.tsx +39 -0
  853. package/src/hooks/table/columns/use-region-table-columns.tsx +40 -0
  854. package/src/hooks/table/columns/use-return-reason-table-columns.tsx +39 -0
  855. package/src/hooks/table/columns/use-shipping-option-table-columns.tsx +89 -0
  856. package/src/hooks/table/columns/use-shipping-option-type-table-columns.tsx +44 -0
  857. package/src/hooks/table/columns/use-tax-rates-table-columns.tsx +55 -0
  858. package/src/hooks/table/filters/index.ts +13 -0
  859. package/src/hooks/table/filters/use-collection-table-filters.tsx +7 -0
  860. package/src/hooks/table/filters/use-customer-group-table-filters.tsx +21 -0
  861. package/src/hooks/table/filters/use-customer-table-filters.tsx +68 -0
  862. package/src/hooks/table/filters/use-date-table-filters.tsx +17 -0
  863. package/src/hooks/table/filters/use-order-table-filters.tsx +158 -0
  864. package/src/hooks/table/filters/use-product-option-table-filters.tsx +33 -0
  865. package/src/hooks/table/filters/use-product-table-filters.tsx +212 -0
  866. package/src/hooks/table/filters/use-product-tag-table-filters.tsx +7 -0
  867. package/src/hooks/table/filters/use-product-type-table-filters.tsx +7 -0
  868. package/src/hooks/table/filters/use-promotion-table-filters.tsx +13 -0
  869. package/src/hooks/table/filters/use-region-table-filters.tsx +19 -0
  870. package/src/hooks/table/filters/use-shipping-option-table-filters.tsx +30 -0
  871. package/src/hooks/table/filters/use-shipping-option-type-table-filters.tsx +5 -0
  872. package/src/hooks/table/filters/use-tax-rate-table-filters.tsx +19 -0
  873. package/src/hooks/table/query/index.ts +15 -0
  874. package/src/hooks/table/query/use-campaign-table-query.tsx +31 -0
  875. package/src/hooks/table/query/use-collection-table-query.tsx +33 -0
  876. package/src/hooks/table/query/use-customer-group-table-query.tsx +33 -0
  877. package/src/hooks/table/query/use-customer-table-query.tsx +44 -0
  878. package/src/hooks/table/query/use-fulfillment-providers-table-query.tsx +31 -0
  879. package/src/hooks/table/query/use-order-table-query.tsx +60 -0
  880. package/src/hooks/table/query/use-product-option-table-query.tsx +58 -0
  881. package/src/hooks/table/query/use-product-option-value-table-query.tsx +33 -0
  882. package/src/hooks/table/query/use-product-table-query.tsx +72 -0
  883. package/src/hooks/table/query/use-product-tag-table-query.tsx +32 -0
  884. package/src/hooks/table/query/use-product-type-table-query.tsx +32 -0
  885. package/src/hooks/table/query/use-product-variant-table-query.tsx +32 -0
  886. package/src/hooks/table/query/use-promotion-table-query.tsx +33 -0
  887. package/src/hooks/table/query/use-refund-reason-table-query.tsx +32 -0
  888. package/src/hooks/table/query/use-region-table-query.tsx +33 -0
  889. package/src/hooks/table/query/use-return-reason-table-query.tsx +32 -0
  890. package/src/hooks/table/query/use-shipping-option-table-query.tsx +59 -0
  891. package/src/hooks/table/query/use-shipping-option-type-table-query.tsx +32 -0
  892. package/src/hooks/table/query/use-tax-rate-table-query.tsx +33 -0
  893. package/src/hooks/table/query/use-tax-region-table-query.tsx +32 -0
  894. package/src/hooks/table/query/use-user-invite-table-query.tsx +35 -0
  895. package/src/hooks/table/use-table-configuration.tsx +333 -0
  896. package/src/hooks/use-combined-refs.tsx +19 -0
  897. package/src/hooks/use-combobox-data.tsx +127 -0
  898. package/src/hooks/use-command-history.tsx +67 -0
  899. package/src/hooks/use-data-table.tsx +132 -0
  900. package/src/hooks/use-date.tsx +48 -0
  901. package/src/hooks/use-debounced-search.tsx +29 -0
  902. package/src/hooks/use-document-direction.tsx +54 -0
  903. package/src/hooks/use-document-title.tsx +127 -0
  904. package/src/hooks/use-handle-table-scroll.tsx +24 -0
  905. package/src/hooks/use-infinite-list.tsx +92 -0
  906. package/src/hooks/use-layout-customizer-trigger-host.tsx +45 -0
  907. package/src/hooks/use-layout-dnd.ts +263 -0
  908. package/src/hooks/use-layout-edit.tsx +8 -0
  909. package/src/hooks/use-layout-preference.ts +124 -0
  910. package/src/hooks/use-media-query.tsx +14 -0
  911. package/src/hooks/use-query-params.tsx +24 -0
  912. package/src/hooks/use-require-rbac-feature.tsx +32 -0
  913. package/src/hooks/use-resource-permissions.tsx +93 -0
  914. package/src/hooks/use-view-configurations.tsx +107 -0
  915. package/src/i18n/config.ts +16 -0
  916. package/src/i18n/languages.ts +237 -0
  917. package/src/i18n/plural-config.json +35 -0
  918. package/src/i18n/translations/$schema.json +14223 -0
  919. package/src/i18n/translations/__tests__/validate-translations.spec.ts +154 -0
  920. package/src/i18n/translations/ar.json +2956 -0
  921. package/src/i18n/translations/bg.json +2987 -0
  922. package/src/i18n/translations/bs.json +3016 -0
  923. package/src/i18n/translations/cs.json +3343 -0
  924. package/src/i18n/translations/de.json +2792 -0
  925. package/src/i18n/translations/el.json +2960 -0
  926. package/src/i18n/translations/en.json +3678 -0
  927. package/src/i18n/translations/enGB.json +3343 -0
  928. package/src/i18n/translations/es.json +3312 -0
  929. package/src/i18n/translations/fa.json +2932 -0
  930. package/src/i18n/translations/fr.json +2791 -0
  931. package/src/i18n/translations/he.json +3017 -0
  932. package/src/i18n/translations/hr.json +3343 -0
  933. package/src/i18n/translations/hu.json +3005 -0
  934. package/src/i18n/translations/id.json +3020 -0
  935. package/src/i18n/translations/index.ts +135 -0
  936. package/src/i18n/translations/it.json +2817 -0
  937. package/src/i18n/translations/ja.json +3633 -0
  938. package/src/i18n/translations/ko.json +3026 -0
  939. package/src/i18n/translations/lt.json +3007 -0
  940. package/src/i18n/translations/mk.json +2925 -0
  941. package/src/i18n/translations/mn.json +2922 -0
  942. package/src/i18n/translations/nl.json +3005 -0
  943. package/src/i18n/translations/pl.json +3227 -0
  944. package/src/i18n/translations/ptBR.json +2889 -0
  945. package/src/i18n/translations/ptPT.json +3219 -0
  946. package/src/i18n/translations/ro.json +2935 -0
  947. package/src/i18n/translations/ru.json +2936 -0
  948. package/src/i18n/translations/th.json +3343 -0
  949. package/src/i18n/translations/tr.json +3348 -0
  950. package/src/i18n/translations/uk.json +2856 -0
  951. package/src/i18n/translations/vi.json +3051 -0
  952. package/src/i18n/translations/zhCN.json +3017 -0
  953. package/src/i18n/translations/zhTW.json +3249 -0
  954. package/src/i18n/types.ts +15 -0
  955. package/src/i18next.d.ts +7 -0
  956. package/src/index.css +48 -0
  957. package/src/index.ts +10 -0
  958. package/src/lib/addresses.ts +97 -0
  959. package/src/lib/cast-number.ts +6 -0
  960. package/src/lib/client/client.ts +18 -0
  961. package/src/lib/client/index.ts +1 -0
  962. package/src/lib/common.ts +45 -0
  963. package/src/lib/credit-line.ts +8 -0
  964. package/src/lib/data/countries.ts +1767 -0
  965. package/src/lib/data/country-states.ts +1311 -0
  966. package/src/lib/data/currencies.ts +768 -0
  967. package/src/lib/form-helpers.ts +69 -0
  968. package/src/lib/format-currency.ts +7 -0
  969. package/src/lib/format-file-size.ts +19 -0
  970. package/src/lib/format-provider.ts +18 -0
  971. package/src/lib/is-fetch-error.ts +5 -0
  972. package/src/lib/money-amount-helpers.ts +75 -0
  973. package/src/lib/number-helper.ts +19 -0
  974. package/src/lib/order-helpers.ts +74 -0
  975. package/src/lib/order-item.ts +5 -0
  976. package/src/lib/orders.ts +23 -0
  977. package/src/lib/payment.ts +23 -0
  978. package/src/lib/percentage-helpers.ts +28 -0
  979. package/src/lib/permissions/constants.ts +16 -0
  980. package/src/lib/permissions/index.ts +18 -0
  981. package/src/lib/permissions/route-permissions.ts +51 -0
  982. package/src/lib/permissions/types.ts +138 -0
  983. package/src/lib/permissions/utils.ts +42 -0
  984. package/src/lib/plugins.ts +7 -0
  985. package/src/lib/promotions.ts +55 -0
  986. package/src/lib/query-client.ts +13 -0
  987. package/src/lib/query-key-factory.ts +58 -0
  988. package/src/lib/rma.ts +17 -0
  989. package/src/lib/schemas.ts +36 -0
  990. package/src/lib/shipping-options.ts +62 -0
  991. package/src/lib/storefront.ts +2 -0
  992. package/src/lib/table/cell-renderers.tsx +352 -0
  993. package/src/lib/table/entity-adapters.tsx +151 -0
  994. package/src/lib/table/entity-defaults.ts +73 -0
  995. package/src/lib/table/field-utils.ts +90 -0
  996. package/src/lib/table/table-adapters.ts +94 -0
  997. package/src/lib/table-display-utils.tsx +436 -0
  998. package/src/lib/validation.ts +101 -0
  999. package/src/main.tsx +9 -0
  1000. package/src/module.d.ts +47 -0
  1001. package/src/providers/customizer-host-provider/customizer-host-context.tsx +5 -0
  1002. package/src/providers/customizer-host-provider/customizer-host-provider.tsx +87 -0
  1003. package/src/providers/extension-provider/extension-context.tsx +4 -0
  1004. package/src/providers/extension-provider/extension-provider.tsx +18 -0
  1005. package/src/providers/extension-provider/index.ts +2 -0
  1006. package/src/providers/extension-provider/use-extension.tsx +11 -0
  1007. package/src/providers/feature-flag-provider/index.tsx +50 -0
  1008. package/src/providers/i18n-provider/i18n-provider.tsx +25 -0
  1009. package/src/providers/i18n-provider/index.ts +1 -0
  1010. package/src/providers/index.ts +1 -0
  1011. package/src/providers/keybind-provider/hooks.tsx +319 -0
  1012. package/src/providers/keybind-provider/index.ts +3 -0
  1013. package/src/providers/keybind-provider/keybind-context.tsx +4 -0
  1014. package/src/providers/keybind-provider/keybind-provider.tsx +64 -0
  1015. package/src/providers/keybind-provider/types.ts +28 -0
  1016. package/src/providers/keybind-provider/utils.ts +92 -0
  1017. package/src/providers/layout-edit-provider/layout-edit-context.tsx +38 -0
  1018. package/src/providers/layout-edit-provider/layout-edit-provider.tsx +3 -0
  1019. package/src/providers/permissions-provider/index.ts +7 -0
  1020. package/src/providers/permissions-provider/permissions-context.tsx +5 -0
  1021. package/src/providers/permissions-provider/permissions-provider.tsx +121 -0
  1022. package/src/providers/permissions-provider/permissions-requirement.tsx +81 -0
  1023. package/src/providers/permissions-provider/permissions-requirements-context.tsx +5 -0
  1024. package/src/providers/permissions-provider/permissions-requirements-provider.tsx +77 -0
  1025. package/src/providers/permissions-provider/use-permissions.tsx +35 -0
  1026. package/src/providers/permissions-provider/use-register-permissions.tsx +67 -0
  1027. package/src/providers/permissions-provider/use-required-permissions.tsx +11 -0
  1028. package/src/providers/providers.tsx +34 -0
  1029. package/src/providers/search-provider/index.ts +2 -0
  1030. package/src/providers/search-provider/search-context.tsx +9 -0
  1031. package/src/providers/search-provider/search-provider.tsx +50 -0
  1032. package/src/providers/search-provider/use-search.tsx +10 -0
  1033. package/src/providers/sidebar-provider/index.ts +2 -0
  1034. package/src/providers/sidebar-provider/sidebar-context.tsx +9 -0
  1035. package/src/providers/sidebar-provider/sidebar-provider.tsx +31 -0
  1036. package/src/providers/sidebar-provider/use-sidebar.tsx +12 -0
  1037. package/src/providers/theme-provider/index.ts +3 -0
  1038. package/src/providers/theme-provider/theme-context.tsx +11 -0
  1039. package/src/providers/theme-provider/theme-provider.tsx +84 -0
  1040. package/src/providers/theme-provider/use-theme.tsx +10 -0
  1041. package/src/routes/api-key-management/api-key-management-create/api-key-management-create.tsx +15 -0
  1042. package/src/routes/api-key-management/api-key-management-create/components/api-key-create-form/api-key-create-form.tsx +216 -0
  1043. package/src/routes/api-key-management/api-key-management-create/components/api-key-create-form/index.ts +1 -0
  1044. package/src/routes/api-key-management/api-key-management-create/index.ts +1 -0
  1045. package/src/routes/api-key-management/api-key-management-detail/api-key-management-detail.tsx +55 -0
  1046. package/src/routes/api-key-management/api-key-management-detail/breadcrumb.tsx +28 -0
  1047. package/src/routes/api-key-management/api-key-management-detail/components/api-key-general-section/api-key-general-section.tsx +249 -0
  1048. package/src/routes/api-key-management/api-key-management-detail/components/api-key-general-section/index.ts +1 -0
  1049. package/src/routes/api-key-management/api-key-management-detail/components/api-key-sales-channel-section/api-key-sales-channel-section.tsx +206 -0
  1050. package/src/routes/api-key-management/api-key-management-detail/components/api-key-sales-channel-section/index.ts +1 -0
  1051. package/src/routes/api-key-management/api-key-management-detail/index.ts +3 -0
  1052. package/src/routes/api-key-management/api-key-management-detail/loader.ts +17 -0
  1053. package/src/routes/api-key-management/api-key-management-edit/api-key-management-edit.tsx +34 -0
  1054. package/src/routes/api-key-management/api-key-management-edit/components/edit-api-key-form/edit-api-key-form.tsx +87 -0
  1055. package/src/routes/api-key-management/api-key-management-edit/components/edit-api-key-form/index.ts +1 -0
  1056. package/src/routes/api-key-management/api-key-management-edit/index.ts +1 -0
  1057. package/src/routes/api-key-management/api-key-management-list/api-key-management-list.tsx +26 -0
  1058. package/src/routes/api-key-management/api-key-management-list/components/api-key-management-list-table/api-key-management-list-table.tsx +93 -0
  1059. package/src/routes/api-key-management/api-key-management-list/components/api-key-management-list-table/api-key-row-actions.tsx +123 -0
  1060. package/src/routes/api-key-management/api-key-management-list/components/api-key-management-list-table/index.ts +1 -0
  1061. package/src/routes/api-key-management/api-key-management-list/components/api-key-management-list-table/use-api-key-management-table-columns.tsx +80 -0
  1062. package/src/routes/api-key-management/api-key-management-list/components/api-key-management-list-table/use-api-key-management-table-filters.tsx +18 -0
  1063. package/src/routes/api-key-management/api-key-management-list/components/api-key-management-list-table/use-api-key-management-table-query.tsx +34 -0
  1064. package/src/routes/api-key-management/api-key-management-list/index.ts +1 -0
  1065. package/src/routes/api-key-management/api-key-management-sales-channels/api-key-management-sales-channels.tsx +32 -0
  1066. package/src/routes/api-key-management/api-key-management-sales-channels/components/api-key-sales-channels-form/api-key-sales-channels-form.tsx +202 -0
  1067. package/src/routes/api-key-management/api-key-management-sales-channels/components/api-key-sales-channels-form/index.ts +1 -0
  1068. package/src/routes/api-key-management/api-key-management-sales-channels/index.ts +1 -0
  1069. package/src/routes/api-key-management/common/constants.ts +4 -0
  1070. package/src/routes/api-key-management/common/utils.ts +62 -0
  1071. package/src/routes/campaigns/add-campaign-promotions/add-campaign-promotions.tsx +19 -0
  1072. package/src/routes/campaigns/add-campaign-promotions/components/add-campaign-promotions-form.tsx +260 -0
  1073. package/src/routes/campaigns/add-campaign-promotions/components/index.ts +1 -0
  1074. package/src/routes/campaigns/add-campaign-promotions/index.ts +1 -0
  1075. package/src/routes/campaigns/campaign-budget-edit/campaign-budget-edit.tsx +29 -0
  1076. package/src/routes/campaigns/campaign-budget-edit/components/edit-campaign-budget-form/edit-campaign-budget-form.tsx +138 -0
  1077. package/src/routes/campaigns/campaign-budget-edit/components/edit-campaign-budget-form/index.ts +1 -0
  1078. package/src/routes/campaigns/campaign-budget-edit/index.ts +1 -0
  1079. package/src/routes/campaigns/campaign-configuration/campaign-configuration.tsx +33 -0
  1080. package/src/routes/campaigns/campaign-configuration/components/campaign-configuration-form/campaign-configuration-form.tsx +134 -0
  1081. package/src/routes/campaigns/campaign-configuration/components/campaign-configuration-form/index.ts +1 -0
  1082. package/src/routes/campaigns/campaign-configuration/index.ts +1 -0
  1083. package/src/routes/campaigns/campaign-create/campaign-create.tsx +10 -0
  1084. package/src/routes/campaigns/campaign-create/components/create-campaign-form/create-campaign-form.tsx +118 -0
  1085. package/src/routes/campaigns/campaign-create/components/create-campaign-form/index.ts +1 -0
  1086. package/src/routes/campaigns/campaign-create/index.ts +1 -0
  1087. package/src/routes/campaigns/campaign-detail/breadcrumb.tsx +33 -0
  1088. package/src/routes/campaigns/campaign-detail/campaign-detail.tsx +76 -0
  1089. package/src/routes/campaigns/campaign-detail/components/campaign-budget/campaign-budget.tsx +88 -0
  1090. package/src/routes/campaigns/campaign-detail/components/campaign-budget/index.ts +1 -0
  1091. package/src/routes/campaigns/campaign-detail/components/campaign-configuration-section/campaign-configuration-section.tsx +43 -0
  1092. package/src/routes/campaigns/campaign-detail/components/campaign-configuration-section/index.ts +1 -0
  1093. package/src/routes/campaigns/campaign-detail/components/campaign-general-section/campaign-general-section.tsx +137 -0
  1094. package/src/routes/campaigns/campaign-detail/components/campaign-general-section/index.ts +1 -0
  1095. package/src/routes/campaigns/campaign-detail/components/campaign-promotion-section/campaign-promotion-section.tsx +237 -0
  1096. package/src/routes/campaigns/campaign-detail/components/campaign-promotion-section/index.ts +1 -0
  1097. package/src/routes/campaigns/campaign-detail/components/campaign-spend/campaign-spend.tsx +61 -0
  1098. package/src/routes/campaigns/campaign-detail/components/campaign-spend/index.ts +1 -0
  1099. package/src/routes/campaigns/campaign-detail/constants.ts +1 -0
  1100. package/src/routes/campaigns/campaign-detail/index.ts +3 -0
  1101. package/src/routes/campaigns/campaign-detail/loader.ts +21 -0
  1102. package/src/routes/campaigns/campaign-edit/campaign-edit.tsx +33 -0
  1103. package/src/routes/campaigns/campaign-edit/components/edit-campaign-form/edit-campaign-form.tsx +194 -0
  1104. package/src/routes/campaigns/campaign-edit/components/edit-campaign-form/index.ts +1 -0
  1105. package/src/routes/campaigns/campaign-edit/index.ts +1 -0
  1106. package/src/routes/campaigns/campaign-list/campaign-list.tsx +20 -0
  1107. package/src/routes/campaigns/campaign-list/components/campaign-list-table.tsx +157 -0
  1108. package/src/routes/campaigns/campaign-list/components/index.ts +1 -0
  1109. package/src/routes/campaigns/campaign-list/index.ts +1 -0
  1110. package/src/routes/campaigns/common/components/create-campaign-form-fields/create-campaign-form-fields.tsx +408 -0
  1111. package/src/routes/campaigns/common/components/create-campaign-form-fields/index.ts +1 -0
  1112. package/src/routes/campaigns/common/constants.ts +15 -0
  1113. package/src/routes/campaigns/common/utils/campaign-status.ts +31 -0
  1114. package/src/routes/categories/categories-metadata/categories-metadata.tsx +34 -0
  1115. package/src/routes/categories/categories-metadata/index.ts +1 -0
  1116. package/src/routes/categories/category-create/category-create.tsx +16 -0
  1117. package/src/routes/categories/category-create/components/create-category-form/create-category-details.tsx +136 -0
  1118. package/src/routes/categories/category-create/components/create-category-form/create-category-form.tsx +210 -0
  1119. package/src/routes/categories/category-create/components/create-category-form/create-category-nesting.tsx +114 -0
  1120. package/src/routes/categories/category-create/components/create-category-form/index.ts +1 -0
  1121. package/src/routes/categories/category-create/components/create-category-form/schema.ts +17 -0
  1122. package/src/routes/categories/category-create/index.ts +1 -0
  1123. package/src/routes/categories/category-detail/breadcrumb.tsx +35 -0
  1124. package/src/routes/categories/category-detail/category-detail.tsx +69 -0
  1125. package/src/routes/categories/category-detail/components/category-general-section/category-general-section.tsx +93 -0
  1126. package/src/routes/categories/category-detail/components/category-general-section/index.ts +1 -0
  1127. package/src/routes/categories/category-detail/components/category-organize-section/category-organize-section.tsx +216 -0
  1128. package/src/routes/categories/category-detail/components/category-organize-section/index.ts +1 -0
  1129. package/src/routes/categories/category-detail/components/category-product-section/category-product-section.tsx +204 -0
  1130. package/src/routes/categories/category-detail/components/category-product-section/index.ts +1 -0
  1131. package/src/routes/categories/category-detail/index.ts +3 -0
  1132. package/src/routes/categories/category-detail/loader.ts +17 -0
  1133. package/src/routes/categories/category-edit/category-edit.tsx +36 -0
  1134. package/src/routes/categories/category-edit/components/edit-category-form/edit-category-form.tsx +204 -0
  1135. package/src/routes/categories/category-edit/components/edit-category-form/index.ts +1 -0
  1136. package/src/routes/categories/category-edit/index.ts +1 -0
  1137. package/src/routes/categories/category-list/category-list.tsx +22 -0
  1138. package/src/routes/categories/category-list/components/category-list-table/category-list-table.tsx +169 -0
  1139. package/src/routes/categories/category-list/components/category-list-table/index.ts +1 -0
  1140. package/src/routes/categories/category-list/components/category-list-table/use-category-table-columns.tsx +116 -0
  1141. package/src/routes/categories/category-list/components/category-list-table/use-category-table-query.tsx +23 -0
  1142. package/src/routes/categories/category-list/index.ts +1 -0
  1143. package/src/routes/categories/category-organize/category-organize.tsx +10 -0
  1144. package/src/routes/categories/category-organize/components/organize-category-form/index.ts +1 -0
  1145. package/src/routes/categories/category-organize/components/organize-category-form/organize-category-form.tsx +131 -0
  1146. package/src/routes/categories/category-organize/index.ts +1 -0
  1147. package/src/routes/categories/category-products/category-products.tsx +30 -0
  1148. package/src/routes/categories/category-products/components/edit-category-products-form/edit-category-products-form.tsx +245 -0
  1149. package/src/routes/categories/category-products/components/edit-category-products-form/index.ts +1 -0
  1150. package/src/routes/categories/category-products/index.ts +1 -0
  1151. package/src/routes/categories/common/components/category-tree/category-tree.tsx +55 -0
  1152. package/src/routes/categories/common/components/category-tree/index.ts +1 -0
  1153. package/src/routes/categories/common/hooks/use-delete-product-category-action.tsx +49 -0
  1154. package/src/routes/categories/common/types.ts +7 -0
  1155. package/src/routes/categories/common/utils.ts +157 -0
  1156. package/src/routes/collections/collection-add-products/collection-add-products.tsx +22 -0
  1157. package/src/routes/collections/collection-add-products/components/add-products-to-collection-form/add-products-to-collection-form.tsx +259 -0
  1158. package/src/routes/collections/collection-add-products/components/add-products-to-collection-form/index.ts +1 -0
  1159. package/src/routes/collections/collection-add-products/index.ts +1 -0
  1160. package/src/routes/collections/collection-create/collection-create.tsx +10 -0
  1161. package/src/routes/collections/collection-create/components/create-collection-form/create-collection-form.tsx +120 -0
  1162. package/src/routes/collections/collection-create/components/create-collection-form/index.ts +1 -0
  1163. package/src/routes/collections/collection-create/index.ts +1 -0
  1164. package/src/routes/collections/collection-detail/breadcrumb.tsx +27 -0
  1165. package/src/routes/collections/collection-detail/collection-detail.tsx +49 -0
  1166. package/src/routes/collections/collection-detail/components/collection-general-section/collection-general-section.tsx +91 -0
  1167. package/src/routes/collections/collection-detail/components/collection-general-section/index.ts +1 -0
  1168. package/src/routes/collections/collection-detail/components/collection-product-section/collection-product-section.tsx +272 -0
  1169. package/src/routes/collections/collection-detail/components/collection-product-section/index.ts +1 -0
  1170. package/src/routes/collections/collection-detail/index.ts +3 -0
  1171. package/src/routes/collections/collection-detail/loader.ts +17 -0
  1172. package/src/routes/collections/collection-edit/collection-edit.tsx +27 -0
  1173. package/src/routes/collections/collection-edit/components/edit-collection-form/edit-collection-form.tsx +110 -0
  1174. package/src/routes/collections/collection-edit/components/edit-collection-form/index.ts +1 -0
  1175. package/src/routes/collections/collection-edit/index.ts +1 -0
  1176. package/src/routes/collections/collection-list/collection-list.tsx +20 -0
  1177. package/src/routes/collections/collection-list/components/collection-list-table/collection-list-table.tsx +99 -0
  1178. package/src/routes/collections/collection-list/components/collection-list-table/collection-row-actions.tsx +78 -0
  1179. package/src/routes/collections/collection-list/components/collection-list-table/index.ts +1 -0
  1180. package/src/routes/collections/collection-list/index.ts +1 -0
  1181. package/src/routes/collections/collection-metadata/collection-metadata.tsx +26 -0
  1182. package/src/routes/collections/collection-metadata/index.ts +1 -0
  1183. package/src/routes/customer-groups/customer-group-add-customers/components/add-customers-form/add-customers-form.tsx +245 -0
  1184. package/src/routes/customer-groups/customer-group-add-customers/components/add-customers-form/index.ts +1 -0
  1185. package/src/routes/customer-groups/customer-group-add-customers/customer-group-add-customers.tsx +13 -0
  1186. package/src/routes/customer-groups/customer-group-add-customers/index.ts +1 -0
  1187. package/src/routes/customer-groups/customer-group-create/components/create-customer-group-form/create-customer-group-form.tsx +110 -0
  1188. package/src/routes/customer-groups/customer-group-create/components/create-customer-group-form/index.ts +1 -0
  1189. package/src/routes/customer-groups/customer-group-create/customer-group-create.tsx +10 -0
  1190. package/src/routes/customer-groups/customer-group-create/index.ts +1 -0
  1191. package/src/routes/customer-groups/customer-group-detail/breadcrumb.tsx +35 -0
  1192. package/src/routes/customer-groups/customer-group-detail/components/customer-group-customer-section/customer-group-customer-section.tsx +243 -0
  1193. package/src/routes/customer-groups/customer-group-detail/components/customer-group-customer-section/index.ts +1 -0
  1194. package/src/routes/customer-groups/customer-group-detail/components/customer-group-general-section/customer-group-general-section.tsx +90 -0
  1195. package/src/routes/customer-groups/customer-group-detail/components/customer-group-general-section/index.ts +1 -0
  1196. package/src/routes/customer-groups/customer-group-detail/constants.ts +1 -0
  1197. package/src/routes/customer-groups/customer-group-detail/customer-group-detail.tsx +54 -0
  1198. package/src/routes/customer-groups/customer-group-detail/index.ts +3 -0
  1199. package/src/routes/customer-groups/customer-group-detail/loader.ts +20 -0
  1200. package/src/routes/customer-groups/customer-group-edit/components/edit-customer-group-form/edit-customer-group-form.tsx +90 -0
  1201. package/src/routes/customer-groups/customer-group-edit/components/edit-customer-group-form/index.ts +1 -0
  1202. package/src/routes/customer-groups/customer-group-edit/customer-group-edit.tsx +28 -0
  1203. package/src/routes/customer-groups/customer-group-edit/index.ts +1 -0
  1204. package/src/routes/customer-groups/customer-group-list/components/customer-group-list-table/customer-group-list-table.tsx +213 -0
  1205. package/src/routes/customer-groups/customer-group-list/components/customer-group-list-table/index.ts +1 -0
  1206. package/src/routes/customer-groups/customer-group-list/customer-group-list.tsx +20 -0
  1207. package/src/routes/customer-groups/customer-group-list/index.ts +1 -0
  1208. package/src/routes/customer-groups/customer-group-metadata/customer-metadata.tsx +26 -0
  1209. package/src/routes/customer-groups/customer-group-metadata/index.ts +1 -0
  1210. package/src/routes/customers/customer-create/components/create-customer-form/create-customer-form.tsx +179 -0
  1211. package/src/routes/customers/customer-create/components/create-customer-form/index.ts +1 -0
  1212. package/src/routes/customers/customer-create/customer-create.tsx +10 -0
  1213. package/src/routes/customers/customer-create/index.ts +1 -0
  1214. package/src/routes/customers/customer-create-address/components/create-customer-address-form/create-customer-address-form.tsx +282 -0
  1215. package/src/routes/customers/customer-create-address/components/create-customer-address-form/index.ts +1 -0
  1216. package/src/routes/customers/customer-create-address/customer-create-address.tsx +10 -0
  1217. package/src/routes/customers/customer-create-address/index.ts +1 -0
  1218. package/src/routes/customers/customer-detail/breadcrumb.tsx +43 -0
  1219. package/src/routes/customers/customer-detail/components/customer-address-section/customer-address-section.tsx +113 -0
  1220. package/src/routes/customers/customer-detail/components/customer-address-section/index.ts +1 -0
  1221. package/src/routes/customers/customer-detail/components/customer-general-section/customer-general-section.tsx +137 -0
  1222. package/src/routes/customers/customer-detail/components/customer-general-section/index.ts +1 -0
  1223. package/src/routes/customers/customer-detail/components/customer-group-section/customer-group-section.tsx +297 -0
  1224. package/src/routes/customers/customer-detail/components/customer-group-section/index.ts +1 -0
  1225. package/src/routes/customers/customer-detail/components/customer-order-section/customer-order-section.tsx +131 -0
  1226. package/src/routes/customers/customer-detail/components/customer-order-section/index.ts +1 -0
  1227. package/src/routes/customers/customer-detail/customer-detail.tsx +66 -0
  1228. package/src/routes/customers/customer-detail/index.ts +3 -0
  1229. package/src/routes/customers/customer-detail/loader.ts +19 -0
  1230. package/src/routes/customers/customer-edit/components/edit-customer-form/edit-customer-form.tsx +178 -0
  1231. package/src/routes/customers/customer-edit/components/edit-customer-form/index.ts +1 -0
  1232. package/src/routes/customers/customer-edit/customer-edit.tsx +26 -0
  1233. package/src/routes/customers/customer-edit/index.ts +1 -0
  1234. package/src/routes/customers/customer-list/components/customer-list-table/customer-list-table.tsx +140 -0
  1235. package/src/routes/customers/customer-list/components/customer-list-table/index.ts +1 -0
  1236. package/src/routes/customers/customer-list/customer-list.tsx +20 -0
  1237. package/src/routes/customers/customer-list/index.ts +1 -0
  1238. package/src/routes/customers/customer-metadata/customer-metadata.tsx +23 -0
  1239. package/src/routes/customers/customer-metadata/index.ts +1 -0
  1240. package/src/routes/customers/customers-add-customer-group/components/add-customers-form/add-customer-groups-form.tsx +259 -0
  1241. package/src/routes/customers/customers-add-customer-group/components/add-customers-form/index.ts +1 -0
  1242. package/src/routes/customers/customers-add-customer-group/customer-add-customer-groups.tsx +13 -0
  1243. package/src/routes/customers/customers-add-customer-group/index.ts +1 -0
  1244. package/src/routes/home/home.tsx +26 -0
  1245. package/src/routes/home/index.ts +1 -0
  1246. package/src/routes/inventory/common/constants.ts +1 -0
  1247. package/src/routes/inventory/inventory-create/components/inventory-create-form/index.ts +1 -0
  1248. package/src/routes/inventory/inventory-create/components/inventory-create-form/inventory-availability-form.tsx +78 -0
  1249. package/src/routes/inventory/inventory-create/components/inventory-create-form/inventory-create-form.tsx +517 -0
  1250. package/src/routes/inventory/inventory-create/components/inventory-create-form/schema.ts +23 -0
  1251. package/src/routes/inventory/inventory-create/index.ts +1 -0
  1252. package/src/routes/inventory/inventory-create/inventory-create.tsx +21 -0
  1253. package/src/routes/inventory/inventory-detail/breadcrumb.tsx +39 -0
  1254. package/src/routes/inventory/inventory-detail/components/adjust-inventory/adjust-inventory-drawer.tsx +53 -0
  1255. package/src/routes/inventory/inventory-detail/components/adjust-inventory/components/adjust-inventory-form.tsx +182 -0
  1256. package/src/routes/inventory/inventory-detail/components/adjust-inventory/index.ts +1 -0
  1257. package/src/routes/inventory/inventory-detail/components/edit-inventory-item/components/edit-item-form.tsx +105 -0
  1258. package/src/routes/inventory/inventory-detail/components/edit-inventory-item/edit-item-drawer.tsx +33 -0
  1259. package/src/routes/inventory/inventory-detail/components/edit-inventory-item/index.ts +1 -0
  1260. package/src/routes/inventory/inventory-detail/components/edit-inventory-item-attributes/components/edit-item-attributes-form.tsx +276 -0
  1261. package/src/routes/inventory/inventory-detail/components/edit-inventory-item-attributes/edit-item-attributes-drawer.tsx +33 -0
  1262. package/src/routes/inventory/inventory-detail/components/edit-inventory-item-attributes/index.ts +1 -0
  1263. package/src/routes/inventory/inventory-detail/components/inventory-item-attributes/attributes-section.tsx +50 -0
  1264. package/src/routes/inventory/inventory-detail/components/inventory-item-general-section.tsx +65 -0
  1265. package/src/routes/inventory/inventory-detail/components/inventory-item-location-levels.tsx +26 -0
  1266. package/src/routes/inventory/inventory-detail/components/inventory-item-reservations.tsx +28 -0
  1267. package/src/routes/inventory/inventory-detail/components/inventory-item-variants/variants-section.tsx +72 -0
  1268. package/src/routes/inventory/inventory-detail/components/location-levels-table/location-list-table.tsx +49 -0
  1269. package/src/routes/inventory/inventory-detail/components/location-levels-table/use-location-list-table-columns.tsx +160 -0
  1270. package/src/routes/inventory/inventory-detail/components/location-levels-table/use-location-list-table-query.tsx +32 -0
  1271. package/src/routes/inventory/inventory-detail/components/manage-locations/components/location-item.tsx +51 -0
  1272. package/src/routes/inventory/inventory-detail/components/manage-locations/components/location-search-input.tsx +34 -0
  1273. package/src/routes/inventory/inventory-detail/components/manage-locations/components/manage-locations-form.tsx +183 -0
  1274. package/src/routes/inventory/inventory-detail/components/manage-locations/index.ts +1 -0
  1275. package/src/routes/inventory/inventory-detail/components/manage-locations/manage-locations-drawer.tsx +40 -0
  1276. package/src/routes/inventory/inventory-detail/components/reservations-table/reservation-actions.tsx +64 -0
  1277. package/src/routes/inventory/inventory-detail/components/reservations-table/reservation-list-table.tsx +70 -0
  1278. package/src/routes/inventory/inventory-detail/components/reservations-table/use-reservation-list-table-columns.tsx +88 -0
  1279. package/src/routes/inventory/inventory-detail/components/reservations-table/use-reservation-list-table-query.tsx +35 -0
  1280. package/src/routes/inventory/inventory-detail/constants.ts +2 -0
  1281. package/src/routes/inventory/inventory-detail/index.ts +3 -0
  1282. package/src/routes/inventory/inventory-detail/inventory-detail.tsx +92 -0
  1283. package/src/routes/inventory/inventory-detail/loader.ts +23 -0
  1284. package/src/routes/inventory/inventory-list/components/inventory-actions.tsx +53 -0
  1285. package/src/routes/inventory/inventory-list/components/inventory-list-table.tsx +104 -0
  1286. package/src/routes/inventory/inventory-list/components/use-inventory-table-columns.tsx +116 -0
  1287. package/src/routes/inventory/inventory-list/components/use-inventory-table-filters.tsx +82 -0
  1288. package/src/routes/inventory/inventory-list/components/use-inventory-table-query.tsx +70 -0
  1289. package/src/routes/inventory/inventory-list/index.ts +1 -0
  1290. package/src/routes/inventory/inventory-list/inventory-list.tsx +22 -0
  1291. package/src/routes/inventory/inventory-metadata/index.ts +1 -0
  1292. package/src/routes/inventory/inventory-metadata/inventory-metadata.tsx +31 -0
  1293. package/src/routes/inventory/inventory-stock/components/inventory-stock-form/index.ts +1 -0
  1294. package/src/routes/inventory/inventory-stock/components/inventory-stock-form/inventory-stock-form.tsx +163 -0
  1295. package/src/routes/inventory/inventory-stock/hooks/use-inventory-stock-columns.tsx +76 -0
  1296. package/src/routes/inventory/inventory-stock/index.ts +1 -0
  1297. package/src/routes/inventory/inventory-stock/inventory-stock.tsx +58 -0
  1298. package/src/routes/inventory/inventory-stock/schema.ts +22 -0
  1299. package/src/routes/invite/index.ts +1 -0
  1300. package/src/routes/invite/invite.tsx +461 -0
  1301. package/src/routes/locations/common/components/conditional-price-form/conditional-price-form.tsx +429 -0
  1302. package/src/routes/locations/common/components/conditional-price-form/index.ts +1 -0
  1303. package/src/routes/locations/common/components/geo-zone-form/geo-zone-form.tsx +327 -0
  1304. package/src/routes/locations/common/components/geo-zone-form/index.ts +1 -0
  1305. package/src/routes/locations/common/components/shipping-option-price-cell/index.ts +1 -0
  1306. package/src/routes/locations/common/components/shipping-option-price-cell/shipping-option-price-cell.tsx +38 -0
  1307. package/src/routes/locations/common/components/shipping-option-price-provider/index.ts +2 -0
  1308. package/src/routes/locations/common/components/shipping-option-price-provider/shipping-option-price-context.tsx +10 -0
  1309. package/src/routes/locations/common/components/shipping-option-price-provider/shipping-option-price-provider.tsx +23 -0
  1310. package/src/routes/locations/common/components/shipping-option-price-provider/use-shipping-option-price.tsx +14 -0
  1311. package/src/routes/locations/common/constants.ts +16 -0
  1312. package/src/routes/locations/common/hooks/use-shipping-option-price-columns.tsx +174 -0
  1313. package/src/routes/locations/common/schema.ts +192 -0
  1314. package/src/routes/locations/common/types.ts +12 -0
  1315. package/src/routes/locations/common/utils/__tests__/price-rule-helpers.spec.ts +88 -0
  1316. package/src/routes/locations/common/utils/get-custom-shipping-option-price-field-info.ts +19 -0
  1317. package/src/routes/locations/common/utils/price-rule-helpers.ts +43 -0
  1318. package/src/routes/locations/location-create/components/create-location-form/create-location-form.tsx +248 -0
  1319. package/src/routes/locations/location-create/components/create-location-form/index.ts +1 -0
  1320. package/src/routes/locations/location-create/index.ts +1 -0
  1321. package/src/routes/locations/location-create/location-create.tsx +10 -0
  1322. package/src/routes/locations/location-detail/breadcrumb.tsx +35 -0
  1323. package/src/routes/locations/location-detail/components/location-fulfillment-providers-section/index.ts +1 -0
  1324. package/src/routes/locations/location-detail/components/location-fulfillment-providers-section/location-fulfillment-providers-section.tsx +81 -0
  1325. package/src/routes/locations/location-detail/components/location-general-section/index.ts +1 -0
  1326. package/src/routes/locations/location-detail/components/location-general-section/location-general-section.tsx +665 -0
  1327. package/src/routes/locations/location-detail/components/location-sales-channels-section/index.ts +1 -0
  1328. package/src/routes/locations/location-detail/components/location-sales-channels-section/locations-sales-channels-section.tsx +76 -0
  1329. package/src/routes/locations/location-detail/constants.ts +2 -0
  1330. package/src/routes/locations/location-detail/index.ts +3 -0
  1331. package/src/routes/locations/location-detail/loader.ts +23 -0
  1332. package/src/routes/locations/location-detail/location-detail.tsx +68 -0
  1333. package/src/routes/locations/location-edit/components/edit-location-form/edit-location-form.tsx +234 -0
  1334. package/src/routes/locations/location-edit/components/edit-location-form/index.ts +1 -0
  1335. package/src/routes/locations/location-edit/index.ts +1 -0
  1336. package/src/routes/locations/location-edit/location-edit.tsx +33 -0
  1337. package/src/routes/locations/location-fulfillment-providers/components/edit-fulfillment-providers-form/edit-fulfillment-providers-form.tsx +207 -0
  1338. package/src/routes/locations/location-fulfillment-providers/components/edit-fulfillment-providers-form/index.ts +1 -0
  1339. package/src/routes/locations/location-fulfillment-providers/index.ts +1 -0
  1340. package/src/routes/locations/location-fulfillment-providers/location-fulfillment-providers.tsx +27 -0
  1341. package/src/routes/locations/location-list/components/location-list-item/index.ts +1 -0
  1342. package/src/routes/locations/location-list/components/location-list-item/location-list-item.tsx +190 -0
  1343. package/src/routes/locations/location-list/constants.ts +3 -0
  1344. package/src/routes/locations/location-list/index.ts +1 -0
  1345. package/src/routes/locations/location-list/location-list.tsx +135 -0
  1346. package/src/routes/locations/location-list/use-location-list-table-columns.tsx +185 -0
  1347. package/src/routes/locations/location-list/use-location-list-table-query.tsx +22 -0
  1348. package/src/routes/locations/location-metadata/index.ts +1 -0
  1349. package/src/routes/locations/location-metadata/location-metadata.tsx +29 -0
  1350. package/src/routes/locations/location-sales-channels/components/edit-sales-channels-form/edit-sales-channels-form.tsx +177 -0
  1351. package/src/routes/locations/location-sales-channels/components/edit-sales-channels-form/index.ts +1 -0
  1352. package/src/routes/locations/location-sales-channels/index.ts +1 -0
  1353. package/src/routes/locations/location-sales-channels/location-sales-channels.tsx +27 -0
  1354. package/src/routes/locations/location-service-zone-create/components/create-service-zone-form/create-service-zone-form.tsx +146 -0
  1355. package/src/routes/locations/location-service-zone-create/components/create-service-zone-form/index.ts +1 -0
  1356. package/src/routes/locations/location-service-zone-create/index.ts +1 -0
  1357. package/src/routes/locations/location-service-zone-create/location-service-zone-create.tsx +47 -0
  1358. package/src/routes/locations/location-service-zone-edit/components/edit-region-form/edit-service-zone-form.tsx +105 -0
  1359. package/src/routes/locations/location-service-zone-edit/components/edit-region-form/index.ts +1 -0
  1360. package/src/routes/locations/location-service-zone-edit/index.ts +1 -0
  1361. package/src/routes/locations/location-service-zone-edit/location-service-zone-edit.tsx +47 -0
  1362. package/src/routes/locations/location-service-zone-manage-areas/components/edit-region-areas-form/edit-service-zone-areas-form.tsx +120 -0
  1363. package/src/routes/locations/location-service-zone-manage-areas/components/edit-region-areas-form/index.ts +1 -0
  1364. package/src/routes/locations/location-service-zone-manage-areas/index.ts +1 -0
  1365. package/src/routes/locations/location-service-zone-manage-areas/location-service-zone-manage-areas.tsx +42 -0
  1366. package/src/routes/locations/location-service-zone-shipping-option-create/components/create-shipping-options-form/create-shipping-option-details-form.tsx +300 -0
  1367. package/src/routes/locations/location-service-zone-shipping-option-create/components/create-shipping-options-form/create-shipping-options-form.tsx +361 -0
  1368. package/src/routes/locations/location-service-zone-shipping-option-create/components/create-shipping-options-form/create-shipping-options-prices-form.tsx +145 -0
  1369. package/src/routes/locations/location-service-zone-shipping-option-create/components/create-shipping-options-form/index.ts +1 -0
  1370. package/src/routes/locations/location-service-zone-shipping-option-create/components/create-shipping-options-form/schema.ts +44 -0
  1371. package/src/routes/locations/location-service-zone-shipping-option-create/constants.ts +2 -0
  1372. package/src/routes/locations/location-service-zone-shipping-option-create/index.ts +1 -0
  1373. package/src/routes/locations/location-service-zone-shipping-option-create/location-service-zone-shipping-option-create.tsx +55 -0
  1374. package/src/routes/locations/location-service-zone-shipping-option-edit/components/edit-region-form/edit-shipping-option-form.tsx +316 -0
  1375. package/src/routes/locations/location-service-zone-shipping-option-edit/components/edit-region-form/index.ts +1 -0
  1376. package/src/routes/locations/location-service-zone-shipping-option-edit/index.ts +1 -0
  1377. package/src/routes/locations/location-service-zone-shipping-option-edit/location-service-zone-shipping-option-edit.tsx +61 -0
  1378. package/src/routes/locations/location-service-zone-shipping-option-pricing/components/create-shipping-options-form/edit-shipping-options-pricing-form.tsx +395 -0
  1379. package/src/routes/locations/location-service-zone-shipping-option-pricing/components/create-shipping-options-form/index.ts +1 -0
  1380. package/src/routes/locations/location-service-zone-shipping-option-pricing/index.ts +1 -0
  1381. package/src/routes/locations/location-service-zone-shipping-option-pricing/location-service-zone-shipping-option-pricing.tsx +36 -0
  1382. package/src/routes/login/components/cloud-auth-login.tsx +209 -0
  1383. package/src/routes/login/components/mfa-challenge-card.tsx +26 -0
  1384. package/src/routes/login/components/mfa-challenge-form.tsx +169 -0
  1385. package/src/routes/login/index.ts +1 -0
  1386. package/src/routes/login/login.tsx +216 -0
  1387. package/src/routes/no-match/index.ts +1 -0
  1388. package/src/routes/no-match/no-match.tsx +36 -0
  1389. package/src/routes/orders/common/placeholders.tsx +48 -0
  1390. package/src/routes/orders/order-allocate-items/components/order-create-fulfillment-form/constants.ts +6 -0
  1391. package/src/routes/orders/order-allocate-items/components/order-create-fulfillment-form/index.ts +1 -0
  1392. package/src/routes/orders/order-allocate-items/components/order-create-fulfillment-form/order-allocate-items-form.tsx +364 -0
  1393. package/src/routes/orders/order-allocate-items/components/order-create-fulfillment-form/order-allocate-items-item.tsx +359 -0
  1394. package/src/routes/orders/order-allocate-items/components/order-create-fulfillment-form/utils.ts +28 -0
  1395. package/src/routes/orders/order-allocate-items/index.ts +1 -0
  1396. package/src/routes/orders/order-allocate-items/order-allocate-items.tsx +26 -0
  1397. package/src/routes/orders/order-balance-settlement/components/order-balance-settlement-form/index.ts +1 -0
  1398. package/src/routes/orders/order-balance-settlement/components/order-balance-settlement-form/order-balance-settlement-form.tsx +396 -0
  1399. package/src/routes/orders/order-balance-settlement/index.ts +1 -0
  1400. package/src/routes/orders/order-create-claim/claim-create.tsx +86 -0
  1401. package/src/routes/orders/order-create-claim/components/add-claim-items-table/add-claim-items-table.tsx +291 -0
  1402. package/src/routes/orders/order-create-claim/components/add-claim-items-table/index.ts +1 -0
  1403. package/src/routes/orders/order-create-claim/components/add-claim-items-table/use-claim-item-table-columns.tsx +103 -0
  1404. package/src/routes/orders/order-create-claim/components/add-claim-items-table/use-claim-item-table-filters.tsx +32 -0
  1405. package/src/routes/orders/order-create-claim/components/add-claim-items-table/use-claim-item-table-query.tsx +61 -0
  1406. package/src/routes/orders/order-create-claim/components/add-claim-outbound-items-table/add-claim-outbound-items-table.tsx +94 -0
  1407. package/src/routes/orders/order-create-claim/components/add-claim-outbound-items-table/index.ts +1 -0
  1408. package/src/routes/orders/order-create-claim/components/add-claim-outbound-items-table/use-claim-outbound-item-table-columns.tsx +68 -0
  1409. package/src/routes/orders/order-create-claim/components/add-claim-outbound-items-table/use-claim-outbound-item-table-filters.tsx +22 -0
  1410. package/src/routes/orders/order-create-claim/components/add-claim-outbound-items-table/use-claim-outbound-item-table-query.tsx +40 -0
  1411. package/src/routes/orders/order-create-claim/components/claim-create-form/claim-create-form.tsx +1171 -0
  1412. package/src/routes/orders/order-create-claim/components/claim-create-form/claim-inbound-item.tsx +249 -0
  1413. package/src/routes/orders/order-create-claim/components/claim-create-form/claim-outbound-item.tsx +121 -0
  1414. package/src/routes/orders/order-create-claim/components/claim-create-form/claim-outbound-section.tsx +455 -0
  1415. package/src/routes/orders/order-create-claim/components/claim-create-form/index.ts +1 -0
  1416. package/src/routes/orders/order-create-claim/components/claim-create-form/item-placeholder.tsx +11 -0
  1417. package/src/routes/orders/order-create-claim/components/claim-create-form/schema.ts +27 -0
  1418. package/src/routes/orders/order-create-claim/index.ts +1 -0
  1419. package/src/routes/orders/order-create-edit/components/add-order-edit-items-table/add-order-edit-items-table.tsx +87 -0
  1420. package/src/routes/orders/order-create-edit/components/add-order-edit-items-table/index.ts +1 -0
  1421. package/src/routes/orders/order-create-edit/components/add-order-edit-items-table/use-order-edit-item-table-columns.tsx +68 -0
  1422. package/src/routes/orders/order-create-edit/components/add-order-edit-items-table/use-order-edit-item-table-filters.tsx +22 -0
  1423. package/src/routes/orders/order-create-edit/components/add-order-edit-items-table/use-order-edit-item-table-query.tsx +26 -0
  1424. package/src/routes/orders/order-create-edit/components/order-edit-create-form/index.ts +1 -0
  1425. package/src/routes/orders/order-create-edit/components/order-edit-create-form/order-edit-create-form.tsx +241 -0
  1426. package/src/routes/orders/order-create-edit/components/order-edit-create-form/order-edit-item.tsx +268 -0
  1427. package/src/routes/orders/order-create-edit/components/order-edit-create-form/order-edit-items-section.tsx +145 -0
  1428. package/src/routes/orders/order-create-edit/components/order-edit-create-form/schema.ts +8 -0
  1429. package/src/routes/orders/order-create-edit/index.ts +1 -0
  1430. package/src/routes/orders/order-create-edit/order-edit-create.tsx +67 -0
  1431. package/src/routes/orders/order-create-exchange/components/add-exchange-inbound-items-table/add-exchange-inbound-items-table.tsx +185 -0
  1432. package/src/routes/orders/order-create-exchange/components/add-exchange-inbound-items-table/index.ts +1 -0
  1433. package/src/routes/orders/order-create-exchange/components/add-exchange-inbound-items-table/use-exchange-item-table-columns.tsx +103 -0
  1434. package/src/routes/orders/order-create-exchange/components/add-exchange-inbound-items-table/use-exchange-item-table-filters.tsx +22 -0
  1435. package/src/routes/orders/order-create-exchange/components/add-exchange-inbound-items-table/use-exchange-item-table-query.tsx +26 -0
  1436. package/src/routes/orders/order-create-exchange/components/add-exchange-outbound-items-table/add-exchange-outbound-items-table.tsx +94 -0
  1437. package/src/routes/orders/order-create-exchange/components/add-exchange-outbound-items-table/index.ts +1 -0
  1438. package/src/routes/orders/order-create-exchange/components/add-exchange-outbound-items-table/use-exchange-outbound-item-table-columns.tsx +68 -0
  1439. package/src/routes/orders/order-create-exchange/components/add-exchange-outbound-items-table/use-exchange-outbound-item-table-filters.tsx +22 -0
  1440. package/src/routes/orders/order-create-exchange/components/add-exchange-outbound-items-table/use-exchange-outbound-item-table-query.tsx +26 -0
  1441. package/src/routes/orders/order-create-exchange/components/exchange-create-form/exchange-create-form.tsx +660 -0
  1442. package/src/routes/orders/order-create-exchange/components/exchange-create-form/exchange-inbound-item.tsx +276 -0
  1443. package/src/routes/orders/order-create-exchange/components/exchange-create-form/exchange-inbound-section.tsx +547 -0
  1444. package/src/routes/orders/order-create-exchange/components/exchange-create-form/exchange-outbound-item.tsx +140 -0
  1445. package/src/routes/orders/order-create-exchange/components/exchange-create-form/exchange-outbound-section.tsx +463 -0
  1446. package/src/routes/orders/order-create-exchange/components/exchange-create-form/index.ts +1 -0
  1447. package/src/routes/orders/order-create-exchange/components/exchange-create-form/schema.ts +27 -0
  1448. package/src/routes/orders/order-create-exchange/exchange-create.tsx +86 -0
  1449. package/src/routes/orders/order-create-exchange/index.ts +1 -0
  1450. package/src/routes/orders/order-create-fulfillment/components/order-create-fulfillment-form/constants.ts +8 -0
  1451. package/src/routes/orders/order-create-fulfillment/components/order-create-fulfillment-form/index.ts +1 -0
  1452. package/src/routes/orders/order-create-fulfillment/components/order-create-fulfillment-form/order-create-fulfillment-form.tsx +434 -0
  1453. package/src/routes/orders/order-create-fulfillment/components/order-create-fulfillment-form/order-create-fulfillment-item.tsx +252 -0
  1454. package/src/routes/orders/order-create-fulfillment/index.ts +1 -0
  1455. package/src/routes/orders/order-create-fulfillment/order-create-fulfillments.tsx +33 -0
  1456. package/src/routes/orders/order-create-refund/components/create-refund-form/create-refund-form.tsx +319 -0
  1457. package/src/routes/orders/order-create-refund/components/create-refund-form/index.ts +1 -0
  1458. package/src/routes/orders/order-create-refund/index.ts +1 -0
  1459. package/src/routes/orders/order-create-refund/order-create-refund.tsx +31 -0
  1460. package/src/routes/orders/order-create-return/components/add-return-items-table/add-return-items-table.tsx +299 -0
  1461. package/src/routes/orders/order-create-return/components/add-return-items-table/index.ts +1 -0
  1462. package/src/routes/orders/order-create-return/components/add-return-items-table/use-return-item-table-columns.tsx +103 -0
  1463. package/src/routes/orders/order-create-return/components/add-return-items-table/use-return-item-table-filters.tsx +32 -0
  1464. package/src/routes/orders/order-create-return/components/add-return-items-table/use-return-item-table-query.tsx +61 -0
  1465. package/src/routes/orders/order-create-return/components/return-create-form/index.ts +1 -0
  1466. package/src/routes/orders/order-create-return/components/return-create-form/return-create-form.tsx +800 -0
  1467. package/src/routes/orders/order-create-return/components/return-create-form/return-item.tsx +252 -0
  1468. package/src/routes/orders/order-create-return/components/return-create-form/schema.ts +19 -0
  1469. package/src/routes/orders/order-create-return/index.ts +1 -0
  1470. package/src/routes/orders/order-create-return/return-create.tsx +84 -0
  1471. package/src/routes/orders/order-create-shipment/components/order-create-shipment-form/constants.ts +13 -0
  1472. package/src/routes/orders/order-create-shipment/components/order-create-shipment-form/index.ts +1 -0
  1473. package/src/routes/orders/order-create-shipment/components/order-create-shipment-form/order-create-shipment-form.tsx +240 -0
  1474. package/src/routes/orders/order-create-shipment/index.ts +1 -0
  1475. package/src/routes/orders/order-create-shipment/order-create-shipment.tsx +33 -0
  1476. package/src/routes/orders/order-detail/breadcrumb.tsx +31 -0
  1477. package/src/routes/orders/order-detail/components/active-order-claim-section/active-order-claim-section.tsx +79 -0
  1478. package/src/routes/orders/order-detail/components/active-order-claim-section/index.ts +1 -0
  1479. package/src/routes/orders/order-detail/components/active-order-exchange-section/active-order-exchange-section.tsx +83 -0
  1480. package/src/routes/orders/order-detail/components/active-order-exchange-section/index.ts +1 -0
  1481. package/src/routes/orders/order-detail/components/active-order-return-section/active-order-return-section.tsx +82 -0
  1482. package/src/routes/orders/order-detail/components/active-order-return-section/index.ts +1 -0
  1483. package/src/routes/orders/order-detail/components/copy-payment-link/copy-payment-link.tsx +80 -0
  1484. package/src/routes/orders/order-detail/components/copy-payment-link/index.ts +1 -0
  1485. package/src/routes/orders/order-detail/components/order-active-edit-section/index.ts +1 -0
  1486. package/src/routes/orders/order-detail/components/order-active-edit-section/order-active-edit-section.tsx +202 -0
  1487. package/src/routes/orders/order-detail/components/order-activity-section/activity-items.tsx +125 -0
  1488. package/src/routes/orders/order-detail/components/order-activity-section/change-details-tooltip.tsx +79 -0
  1489. package/src/routes/orders/order-detail/components/order-activity-section/index.ts +1 -0
  1490. package/src/routes/orders/order-detail/components/order-activity-section/order-activity-section.tsx +25 -0
  1491. package/src/routes/orders/order-detail/components/order-activity-section/order-note-form.tsx +115 -0
  1492. package/src/routes/orders/order-detail/components/order-activity-section/order-timeline.tsx +1377 -0
  1493. package/src/routes/orders/order-detail/components/order-customer-section/index.ts +1 -0
  1494. package/src/routes/orders/order-detail/components/order-customer-section/order-customer-section.tsx +68 -0
  1495. package/src/routes/orders/order-detail/components/order-fulfillment-section/index.ts +1 -0
  1496. package/src/routes/orders/order-detail/components/order-fulfillment-section/order-fulfillment-section.tsx +539 -0
  1497. package/src/routes/orders/order-detail/components/order-general-section/index.ts +1 -0
  1498. package/src/routes/orders/order-detail/components/order-general-section/order-general-section.tsx +137 -0
  1499. package/src/routes/orders/order-detail/components/order-payment-section/index.ts +1 -0
  1500. package/src/routes/orders/order-detail/components/order-payment-section/order-payment-section.tsx +532 -0
  1501. package/src/routes/orders/order-detail/components/order-summary-section/index.ts +1 -0
  1502. package/src/routes/orders/order-detail/components/order-summary-section/order-summary-section.tsx +1280 -0
  1503. package/src/routes/orders/order-detail/components/order-summary-section/return-info-popover.tsx +90 -0
  1504. package/src/routes/orders/order-detail/components/order-summary-section/shipping-info-popover.tsx +48 -0
  1505. package/src/routes/orders/order-detail/constants.ts +105 -0
  1506. package/src/routes/orders/order-detail/index.ts +3 -0
  1507. package/src/routes/orders/order-detail/loader.ts +21 -0
  1508. package/src/routes/orders/order-detail/order-detail.tsx +117 -0
  1509. package/src/routes/orders/order-edit-billing-address/components/edit-order-billing-address-form/edit-order-billing-address-form.tsx +250 -0
  1510. package/src/routes/orders/order-edit-billing-address/components/edit-order-billing-address-form/index.ts +1 -0
  1511. package/src/routes/orders/order-edit-billing-address/index.ts +1 -0
  1512. package/src/routes/orders/order-edit-billing-address/order-edit-billing-address.tsx +31 -0
  1513. package/src/routes/orders/order-edit-email/components/edit-order-email-form/edit-order-email-form.tsx +95 -0
  1514. package/src/routes/orders/order-edit-email/components/edit-order-email-form/index.ts +1 -0
  1515. package/src/routes/orders/order-edit-email/index.ts +1 -0
  1516. package/src/routes/orders/order-edit-email/order-edit-email.tsx +31 -0
  1517. package/src/routes/orders/order-edit-shipping-address/components/edit-order-shipping-address-form/edit-order-shipping-address-form.tsx +247 -0
  1518. package/src/routes/orders/order-edit-shipping-address/components/edit-order-shipping-address-form/index.ts +1 -0
  1519. package/src/routes/orders/order-edit-shipping-address/index.ts +1 -0
  1520. package/src/routes/orders/order-edit-shipping-address/order-edit-shipping-address.tsx +31 -0
  1521. package/src/routes/orders/order-export/components/export-filters.tsx +22 -0
  1522. package/src/routes/orders/order-export/index.ts +1 -0
  1523. package/src/routes/orders/order-export/order-export.tsx +66 -0
  1524. package/src/routes/orders/order-list/components/order-list-table/components/save-view-dropdown.tsx +81 -0
  1525. package/src/routes/orders/order-list/components/order-list-table/configurable-order-list-table.tsx +24 -0
  1526. package/src/routes/orders/order-list/components/order-list-table/constants.ts +14 -0
  1527. package/src/routes/orders/order-list/components/order-list-table/hooks/use-order-data-table-columns.tsx +164 -0
  1528. package/src/routes/orders/order-list/components/order-list-table/index.ts +1 -0
  1529. package/src/routes/orders/order-list/components/order-list-table/order-list-table.tsx +81 -0
  1530. package/src/routes/orders/order-list/components/order-list-table/order-table-adapter.tsx +140 -0
  1531. package/src/routes/orders/order-list/const.ts +22 -0
  1532. package/src/routes/orders/order-list/index.ts +1 -0
  1533. package/src/routes/orders/order-list/order-list.tsx +30 -0
  1534. package/src/routes/orders/order-metadata/index.ts +1 -0
  1535. package/src/routes/orders/order-metadata/order-metadata.tsx +26 -0
  1536. package/src/routes/orders/order-receive-return/components/order-receive-return-form/constants.ts +12 -0
  1537. package/src/routes/orders/order-receive-return/components/order-receive-return-form/dismissed-quantity.tsx +178 -0
  1538. package/src/routes/orders/order-receive-return/components/order-receive-return-form/index.ts +1 -0
  1539. package/src/routes/orders/order-receive-return/components/order-receive-return-form/order-receive-return-form.tsx +403 -0
  1540. package/src/routes/orders/order-receive-return/index.ts +1 -0
  1541. package/src/routes/orders/order-receive-return/order-receive-return.tsx +101 -0
  1542. package/src/routes/orders/order-request-transfer/components/create-order-transfer-form/create-order-transfer-form.tsx +154 -0
  1543. package/src/routes/orders/order-request-transfer/components/create-order-transfer-form/index.ts +1 -0
  1544. package/src/routes/orders/order-request-transfer/components/create-order-transfer-form/transfer-header.tsx +299 -0
  1545. package/src/routes/orders/order-request-transfer/index.ts +1 -0
  1546. package/src/routes/orders/order-request-transfer/order-request-transfer.tsx +34 -0
  1547. package/src/routes/policies/policy-create/components/create-policy-form/create-policy-form.tsx +166 -0
  1548. package/src/routes/policies/policy-create/components/create-policy-form/index.ts +1 -0
  1549. package/src/routes/policies/policy-create/index.ts +1 -0
  1550. package/src/routes/policies/policy-create/policy-create.tsx +17 -0
  1551. package/src/routes/policies/policy-detail/breadcrumb.tsx +28 -0
  1552. package/src/routes/policies/policy-detail/components/policy-general-section/index.ts +1 -0
  1553. package/src/routes/policies/policy-detail/components/policy-general-section/policy-general-section.tsx +107 -0
  1554. package/src/routes/policies/policy-detail/components/policy-roles-section/index.ts +1 -0
  1555. package/src/routes/policies/policy-detail/components/policy-roles-section/policy-roles-section.tsx +103 -0
  1556. package/src/routes/policies/policy-detail/constants.ts +2 -0
  1557. package/src/routes/policies/policy-detail/index.ts +3 -0
  1558. package/src/routes/policies/policy-detail/loader.ts +19 -0
  1559. package/src/routes/policies/policy-detail/policy-detail.tsx +66 -0
  1560. package/src/routes/policies/policy-edit/components/edit-policy-form/edit-policy-form.tsx +155 -0
  1561. package/src/routes/policies/policy-edit/components/edit-policy-form/index.ts +1 -0
  1562. package/src/routes/policies/policy-edit/index.ts +1 -0
  1563. package/src/routes/policies/policy-edit/policy-edit.tsx +29 -0
  1564. package/src/routes/policies/policy-list/components/policy-list-table/index.ts +1 -0
  1565. package/src/routes/policies/policy-list/components/policy-list-table/policy-list-table.tsx +264 -0
  1566. package/src/routes/policies/policy-list/index.ts +1 -0
  1567. package/src/routes/policies/policy-list/policy-list.tsx +27 -0
  1568. package/src/routes/price-lists/common/__tests__/utils.spec.ts +469 -0
  1569. package/src/routes/price-lists/common/components/price-list-customer-group-rule-form/index.ts +1 -0
  1570. package/src/routes/price-lists/common/components/price-list-customer-group-rule-form/price-list-customer-group-rule-form.tsx +194 -0
  1571. package/src/routes/price-lists/common/components/quantity-price-form/quantity-price-form.tsx +314 -0
  1572. package/src/routes/price-lists/common/components/quantity-price-modal/quantity-price-modal.tsx +153 -0
  1573. package/src/routes/price-lists/common/components/quantity-price-provider/quantity-price-context.tsx +10 -0
  1574. package/src/routes/price-lists/common/components/quantity-price-provider/quantity-price-provider.tsx +23 -0
  1575. package/src/routes/price-lists/common/components/quantity-price-provider/use-quantity-price.tsx +14 -0
  1576. package/src/routes/price-lists/common/constants.ts +20 -0
  1577. package/src/routes/price-lists/common/hooks/use-delete-price-list-action.tsx +50 -0
  1578. package/src/routes/price-lists/common/hooks/use-price-list-currency-data.tsx +79 -0
  1579. package/src/routes/price-lists/common/hooks/use-price-list-grid-columns.tsx +104 -0
  1580. package/src/routes/price-lists/common/schemas.ts +135 -0
  1581. package/src/routes/price-lists/common/types.ts +7 -0
  1582. package/src/routes/price-lists/common/utils.ts +439 -0
  1583. package/src/routes/price-lists/price-list-configuration/components/price-list-configuration-form/index.ts +1 -0
  1584. package/src/routes/price-lists/price-list-configuration/components/price-list-configuration-form/price-list-configuration-form.tsx +311 -0
  1585. package/src/routes/price-lists/price-list-configuration/index.ts +1 -0
  1586. package/src/routes/price-lists/price-list-configuration/price-list-configuration.tsx +68 -0
  1587. package/src/routes/price-lists/price-list-create/components/price-list-create-form/index.ts +1 -0
  1588. package/src/routes/price-lists/price-list-create/components/price-list-create-form/price-list-create-form.tsx +361 -0
  1589. package/src/routes/price-lists/price-list-create/components/price-list-create-form/price-list-details-form.tsx +331 -0
  1590. package/src/routes/price-lists/price-list-create/components/price-list-create-form/price-list-prices-form.tsx +103 -0
  1591. package/src/routes/price-lists/price-list-create/components/price-list-create-form/price-list-products-form.tsx +187 -0
  1592. package/src/routes/price-lists/price-list-create/components/price-list-create-form/schema.ts +59 -0
  1593. package/src/routes/price-lists/price-list-create/index.ts +1 -0
  1594. package/src/routes/price-lists/price-list-create/price-list-create.tsx +20 -0
  1595. package/src/routes/price-lists/price-list-detail/breadcrumb.tsx +27 -0
  1596. package/src/routes/price-lists/price-list-detail/components/price-list-configuration-section/index.ts +1 -0
  1597. package/src/routes/price-lists/price-list-detail/components/price-list-configuration-section/price-list-configuration-section.tsx +96 -0
  1598. package/src/routes/price-lists/price-list-detail/components/price-list-general-section/index.ts +1 -0
  1599. package/src/routes/price-lists/price-list-detail/components/price-list-general-section/price-list-general-section.tsx +94 -0
  1600. package/src/routes/price-lists/price-list-detail/components/price-list-product-section/index.ts +1 -0
  1601. package/src/routes/price-lists/price-list-detail/components/price-list-product-section/price-list-product-section.tsx +285 -0
  1602. package/src/routes/price-lists/price-list-detail/index.ts +3 -0
  1603. package/src/routes/price-lists/price-list-detail/loader.ts +16 -0
  1604. package/src/routes/price-lists/price-list-detail/price-list-detail.tsx +59 -0
  1605. package/src/routes/price-lists/price-list-edit/components/price-list-edit-form/edit-price-list-form.tsx +193 -0
  1606. package/src/routes/price-lists/price-list-edit/components/price-list-edit-form/index.ts +1 -0
  1607. package/src/routes/price-lists/price-list-edit/index.ts +1 -0
  1608. package/src/routes/price-lists/price-list-edit/price-list-edit.tsx +28 -0
  1609. package/src/routes/price-lists/price-list-list/components/price-list-list-table/index.ts +1 -0
  1610. package/src/routes/price-lists/price-list-list/components/price-list-list-table/price-count-cell.tsx +19 -0
  1611. package/src/routes/price-lists/price-list-list/components/price-list-list-table/price-list-list-table-actions.tsx +42 -0
  1612. package/src/routes/price-lists/price-list-list/components/price-list-list-table/price-list-list-table.tsx +76 -0
  1613. package/src/routes/price-lists/price-list-list/components/price-list-list-table/use-pricing-table-columns.tsx +45 -0
  1614. package/src/routes/price-lists/price-list-list/components/price-list-list-table/use-pricing-table-filters.tsx +7 -0
  1615. package/src/routes/price-lists/price-list-list/components/price-list-list-table/use-pricing-table-query.tsx +25 -0
  1616. package/src/routes/price-lists/price-list-list/index.ts +1 -0
  1617. package/src/routes/price-lists/price-list-list/price-list-list.tsx +20 -0
  1618. package/src/routes/price-lists/price-list-metadata/index.ts +1 -0
  1619. package/src/routes/price-lists/price-list-metadata/price-list-metadata.tsx +26 -0
  1620. package/src/routes/price-lists/price-list-prices-add/components/price-list-prices-add-form/index.ts +1 -0
  1621. package/src/routes/price-lists/price-list-prices-add/components/price-list-prices-add-form/price-list-prices-add-form.tsx +302 -0
  1622. package/src/routes/price-lists/price-list-prices-add/components/price-list-prices-add-form/price-list-prices-add-prices-form.tsx +103 -0
  1623. package/src/routes/price-lists/price-list-prices-add/components/price-list-prices-add-form/price-list-prices-add-product-ids-form.tsx +228 -0
  1624. package/src/routes/price-lists/price-list-prices-add/components/price-list-prices-add-form/schema.ts +27 -0
  1625. package/src/routes/price-lists/price-list-prices-add/index.ts +1 -0
  1626. package/src/routes/price-lists/price-list-prices-add/price-list-prices-add.tsx +35 -0
  1627. package/src/routes/price-lists/price-list-prices-edit/components/price-list-prices-edit-form/index.ts +1 -0
  1628. package/src/routes/price-lists/price-list-prices-edit/components/price-list-prices-edit-form/price-list-prices-edit-form.tsx +125 -0
  1629. package/src/routes/price-lists/price-list-prices-edit/index.ts +1 -0
  1630. package/src/routes/price-lists/price-list-prices-edit/price-list-prices-edit.tsx +66 -0
  1631. package/src/routes/product-options/common/hooks/use-delete-product-option-action.tsx +41 -0
  1632. package/src/routes/product-options/common/hooks/use-delete-product-option-value-action.tsx +43 -0
  1633. package/src/routes/product-options/product-option-create/components/create-product-option-form/create-product-option-details.tsx +71 -0
  1634. package/src/routes/product-options/product-option-create/components/create-product-option-form/create-product-option-form.tsx +97 -0
  1635. package/src/routes/product-options/product-option-create/components/create-product-option-form/create-product-option-organize.tsx +96 -0
  1636. package/src/routes/product-options/product-option-create/components/create-product-option-form/index.ts +1 -0
  1637. package/src/routes/product-options/product-option-create/components/create-product-option-form/schema.ts +15 -0
  1638. package/src/routes/product-options/product-option-create/index.ts +1 -0
  1639. package/src/routes/product-options/product-option-create/product-option-create.tsx +10 -0
  1640. package/src/routes/product-options/product-option-detail/breadcrumb.tsx +14 -0
  1641. package/src/routes/product-options/product-option-detail/components/product-option-general-section/index.ts +1 -0
  1642. package/src/routes/product-options/product-option-detail/components/product-option-general-section/product-option-general-section.tsx +65 -0
  1643. package/src/routes/product-options/product-option-detail/components/product-option-product-section/index.ts +1 -0
  1644. package/src/routes/product-options/product-option-detail/components/product-option-product-section/product-option-product-section.tsx +74 -0
  1645. package/src/routes/product-options/product-option-detail/components/product-option-values-section/index.ts +1 -0
  1646. package/src/routes/product-options/product-option-detail/components/product-option-values-section/product-option-values-section.tsx +134 -0
  1647. package/src/routes/product-options/product-option-detail/index.ts +3 -0
  1648. package/src/routes/product-options/product-option-detail/loader.ts +18 -0
  1649. package/src/routes/product-options/product-option-detail/product-option-detail.tsx +63 -0
  1650. package/src/routes/product-options/product-option-edit/components/edit-product-option-form/edit-product-option-details.tsx +94 -0
  1651. package/src/routes/product-options/product-option-edit/components/edit-product-option-form/edit-product-option-form.tsx +116 -0
  1652. package/src/routes/product-options/product-option-edit/components/edit-product-option-form/edit-product-option-organize.tsx +87 -0
  1653. package/src/routes/product-options/product-option-edit/components/edit-product-option-form/index.ts +1 -0
  1654. package/src/routes/product-options/product-option-edit/components/edit-product-option-form/schema.ts +13 -0
  1655. package/src/routes/product-options/product-option-edit/index.ts +1 -0
  1656. package/src/routes/product-options/product-option-edit/product-option-edit.tsx +34 -0
  1657. package/src/routes/product-options/product-option-list/components/product-option-list-table/index.ts +1 -0
  1658. package/src/routes/product-options/product-option-list/components/product-option-list-table/product-option-list-table.tsx +168 -0
  1659. package/src/routes/product-options/product-option-list/index.ts +1 -0
  1660. package/src/routes/product-options/product-option-list/product-option-list.tsx +20 -0
  1661. package/src/routes/product-options/product-option-metadata/index.ts +1 -0
  1662. package/src/routes/product-options/product-option-metadata/product-option-metadata.tsx +27 -0
  1663. package/src/routes/product-options/product-option-value-detail/breadcrumb.tsx +14 -0
  1664. package/src/routes/product-options/product-option-value-detail/components/product-option-value-general-section/index.ts +1 -0
  1665. package/src/routes/product-options/product-option-value-detail/components/product-option-value-general-section/product-option-value-general-section.tsx +41 -0
  1666. package/src/routes/product-options/product-option-value-detail/index.ts +3 -0
  1667. package/src/routes/product-options/product-option-value-detail/loader.ts +21 -0
  1668. package/src/routes/product-options/product-option-value-detail/product-option-value-detail.tsx +55 -0
  1669. package/src/routes/product-options/product-option-value-metadata/index.ts +1 -0
  1670. package/src/routes/product-options/product-option-value-metadata/product-option-value-metadata.tsx +32 -0
  1671. package/src/routes/product-tags/common/hooks/use-delete-product-tag-action.tsx +52 -0
  1672. package/src/routes/product-tags/product-tag-create/components/product-tag-create-form/index.ts +1 -0
  1673. package/src/routes/product-tags/product-tag-create/components/product-tag-create-form/product-tag-create-form.tsx +100 -0
  1674. package/src/routes/product-tags/product-tag-create/index.ts +1 -0
  1675. package/src/routes/product-tags/product-tag-create/product-tag-create.tsx +10 -0
  1676. package/src/routes/product-tags/product-tag-detail/breadcrumb.tsx +27 -0
  1677. package/src/routes/product-tags/product-tag-detail/components/product-tag-general-section/index.ts +1 -0
  1678. package/src/routes/product-tags/product-tag-detail/components/product-tag-general-section/product-tag-general-section.tsx +63 -0
  1679. package/src/routes/product-tags/product-tag-detail/components/product-tag-product-section/index.ts +1 -0
  1680. package/src/routes/product-tags/product-tag-detail/components/product-tag-product-section/product-tag-product-section.tsx +74 -0
  1681. package/src/routes/product-tags/product-tag-detail/index.ts +3 -0
  1682. package/src/routes/product-tags/product-tag-detail/loader.ts +17 -0
  1683. package/src/routes/product-tags/product-tag-detail/product-tag-detail.tsx +54 -0
  1684. package/src/routes/product-tags/product-tag-edit/components/product-tag-edit-form/index.ts +1 -0
  1685. package/src/routes/product-tags/product-tag-edit/components/product-tag-edit-form/product-tag-edit-form.tsx +88 -0
  1686. package/src/routes/product-tags/product-tag-edit/index.ts +1 -0
  1687. package/src/routes/product-tags/product-tag-edit/product-tag-edit.tsx +33 -0
  1688. package/src/routes/product-tags/product-tag-list/components/product-tag-list-table/index.ts +1 -0
  1689. package/src/routes/product-tags/product-tag-list/components/product-tag-list-table/product-tag-list-table.tsx +148 -0
  1690. package/src/routes/product-tags/product-tag-list/index.ts +2 -0
  1691. package/src/routes/product-tags/product-tag-list/loader.ts +34 -0
  1692. package/src/routes/product-tags/product-tag-list/product-tag-list.tsx +20 -0
  1693. package/src/routes/product-tags/product-tag-metadata/index.ts +1 -0
  1694. package/src/routes/product-tags/product-tag-metadata/product-tag-metadata.tsx +26 -0
  1695. package/src/routes/product-types/common/hooks/use-delete-product-type-action.tsx +38 -0
  1696. package/src/routes/product-types/product-type-create/components/create-product-type-form/create-product-type-form.tsx +100 -0
  1697. package/src/routes/product-types/product-type-create/components/create-product-type-form/index.ts +1 -0
  1698. package/src/routes/product-types/product-type-create/index.ts +1 -0
  1699. package/src/routes/product-types/product-type-create/product-type-create.tsx +10 -0
  1700. package/src/routes/product-types/product-type-detail/breadcrumb.tsx +28 -0
  1701. package/src/routes/product-types/product-type-detail/components/product-type-general-section/index.ts +1 -0
  1702. package/src/routes/product-types/product-type-detail/components/product-type-general-section/product-type-general-section.tsx +63 -0
  1703. package/src/routes/product-types/product-type-detail/components/product-type-product-section/index.ts +1 -0
  1704. package/src/routes/product-types/product-type-detail/components/product-type-product-section/product-type-product-section.tsx +70 -0
  1705. package/src/routes/product-types/product-type-detail/index.ts +3 -0
  1706. package/src/routes/product-types/product-type-detail/loader.ts +17 -0
  1707. package/src/routes/product-types/product-type-detail/product-type-detail.tsx +53 -0
  1708. package/src/routes/product-types/product-type-edit/components/edit-product-type-form/edit-product-type-form.tsx +94 -0
  1709. package/src/routes/product-types/product-type-edit/components/edit-product-type-form/index.ts +1 -0
  1710. package/src/routes/product-types/product-type-edit/index.ts +1 -0
  1711. package/src/routes/product-types/product-type-edit/product-type-edit.tsx +28 -0
  1712. package/src/routes/product-types/product-type-list/components/product-type-list-table/index.ts +1 -0
  1713. package/src/routes/product-types/product-type-list/components/product-type-list-table/product-table-row-actions.tsx +59 -0
  1714. package/src/routes/product-types/product-type-list/components/product-type-list-table/product-type-list-table.tsx +98 -0
  1715. package/src/routes/product-types/product-type-list/index.ts +1 -0
  1716. package/src/routes/product-types/product-type-list/product-type-list.tsx +20 -0
  1717. package/src/routes/product-types/product-type-metadata/index.ts +1 -0
  1718. package/src/routes/product-types/product-type-metadata/product-type-metadata.tsx +26 -0
  1719. package/src/routes/product-variants/product-variant-detail/breadcrumb.tsx +35 -0
  1720. package/src/routes/product-variants/product-variant-detail/components/variant-general-section/index.ts +1 -0
  1721. package/src/routes/product-variants/product-variant-detail/components/variant-general-section/variant-general-section.tsx +112 -0
  1722. package/src/routes/product-variants/product-variant-detail/components/variant-inventory-section/index.ts +1 -0
  1723. package/src/routes/product-variants/product-variant-detail/components/variant-inventory-section/inventory-actions.tsx +26 -0
  1724. package/src/routes/product-variants/product-variant-detail/components/variant-inventory-section/use-inventory-table-columns.tsx +105 -0
  1725. package/src/routes/product-variants/product-variant-detail/components/variant-inventory-section/variant-inventory-section.tsx +97 -0
  1726. package/src/routes/product-variants/product-variant-detail/components/variant-media-section/index.ts +1 -0
  1727. package/src/routes/product-variants/product-variant-detail/components/variant-media-section/variant-media-section.tsx +81 -0
  1728. package/src/routes/product-variants/product-variant-detail/components/variant-prices-section/index.ts +1 -0
  1729. package/src/routes/product-variants/product-variant-detail/components/variant-prices-section/variant-prices-section.tsx +86 -0
  1730. package/src/routes/product-variants/product-variant-detail/constants.ts +33 -0
  1731. package/src/routes/product-variants/product-variant-detail/index.ts +3 -0
  1732. package/src/routes/product-variants/product-variant-detail/loader.ts +25 -0
  1733. package/src/routes/product-variants/product-variant-detail/product-variant-detail.tsx +92 -0
  1734. package/src/routes/product-variants/product-variant-edit/components/product-edit-variant-form/index.ts +1 -0
  1735. package/src/routes/product-variants/product-variant-edit/components/product-edit-variant-form/product-edit-variant-form.tsx +447 -0
  1736. package/src/routes/product-variants/product-variant-edit/index.ts +2 -0
  1737. package/src/routes/product-variants/product-variant-edit/loader.ts +33 -0
  1738. package/src/routes/product-variants/product-variant-edit/product-variant-edit.tsx +62 -0
  1739. package/src/routes/product-variants/product-variant-manage-inventory-items/components/manage-variant-inventory-items-form/index.ts +1 -0
  1740. package/src/routes/product-variants/product-variant-manage-inventory-items/components/manage-variant-inventory-items-form/manage-variant-inventory-items-form.tsx +372 -0
  1741. package/src/routes/product-variants/product-variant-manage-inventory-items/index.ts +1 -0
  1742. package/src/routes/product-variants/product-variant-manage-inventory-items/product-variant-manage-inventory-items.tsx +34 -0
  1743. package/src/routes/product-variants/product-variant-media/components/edit-product-variant-media-form/edit-product-variant-media-form.tsx +433 -0
  1744. package/src/routes/product-variants/product-variant-media/components/edit-product-variant-media-form/index.ts +1 -0
  1745. package/src/routes/product-variants/product-variant-media/index.ts +1 -0
  1746. package/src/routes/product-variants/product-variant-media/product-variant-media.tsx +32 -0
  1747. package/src/routes/product-variants/product-variant-metadata/index.ts +1 -0
  1748. package/src/routes/product-variants/product-variant-metadata/product-variant-metadata.tsx +30 -0
  1749. package/src/routes/products/common/components/category-combobox/category-combobox.tsx +499 -0
  1750. package/src/routes/products/common/components/category-combobox/index.ts +1 -0
  1751. package/src/routes/products/common/components/upload-media-form-item/index.ts +1 -0
  1752. package/src/routes/products/common/components/upload-media-form-item/upload-media-form-item.tsx +142 -0
  1753. package/src/routes/products/common/constants.ts +1 -0
  1754. package/src/routes/products/common/variant-pricing-form.tsx +99 -0
  1755. package/src/routes/products/product-attributes/components/product-attributes-form/index.ts +1 -0
  1756. package/src/routes/products/product-attributes/components/product-attributes-form/product-attributes-form.tsx +279 -0
  1757. package/src/routes/products/product-attributes/index.ts +1 -0
  1758. package/src/routes/products/product-attributes/product-attributes.tsx +33 -0
  1759. package/src/routes/products/product-create/components/product-create-details-form/components/product-create-details-general-section/index.ts +1 -0
  1760. package/src/routes/products/product-create/components/product-create-details-form/components/product-create-details-general-section/product-create-general-section.tsx +103 -0
  1761. package/src/routes/products/product-create/components/product-create-details-form/components/product-create-details-media-section/index.ts +1 -0
  1762. package/src/routes/products/product-create/components/product-create-details-form/components/product-create-details-media-section/product-create-details-media-section.tsx +325 -0
  1763. package/src/routes/products/product-create/components/product-create-details-form/components/product-create-details-variant-section/index.ts +1 -0
  1764. package/src/routes/products/product-create/components/product-create-details-form/components/product-create-details-variant-section/product-create-details-variant-section.tsx +718 -0
  1765. package/src/routes/products/product-create/components/product-create-details-form/index.ts +1 -0
  1766. package/src/routes/products/product-create/components/product-create-details-form/product-create-details-form.tsx +44 -0
  1767. package/src/routes/products/product-create/components/product-create-form/index.ts +1 -0
  1768. package/src/routes/products/product-create/components/product-create-form/product-create-form.tsx +415 -0
  1769. package/src/routes/products/product-create/components/product-create-inventory-kit-form/components/product-create-inventory-kit-section/index.ts +1 -0
  1770. package/src/routes/products/product-create/components/product-create-inventory-kit-form/components/product-create-inventory-kit-section/product-create-inventory-kit-section.tsx +248 -0
  1771. package/src/routes/products/product-create/components/product-create-inventory-kit-form/index.ts +1 -0
  1772. package/src/routes/products/product-create/components/product-create-inventory-kit-form/product-create-inventory-kit-form.tsx +20 -0
  1773. package/src/routes/products/product-create/components/product-create-organize-form/components/product-create-organize-attribute-section/index.ts +1 -0
  1774. package/src/routes/products/product-create/components/product-create-organize-form/components/product-create-organize-attribute-section/product-create-details-attribute-section.tsx +155 -0
  1775. package/src/routes/products/product-create/components/product-create-organize-form/components/product-create-organize-section/index.ts +1 -0
  1776. package/src/routes/products/product-create/components/product-create-organize-form/components/product-create-organize-section/product-create-details-organize-section.tsx +258 -0
  1777. package/src/routes/products/product-create/components/product-create-organize-form/components/product-create-sales-channel-stacked-modal/index.ts +1 -0
  1778. package/src/routes/products/product-create/components/product-create-organize-form/components/product-create-sales-channel-stacked-modal/product-create-sales-channel-drawer.tsx +160 -0
  1779. package/src/routes/products/product-create/components/product-create-organize-form/constants.ts +1 -0
  1780. package/src/routes/products/product-create/components/product-create-organize-form/index.ts +1 -0
  1781. package/src/routes/products/product-create/components/product-create-organize-form/product-create-organize-form.tsx +33 -0
  1782. package/src/routes/products/product-create/components/product-create-variants-form/index.ts +1 -0
  1783. package/src/routes/products/product-create/components/product-create-variants-form/product-create-variants-form.tsx +204 -0
  1784. package/src/routes/products/product-create/constants.ts +165 -0
  1785. package/src/routes/products/product-create/index.ts +1 -0
  1786. package/src/routes/products/product-create/product-create.tsx +90 -0
  1787. package/src/routes/products/product-create/types.ts +6 -0
  1788. package/src/routes/products/product-create/utils.ts +123 -0
  1789. package/src/routes/products/product-create-variant/components/create-product-variant-form/constants.ts +44 -0
  1790. package/src/routes/products/product-create-variant/components/create-product-variant-form/create-product-variant-form.tsx +384 -0
  1791. package/src/routes/products/product-create-variant/components/create-product-variant-form/details-tab.tsx +192 -0
  1792. package/src/routes/products/product-create-variant/components/create-product-variant-form/index.ts +1 -0
  1793. package/src/routes/products/product-create-variant/components/create-product-variant-form/inventory-kit-tab.tsx +187 -0
  1794. package/src/routes/products/product-create-variant/components/create-product-variant-form/pricing-tab.tsx +100 -0
  1795. package/src/routes/products/product-create-variant/index.ts +1 -0
  1796. package/src/routes/products/product-create-variant/product-create-variant.tsx +23 -0
  1797. package/src/routes/products/product-detail/breadcrumb.tsx +34 -0
  1798. package/src/routes/products/product-detail/components/product-attribute-section/index.ts +1 -0
  1799. package/src/routes/products/product-detail/components/product-attribute-section/product-attribute-section.tsx +53 -0
  1800. package/src/routes/products/product-detail/components/product-general-section/index.ts +1 -0
  1801. package/src/routes/products/product-detail/components/product-general-section/product-general-section.tsx +130 -0
  1802. package/src/routes/products/product-detail/components/product-media-section/index.ts +1 -0
  1803. package/src/routes/products/product-detail/components/product-media-section/product-media-section.tsx +221 -0
  1804. package/src/routes/products/product-detail/components/product-option-section/index.ts +1 -0
  1805. package/src/routes/products/product-detail/components/product-option-section/product-option-section.tsx +95 -0
  1806. package/src/routes/products/product-detail/components/product-organization-section/index.ts +1 -0
  1807. package/src/routes/products/product-detail/components/product-organization-section/product-organization-section.tsx +107 -0
  1808. package/src/routes/products/product-detail/components/product-sales-channel-section/index.ts +1 -0
  1809. package/src/routes/products/product-detail/components/product-sales-channel-section/product-sales-channel-section.tsx +110 -0
  1810. package/src/routes/products/product-detail/components/product-shipping-profile-section/index.ts +1 -0
  1811. package/src/routes/products/product-detail/components/product-shipping-profile-section/product-shipping-profile-section.tsx +49 -0
  1812. package/src/routes/products/product-detail/components/product-variant-section/index.ts +1 -0
  1813. package/src/routes/products/product-detail/components/product-variant-section/product-variant-section.tsx +468 -0
  1814. package/src/routes/products/product-detail/constants.ts +16 -0
  1815. package/src/routes/products/product-detail/index.ts +3 -0
  1816. package/src/routes/products/product-detail/loader.ts +24 -0
  1817. package/src/routes/products/product-detail/product-detail.tsx +92 -0
  1818. package/src/routes/products/product-edit/components/edit-product-form/edit-product-form.tsx +246 -0
  1819. package/src/routes/products/product-edit/components/edit-product-form/index.ts +1 -0
  1820. package/src/routes/products/product-edit/index.ts +1 -0
  1821. package/src/routes/products/product-edit/product-edit.tsx +36 -0
  1822. package/src/routes/products/product-export/components/export-filters.tsx +22 -0
  1823. package/src/routes/products/product-export/index.ts +1 -0
  1824. package/src/routes/products/product-export/product-export.tsx +74 -0
  1825. package/src/routes/products/product-image-variants-edit/components/variants-table-form/index.ts +1 -0
  1826. package/src/routes/products/product-image-variants-edit/components/variants-table-form/variants-table-form.tsx +264 -0
  1827. package/src/routes/products/product-image-variants-edit/index.ts +1 -0
  1828. package/src/routes/products/product-image-variants-edit/product-image-variants-edit.tsx +65 -0
  1829. package/src/routes/products/product-import/components/import-summary.tsx +50 -0
  1830. package/src/routes/products/product-import/components/upload-import.tsx +61 -0
  1831. package/src/routes/products/product-import/helpers/import-template.ts +12 -0
  1832. package/src/routes/products/product-import/index.ts +1 -0
  1833. package/src/routes/products/product-import/product-import.tsx +143 -0
  1834. package/src/routes/products/product-list/components/product-list-table/configurable-product-list-table.tsx +26 -0
  1835. package/src/routes/products/product-list/components/product-list-table/index.ts +1 -0
  1836. package/src/routes/products/product-list/components/product-list-table/product-list-table.tsx +196 -0
  1837. package/src/routes/products/product-list/components/product-list-table/product-table-adapter.tsx +56 -0
  1838. package/src/routes/products/product-list/components/product-list-table/use-product-table-filters.tsx +104 -0
  1839. package/src/routes/products/product-list/index.ts +2 -0
  1840. package/src/routes/products/product-list/loader.ts +28 -0
  1841. package/src/routes/products/product-list/product-list.tsx +28 -0
  1842. package/src/routes/products/product-media/components/edit-product-media-form/edit-product-media-form.tsx +457 -0
  1843. package/src/routes/products/product-media/components/edit-product-media-form/index.ts +1 -0
  1844. package/src/routes/products/product-media/components/product-media-gallery/index.ts +1 -0
  1845. package/src/routes/products/product-media/components/product-media-gallery/product-media-gallery.tsx +335 -0
  1846. package/src/routes/products/product-media/components/product-media-view/index.ts +1 -0
  1847. package/src/routes/products/product-media/components/product-media-view/product-media-view-context.tsx +9 -0
  1848. package/src/routes/products/product-media/components/product-media-view/product-media-view.tsx +54 -0
  1849. package/src/routes/products/product-media/components/product-media-view/use-product-media-view.tsx +14 -0
  1850. package/src/routes/products/product-media/index.ts +1 -0
  1851. package/src/routes/products/product-media/product-media.tsx +33 -0
  1852. package/src/routes/products/product-metadata/index.ts +1 -0
  1853. package/src/routes/products/product-metadata/product-metadata.tsx +28 -0
  1854. package/src/routes/products/product-options-manage/components/product-options-manage-form/index.ts +1 -0
  1855. package/src/routes/products/product-options-manage/components/product-options-manage-form/product-options-manage-form.tsx +665 -0
  1856. package/src/routes/products/product-options-manage/index.ts +1 -0
  1857. package/src/routes/products/product-options-manage/product-options-manage.tsx +35 -0
  1858. package/src/routes/products/product-organization/components/product-organization-form/index.ts +1 -0
  1859. package/src/routes/products/product-organization/components/product-organization-form/product-organization-form.tsx +227 -0
  1860. package/src/routes/products/product-organization/index.ts +1 -0
  1861. package/src/routes/products/product-organization/product-organization.tsx +32 -0
  1862. package/src/routes/products/product-prices/index.ts +1 -0
  1863. package/src/routes/products/product-prices/pricing-edit.tsx +152 -0
  1864. package/src/routes/products/product-prices/product-prices.tsx +26 -0
  1865. package/src/routes/products/product-sales-channels/components/edit-sales-channels-form/edit-sales-channels-form.tsx +155 -0
  1866. package/src/routes/products/product-sales-channels/components/edit-sales-channels-form/index.ts +1 -0
  1867. package/src/routes/products/product-sales-channels/index.ts +1 -0
  1868. package/src/routes/products/product-sales-channels/product-sales-channels.tsx +23 -0
  1869. package/src/routes/products/product-shipping-profile/components/product-organization-form/index.ts +1 -0
  1870. package/src/routes/products/product-shipping-profile/components/product-organization-form/product-shipping-profile-form.tsx +133 -0
  1871. package/src/routes/products/product-shipping-profile/index.ts +1 -0
  1872. package/src/routes/products/product-shipping-profile/product-shipping-profile.tsx +36 -0
  1873. package/src/routes/products/product-stock/components/product-stock-form/index.ts +1 -0
  1874. package/src/routes/products/product-stock/components/product-stock-form/product-stock-form.tsx +220 -0
  1875. package/src/routes/products/product-stock/hooks/use-product-stock-columns.tsx +227 -0
  1876. package/src/routes/products/product-stock/index.ts +2 -0
  1877. package/src/routes/products/product-stock/loader.ts +55 -0
  1878. package/src/routes/products/product-stock/product-stock.tsx +106 -0
  1879. package/src/routes/products/product-stock/schema.ts +33 -0
  1880. package/src/routes/products/product-stock/utils.ts +53 -0
  1881. package/src/routes/profile/profile-detail/components/profile-general-section/index.ts +1 -0
  1882. package/src/routes/profile/profile-detail/components/profile-general-section/profile-general-section.tsx +76 -0
  1883. package/src/routes/profile/profile-detail/components/profile-mfa-section/mfa-disable-modal.tsx +90 -0
  1884. package/src/routes/profile/profile-detail/components/profile-mfa-section/mfa-qr-code.tsx +51 -0
  1885. package/src/routes/profile/profile-detail/components/profile-mfa-section/mfa-setup-modal.tsx +195 -0
  1886. package/src/routes/profile/profile-detail/components/profile-mfa-section/profile-mfa-section.tsx +198 -0
  1887. package/src/routes/profile/profile-detail/index.ts +1 -0
  1888. package/src/routes/profile/profile-detail/profile-detail.tsx +39 -0
  1889. package/src/routes/profile/profile-edit/components/edit-profile-form/edit-profile-form.tsx +205 -0
  1890. package/src/routes/profile/profile-edit/index.ts +1 -0
  1891. package/src/routes/profile/profile-edit/profile-edit.tsx +26 -0
  1892. package/src/routes/promotions/common/edit-rules/components/edit-rules-form/edit-rules-form.tsx +76 -0
  1893. package/src/routes/promotions/common/edit-rules/components/edit-rules-form/form-schema.ts +32 -0
  1894. package/src/routes/promotions/common/edit-rules/components/edit-rules-form/index.ts +1 -0
  1895. package/src/routes/promotions/common/edit-rules/components/edit-rules-form/utils.ts +17 -0
  1896. package/src/routes/promotions/common/edit-rules/components/edit-rules-wrapper/edit-rules-wrapper.tsx +126 -0
  1897. package/src/routes/promotions/common/edit-rules/components/edit-rules-wrapper/index.ts +1 -0
  1898. package/src/routes/promotions/common/edit-rules/components/edit-rules-wrapper/utils.ts +9 -0
  1899. package/src/routes/promotions/common/edit-rules/components/rule-value-form-field/index.ts +1 -0
  1900. package/src/routes/promotions/common/edit-rules/components/rule-value-form-field/rule-value-form-field.tsx +173 -0
  1901. package/src/routes/promotions/common/edit-rules/components/rules-form-field/constants.ts +11 -0
  1902. package/src/routes/promotions/common/edit-rules/components/rules-form-field/index.ts +1 -0
  1903. package/src/routes/promotions/common/edit-rules/components/rules-form-field/rules-form-field.tsx +477 -0
  1904. package/src/routes/promotions/common/edit-rules/edit-rules.tsx +63 -0
  1905. package/src/routes/promotions/common/edit-rules/index.ts +1 -0
  1906. package/src/routes/promotions/promotion-add-campaign/components/add-campaign-promotion-form/add-campaign-promotion-form.tsx +244 -0
  1907. package/src/routes/promotions/promotion-add-campaign/components/add-campaign-promotion-form/campaign-details.tsx +145 -0
  1908. package/src/routes/promotions/promotion-add-campaign/components/add-campaign-promotion-form/index.ts +1 -0
  1909. package/src/routes/promotions/promotion-add-campaign/index.ts +1 -0
  1910. package/src/routes/promotions/promotion-add-campaign/promotion-add-campaign.tsx +29 -0
  1911. package/src/routes/promotions/promotion-create/components/create-promotion-form/constants.ts +11 -0
  1912. package/src/routes/promotions/promotion-create/components/create-promotion-form/create-promotion-form.tsx +1071 -0
  1913. package/src/routes/promotions/promotion-create/components/create-promotion-form/form-schema.ts +62 -0
  1914. package/src/routes/promotions/promotion-create/components/create-promotion-form/index.ts +1 -0
  1915. package/src/routes/promotions/promotion-create/components/create-promotion-form/templates.ts +137 -0
  1916. package/src/routes/promotions/promotion-create/index.ts +1 -0
  1917. package/src/routes/promotions/promotion-create/promotion-create.tsx +10 -0
  1918. package/src/routes/promotions/promotion-detail/breadcrumb.tsx +26 -0
  1919. package/src/routes/promotions/promotion-detail/components/campaign-section/campaign-section.tsx +92 -0
  1920. package/src/routes/promotions/promotion-detail/components/campaign-section/index.ts +1 -0
  1921. package/src/routes/promotions/promotion-detail/components/promotion-conditions-section/index.ts +1 -0
  1922. package/src/routes/promotions/promotion-detail/components/promotion-conditions-section/promotion-conditions-section.tsx +107 -0
  1923. package/src/routes/promotions/promotion-detail/components/promotion-general-section/index.ts +1 -0
  1924. package/src/routes/promotions/promotion-detail/components/promotion-general-section/promotion-general-section.tsx +215 -0
  1925. package/src/routes/promotions/promotion-detail/index.ts +3 -0
  1926. package/src/routes/promotions/promotion-detail/loader.ts +16 -0
  1927. package/src/routes/promotions/promotion-detail/promotion-detail.tsx +104 -0
  1928. package/src/routes/promotions/promotion-edit-details/components/edit-promotion-form/edit-promotion-details-form.tsx +455 -0
  1929. package/src/routes/promotions/promotion-edit-details/components/edit-promotion-form/index.ts +1 -0
  1930. package/src/routes/promotions/promotion-edit-details/index.ts +1 -0
  1931. package/src/routes/promotions/promotion-edit-details/promotion-edit-details.tsx +30 -0
  1932. package/src/routes/promotions/promotion-list/components/promotion-list-table/index.ts +1 -0
  1933. package/src/routes/promotions/promotion-list/components/promotion-list-table/promotion-list-table.tsx +158 -0
  1934. package/src/routes/promotions/promotion-list/index.ts +2 -0
  1935. package/src/routes/promotions/promotion-list/loader.ts +27 -0
  1936. package/src/routes/promotions/promotion-list/promotions-list.tsx +20 -0
  1937. package/src/routes/refund-reasons/refund-reason-create/components/refund-reason-create-form/index.ts +1 -0
  1938. package/src/routes/refund-reasons/refund-reason-create/components/refund-reason-create-form/refund-reason-create-form.tsx +177 -0
  1939. package/src/routes/refund-reasons/refund-reason-create/index.ts +1 -0
  1940. package/src/routes/refund-reasons/refund-reason-create/refund-reason-create.tsx +10 -0
  1941. package/src/routes/refund-reasons/refund-reason-edit/components/refund-reason-edit-form/index.ts +1 -0
  1942. package/src/routes/refund-reasons/refund-reason-edit/components/refund-reason-edit-form/refund-reason-edit-form.tsx +141 -0
  1943. package/src/routes/refund-reasons/refund-reason-edit/index.ts +1 -0
  1944. package/src/routes/refund-reasons/refund-reason-edit/refund-reason-edit.tsx +33 -0
  1945. package/src/routes/refund-reasons/refund-reason-list/components/refund-reason-list-table/index.ts +1 -0
  1946. package/src/routes/refund-reasons/refund-reason-list/components/refund-reason-list-table/refund-reason-list-table.tsx +138 -0
  1947. package/src/routes/refund-reasons/refund-reason-list/index.ts +2 -0
  1948. package/src/routes/refund-reasons/refund-reason-list/loader.ts +16 -0
  1949. package/src/routes/refund-reasons/refund-reason-list/refund-reason-list.tsx +20 -0
  1950. package/src/routes/regions/common/constants.ts +4 -0
  1951. package/src/routes/regions/common/hooks/use-countries.tsx +68 -0
  1952. package/src/routes/regions/common/hooks/use-country-table-columns.tsx +25 -0
  1953. package/src/routes/regions/common/hooks/use-country-table-query.tsx +25 -0
  1954. package/src/routes/regions/region-add-countries/components/add-countries-form/add-countries-form.tsx +211 -0
  1955. package/src/routes/regions/region-add-countries/components/add-countries-form/index.ts +1 -0
  1956. package/src/routes/regions/region-add-countries/index.ts +1 -0
  1957. package/src/routes/regions/region-add-countries/region-add-countries.tsx +27 -0
  1958. package/src/routes/regions/region-create/components/create-region-form/create-region-form.tsx +524 -0
  1959. package/src/routes/regions/region-create/components/create-region-form/index.ts +1 -0
  1960. package/src/routes/regions/region-create/index.ts +1 -0
  1961. package/src/routes/regions/region-create/region-create.tsx +22 -0
  1962. package/src/routes/regions/region-detail/breadcrumb.tsx +31 -0
  1963. package/src/routes/regions/region-detail/components/region-country-section/index.ts +1 -0
  1964. package/src/routes/regions/region-detail/components/region-country-section/region-country-section.tsx +256 -0
  1965. package/src/routes/regions/region-detail/components/region-general-section/index.ts +1 -0
  1966. package/src/routes/regions/region-detail/components/region-general-section/region-general-section.tsx +138 -0
  1967. package/src/routes/regions/region-detail/constants.ts +2 -0
  1968. package/src/routes/regions/region-detail/index.ts +3 -0
  1969. package/src/routes/regions/region-detail/loader.ts +25 -0
  1970. package/src/routes/regions/region-detail/region-detail.tsx +81 -0
  1971. package/src/routes/regions/region-edit/components/edit-region-form/edit-region-form.tsx +251 -0
  1972. package/src/routes/regions/region-edit/components/edit-region-form/index.ts +1 -0
  1973. package/src/routes/regions/region-edit/index.ts +1 -0
  1974. package/src/routes/regions/region-edit/region-edit.tsx +77 -0
  1975. package/src/routes/regions/region-list/components/region-list-table/index.ts +1 -0
  1976. package/src/routes/regions/region-list/components/region-list-table/region-list-table.tsx +178 -0
  1977. package/src/routes/regions/region-list/index.ts +1 -0
  1978. package/src/routes/regions/region-list/region-list.tsx +20 -0
  1979. package/src/routes/regions/region-metadata/index.ts +1 -0
  1980. package/src/routes/regions/region-metadata/region-metadata.tsx +27 -0
  1981. package/src/routes/reservations/reservation-create/components/reservation-create-from/index.ts +1 -0
  1982. package/src/routes/reservations/reservation-create/components/reservation-create-from/reservation-create-from.tsx +311 -0
  1983. package/src/routes/reservations/reservation-create/index.ts +1 -0
  1984. package/src/routes/reservations/reservation-create/reservation-create.tsx +16 -0
  1985. package/src/routes/reservations/reservation-detail/breadcrumb.tsx +41 -0
  1986. package/src/routes/reservations/reservation-detail/components/edit-reservation/components/edit-reservation-form.tsx +215 -0
  1987. package/src/routes/reservations/reservation-detail/components/edit-reservation/components/index.tsx +1 -0
  1988. package/src/routes/reservations/reservation-detail/components/edit-reservation/edit-reservation-modal.tsx +50 -0
  1989. package/src/routes/reservations/reservation-detail/components/edit-reservation/index.ts +1 -0
  1990. package/src/routes/reservations/reservation-detail/components/reservation-general-section/index.ts +1 -0
  1991. package/src/routes/reservations/reservation-detail/components/reservation-general-section/reservation-general-section.tsx +87 -0
  1992. package/src/routes/reservations/reservation-detail/index.ts +3 -0
  1993. package/src/routes/reservations/reservation-detail/loader.ts +16 -0
  1994. package/src/routes/reservations/reservation-detail/reservation-detail.tsx +75 -0
  1995. package/src/routes/reservations/reservation-list/components/reservation-list-table/index.ts +1 -0
  1996. package/src/routes/reservations/reservation-list/components/reservation-list-table/reservation-actions.tsx +57 -0
  1997. package/src/routes/reservations/reservation-list/components/reservation-list-table/reservation-list-table.tsx +67 -0
  1998. package/src/routes/reservations/reservation-list/components/reservation-list-table/use-reservation-table-columns.tsx +106 -0
  1999. package/src/routes/reservations/reservation-list/components/reservation-list-table/use-reservation-table-filters.tsx +35 -0
  2000. package/src/routes/reservations/reservation-list/components/reservation-list-table/use-reservation-table-query.tsx +32 -0
  2001. package/src/routes/reservations/reservation-list/constants.ts +1 -0
  2002. package/src/routes/reservations/reservation-list/index.ts +1 -0
  2003. package/src/routes/reservations/reservation-list/reservation-list.tsx +22 -0
  2004. package/src/routes/reservations/reservation-metadata/index.ts +1 -0
  2005. package/src/routes/reservations/reservation-metadata/reservation-metadata.tsx +34 -0
  2006. package/src/routes/reset-password/index.ts +1 -0
  2007. package/src/routes/reset-password/reset-password.tsx +341 -0
  2008. package/src/routes/return-reasons/return-reason-create/components/return-reason-create-form/index.ts +1 -0
  2009. package/src/routes/return-reasons/return-reason-create/components/return-reason-create-form/return-reason-create-form.tsx +157 -0
  2010. package/src/routes/return-reasons/return-reason-create/index.ts +1 -0
  2011. package/src/routes/return-reasons/return-reason-create/return-reason-create.tsx +10 -0
  2012. package/src/routes/return-reasons/return-reason-edit/components/return-reason-edit-form/index.ts +1 -0
  2013. package/src/routes/return-reasons/return-reason-edit/components/return-reason-edit-form/return-reason-edit-form.tsx +141 -0
  2014. package/src/routes/return-reasons/return-reason-edit/index.ts +1 -0
  2015. package/src/routes/return-reasons/return-reason-edit/return-reason-edit.tsx +33 -0
  2016. package/src/routes/return-reasons/return-reason-list/components/return-reason-list-table/index.ts +1 -0
  2017. package/src/routes/return-reasons/return-reason-list/components/return-reason-list-table/return-reason-list-table.tsx +142 -0
  2018. package/src/routes/return-reasons/return-reason-list/index.ts +2 -0
  2019. package/src/routes/return-reasons/return-reason-list/loader.ts +21 -0
  2020. package/src/routes/return-reasons/return-reason-list/return-reason-list.tsx +20 -0
  2021. package/src/routes/roles/role-add-users/components/add-users-form/add-users-form.tsx +287 -0
  2022. package/src/routes/roles/role-add-users/components/add-users-form/index.ts +1 -0
  2023. package/src/routes/roles/role-add-users/index.ts +1 -0
  2024. package/src/routes/roles/role-add-users/role-add-users.tsx +14 -0
  2025. package/src/routes/roles/role-create/components/create-role-form/create-role-form.tsx +384 -0
  2026. package/src/routes/roles/role-create/components/create-role-form/index.ts +1 -0
  2027. package/src/routes/roles/role-create/index.ts +1 -0
  2028. package/src/routes/roles/role-create/role-create.tsx +17 -0
  2029. package/src/routes/roles/role-detail/breadcrumb.tsx +28 -0
  2030. package/src/routes/roles/role-detail/components/role-general-section/index.ts +1 -0
  2031. package/src/routes/roles/role-detail/components/role-general-section/role-general-section.tsx +162 -0
  2032. package/src/routes/roles/role-detail/components/role-users-section/index.ts +1 -0
  2033. package/src/routes/roles/role-detail/components/role-users-section/role-users-section.tsx +294 -0
  2034. package/src/routes/roles/role-detail/constants.ts +2 -0
  2035. package/src/routes/roles/role-detail/index.ts +3 -0
  2036. package/src/routes/roles/role-detail/loader.ts +19 -0
  2037. package/src/routes/roles/role-detail/role-detail.tsx +68 -0
  2038. package/src/routes/roles/role-edit/components/edit-role-form/edit-role-form.tsx +111 -0
  2039. package/src/routes/roles/role-edit/components/edit-role-form/index.ts +1 -0
  2040. package/src/routes/roles/role-edit/index.ts +1 -0
  2041. package/src/routes/roles/role-edit/role-edit.tsx +29 -0
  2042. package/src/routes/roles/role-list/components/role-list-table/index.ts +1 -0
  2043. package/src/routes/roles/role-list/components/role-list-table/role-list-table.tsx +247 -0
  2044. package/src/routes/roles/role-list/index.ts +1 -0
  2045. package/src/routes/roles/role-list/role-list.tsx +27 -0
  2046. package/src/routes/roles/role-permissions/components/edit-role-permissions-form/edit-role-permissions-form.tsx +254 -0
  2047. package/src/routes/roles/role-permissions/components/edit-role-permissions-form/index.ts +1 -0
  2048. package/src/routes/roles/role-permissions/index.ts +1 -0
  2049. package/src/routes/roles/role-permissions/role-permissions.tsx +39 -0
  2050. package/src/routes/sales-channels/sales-channel-add-products/components/add-products-to-sales-channel-form.tsx +240 -0
  2051. package/src/routes/sales-channels/sales-channel-add-products/components/index.ts +1 -0
  2052. package/src/routes/sales-channels/sales-channel-add-products/index.ts +1 -0
  2053. package/src/routes/sales-channels/sales-channel-add-products/sales-channel-add-products.tsx +26 -0
  2054. package/src/routes/sales-channels/sales-channel-create/components/create-sales-channel-form/create-sales-channel-form.tsx +154 -0
  2055. package/src/routes/sales-channels/sales-channel-create/components/create-sales-channel-form/index.ts +1 -0
  2056. package/src/routes/sales-channels/sales-channel-create/index.ts +1 -0
  2057. package/src/routes/sales-channels/sales-channel-create/sales-channel-create.tsx +10 -0
  2058. package/src/routes/sales-channels/sales-channel-detail/breadcrumb.tsx +27 -0
  2059. package/src/routes/sales-channels/sales-channel-detail/components/sales-channel-general-section/index.ts +1 -0
  2060. package/src/routes/sales-channels/sales-channel-detail/components/sales-channel-general-section/sales-channel-general-section.tsx +99 -0
  2061. package/src/routes/sales-channels/sales-channel-detail/components/sales-channel-product-section/index.ts +1 -0
  2062. package/src/routes/sales-channels/sales-channel-detail/components/sales-channel-product-section/sales-channel-product-section.tsx +255 -0
  2063. package/src/routes/sales-channels/sales-channel-detail/index.ts +3 -0
  2064. package/src/routes/sales-channels/sales-channel-detail/loader.ts +17 -0
  2065. package/src/routes/sales-channels/sales-channel-detail/sales-channel-detail.tsx +45 -0
  2066. package/src/routes/sales-channels/sales-channel-edit/components/edit-sales-channel-form/edit-sales-channel-form.tsx +136 -0
  2067. package/src/routes/sales-channels/sales-channel-edit/components/edit-sales-channel-form/index.ts +1 -0
  2068. package/src/routes/sales-channels/sales-channel-edit/index.ts +1 -0
  2069. package/src/routes/sales-channels/sales-channel-edit/sales-channel-edit.tsx +36 -0
  2070. package/src/routes/sales-channels/sales-channel-list/components/index.ts +1 -0
  2071. package/src/routes/sales-channels/sales-channel-list/components/sales-channel-list-table.tsx +158 -0
  2072. package/src/routes/sales-channels/sales-channel-list/index.ts +1 -0
  2073. package/src/routes/sales-channels/sales-channel-list/sales-channel-list.tsx +20 -0
  2074. package/src/routes/sales-channels/sales-channel-metadata/index.ts +1 -0
  2075. package/src/routes/sales-channels/sales-channel-metadata/sales-channel-metadata.tsx +32 -0
  2076. package/src/routes/settings/index.ts +1 -0
  2077. package/src/routes/settings/settings.tsx +27 -0
  2078. package/src/routes/shipping-option-types/common/hooks/use-delete-shipping-option-type-action.tsx +43 -0
  2079. package/src/routes/shipping-option-types/shipping-option-type-create/components/create-shipping-option-type-form/create-shipping-option-type-form.tsx +171 -0
  2080. package/src/routes/shipping-option-types/shipping-option-type-create/components/create-shipping-option-type-form/index.ts +1 -0
  2081. package/src/routes/shipping-option-types/shipping-option-type-create/index.ts +1 -0
  2082. package/src/routes/shipping-option-types/shipping-option-type-create/shipping-option-type-create.tsx +10 -0
  2083. package/src/routes/shipping-option-types/shipping-option-type-detail/breadcrumb.tsx +30 -0
  2084. package/src/routes/shipping-option-types/shipping-option-type-detail/components/shipping-option-type-general-section/index.ts +1 -0
  2085. package/src/routes/shipping-option-types/shipping-option-type-detail/components/shipping-option-type-general-section/shipping-option-type-general-section.tsx +66 -0
  2086. package/src/routes/shipping-option-types/shipping-option-type-detail/index.ts +3 -0
  2087. package/src/routes/shipping-option-types/shipping-option-type-detail/loader.ts +19 -0
  2088. package/src/routes/shipping-option-types/shipping-option-type-detail/shipping-option-type-detail.tsx +48 -0
  2089. package/src/routes/shipping-option-types/shipping-option-type-edit/components/edit-shipping-option-type-form/edit-shipping-option-type-form.tsx +145 -0
  2090. package/src/routes/shipping-option-types/shipping-option-type-edit/components/edit-shipping-option-type-form/index.ts +1 -0
  2091. package/src/routes/shipping-option-types/shipping-option-type-edit/index.ts +1 -0
  2092. package/src/routes/shipping-option-types/shipping-option-type-edit/shipping-option-type-edit.tsx +31 -0
  2093. package/src/routes/shipping-option-types/shipping-option-type-list/components/shipping-option-type-list-table/index.ts +1 -0
  2094. package/src/routes/shipping-option-types/shipping-option-type-list/components/shipping-option-type-list-table/shipping-option-type-list-table.tsx +99 -0
  2095. package/src/routes/shipping-option-types/shipping-option-type-list/components/shipping-option-type-list-table/shipping-option-type-table-row-actions.tsx +44 -0
  2096. package/src/routes/shipping-option-types/shipping-option-type-list/index.ts +1 -0
  2097. package/src/routes/shipping-option-types/shipping-option-type-list/shipping-option-type-list.tsx +20 -0
  2098. package/src/routes/shipping-profiles/shipping-profile-create/components/create-shipping-profile-form/create-shipping-profile-form.tsx +129 -0
  2099. package/src/routes/shipping-profiles/shipping-profile-create/components/create-shipping-profile-form/index.ts +1 -0
  2100. package/src/routes/shipping-profiles/shipping-profile-create/index.ts +1 -0
  2101. package/src/routes/shipping-profiles/shipping-profile-create/shipping-profile-create.tsx +10 -0
  2102. package/src/routes/shipping-profiles/shipping-profile-detail/breadcrumb.tsx +33 -0
  2103. package/src/routes/shipping-profiles/shipping-profile-detail/components/shipping-profile-general-section/index.ts +1 -0
  2104. package/src/routes/shipping-profiles/shipping-profile-detail/components/shipping-profile-general-section/shipping-profile-general-section.tsx +76 -0
  2105. package/src/routes/shipping-profiles/shipping-profile-detail/index.ts +3 -0
  2106. package/src/routes/shipping-profiles/shipping-profile-detail/loader.ts +17 -0
  2107. package/src/routes/shipping-profiles/shipping-profile-detail/shipping-profile-detail.tsx +49 -0
  2108. package/src/routes/shipping-profiles/shipping-profile-metadata/index.ts +1 -0
  2109. package/src/routes/shipping-profiles/shipping-profile-metadata/shipping-profile-metadata.tsx +31 -0
  2110. package/src/routes/shipping-profiles/shipping-profiles-list/components/shipping-profile-list-table/index.ts +1 -0
  2111. package/src/routes/shipping-profiles/shipping-profiles-list/components/shipping-profile-list-table/shipping-options-row-actions.tsx +64 -0
  2112. package/src/routes/shipping-profiles/shipping-profiles-list/components/shipping-profile-list-table/shipping-profile-list-table.tsx +78 -0
  2113. package/src/routes/shipping-profiles/shipping-profiles-list/components/shipping-profile-list-table/use-shipping-profile-table-columns.tsx +31 -0
  2114. package/src/routes/shipping-profiles/shipping-profiles-list/components/shipping-profile-list-table/use-shipping-profile-table-filters.tsx +33 -0
  2115. package/src/routes/shipping-profiles/shipping-profiles-list/components/shipping-profile-list-table/use-shipping-profile-table-query.tsx +30 -0
  2116. package/src/routes/shipping-profiles/shipping-profiles-list/index.ts +1 -0
  2117. package/src/routes/shipping-profiles/shipping-profiles-list/shipping-profile-list.tsx +20 -0
  2118. package/src/routes/store/common/hooks/use-currencies-table-columns.tsx +29 -0
  2119. package/src/routes/store/common/hooks/use-currencies-table-query.tsx +21 -0
  2120. package/src/routes/store/common/hooks/use-locales-table-columns.tsx +29 -0
  2121. package/src/routes/store/common/hooks/use-locales-table-query.tsx +21 -0
  2122. package/src/routes/store/store-add-currencies/components/add-currencies-form/add-currencies-form.tsx +325 -0
  2123. package/src/routes/store/store-add-currencies/index.ts +1 -0
  2124. package/src/routes/store/store-add-currencies/store-add-currencies.tsx +42 -0
  2125. package/src/routes/store/store-add-locales/components/add-locales-form/add-locales-form.tsx +231 -0
  2126. package/src/routes/store/store-add-locales/index.ts +1 -0
  2127. package/src/routes/store/store-add-locales/store-add-locales.tsx +29 -0
  2128. package/src/routes/store/store-detail/components/store-currency-section/index.ts +1 -0
  2129. package/src/routes/store/store-detail/components/store-currency-section/store-currency-section.tsx +387 -0
  2130. package/src/routes/store/store-detail/components/store-general-section/index.ts +1 -0
  2131. package/src/routes/store/store-detail/components/store-general-section/store-general-section.tsx +142 -0
  2132. package/src/routes/store/store-detail/components/store-locale-section/index.ts +1 -0
  2133. package/src/routes/store/store-detail/components/store-locale-section/store-locale-section.tsx +282 -0
  2134. package/src/routes/store/store-detail/index.ts +2 -0
  2135. package/src/routes/store/store-detail/loader.ts +18 -0
  2136. package/src/routes/store/store-detail/store-detail.tsx +55 -0
  2137. package/src/routes/store/store-edit/components/edit-store-form/edit-store-form.tsx +232 -0
  2138. package/src/routes/store/store-edit/index.ts +1 -0
  2139. package/src/routes/store/store-edit/store-edit.tsx +25 -0
  2140. package/src/routes/store/store-metadata/index.ts +1 -0
  2141. package/src/routes/store/store-metadata/store-metadata.tsx +24 -0
  2142. package/src/routes/tax-regions/common/components/target-form/index.ts +1 -0
  2143. package/src/routes/tax-regions/common/components/target-form/target-form.tsx +958 -0
  2144. package/src/routes/tax-regions/common/components/target-item/index.ts +1 -0
  2145. package/src/routes/tax-regions/common/components/target-item/target-item.tsx +43 -0
  2146. package/src/routes/tax-regions/common/components/tax-override-card/index.ts +1 -0
  2147. package/src/routes/tax-regions/common/components/tax-override-card/tax-override-card.tsx +404 -0
  2148. package/src/routes/tax-regions/common/components/tax-override-table/index.ts +1 -0
  2149. package/src/routes/tax-regions/common/components/tax-override-table/tax-override-table.tsx +121 -0
  2150. package/src/routes/tax-regions/common/components/tax-rate-line/index.ts +1 -0
  2151. package/src/routes/tax-regions/common/components/tax-rate-line/tax-rate-line.tsx +82 -0
  2152. package/src/routes/tax-regions/common/components/tax-region-card/index.ts +1 -0
  2153. package/src/routes/tax-regions/common/components/tax-region-card/tax-region-card.tsx +218 -0
  2154. package/src/routes/tax-regions/common/components/tax-region-table/index.ts +1 -0
  2155. package/src/routes/tax-regions/common/components/tax-region-table/tax-region-table.tsx +122 -0
  2156. package/src/routes/tax-regions/common/constants.ts +8 -0
  2157. package/src/routes/tax-regions/common/hooks/use-tax-override-table.tsx +92 -0
  2158. package/src/routes/tax-regions/common/hooks/use-tax-region-table.tsx +92 -0
  2159. package/src/routes/tax-regions/common/hooks.ts +79 -0
  2160. package/src/routes/tax-regions/common/schemas.ts +16 -0
  2161. package/src/routes/tax-regions/common/utils.ts +12 -0
  2162. package/src/routes/tax-regions/tax-region-create/components/tax-region-create-form/index.ts +1 -0
  2163. package/src/routes/tax-regions/tax-region-create/components/tax-region-create-form/tax-region-create-form.tsx +276 -0
  2164. package/src/routes/tax-regions/tax-region-create/index.ts +3 -0
  2165. package/src/routes/tax-regions/tax-region-create/tax-region-create.tsx +10 -0
  2166. package/src/routes/tax-regions/tax-region-detail/breadcrumb.tsx +40 -0
  2167. package/src/routes/tax-regions/tax-region-detail/components/index.ts +2 -0
  2168. package/src/routes/tax-regions/tax-region-detail/components/tax-region-detail-section/index.ts +1 -0
  2169. package/src/routes/tax-regions/tax-region-detail/components/tax-region-detail-section/tax-region-detail-section.tsx +41 -0
  2170. package/src/routes/tax-regions/tax-region-detail/components/tax-region-override-section/index.ts +1 -0
  2171. package/src/routes/tax-regions/tax-region-detail/components/tax-region-override-section/tax-region-override-section.tsx +66 -0
  2172. package/src/routes/tax-regions/tax-region-detail/components/tax-region-province-section/index.ts +1 -0
  2173. package/src/routes/tax-regions/tax-region-detail/components/tax-region-province-section/tax-region-province-section.tsx +72 -0
  2174. package/src/routes/tax-regions/tax-region-detail/components/tax-region-sublevel-alert/index.ts +1 -0
  2175. package/src/routes/tax-regions/tax-region-detail/components/tax-region-sublevel-alert/tax-region-sublevel-alert.tsx +62 -0
  2176. package/src/routes/tax-regions/tax-region-detail/index.ts +5 -0
  2177. package/src/routes/tax-regions/tax-region-detail/loader.ts +16 -0
  2178. package/src/routes/tax-regions/tax-region-detail/tax-region-detail.tsx +75 -0
  2179. package/src/routes/tax-regions/tax-region-detail/tax-region-provider-section/index.ts +1 -0
  2180. package/src/routes/tax-regions/tax-region-detail/tax-region-provider-section/tax-region-provider-section.tsx +28 -0
  2181. package/src/routes/tax-regions/tax-region-edit/components/tax-region-edit/index.ts +1 -0
  2182. package/src/routes/tax-regions/tax-region-edit/components/tax-region-edit/tax-region-edit-form.tsx +109 -0
  2183. package/src/routes/tax-regions/tax-region-edit/index.ts +1 -0
  2184. package/src/routes/tax-regions/tax-region-edit/tax-region-edit.tsx +33 -0
  2185. package/src/routes/tax-regions/tax-region-list/components/tax-region-list-view/index.ts +1 -0
  2186. package/src/routes/tax-regions/tax-region-list/components/tax-region-list-view/tax-region-list-view.tsx +58 -0
  2187. package/src/routes/tax-regions/tax-region-list/index.ts +1 -0
  2188. package/src/routes/tax-regions/tax-region-list/tax-region-list.tsx +20 -0
  2189. package/src/routes/tax-regions/tax-region-metadata/index.ts +1 -0
  2190. package/src/routes/tax-regions/tax-region-metadata/tax-region-metadata.tsx +31 -0
  2191. package/src/routes/tax-regions/tax-region-province-create/components/tax-region-province-create-form/index.ts +1 -0
  2192. package/src/routes/tax-regions/tax-region-province-create/components/tax-region-province-create-form/tax-region-province-create-form.tsx +249 -0
  2193. package/src/routes/tax-regions/tax-region-province-create/index.ts +3 -0
  2194. package/src/routes/tax-regions/tax-region-province-create/tax-region-province-create.tsx +22 -0
  2195. package/src/routes/tax-regions/tax-region-province-detail/breadcrumb.tsx +46 -0
  2196. package/src/routes/tax-regions/tax-region-province-detail/components/index.ts +2 -0
  2197. package/src/routes/tax-regions/tax-region-province-detail/components/tax-region-province-detail-section/index.ts +1 -0
  2198. package/src/routes/tax-regions/tax-region-province-detail/components/tax-region-province-detail-section/tax-region-detail-section.tsx +42 -0
  2199. package/src/routes/tax-regions/tax-region-province-detail/components/tax-region-province-override-section/index.ts +1 -0
  2200. package/src/routes/tax-regions/tax-region-province-detail/components/tax-region-province-override-section/tax-region-province-override-section.tsx +65 -0
  2201. package/src/routes/tax-regions/tax-region-province-detail/index.ts +5 -0
  2202. package/src/routes/tax-regions/tax-region-province-detail/loader.ts +16 -0
  2203. package/src/routes/tax-regions/tax-region-province-detail/tax-region-detail.tsx +54 -0
  2204. package/src/routes/tax-regions/tax-region-tax-override-create/components/tax-region-override-create-form/index.ts +1 -0
  2205. package/src/routes/tax-regions/tax-region-tax-override-create/components/tax-region-override-create-form/tax-region-tax-override-create.tsx +676 -0
  2206. package/src/routes/tax-regions/tax-region-tax-override-create/index.ts +1 -0
  2207. package/src/routes/tax-regions/tax-region-tax-override-create/tax-region-tax-override-create.tsx +24 -0
  2208. package/src/routes/tax-regions/tax-region-tax-override-edit/components/tax-region-tax-override-edit-form/index.ts +1 -0
  2209. package/src/routes/tax-regions/tax-region-tax-override-edit/components/tax-region-tax-override-edit-form/tax-region-tax-override-edit-form.tsx +652 -0
  2210. package/src/routes/tax-regions/tax-region-tax-override-edit/index.ts +1 -0
  2211. package/src/routes/tax-regions/tax-region-tax-override-edit/tax-region-tax-override-edit.tsx +211 -0
  2212. package/src/routes/tax-regions/tax-region-tax-override-edit/types.ts +11 -0
  2213. package/src/routes/tax-regions/tax-region-tax-rate-create/components/tax-region-tax-rate-create-form/index.ts +1 -0
  2214. package/src/routes/tax-regions/tax-region-tax-rate-create/components/tax-region-tax-rate-create-form/tax-region-tax-rate-create-form.tsx +180 -0
  2215. package/src/routes/tax-regions/tax-region-tax-rate-create/index.ts +1 -0
  2216. package/src/routes/tax-regions/tax-region-tax-rate-create/tax-region-tax-rate-create.tsx +29 -0
  2217. package/src/routes/tax-regions/tax-region-tax-rate-edit/components/tax-region-tax-rate-edit-form/index.ts +1 -0
  2218. package/src/routes/tax-regions/tax-region-tax-rate-edit/components/tax-region-tax-rate-edit-form/tax-region-tax-rate-edit-form.tsx +159 -0
  2219. package/src/routes/tax-regions/tax-region-tax-rate-edit/index.ts +1 -0
  2220. package/src/routes/tax-regions/tax-region-tax-rate-edit/tax-region-edit.tsx +38 -0
  2221. package/src/routes/translations/add-locales/add-locales.tsx +29 -0
  2222. package/src/routes/translations/add-locales/index.tsx +1 -0
  2223. package/src/routes/translations/settings/components/batch-translation-settings-form/batch-translation-settings-form.tsx +248 -0
  2224. package/src/routes/translations/settings/components/entity-selector-tree/entity-selector-tree.tsx +288 -0
  2225. package/src/routes/translations/settings/components/selector-tree-filter/selector-tree-filter.tsx +88 -0
  2226. package/src/routes/translations/settings/index.tsx +1 -0
  2227. package/src/routes/translations/settings/settings.tsx +35 -0
  2228. package/src/routes/translations/translation-list/components/active-locales-section/active-locales-section.tsx +85 -0
  2229. package/src/routes/translations/translation-list/components/translation-list-section/translation-list-section.tsx +48 -0
  2230. package/src/routes/translations/translation-list/components/translations-completion-section/translations-completion-section.tsx +285 -0
  2231. package/src/routes/translations/translation-list/index.tsx +1 -0
  2232. package/src/routes/translations/translation-list/translation-list.tsx +198 -0
  2233. package/src/routes/translations/translations-edit/components/translations-edit-form/index.ts +1 -0
  2234. package/src/routes/translations/translations-edit/components/translations-edit-form/translations-edit-form.tsx +764 -0
  2235. package/src/routes/translations/translations-edit/index.ts +1 -0
  2236. package/src/routes/translations/translations-edit/translations-edit.tsx +85 -0
  2237. package/src/routes/users/user-detail/breadcrumb.tsx +36 -0
  2238. package/src/routes/users/user-detail/components/user-general-section/index.ts +1 -0
  2239. package/src/routes/users/user-detail/components/user-general-section/user-general-section.tsx +86 -0
  2240. package/src/routes/users/user-detail/index.ts +3 -0
  2241. package/src/routes/users/user-detail/loader.ts +17 -0
  2242. package/src/routes/users/user-detail/user-detail.tsx +49 -0
  2243. package/src/routes/users/user-edit/components/edit-user-form/edit-user-form.tsx +97 -0
  2244. package/src/routes/users/user-edit/components/edit-user-form/index.ts +1 -0
  2245. package/src/routes/users/user-edit/index.ts +1 -0
  2246. package/src/routes/users/user-edit/user-edit.tsx +25 -0
  2247. package/src/routes/users/user-invite/components/invite-user-form/invite-user-form.tsx +456 -0
  2248. package/src/routes/users/user-invite/index.ts +1 -0
  2249. package/src/routes/users/user-invite/user-invite.tsx +10 -0
  2250. package/src/routes/users/user-list/components/user-list-table/index.ts +1 -0
  2251. package/src/routes/users/user-list/components/user-list-table/user-list-table.tsx +131 -0
  2252. package/src/routes/users/user-list/index.ts +1 -0
  2253. package/src/routes/users/user-list/user-list.tsx +20 -0
  2254. package/src/routes/users/user-metadata/index.ts +1 -0
  2255. package/src/routes/users/user-metadata/user-metadata.tsx +27 -0
  2256. package/src/routes/workflow-executions/constants.ts +38 -0
  2257. package/src/routes/workflow-executions/types.ts +28 -0
  2258. package/src/routes/workflow-executions/utils.ts +103 -0
  2259. package/src/routes/workflow-executions/workflow-execution-detail/breadcrumb.tsx +32 -0
  2260. package/src/routes/workflow-executions/workflow-execution-detail/components/workflow-execution-general-section/index.ts +1 -0
  2261. package/src/routes/workflow-executions/workflow-execution-detail/components/workflow-execution-general-section/workflow-execution-general-section.tsx +120 -0
  2262. package/src/routes/workflow-executions/workflow-execution-detail/components/workflow-execution-history-section/index.ts +1 -0
  2263. package/src/routes/workflow-executions/workflow-execution-detail/components/workflow-execution-history-section/workflow-execution-history-section.tsx +334 -0
  2264. package/src/routes/workflow-executions/workflow-execution-detail/components/workflow-execution-payload-section/index.ts +1 -0
  2265. package/src/routes/workflow-executions/workflow-execution-detail/components/workflow-execution-payload-section/workflow-execution-payload-section.tsx +24 -0
  2266. package/src/routes/workflow-executions/workflow-execution-detail/components/workflow-execution-timeline-section/index.ts +1 -0
  2267. package/src/routes/workflow-executions/workflow-execution-detail/components/workflow-execution-timeline-section/workflow-execution-timeline-section.tsx +446 -0
  2268. package/src/routes/workflow-executions/workflow-execution-detail/index.ts +3 -0
  2269. package/src/routes/workflow-executions/workflow-execution-detail/loader.ts +19 -0
  2270. package/src/routes/workflow-executions/workflow-execution-detail/workflow-detail.tsx +52 -0
  2271. package/src/routes/workflow-executions/workflow-execution-list/components/workflow-execution-list-table/index.ts +1 -0
  2272. package/src/routes/workflow-executions/workflow-execution-list/components/workflow-execution-list-table/use-workflow-execution-table-columns.tsx +87 -0
  2273. package/src/routes/workflow-executions/workflow-execution-list/components/workflow-execution-list-table/use-workflow-execution-table-filters.tsx +29 -0
  2274. package/src/routes/workflow-executions/workflow-execution-list/components/workflow-execution-list-table/use-workflow-execution-table-query.tsx +32 -0
  2275. package/src/routes/workflow-executions/workflow-execution-list/components/workflow-execution-list-table/workflow-execution-list-table.tsx +73 -0
  2276. package/src/routes/workflow-executions/workflow-execution-list/index.ts +1 -0
  2277. package/src/routes/workflow-executions/workflow-execution-list/workflow-execution-list.tsx +21 -0
  2278. package/src/utils/column-utils.ts +73 -0
  2279. package/src/vite-env.d.ts +21 -0
@@ -0,0 +1,3832 @@
1
+ import {
2
+ By
3
+ } from "./chunk-C3NJFNLK.mjs";
4
+ import "./chunk-PYIO3TDQ.mjs";
5
+ import {
6
+ formatPercentage
7
+ } from "./chunk-4FM6S5CX.mjs";
8
+ import {
9
+ useCancelClaim,
10
+ useCancelClaimRequest,
11
+ useClaims
12
+ } from "./chunk-FZY2J2AS.mjs";
13
+ import {
14
+ useCancelExchange,
15
+ useCancelExchangeRequest,
16
+ useExchanges
17
+ } from "./chunk-YQB7GKXJ.mjs";
18
+ import {
19
+ useCancelOrderEdit,
20
+ useConfirmOrderEdit
21
+ } from "./chunk-BGNL7QXZ.mjs";
22
+ import {
23
+ getLoyaltyPlugin
24
+ } from "./chunk-AMRS4CSX.mjs";
25
+ import {
26
+ formatCurrency
27
+ } from "./chunk-WATKBUHQ.mjs";
28
+ import {
29
+ getPaymentsFromOrder,
30
+ getReservationsLimitCount
31
+ } from "./chunk-4XSXVVYD.mjs";
32
+ import {
33
+ getReturnableQuantity
34
+ } from "./chunk-PXZ7QYKX.mjs";
35
+ import {
36
+ DEFAULT_FIELDS
37
+ } from "./chunk-2UGTJ6JV.mjs";
38
+ import {
39
+ useCancelReturn,
40
+ useCancelReturnRequest,
41
+ useReturns
42
+ } from "./chunk-4SLHA6WN.mjs";
43
+ import {
44
+ formatProvider
45
+ } from "./chunk-IR5DHEKS.mjs";
46
+ import {
47
+ getFormattedAddress,
48
+ isSameAddress
49
+ } from "./chunk-B6ZOPCPA.mjs";
50
+ import {
51
+ getCanceledOrderStatus,
52
+ getOrderFulfillmentStatus,
53
+ getOrderPaymentStatus
54
+ } from "./chunk-NTEWUH4C.mjs";
55
+ import {
56
+ getLocaleAmount,
57
+ getStylizedAmount,
58
+ isAmountLessThenRoundingError
59
+ } from "./chunk-UBQ5RL5E.mjs";
60
+ import "./chunk-DG7J63J2.mjs";
61
+ import "./chunk-6UAK5Q3S.mjs";
62
+ import {
63
+ Thumbnail
64
+ } from "./chunk-MNXC6Q4F.mjs";
65
+ import {
66
+ Skeleton,
67
+ TwoColumnPageSkeleton
68
+ } from "./chunk-LPEUYMRK.mjs";
69
+ import {
70
+ LayoutComposer,
71
+ detailPageDefaultEntries
72
+ } from "./chunk-K37W6IGC.mjs";
73
+ import "./chunk-PJU3RODH.mjs";
74
+ import "./chunk-5SZFF255.mjs";
75
+ import "./chunk-ZRP3G32N.mjs";
76
+ import {
77
+ ActionMenu
78
+ } from "./chunk-OZPB6JBL.mjs";
79
+ import "./chunk-OC7BQLYI.mjs";
80
+ import "./chunk-S4DMV3ZT.mjs";
81
+ import {
82
+ useDate
83
+ } from "./chunk-3BQAAPDR.mjs";
84
+ import "./chunk-QJ63TWAK.mjs";
85
+ import {
86
+ useCapturePayment,
87
+ useMarkPaymentCollectionAsPaid,
88
+ usePlugins
89
+ } from "./chunk-4XKRB45V.mjs";
90
+ import "./chunk-EKTC7HGF.mjs";
91
+ import "./chunk-HIX2NSSN.mjs";
92
+ import "./chunk-SDOIEL4H.mjs";
93
+ import "./chunk-2LVQXUFY.mjs";
94
+ import "./chunk-EYDZJ522.mjs";
95
+ import "./chunk-ISGDOD5J.mjs";
96
+ import "./chunk-QG545K2O.mjs";
97
+ import "./chunk-QIUJGXDT.mjs";
98
+ import "./chunk-ZB3WPQQA.mjs";
99
+ import "./chunk-PTP3K7TB.mjs";
100
+ import "./chunk-DEOCXBV2.mjs";
101
+ import "./chunk-2V5DOTI3.mjs";
102
+ import "./chunk-EGZR6JFL.mjs";
103
+ import "./chunk-4BG52NTE.mjs";
104
+ import {
105
+ useCustomer
106
+ } from "./chunk-6OFSUHM5.mjs";
107
+ import "./chunk-XQMUOXFW.mjs";
108
+ import "./chunk-3C2RPYDJ.mjs";
109
+ import "./chunk-4SIZ37QP.mjs";
110
+ import {
111
+ ordersQueryKeys,
112
+ useAuthorizePaymentSession,
113
+ useCancelOrder,
114
+ useCancelOrderFulfillment,
115
+ useCancelOrderTransfer,
116
+ useMarkOrderFulfillmentAsDelivered,
117
+ useOrder,
118
+ useOrderChanges,
119
+ useOrderLineItems,
120
+ useOrderPreview
121
+ } from "./chunk-ZVR323XY.mjs";
122
+ import {
123
+ useReservationItems
124
+ } from "./chunk-IWY35GD5.mjs";
125
+ import {
126
+ useStockLocation
127
+ } from "./chunk-BGQF2VTH.mjs";
128
+ import "./chunk-2EQK5L52.mjs";
129
+ import "./chunk-EMDIIWVL.mjs";
130
+ import "./chunk-YDJ774GR.mjs";
131
+ import "./chunk-SKQPG6BC.mjs";
132
+ import "./chunk-LYZ7OUA3.mjs";
133
+ import "./chunk-556FUJDY.mjs";
134
+ import "./chunk-D3TDNKSZ.mjs";
135
+ import "./chunk-TPANFD43.mjs";
136
+ import "./chunk-7AXHHXCX.mjs";
137
+ import {
138
+ queryClient
139
+ } from "./chunk-SEMVMECK.mjs";
140
+ import {
141
+ sdk
142
+ } from "./chunk-NFEK63OE.mjs";
143
+ import "./chunk-QZ7TP4HQ.mjs";
144
+
145
+ // src/routes/orders/order-detail/breadcrumb.tsx
146
+ import { jsxs } from "react/jsx-runtime";
147
+ var OrderDetailBreadcrumb = (props) => {
148
+ const { id } = props.params || {};
149
+ const { order } = useOrder(
150
+ id,
151
+ {
152
+ fields: DEFAULT_FIELDS
153
+ },
154
+ {
155
+ initialData: props.data,
156
+ enabled: Boolean(id)
157
+ }
158
+ );
159
+ if (!order) {
160
+ return null;
161
+ }
162
+ return /* @__PURE__ */ jsxs("span", { children: [
163
+ "#",
164
+ order.display_id
165
+ ] });
166
+ };
167
+ var seo = (match) => ({
168
+ title: match.data?.order ? `#${match.data.order.display_id}` : void 0
169
+ });
170
+
171
+ // src/routes/orders/order-detail/loader.ts
172
+ var orderDetailQuery = (id) => ({
173
+ queryKey: ordersQueryKeys.detail(id),
174
+ queryFn: async () => sdk.admin.order.retrieve(id, {
175
+ fields: DEFAULT_FIELDS
176
+ })
177
+ });
178
+ var orderLoader = async ({ params }) => {
179
+ const id = params.id;
180
+ const query = orderDetailQuery(id);
181
+ return queryClient.ensureQueryData(query);
182
+ };
183
+
184
+ // src/routes/orders/order-detail/order-detail.tsx
185
+ import { CORE_LAYOUT_IDS } from "@medusajs/admin-shared";
186
+ import { useLoaderData, useParams } from "react-router-dom";
187
+
188
+ // src/routes/orders/order-detail/components/active-order-claim-section/active-order-claim-section.tsx
189
+ import { ExclamationCircle } from "@medusajs/icons";
190
+ import { Button, Container, Heading, Text, toast } from "@medusajs/ui";
191
+ import { useTranslation } from "react-i18next";
192
+ import { useNavigate } from "react-router-dom";
193
+ import { jsx, jsxs as jsxs2 } from "react/jsx-runtime";
194
+ var ActiveOrderClaimSection = ({
195
+ orderPreview
196
+ }) => {
197
+ const { t } = useTranslation();
198
+ const claimId = orderPreview?.order_change?.claim_id;
199
+ const { mutateAsync: cancelClaim } = useCancelClaimRequest(
200
+ claimId,
201
+ orderPreview.id
202
+ );
203
+ const navigate = useNavigate();
204
+ const onContinueClaim = async () => {
205
+ navigate(`/orders/${orderPreview.id}/claims`);
206
+ };
207
+ const onCancelClaim = async () => {
208
+ await cancelClaim(void 0, {
209
+ onSuccess: () => {
210
+ toast.success(t("orders.claims.toast.canceledSuccessfully"));
211
+ },
212
+ onError: (error) => {
213
+ toast.error(error.message);
214
+ }
215
+ });
216
+ };
217
+ if (!claimId) {
218
+ return;
219
+ }
220
+ return /* @__PURE__ */ jsx(
221
+ "div",
222
+ {
223
+ style: {
224
+ background: "repeating-linear-gradient(-45deg, rgb(212, 212, 216, 0.15), rgb(212, 212, 216,.15) 10px, transparent 10px, transparent 20px)"
225
+ },
226
+ className: "-m-4 mb-1 border-b border-l p-4",
227
+ children: /* @__PURE__ */ jsx(Container, { className: "flex items-center justify-between p-0", children: /* @__PURE__ */ jsxs2("div", { className: "flex w-full flex-row justify-between", children: [
228
+ /* @__PURE__ */ jsxs2("div", { children: [
229
+ /* @__PURE__ */ jsxs2("div", { className: "mb-2 flex items-center gap-2 px-6 pt-4", children: [
230
+ /* @__PURE__ */ jsx(ExclamationCircle, { className: "text-ui-fg-subtle" }),
231
+ /* @__PURE__ */ jsx(Heading, { level: "h2", children: t("orders.claims.panel.title") })
232
+ ] }),
233
+ /* @__PURE__ */ jsx("div", { className: "gap-2 px-6 pb-4", children: /* @__PURE__ */ jsx(Text, { children: t("orders.claims.panel.description") }) })
234
+ ] }),
235
+ /* @__PURE__ */ jsxs2("div", { className: "flex items-center justify-end gap-x-2 rounded-b-xl px-4 py-4", children: [
236
+ /* @__PURE__ */ jsx(Button, { size: "small", variant: "secondary", onClick: onCancelClaim, children: t("orders.claims.cancel.title") }),
237
+ /* @__PURE__ */ jsx(Button, { size: "small", variant: "secondary", onClick: onContinueClaim, children: t("actions.continue") })
238
+ ] })
239
+ ] }) })
240
+ }
241
+ );
242
+ };
243
+
244
+ // src/routes/orders/order-detail/components/active-order-exchange-section/active-order-exchange-section.tsx
245
+ import { ArrowPath } from "@medusajs/icons";
246
+ import { Button as Button2, Container as Container2, Heading as Heading2, Text as Text2, toast as toast2 } from "@medusajs/ui";
247
+ import { useTranslation as useTranslation2 } from "react-i18next";
248
+ import { useNavigate as useNavigate2 } from "react-router-dom";
249
+ import { jsx as jsx2, jsxs as jsxs3 } from "react/jsx-runtime";
250
+ var ActiveOrderExchangeSection = ({
251
+ orderPreview
252
+ }) => {
253
+ const { t } = useTranslation2();
254
+ const exchangeId = orderPreview?.order_change?.exchange_id;
255
+ const { mutateAsync: cancelExchange } = useCancelExchangeRequest(
256
+ exchangeId,
257
+ orderPreview.id
258
+ );
259
+ const navigate = useNavigate2();
260
+ const onContinueExchange = async () => {
261
+ navigate(`/orders/${orderPreview.id}/exchanges`);
262
+ };
263
+ const onCancelExchange = async () => {
264
+ await cancelExchange(void 0, {
265
+ onSuccess: () => {
266
+ toast2.success(t("orders.exchanges.toast.canceledSuccessfully"));
267
+ },
268
+ onError: (error) => {
269
+ toast2.error(error.message);
270
+ }
271
+ });
272
+ };
273
+ if (!exchangeId) {
274
+ return;
275
+ }
276
+ return /* @__PURE__ */ jsx2(
277
+ "div",
278
+ {
279
+ style: {
280
+ background: "repeating-linear-gradient(-45deg, rgb(212, 212, 216, 0.15), rgb(212, 212, 216,.15) 10px, transparent 10px, transparent 20px)"
281
+ },
282
+ className: "-m-4 mb-1 border-b border-l p-4",
283
+ children: /* @__PURE__ */ jsx2(Container2, { className: "flex items-center justify-between p-0", children: /* @__PURE__ */ jsxs3("div", { className: "flex w-full flex-row justify-between", children: [
284
+ /* @__PURE__ */ jsxs3("div", { children: [
285
+ /* @__PURE__ */ jsxs3("div", { className: "mb-2 flex items-center gap-2 px-6 pt-4", children: [
286
+ /* @__PURE__ */ jsx2(ArrowPath, { className: "text-ui-fg-subtle" }),
287
+ /* @__PURE__ */ jsx2(Heading2, { level: "h2", children: t("orders.exchanges.panel.title") })
288
+ ] }),
289
+ /* @__PURE__ */ jsx2("div", { className: "gap-2 px-6 pb-4", children: /* @__PURE__ */ jsx2(Text2, { children: t("orders.exchanges.panel.description") }) })
290
+ ] }),
291
+ /* @__PURE__ */ jsxs3("div", { className: "flex items-center justify-end gap-x-2 rounded-b-xl px-4 py-4", children: [
292
+ /* @__PURE__ */ jsx2(Button2, { size: "small", variant: "secondary", onClick: onCancelExchange, children: t("orders.exchanges.cancel.title") }),
293
+ /* @__PURE__ */ jsx2(
294
+ Button2,
295
+ {
296
+ size: "small",
297
+ variant: "secondary",
298
+ onClick: onContinueExchange,
299
+ children: t("actions.continue")
300
+ }
301
+ )
302
+ ] })
303
+ ] }) })
304
+ }
305
+ );
306
+ };
307
+
308
+ // src/routes/orders/order-detail/components/active-order-return-section/active-order-return-section.tsx
309
+ import { ArrowUturnLeft } from "@medusajs/icons";
310
+ import { Button as Button3, Container as Container3, Heading as Heading3, Text as Text3, toast as toast3 } from "@medusajs/ui";
311
+ import { useTranslation as useTranslation3 } from "react-i18next";
312
+ import { useNavigate as useNavigate3 } from "react-router-dom";
313
+ import { jsx as jsx3, jsxs as jsxs4 } from "react/jsx-runtime";
314
+ var ActiveOrderReturnSection = ({
315
+ orderPreview
316
+ }) => {
317
+ const { t } = useTranslation3();
318
+ const orderChange = orderPreview?.order_change;
319
+ const returnId = orderChange?.return_id;
320
+ const isReturnRequest = orderChange?.change_type === "return_request" && !!orderChange.return_id;
321
+ const { mutateAsync: cancelReturn } = useCancelReturnRequest(
322
+ returnId,
323
+ orderPreview.id
324
+ );
325
+ const navigate = useNavigate3();
326
+ const onContinueReturn = async () => {
327
+ navigate(`/orders/${orderPreview.id}/returns`);
328
+ };
329
+ const onCancelReturn = async () => {
330
+ await cancelReturn(void 0, {
331
+ onSuccess: () => {
332
+ toast3.success(t("orders.returns.toast.canceledSuccessfully"));
333
+ },
334
+ onError: (error) => {
335
+ toast3.error(error.message);
336
+ }
337
+ });
338
+ };
339
+ if (!returnId || !isReturnRequest) {
340
+ return;
341
+ }
342
+ return /* @__PURE__ */ jsx3(
343
+ "div",
344
+ {
345
+ style: {
346
+ background: "repeating-linear-gradient(-45deg, rgb(212, 212, 216, 0.15), rgb(212, 212, 216,.15) 10px, transparent 10px, transparent 20px)"
347
+ },
348
+ className: "-m-4 mb-1 border-b border-l p-4",
349
+ children: /* @__PURE__ */ jsx3(Container3, { className: "flex items-center justify-between p-0", children: /* @__PURE__ */ jsxs4("div", { className: "flex w-full flex-row justify-between", children: [
350
+ /* @__PURE__ */ jsxs4("div", { children: [
351
+ /* @__PURE__ */ jsxs4("div", { className: "mb-2 flex items-center gap-2 px-6 pt-4", children: [
352
+ /* @__PURE__ */ jsx3(ArrowUturnLeft, { className: "text-ui-fg-subtle" }),
353
+ /* @__PURE__ */ jsx3(Heading3, { level: "h2", children: t("orders.returns.panel.title") })
354
+ ] }),
355
+ /* @__PURE__ */ jsx3("div", { className: "gap-2 px-6 pb-4", children: /* @__PURE__ */ jsx3(Text3, { children: t("orders.returns.panel.description") }) })
356
+ ] }),
357
+ /* @__PURE__ */ jsxs4("div", { className: "flex items-center justify-end gap-x-2 rounded-b-xl px-4 py-4", children: [
358
+ /* @__PURE__ */ jsx3(Button3, { size: "small", variant: "secondary", onClick: onCancelReturn, children: t("orders.returns.cancel.title") }),
359
+ /* @__PURE__ */ jsx3(Button3, { size: "small", variant: "secondary", onClick: onContinueReturn, children: t("actions.continue") })
360
+ ] })
361
+ ] }) })
362
+ }
363
+ );
364
+ };
365
+
366
+ // src/routes/orders/order-detail/components/order-active-edit-section/order-active-edit-section.tsx
367
+ import { Button as Button4, Container as Container4, Copy, Heading as Heading4, toast as toast4 } from "@medusajs/ui";
368
+ import { useTranslation as useTranslation4 } from "react-i18next";
369
+ import { ExclamationCircleSolid } from "@medusajs/icons";
370
+ import { useMemo } from "react";
371
+ import { useNavigate as useNavigate4 } from "react-router-dom";
372
+ import { jsx as jsx4, jsxs as jsxs5 } from "react/jsx-runtime";
373
+ function EditItem({
374
+ item,
375
+ quantity
376
+ }) {
377
+ return /* @__PURE__ */ jsx4("div", { className: "text-ui-fg-subtle items-center gap-x-2", children: /* @__PURE__ */ jsxs5("div", { className: "flex items-center gap-x-2", children: [
378
+ /* @__PURE__ */ jsxs5("div", { className: "w-fit min-w-[27px]", children: [
379
+ /* @__PURE__ */ jsx4("span", { className: "txt-small tabular-nums", children: quantity }),
380
+ "x"
381
+ ] }),
382
+ /* @__PURE__ */ jsx4(Thumbnail, { src: item.thumbnail }),
383
+ /* @__PURE__ */ jsx4("span", { className: "txt-small text-ui-fg-subtle font-medium", children: item.title }),
384
+ item.variant_sku && " \xB7 ",
385
+ item.variant_sku && /* @__PURE__ */ jsxs5("div", { className: "flex items-center gap-x-1", children: [
386
+ /* @__PURE__ */ jsx4("span", { className: "txt-small", children: item.variant_sku }),
387
+ /* @__PURE__ */ jsx4(Copy, { content: item.variant_sku, className: "text-ui-fg-muted" })
388
+ ] })
389
+ ] }) }, item.id);
390
+ }
391
+ var OrderActiveEditSection = ({
392
+ order
393
+ }) => {
394
+ const { t } = useTranslation4();
395
+ const navigate = useNavigate4();
396
+ const { order: orderPreview } = useOrderPreview(order.id);
397
+ const { mutateAsync: cancelOrderEdit } = useCancelOrderEdit(order.id);
398
+ const { mutateAsync: confirmOrderEdit } = useConfirmOrderEdit(order.id);
399
+ const isPending = orderPreview?.order_change?.status === "pending";
400
+ const [addedItems, removedItems] = useMemo(() => {
401
+ const added = [];
402
+ const removed = [];
403
+ const orderLookupMap = new Map(order.items.map((i) => [i.id, i]));
404
+ (orderPreview?.items || []).forEach((currentItem) => {
405
+ const originalItem = orderLookupMap.get(currentItem.id);
406
+ if (!originalItem) {
407
+ added.push({ item: currentItem, quantity: currentItem.quantity });
408
+ return;
409
+ }
410
+ if (originalItem.quantity > currentItem.quantity) {
411
+ removed.push({
412
+ item: currentItem,
413
+ quantity: originalItem.quantity - currentItem.quantity
414
+ });
415
+ }
416
+ if (originalItem.quantity < currentItem.quantity) {
417
+ added.push({
418
+ item: currentItem,
419
+ quantity: currentItem.quantity - originalItem.quantity
420
+ });
421
+ }
422
+ });
423
+ return [added, removed];
424
+ }, [orderPreview]);
425
+ const onConfirmOrderEdit = async () => {
426
+ try {
427
+ await confirmOrderEdit();
428
+ toast4.success(t("orders.edits.toast.confirmedSuccessfully"));
429
+ } catch (e) {
430
+ toast4.error(
431
+ e instanceof Error ? e.message : t("errorBoundary.defaultTitle")
432
+ );
433
+ }
434
+ };
435
+ const onCancelOrderEdit = async () => {
436
+ try {
437
+ await cancelOrderEdit();
438
+ toast4.success(t("orders.edits.toast.canceledSuccessfully"));
439
+ } catch (e) {
440
+ toast4.error(
441
+ e instanceof Error ? e.message : t("errorBoundary.defaultTitle")
442
+ );
443
+ }
444
+ };
445
+ if (!orderPreview || orderPreview.order_change?.change_type !== "edit") {
446
+ return null;
447
+ }
448
+ return /* @__PURE__ */ jsx4(
449
+ "div",
450
+ {
451
+ style: {
452
+ background: "repeating-linear-gradient(-45deg, rgb(212, 212, 216, 0.15), rgb(212, 212, 216,.15) 10px, transparent 10px, transparent 20px)"
453
+ },
454
+ className: "-m-4 mb-1 border-b border-l p-4",
455
+ children: /* @__PURE__ */ jsx4(Container4, { className: "flex items-center justify-between p-0", children: /* @__PURE__ */ jsxs5("div", { className: "flex w-full flex-col divide-y divide-dashed", children: [
456
+ /* @__PURE__ */ jsxs5("div", { className: "flex items-center gap-2 px-6 py-4", children: [
457
+ /* @__PURE__ */ jsx4(ExclamationCircleSolid, { className: "text-blue-500" }),
458
+ /* @__PURE__ */ jsx4(Heading4, { level: "h2", children: t(
459
+ isPending ? "orders.edits.panel.titlePending" : "orders.edits.panel.title"
460
+ ) })
461
+ ] }),
462
+ !!addedItems.length && /* @__PURE__ */ jsxs5("div", { className: "txt-small text-ui-fg-subtle flex flex-row px-6 py-4", children: [
463
+ /* @__PURE__ */ jsx4("span", { className: "flex-1 font-medium", children: t("labels.added") }),
464
+ /* @__PURE__ */ jsx4("div", { className: "flex flex-1 flex-col gap-y-2", children: addedItems.map(({ item, quantity }) => /* @__PURE__ */ jsx4(EditItem, { item, quantity }, item.id)) })
465
+ ] }),
466
+ !!removedItems.length && /* @__PURE__ */ jsxs5("div", { className: "txt-small text-ui-fg-subtle flex flex-row px-6 py-4", children: [
467
+ /* @__PURE__ */ jsx4("span", { className: "flex-1 font-medium", children: t("labels.removed") }),
468
+ /* @__PURE__ */ jsx4("div", { className: "flex flex-1 flex-col gap-y-2", children: removedItems.map(({ item, quantity }) => /* @__PURE__ */ jsx4(EditItem, { item, quantity }, item.id)) })
469
+ ] }),
470
+ /* @__PURE__ */ jsxs5("div", { className: "bg-ui-bg-subtle flex items-center justify-end gap-x-2 rounded-b-xl px-4 py-4", children: [
471
+ isPending ? /* @__PURE__ */ jsx4(
472
+ Button4,
473
+ {
474
+ size: "small",
475
+ variant: "secondary",
476
+ onClick: () => navigate(`/orders/${order.id}/edits`),
477
+ children: t("actions.continueEdit")
478
+ }
479
+ ) : /* @__PURE__ */ jsx4(
480
+ Button4,
481
+ {
482
+ size: "small",
483
+ variant: "secondary",
484
+ onClick: onConfirmOrderEdit,
485
+ children: t("actions.forceConfirm")
486
+ }
487
+ ),
488
+ /* @__PURE__ */ jsx4(
489
+ Button4,
490
+ {
491
+ size: "small",
492
+ variant: "secondary",
493
+ onClick: onCancelOrderEdit,
494
+ children: t("actions.cancel")
495
+ }
496
+ )
497
+ ] })
498
+ ] }) })
499
+ }
500
+ );
501
+ };
502
+
503
+ // src/routes/orders/order-detail/components/order-activity-section/order-activity-section.tsx
504
+ import { Container as Container5, Heading as Heading5 } from "@medusajs/ui";
505
+ import { useTranslation as useTranslation8 } from "react-i18next";
506
+
507
+ // src/routes/orders/order-detail/components/order-activity-section/order-timeline.tsx
508
+ import { Button as Button5, Text as Text6, Tooltip, clx, toast as toast5, usePrompt } from "@medusajs/ui";
509
+ import { Collapsible as RadixCollapsible } from "radix-ui";
510
+ import { useMemo as useMemo2, useState as useState3 } from "react";
511
+ import { useTranslation as useTranslation7 } from "react-i18next";
512
+
513
+ // src/routes/orders/order-detail/components/order-activity-section/activity-items.tsx
514
+ import { Popover, Text as Text4 } from "@medusajs/ui";
515
+ import { useState } from "react";
516
+ import { useTranslation as useTranslation5 } from "react-i18next";
517
+ import { jsx as jsx5, jsxs as jsxs6 } from "react/jsx-runtime";
518
+ function ActivityItems(props) {
519
+ const { t } = useTranslation5();
520
+ const [open, setOpen] = useState(false);
521
+ const itemsToSend = props.itemsToSend;
522
+ const itemsToReturn = props.itemsToReturn;
523
+ const itemsMap = props.itemsMap;
524
+ const title = props.title;
525
+ const handleMouseEnter = () => {
526
+ setOpen(true);
527
+ };
528
+ const handleMouseLeave = () => {
529
+ setOpen(false);
530
+ };
531
+ if (!itemsToSend?.length && !itemsToReturn?.length) {
532
+ return;
533
+ }
534
+ return /* @__PURE__ */ jsxs6(Popover, { open, children: [
535
+ /* @__PURE__ */ jsx5(
536
+ Popover.Trigger,
537
+ {
538
+ onMouseEnter: handleMouseEnter,
539
+ onMouseLeave: handleMouseLeave,
540
+ autoFocus: false,
541
+ className: "focus-visible:outline-none",
542
+ children: /* @__PURE__ */ jsx5(Text4, { size: "small", leading: "compact", weight: "plus", children: title })
543
+ }
544
+ ),
545
+ /* @__PURE__ */ jsx5(
546
+ Popover.Content,
547
+ {
548
+ align: "center",
549
+ side: "top",
550
+ className: "bg-ui-bg-component max-w-[200px] p-0 focus-visible:outline-none",
551
+ children: /* @__PURE__ */ jsxs6("div", { className: "flex flex-col", children: [
552
+ !!itemsToSend?.length && /* @__PURE__ */ jsxs6("div", { className: "p-3", children: [
553
+ /* @__PURE__ */ jsx5("div", { className: "txt-compact-small-plus mb-1", children: t("orders.activity.events.common.toSend") }),
554
+ /* @__PURE__ */ jsxs6("div", { className: "flex flex-col", children: [
555
+ itemsToSend?.map((item) => {
556
+ const originalItem = itemsMap?.get(item.item_id);
557
+ return /* @__PURE__ */ jsxs6("div", { className: "flex items-center gap-x-3", children: [
558
+ /* @__PURE__ */ jsxs6(Text4, { size: "small", className: "text-ui-fg-subtle", children: [
559
+ item.quantity,
560
+ "x"
561
+ ] }),
562
+ /* @__PURE__ */ jsx5(Thumbnail, { src: originalItem?.thumbnail }),
563
+ /* @__PURE__ */ jsx5(Text4, { className: "txt-compact-small text-ui-fg-subtle truncate", children: `${originalItem?.variant_title} \xB7 ${originalItem?.product_title}` })
564
+ ] }, item.id);
565
+ }),
566
+ /* @__PURE__ */ jsx5("div", { className: "flex flex-1 flex-row items-center gap-2" })
567
+ ] })
568
+ ] }),
569
+ !!itemsToReturn?.length && /* @__PURE__ */ jsxs6("div", { className: "border-t-2 border-dotted p-3", children: [
570
+ /* @__PURE__ */ jsx5("div", { className: "txt-compact-small-plus mb-1", children: t("orders.activity.events.common.toReturn") }),
571
+ /* @__PURE__ */ jsxs6("div", { className: "flex flex-col", children: [
572
+ itemsToReturn?.map((item) => {
573
+ const originalItem = itemsMap?.get(item.item_id);
574
+ return /* @__PURE__ */ jsxs6("div", { className: "flex items-center gap-x-3", children: [
575
+ /* @__PURE__ */ jsxs6(Text4, { size: "small", className: "text-ui-fg-subtle", children: [
576
+ item.quantity,
577
+ "x"
578
+ ] }),
579
+ /* @__PURE__ */ jsx5(Thumbnail, { src: originalItem?.thumbnail }),
580
+ /* @__PURE__ */ jsx5(Text4, { className: "txt-compact-small text-ui-fg-subtle truncate", children: `${originalItem?.variant_title} \xB7 ${originalItem?.product_title}` })
581
+ ] }, item.id);
582
+ }),
583
+ /* @__PURE__ */ jsx5("div", { className: "flex flex-1 flex-row items-center gap-2" })
584
+ ] })
585
+ ] })
586
+ ] })
587
+ }
588
+ )
589
+ ] });
590
+ }
591
+ var activity_items_default = ActivityItems;
592
+
593
+ // src/routes/orders/order-detail/components/order-activity-section/change-details-tooltip.tsx
594
+ import { Popover as Popover2, Text as Text5 } from "@medusajs/ui";
595
+ import { useState as useState2 } from "react";
596
+ import { useTranslation as useTranslation6 } from "react-i18next";
597
+ import { jsx as jsx6, jsxs as jsxs7 } from "react/jsx-runtime";
598
+ function ChangeDetailsTooltip(props) {
599
+ const { t } = useTranslation6();
600
+ const [open, setOpen] = useState2(false);
601
+ const previous = props.previous;
602
+ const next = props.next;
603
+ const title = props.title;
604
+ const showComparison = !!previous && !!next;
605
+ const handleMouseEnter = () => {
606
+ setOpen(true);
607
+ };
608
+ const handleMouseLeave = () => {
609
+ setOpen(false);
610
+ };
611
+ if (!previous && !next) {
612
+ return null;
613
+ }
614
+ return /* @__PURE__ */ jsxs7(Popover2, { open, children: [
615
+ /* @__PURE__ */ jsx6(
616
+ Popover2.Trigger,
617
+ {
618
+ onMouseEnter: handleMouseEnter,
619
+ onMouseLeave: handleMouseLeave,
620
+ autoFocus: false,
621
+ className: "focus-visible:outline-none",
622
+ children: /* @__PURE__ */ jsx6(Text5, { size: "small", leading: "compact", weight: "plus", children: title })
623
+ }
624
+ ),
625
+ /* @__PURE__ */ jsx6(
626
+ Popover2.Content,
627
+ {
628
+ align: "center",
629
+ side: "top",
630
+ className: "bg-ui-bg-component max-w-[200px] p-0 focus-visible:outline-none",
631
+ children: /* @__PURE__ */ jsxs7("div", { className: "flex flex-col", children: [
632
+ !!previous && /* @__PURE__ */ jsxs7("div", { className: "p-3", children: [
633
+ showComparison && /* @__PURE__ */ jsx6("div", { className: "txt-compact-small-plus mb-1", children: t("labels.from") }),
634
+ previous
635
+ ] }),
636
+ !!next && /* @__PURE__ */ jsxs7("div", { className: "border-t-2 border-dotted p-3", children: [
637
+ showComparison && /* @__PURE__ */ jsx6("div", { className: "txt-compact-small-plus mb-1", children: t("labels.to") }),
638
+ next
639
+ ] })
640
+ ] })
641
+ }
642
+ )
643
+ ] });
644
+ }
645
+ var change_details_tooltip_default = ChangeDetailsTooltip;
646
+
647
+ // src/routes/orders/order-detail/components/order-activity-section/order-timeline.tsx
648
+ import { Fragment, jsx as jsx7, jsxs as jsxs8 } from "react/jsx-runtime";
649
+ var NON_RMA_CHANGE_TYPES = ["transfer", "update_order"];
650
+ var OrderTimeline = ({ order }) => {
651
+ const items = useActivityItems(order);
652
+ if (items.length <= 3) {
653
+ return /* @__PURE__ */ jsx7("div", { className: "flex flex-col gap-y-0.5", children: items.map((item, index) => {
654
+ return /* @__PURE__ */ jsx7(
655
+ OrderActivityItem,
656
+ {
657
+ title: item.title,
658
+ timestamp: item.timestamp,
659
+ isFirst: index === items.length - 1,
660
+ itemsToSend: item.itemsToSend,
661
+ itemsToReturn: item.itemsToReturn,
662
+ itemsMap: item.itemsMap,
663
+ children: item.children
664
+ },
665
+ index
666
+ );
667
+ }) });
668
+ }
669
+ const lastItems = items.slice(0, 2);
670
+ const collapsibleItems = items.slice(2, items.length - 1);
671
+ const firstItem = items[items.length - 1];
672
+ return /* @__PURE__ */ jsxs8("div", { className: "flex flex-col gap-y-0.5", children: [
673
+ lastItems.map((item, index) => {
674
+ return /* @__PURE__ */ jsx7(
675
+ OrderActivityItem,
676
+ {
677
+ title: item.title,
678
+ timestamp: item.timestamp,
679
+ itemsToSend: item.itemsToSend,
680
+ itemsToReturn: item.itemsToReturn,
681
+ itemsMap: item.itemsMap,
682
+ children: item.children
683
+ },
684
+ index
685
+ );
686
+ }),
687
+ /* @__PURE__ */ jsx7(OrderActivityCollapsible, { activities: collapsibleItems }),
688
+ /* @__PURE__ */ jsx7(
689
+ OrderActivityItem,
690
+ {
691
+ title: firstItem.title,
692
+ timestamp: firstItem.timestamp,
693
+ isFirst: true,
694
+ itemsToSend: firstItem.itemsToSend,
695
+ itemsToReturn: firstItem.itemsToReturn,
696
+ itemsMap: firstItem.itemsMap,
697
+ children: firstItem.children
698
+ }
699
+ )
700
+ ] });
701
+ };
702
+ var useActivityItems = (order) => {
703
+ const { t } = useTranslation7();
704
+ const { order: initialOrder = order } = useOrder(
705
+ order.id,
706
+ {
707
+ version: 1,
708
+ fields: "created_at,total,currency_code"
709
+ },
710
+ { enabled: order.version !== 1 }
711
+ );
712
+ const { order_changes: orderChanges = [] } = useOrderChanges(order.id, {
713
+ change_type: [
714
+ "edit",
715
+ "claim",
716
+ "exchange",
717
+ "return",
718
+ "transfer",
719
+ "update_order"
720
+ ]
721
+ });
722
+ const rmaChanges = orderChanges.filter(
723
+ (oc) => !NON_RMA_CHANGE_TYPES.includes(oc.change_type)
724
+ );
725
+ const missingLineItemIds = getMissingLineItemIds(order, rmaChanges);
726
+ const { order_items: removedLineItems = [] } = useOrderLineItems(
727
+ order.id,
728
+ {
729
+ fields: "+quantity",
730
+ item_id: missingLineItemIds
731
+ },
732
+ {
733
+ enabled: !!rmaChanges.length
734
+ }
735
+ );
736
+ const itemsMap = useMemo2(() => {
737
+ const _itemsMap = new Map(order?.items?.map((i) => [i.id, i]));
738
+ for (const id of missingLineItemIds) {
739
+ const i = removedLineItems.find((i2) => i2.item.id === id);
740
+ if (i) {
741
+ _itemsMap.set(id, { ...i.item, quantity: i.quantity });
742
+ }
743
+ }
744
+ return _itemsMap;
745
+ }, [order.items, removedLineItems, missingLineItemIds]);
746
+ const { returns = [] } = useReturns({
747
+ order_id: order.id,
748
+ fields: "+received_at,*items"
749
+ });
750
+ const { claims = [] } = useClaims({
751
+ order_id: order.id,
752
+ fields: "*additional_items"
753
+ });
754
+ const { exchanges = [] } = useExchanges({
755
+ order_id: order.id,
756
+ fields: "*additional_items"
757
+ });
758
+ const payments = getPaymentsFromOrder(order);
759
+ const notes = [];
760
+ const isLoading = false;
761
+ return useMemo2(() => {
762
+ if (isLoading) {
763
+ return [];
764
+ }
765
+ const items = [];
766
+ for (const payment of payments) {
767
+ const amount = payment.amount;
768
+ items.push({
769
+ title: t("orders.activity.events.payment.awaiting"),
770
+ timestamp: payment.created_at,
771
+ children: /* @__PURE__ */ jsx7(Text6, { size: "small", className: "text-ui-fg-subtle", children: getStylizedAmount(amount, payment.currency_code) })
772
+ });
773
+ if (payment.canceled_at) {
774
+ items.push({
775
+ title: t("orders.activity.events.payment.canceled"),
776
+ timestamp: payment.canceled_at,
777
+ children: /* @__PURE__ */ jsx7(Text6, { size: "small", className: "text-ui-fg-subtle", children: getStylizedAmount(amount, payment.currency_code) })
778
+ });
779
+ }
780
+ if (payment.captured_at) {
781
+ items.push({
782
+ title: t("orders.activity.events.payment.captured"),
783
+ timestamp: payment.captured_at,
784
+ children: /* @__PURE__ */ jsx7(Text6, { size: "small", className: "text-ui-fg-subtle", children: getStylizedAmount(amount, payment.currency_code) })
785
+ });
786
+ }
787
+ for (const refund of payment.refunds || []) {
788
+ items.push({
789
+ title: t("orders.activity.events.payment.refunded"),
790
+ timestamp: refund.created_at,
791
+ children: /* @__PURE__ */ jsxs8("div", { className: "text-ui-fg-subtle flex flex-col gap-y-2", children: [
792
+ /* @__PURE__ */ jsx7(Text6, { size: "small", children: getStylizedAmount(
793
+ refund.amount,
794
+ payment.currency_code
795
+ ) }),
796
+ refund.created_by && /* @__PURE__ */ jsxs8("div", { className: "flex items-center gap-x-2 text-sm", children: [
797
+ t("fields.by"),
798
+ " ",
799
+ /* @__PURE__ */ jsx7(By, { id: refund.created_by })
800
+ ] })
801
+ ] })
802
+ });
803
+ }
804
+ }
805
+ for (const fulfillment of order.fulfillments || []) {
806
+ items.push({
807
+ title: t("orders.activity.events.fulfillment.created"),
808
+ timestamp: fulfillment.created_at,
809
+ children: /* @__PURE__ */ jsxs8("div", { className: "text-ui-fg-subtle flex flex-col gap-y-2", children: [
810
+ /* @__PURE__ */ jsx7(FulfillmentCreatedBody, { fulfillment }),
811
+ fulfillment.created_by && /* @__PURE__ */ jsxs8("div", { className: "flex items-center gap-x-2 text-sm", children: [
812
+ t("fields.by"),
813
+ " ",
814
+ /* @__PURE__ */ jsx7(By, { id: fulfillment.created_by })
815
+ ] })
816
+ ] })
817
+ });
818
+ if (fulfillment.delivered_at) {
819
+ items.push({
820
+ title: t("orders.activity.events.fulfillment.delivered"),
821
+ timestamp: fulfillment.delivered_at,
822
+ children: /* @__PURE__ */ jsx7(FulfillmentCreatedBody, { fulfillment })
823
+ });
824
+ }
825
+ if (fulfillment.shipped_at) {
826
+ items.push({
827
+ title: t("orders.activity.events.fulfillment.shipped"),
828
+ timestamp: fulfillment.shipped_at,
829
+ children: /* @__PURE__ */ jsxs8("div", { className: "text-ui-fg-subtle flex flex-col gap-y-2", children: [
830
+ /* @__PURE__ */ jsx7(FulfillmentCreatedBody, { fulfillment }),
831
+ fulfillment.marked_shipped_by && /* @__PURE__ */ jsxs8("div", { className: "flex items-center gap-x-2 text-sm", children: [
832
+ t("fields.by"),
833
+ " ",
834
+ /* @__PURE__ */ jsx7(By, { id: fulfillment.marked_shipped_by })
835
+ ] })
836
+ ] })
837
+ });
838
+ }
839
+ if (fulfillment.canceled_at) {
840
+ items.push({
841
+ title: t("orders.activity.events.fulfillment.canceled"),
842
+ timestamp: fulfillment.canceled_at
843
+ });
844
+ }
845
+ }
846
+ const returnMap = /* @__PURE__ */ new Map();
847
+ for (const ret of returns) {
848
+ returnMap.set(ret.id, ret);
849
+ if (ret.claim_id || ret.exchange_id) {
850
+ continue;
851
+ }
852
+ items.push({
853
+ title: t("orders.activity.events.return.created", {
854
+ returnId: ret.id.slice(-7)
855
+ }),
856
+ timestamp: ret.created_at,
857
+ itemsToReturn: ret?.items,
858
+ itemsMap,
859
+ children: /* @__PURE__ */ jsxs8("div", { className: "text-ui-fg-subtle flex flex-col gap-y-2", children: [
860
+ /* @__PURE__ */ jsx7(
861
+ ReturnBody,
862
+ {
863
+ orderReturn: ret,
864
+ isCreated: !ret.canceled_at,
865
+ isReceived: false
866
+ }
867
+ ),
868
+ ret.created_by && !ret.canceled_at && /* @__PURE__ */ jsxs8("div", { className: "flex items-center gap-x-2 text-sm", children: [
869
+ t("fields.by"),
870
+ " ",
871
+ /* @__PURE__ */ jsx7(By, { id: ret.created_by })
872
+ ] })
873
+ ] })
874
+ });
875
+ if (ret.canceled_at) {
876
+ items.push({
877
+ title: t("orders.activity.events.return.canceled", {
878
+ returnId: ret.id.slice(-7)
879
+ }),
880
+ timestamp: ret.canceled_at
881
+ });
882
+ }
883
+ if (ret.status === "received" || ret.status === "partially_received") {
884
+ items.push({
885
+ title: t("orders.activity.events.return.received", {
886
+ returnId: ret.id.slice(-7)
887
+ }),
888
+ timestamp: ret.received_at,
889
+ itemsToReturn: ret?.items,
890
+ itemsMap,
891
+ children: /* @__PURE__ */ jsx7(ReturnBody, { orderReturn: ret, isCreated: false, isReceived: true })
892
+ });
893
+ }
894
+ }
895
+ for (const claim of claims) {
896
+ const claimReturn = returnMap.get(claim.return_id);
897
+ items.push({
898
+ title: t(
899
+ claim.canceled_at ? "orders.activity.events.claim.canceled" : "orders.activity.events.claim.created",
900
+ {
901
+ claimId: claim.id.slice(-7)
902
+ }
903
+ ),
904
+ timestamp: claim.canceled_at || claim.created_at,
905
+ itemsToSend: claim.additional_items,
906
+ itemsToReturn: claimReturn?.items,
907
+ itemsMap,
908
+ children: /* @__PURE__ */ jsxs8("div", { className: "text-ui-fg-subtle flex flex-col gap-y-2", children: [
909
+ /* @__PURE__ */ jsx7(ClaimBody, { claim, claimReturn }),
910
+ claim.created_by && !claim.canceled_at && /* @__PURE__ */ jsxs8("div", { className: "flex items-center gap-x-2 text-sm", children: [
911
+ t("fields.by"),
912
+ " ",
913
+ /* @__PURE__ */ jsx7(By, { id: claim.created_by })
914
+ ] })
915
+ ] })
916
+ });
917
+ }
918
+ for (const exchange of exchanges) {
919
+ const exchangeReturn = returnMap.get(exchange.return_id);
920
+ items.push({
921
+ title: t(
922
+ exchange.canceled_at ? "orders.activity.events.exchange.canceled" : "orders.activity.events.exchange.created",
923
+ {
924
+ exchangeId: exchange.id.slice(-7)
925
+ }
926
+ ),
927
+ timestamp: exchange.canceled_at || exchange.created_at,
928
+ itemsToSend: exchange.additional_items,
929
+ itemsToReturn: exchangeReturn?.items,
930
+ itemsMap,
931
+ children: /* @__PURE__ */ jsxs8("div", { className: "text-ui-fg-subtle flex flex-col gap-y-2", children: [
932
+ /* @__PURE__ */ jsx7(ExchangeBody, { exchange, exchangeReturn }),
933
+ exchange.created_by && !exchange.canceled_at && /* @__PURE__ */ jsxs8("div", { className: "flex items-center gap-x-2 text-sm", children: [
934
+ t("fields.by"),
935
+ " ",
936
+ /* @__PURE__ */ jsx7(By, { id: exchange.created_by })
937
+ ] })
938
+ ] })
939
+ });
940
+ }
941
+ for (const edit of orderChanges.filter((oc) => oc.change_type === "edit")) {
942
+ const isConfirmed = edit.status === "confirmed";
943
+ const isPending = edit.status === "pending";
944
+ if (isPending) {
945
+ continue;
946
+ }
947
+ items.push({
948
+ title: t(`orders.activity.events.edit.${edit.status}`, {
949
+ editId: edit.id.slice(-7)
950
+ }),
951
+ timestamp: edit.status === "requested" ? edit.requested_at : edit.status === "confirmed" ? edit.confirmed_at : edit.status === "declined" ? edit.declined_at : edit.status === "canceled" ? edit.canceled_at : edit.created_at,
952
+ children: isConfirmed ? /* @__PURE__ */ jsx7(OrderEditBody, { edit }) : null
953
+ });
954
+ }
955
+ for (const transfer of orderChanges.filter(
956
+ (oc) => oc.change_type === "transfer"
957
+ )) {
958
+ if (transfer.requested_at) {
959
+ items.push({
960
+ title: t(`orders.activity.events.transfer.requested`, {
961
+ transferId: transfer.id.slice(-7)
962
+ }),
963
+ timestamp: transfer.requested_at,
964
+ children: /* @__PURE__ */ jsx7(TransferOrderRequestBody, { transfer })
965
+ });
966
+ }
967
+ if (transfer.confirmed_at) {
968
+ items.push({
969
+ title: t(`orders.activity.events.transfer.confirmed`, {
970
+ transferId: transfer.id.slice(-7)
971
+ }),
972
+ timestamp: transfer.confirmed_at
973
+ });
974
+ }
975
+ if (transfer.declined_at) {
976
+ items.push({
977
+ title: t(`orders.activity.events.transfer.declined`, {
978
+ transferId: transfer.id.slice(-7)
979
+ }),
980
+ timestamp: transfer.declined_at
981
+ });
982
+ }
983
+ }
984
+ for (const update of orderChanges.filter(
985
+ (oc) => oc.change_type === "update_order"
986
+ )) {
987
+ const updateType = update.actions[0]?.details?.type;
988
+ if (updateType === "shipping_address") {
989
+ items.push({
990
+ title: /* @__PURE__ */ jsx7(
991
+ change_details_tooltip_default,
992
+ {
993
+ title: t(`orders.activity.events.update_order.shipping_address`),
994
+ previous: /* @__PURE__ */ jsx7("p", { className: "txt-compact-small text-ui-fg-subtle", children: getFormattedAddress({
995
+ address: update.actions[0].details?.old
996
+ }).join(", ") }),
997
+ next: /* @__PURE__ */ jsx7("p", { className: "txt-compact-small text-ui-fg-subtle", children: getFormattedAddress({
998
+ address: update.actions[0].details?.new
999
+ }).join(", ") })
1000
+ }
1001
+ ),
1002
+ timestamp: update.created_at,
1003
+ children: /* @__PURE__ */ jsxs8("div", { className: "text-ui-fg-subtle mt-2 flex gap-x-2 text-sm", children: [
1004
+ t("fields.by"),
1005
+ " ",
1006
+ /* @__PURE__ */ jsx7(By, { id: update.created_by || "-" })
1007
+ ] })
1008
+ });
1009
+ }
1010
+ if (updateType === "billing_address") {
1011
+ items.push({
1012
+ title: /* @__PURE__ */ jsx7(
1013
+ change_details_tooltip_default,
1014
+ {
1015
+ title: t(`orders.activity.events.update_order.billing_address`),
1016
+ previous: /* @__PURE__ */ jsx7("p", { className: "txt-compact-small text-ui-fg-subtle", children: getFormattedAddress({
1017
+ address: update.actions[0].details?.old
1018
+ }).join(", ") }),
1019
+ next: /* @__PURE__ */ jsx7("p", { className: "txt-compact-small text-ui-fg-subtle", children: getFormattedAddress({
1020
+ address: update.actions[0].details?.new
1021
+ }).join(", ") })
1022
+ }
1023
+ ),
1024
+ timestamp: update.created_at,
1025
+ children: /* @__PURE__ */ jsxs8("div", { className: "text-ui-fg-subtle mt-2 flex gap-x-2 text-sm", children: [
1026
+ t("fields.by"),
1027
+ " ",
1028
+ /* @__PURE__ */ jsx7(By, { id: update.created_by || "-" })
1029
+ ] })
1030
+ });
1031
+ }
1032
+ if (updateType === "email") {
1033
+ items.push({
1034
+ title: /* @__PURE__ */ jsx7(
1035
+ change_details_tooltip_default,
1036
+ {
1037
+ title: t(`orders.activity.events.update_order.email`),
1038
+ previous: /* @__PURE__ */ jsx7("p", { className: "txt-compact-small text-ui-fg-subtle", children: update.actions[0].details?.old }),
1039
+ next: /* @__PURE__ */ jsx7("p", { className: "txt-compact-small text-ui-fg-subtle", children: update.actions[0].details?.new })
1040
+ }
1041
+ ),
1042
+ timestamp: update.created_at,
1043
+ children: /* @__PURE__ */ jsxs8("div", { className: "text-ui-fg-subtle mt-2 flex gap-x-2 text-sm", children: [
1044
+ t("fields.by"),
1045
+ " ",
1046
+ /* @__PURE__ */ jsx7(By, { id: update.created_by || "-" })
1047
+ ] })
1048
+ });
1049
+ }
1050
+ }
1051
+ if (order.canceled_at) {
1052
+ items.push({
1053
+ title: t("orders.activity.events.canceled.title"),
1054
+ timestamp: order.canceled_at
1055
+ });
1056
+ }
1057
+ const sortedActivities = items.sort((a, b) => {
1058
+ return new Date(b.timestamp).getTime() - new Date(a.timestamp).getTime();
1059
+ });
1060
+ if (initialOrder.created_at) {
1061
+ const createdAt = {
1062
+ title: t("orders.activity.events.placed.title"),
1063
+ timestamp: initialOrder.created_at,
1064
+ children: /* @__PURE__ */ jsx7(Text6, { size: "small", className: "text-ui-fg-subtle", children: getStylizedAmount(initialOrder.total, initialOrder.currency_code) })
1065
+ };
1066
+ sortedActivities.push(createdAt);
1067
+ }
1068
+ return [...sortedActivities];
1069
+ }, [
1070
+ order,
1071
+ initialOrder,
1072
+ payments,
1073
+ returns,
1074
+ exchanges,
1075
+ orderChanges,
1076
+ notes,
1077
+ isLoading,
1078
+ itemsMap
1079
+ ]);
1080
+ };
1081
+ var OrderActivityItem = ({
1082
+ title,
1083
+ timestamp,
1084
+ isFirst = false,
1085
+ children,
1086
+ itemsToSend,
1087
+ itemsToReturn,
1088
+ itemsMap
1089
+ }) => {
1090
+ const { getFullDate, getRelativeDate } = useDate();
1091
+ return /* @__PURE__ */ jsxs8("div", { className: "grid grid-cols-[20px_1fr] items-start gap-2", children: [
1092
+ /* @__PURE__ */ jsxs8("div", { className: "flex size-full flex-col items-center gap-y-0.5", children: [
1093
+ /* @__PURE__ */ jsx7("div", { className: "flex size-5 items-center justify-center", children: /* @__PURE__ */ jsx7("div", { className: "bg-ui-bg-base shadow-borders-base flex size-2.5 items-center justify-center rounded-full", children: /* @__PURE__ */ jsx7("div", { className: "bg-ui-tag-neutral-icon size-1.5 rounded-full" }) }) }),
1094
+ !isFirst && /* @__PURE__ */ jsx7("div", { className: "bg-ui-border-base w-px flex-1" })
1095
+ ] }),
1096
+ /* @__PURE__ */ jsxs8(
1097
+ "div",
1098
+ {
1099
+ className: clx({
1100
+ "pb-4": !isFirst
1101
+ }),
1102
+ children: [
1103
+ /* @__PURE__ */ jsxs8("div", { className: "flex items-center justify-between", children: [
1104
+ itemsToSend?.length || itemsToReturn?.length ? /* @__PURE__ */ jsx7(
1105
+ activity_items_default,
1106
+ {
1107
+ title: typeof title === "string" ? title : title?.toString() || "",
1108
+ itemsToSend,
1109
+ itemsToReturn,
1110
+ itemsMap
1111
+ },
1112
+ typeof title === "string" ? title : title?.toString()
1113
+ ) : /* @__PURE__ */ jsx7(Text6, { size: "small", leading: "compact", weight: "plus", children: title }),
1114
+ timestamp && /* @__PURE__ */ jsx7(
1115
+ Tooltip,
1116
+ {
1117
+ content: getFullDate({ date: timestamp, includeTime: true }),
1118
+ children: /* @__PURE__ */ jsx7(
1119
+ Text6,
1120
+ {
1121
+ size: "small",
1122
+ leading: "compact",
1123
+ className: "text-ui-fg-subtle text-right",
1124
+ children: getRelativeDate(timestamp)
1125
+ }
1126
+ )
1127
+ }
1128
+ )
1129
+ ] }),
1130
+ /* @__PURE__ */ jsx7("div", { children })
1131
+ ]
1132
+ }
1133
+ )
1134
+ ] });
1135
+ };
1136
+ var OrderActivityCollapsible = ({
1137
+ activities
1138
+ }) => {
1139
+ const [open, setOpen] = useState3(false);
1140
+ const { t } = useTranslation7();
1141
+ if (!activities.length) {
1142
+ return null;
1143
+ }
1144
+ return /* @__PURE__ */ jsxs8(RadixCollapsible.Root, { open, onOpenChange: setOpen, children: [
1145
+ !open && /* @__PURE__ */ jsxs8("div", { className: "grid grid-cols-[20px_1fr] items-start gap-2", children: [
1146
+ /* @__PURE__ */ jsx7("div", { className: "flex size-full flex-col items-center", children: /* @__PURE__ */ jsx7("div", { className: "border-ui-border-strong w-px flex-1 bg-[linear-gradient(var(--border-strong)_33%,rgba(255,255,255,0)_0%)] bg-[length:1px_3px] bg-right bg-repeat-y" }) }),
1147
+ /* @__PURE__ */ jsx7("div", { className: "pb-4", children: /* @__PURE__ */ jsx7(RadixCollapsible.Trigger, { className: "text-left", children: /* @__PURE__ */ jsx7(
1148
+ Text6,
1149
+ {
1150
+ size: "small",
1151
+ leading: "compact",
1152
+ weight: "plus",
1153
+ className: "text-ui-fg-muted",
1154
+ children: t("orders.activity.showMoreActivities", {
1155
+ count: activities.length
1156
+ })
1157
+ }
1158
+ ) }) })
1159
+ ] }),
1160
+ /* @__PURE__ */ jsx7(RadixCollapsible.Content, { children: /* @__PURE__ */ jsx7("div", { className: "flex flex-col gap-y-0.5", children: activities.map((item, index) => {
1161
+ return /* @__PURE__ */ jsx7(
1162
+ OrderActivityItem,
1163
+ {
1164
+ title: item.title,
1165
+ timestamp: item.timestamp,
1166
+ itemsToSend: item.itemsToSend,
1167
+ itemsToReturn: item.itemsToReturn,
1168
+ itemsMap: item.itemsMap,
1169
+ children: item.children
1170
+ },
1171
+ index
1172
+ );
1173
+ }) }) })
1174
+ ] });
1175
+ };
1176
+ var FulfillmentCreatedBody = ({
1177
+ fulfillment
1178
+ }) => {
1179
+ const { t } = useTranslation7();
1180
+ const numberOfItems = fulfillment.items.reduce((acc, item) => {
1181
+ return acc + item.quantity;
1182
+ }, 0);
1183
+ return /* @__PURE__ */ jsx7("div", { children: /* @__PURE__ */ jsx7(Text6, { size: "small", className: "text-ui-fg-subtle", children: t("orders.activity.events.fulfillment.items", {
1184
+ count: numberOfItems
1185
+ }) }) });
1186
+ };
1187
+ var ReturnBody = ({
1188
+ orderReturn,
1189
+ isCreated,
1190
+ isReceived
1191
+ }) => {
1192
+ const prompt = usePrompt();
1193
+ const { t } = useTranslation7();
1194
+ const { mutateAsync: cancelReturnRequest } = useCancelReturn(
1195
+ orderReturn.id,
1196
+ orderReturn.order_id
1197
+ );
1198
+ const onCancel = async () => {
1199
+ const res = await prompt({
1200
+ title: t("orders.returns.cancel.title"),
1201
+ description: t("orders.returns.cancel.description"),
1202
+ confirmText: t("actions.confirm"),
1203
+ cancelText: t("actions.cancel")
1204
+ });
1205
+ if (!res) {
1206
+ return;
1207
+ }
1208
+ await cancelReturnRequest().catch((error) => {
1209
+ toast5.error(error.message);
1210
+ });
1211
+ };
1212
+ const numberOfItems = orderReturn.items.reduce((acc, item) => {
1213
+ return acc + (isReceived ? item.received_quantity : item.quantity);
1214
+ }, 0);
1215
+ return /* @__PURE__ */ jsxs8("div", { className: "flex items-start gap-1", children: [
1216
+ /* @__PURE__ */ jsx7(Text6, { size: "small", className: "text-ui-fg-subtle", children: t("orders.activity.events.return.items", {
1217
+ count: numberOfItems
1218
+ }) }),
1219
+ isCreated && /* @__PURE__ */ jsxs8(Fragment, { children: [
1220
+ /* @__PURE__ */ jsx7("div", { className: "mt-[2px] flex items-center leading-none", children: "\u22C5" }),
1221
+ /* @__PURE__ */ jsx7(
1222
+ Button5,
1223
+ {
1224
+ onClick: onCancel,
1225
+ className: "text-ui-fg-subtle h-auto px-0 leading-none hover:bg-transparent",
1226
+ variant: "transparent",
1227
+ size: "small",
1228
+ children: t("actions.cancel")
1229
+ }
1230
+ )
1231
+ ] })
1232
+ ] });
1233
+ };
1234
+ var ClaimBody = ({
1235
+ claim,
1236
+ claimReturn
1237
+ }) => {
1238
+ const prompt = usePrompt();
1239
+ const { t } = useTranslation7();
1240
+ const isCanceled = !!claim.created_at;
1241
+ const { mutateAsync: cancelClaim } = useCancelClaim(claim.id, claim.order_id);
1242
+ const onCancel = async () => {
1243
+ const res = await prompt({
1244
+ title: t("orders.claims.cancel.title"),
1245
+ description: t("orders.claims.cancel.description"),
1246
+ confirmText: t("actions.confirm"),
1247
+ cancelText: t("actions.cancel")
1248
+ });
1249
+ if (!res) {
1250
+ return;
1251
+ }
1252
+ await cancelClaim().catch((error) => {
1253
+ toast5.error(error.message);
1254
+ });
1255
+ };
1256
+ const outboundItems = (claim.additional_items || []).reduce(
1257
+ (acc, item) => acc + item.quantity,
1258
+ 0
1259
+ );
1260
+ const inboundItems = (claimReturn?.items || []).reduce(
1261
+ (acc, item) => acc + item.quantity,
1262
+ 0
1263
+ );
1264
+ return /* @__PURE__ */ jsxs8("div", { children: [
1265
+ outboundItems > 0 && /* @__PURE__ */ jsx7(Text6, { size: "small", className: "text-ui-fg-subtle", children: t("orders.activity.events.claim.itemsInbound", {
1266
+ count: outboundItems
1267
+ }) }),
1268
+ inboundItems > 0 && /* @__PURE__ */ jsx7(Text6, { size: "small", className: "text-ui-fg-subtle", children: t("orders.activity.events.claim.itemsOutbound", {
1269
+ count: inboundItems
1270
+ }) }),
1271
+ !isCanceled && /* @__PURE__ */ jsx7(
1272
+ Button5,
1273
+ {
1274
+ onClick: onCancel,
1275
+ className: "text-ui-fg-subtle h-auto px-0 leading-none hover:bg-transparent",
1276
+ variant: "transparent",
1277
+ size: "small",
1278
+ children: t("actions.cancel")
1279
+ }
1280
+ )
1281
+ ] });
1282
+ };
1283
+ var ExchangeBody = ({
1284
+ exchange,
1285
+ exchangeReturn
1286
+ }) => {
1287
+ const prompt = usePrompt();
1288
+ const { t } = useTranslation7();
1289
+ const isCanceled = !!exchange.canceled_at;
1290
+ const { mutateAsync: cancelExchange } = useCancelExchange(
1291
+ exchange.id,
1292
+ exchange.order_id
1293
+ );
1294
+ const onCancel = async () => {
1295
+ const res = await prompt({
1296
+ title: t("orders.exchanges.cancel.title"),
1297
+ description: t("orders.exchanges.cancel.description"),
1298
+ confirmText: t("actions.confirm"),
1299
+ cancelText: t("actions.cancel")
1300
+ });
1301
+ if (!res) {
1302
+ return;
1303
+ }
1304
+ await cancelExchange().catch((error) => {
1305
+ toast5.error(error.message);
1306
+ });
1307
+ };
1308
+ const outboundItems = (exchange.additional_items || []).reduce(
1309
+ (acc, item) => acc + item.quantity,
1310
+ 0
1311
+ );
1312
+ const inboundItems = (exchangeReturn?.items || []).reduce(
1313
+ (acc, item) => acc + item.quantity,
1314
+ 0
1315
+ );
1316
+ return /* @__PURE__ */ jsxs8("div", { children: [
1317
+ outboundItems > 0 && /* @__PURE__ */ jsx7(Text6, { size: "small", className: "text-ui-fg-subtle", children: t("orders.activity.events.exchange.itemsInbound", {
1318
+ count: outboundItems
1319
+ }) }),
1320
+ inboundItems > 0 && /* @__PURE__ */ jsx7(Text6, { size: "small", className: "text-ui-fg-subtle", children: t("orders.activity.events.exchange.itemsOutbound", {
1321
+ count: inboundItems
1322
+ }) }),
1323
+ !isCanceled && /* @__PURE__ */ jsx7(
1324
+ Button5,
1325
+ {
1326
+ onClick: onCancel,
1327
+ className: "text-ui-fg-subtle h-auto px-0 leading-none hover:bg-transparent",
1328
+ variant: "transparent",
1329
+ size: "small",
1330
+ children: t("actions.cancel")
1331
+ }
1332
+ )
1333
+ ] });
1334
+ };
1335
+ var OrderEditBody = ({ edit }) => {
1336
+ const { t } = useTranslation7();
1337
+ const isConfirmed = edit.status === "confirmed";
1338
+ const isDeclined = edit.status === "declined";
1339
+ const isCanceled = edit.status === "canceled";
1340
+ const userId = isConfirmed ? edit.confirmed_by : isDeclined ? edit.declined_by : isCanceled ? edit.canceled_by : edit.requested_by;
1341
+ const [itemsAdded, itemsRemoved] = useMemo2(
1342
+ () => countItemsChange(edit.actions),
1343
+ [edit]
1344
+ );
1345
+ const ItemChangeDetails = ({
1346
+ itemChange,
1347
+ version
1348
+ }) => {
1349
+ const deletedItemIdsSet = new Set(
1350
+ itemChange.detail.filter((item) => item.isDeleted).map((item) => item.lineItemId)
1351
+ );
1352
+ const isAllDeleted = deletedItemIdsSet.size === itemChange.detail.length;
1353
+ const isSomeDeleted = deletedItemIdsSet.size > 0;
1354
+ const { isLoading: isLoadingDeleted, order_items: deletedLineItems = [] } = useOrderLineItems(
1355
+ edit.order_id,
1356
+ {
1357
+ item_id: Array.from(deletedItemIdsSet),
1358
+ version: version - 1
1359
+ },
1360
+ {
1361
+ enabled: isSomeDeleted
1362
+ }
1363
+ );
1364
+ const { isLoading, order_items: nonDeletedLineItems = [] } = useOrderLineItems(
1365
+ edit.order_id,
1366
+ {
1367
+ item_id: itemChange.detail.filter((item) => !deletedItemIdsSet.has(item.lineItemId)).map((item) => item.lineItemId),
1368
+ version
1369
+ },
1370
+ {
1371
+ enabled: !isAllDeleted
1372
+ }
1373
+ );
1374
+ const lineItems = [...deletedLineItems, ...nonDeletedLineItems];
1375
+ const label = itemChange.type === "added" ? t("labels.added") : t("labels.removed");
1376
+ if (isLoading || isLoadingDeleted) {
1377
+ return /* @__PURE__ */ jsx7(Text6, { size: "small", className: "text-ui-fg-subtle", children: t("labels.loading") });
1378
+ }
1379
+ return /* @__PURE__ */ jsx7("div", { className: "text-ui-fg-subtle flex flex-col divide-y divide-dashed", children: lineItems.map((orderItem) => {
1380
+ const itemChangeItem = itemChange.detail.find(
1381
+ (item) => item.lineItemId === orderItem.item_id
1382
+ );
1383
+ if (!itemChangeItem) {
1384
+ return null;
1385
+ }
1386
+ const lineItem = orderItem.item;
1387
+ return /* @__PURE__ */ jsxs8(
1388
+ "div",
1389
+ {
1390
+ className: "group flex items-start gap-x-4 py-3 first:pt-0 last:pb-0",
1391
+ children: [
1392
+ /* @__PURE__ */ jsx7(Thumbnail, { src: lineItem.thumbnail }),
1393
+ /* @__PURE__ */ jsxs8("div", { children: [
1394
+ /* @__PURE__ */ jsx7(
1395
+ Text6,
1396
+ {
1397
+ size: "small",
1398
+ leading: "compact",
1399
+ className: "text-ui-fg-base",
1400
+ children: lineItem.title
1401
+ }
1402
+ ),
1403
+ lineItem.variant_sku && /* @__PURE__ */ jsx7(Text6, { size: "small", children: lineItem.variant_sku }),
1404
+ /* @__PURE__ */ jsx7(Text6, { size: "small", children: `${label}: ${itemChangeItem.count}` })
1405
+ ] })
1406
+ ]
1407
+ },
1408
+ orderItem.item_id
1409
+ );
1410
+ }) });
1411
+ };
1412
+ return /* @__PURE__ */ jsxs8("div", { className: "text-ui-fg-subtle flex flex-col items-start gap-y-2", children: [
1413
+ itemsAdded.totalCount > 0 && /* @__PURE__ */ jsx7(
1414
+ change_details_tooltip_default,
1415
+ {
1416
+ title: `${t("labels.added")}: ${itemsAdded.totalCount}`,
1417
+ previous: /* @__PURE__ */ jsx7(ItemChangeDetails, { itemChange: itemsAdded, version: edit.version })
1418
+ }
1419
+ ),
1420
+ itemsRemoved.totalCount > 0 && /* @__PURE__ */ jsx7(
1421
+ change_details_tooltip_default,
1422
+ {
1423
+ title: `${t("labels.removed")}: ${itemsRemoved.totalCount}`,
1424
+ previous: /* @__PURE__ */ jsx7(
1425
+ ItemChangeDetails,
1426
+ {
1427
+ itemChange: itemsRemoved,
1428
+ version: edit.version
1429
+ }
1430
+ )
1431
+ }
1432
+ ),
1433
+ edit.internal_note && /* @__PURE__ */ jsx7("div", { className: "bg-ui-bg-component shadow-borders-base mt-2 w-fit rounded-r-2xl rounded-bl-md rounded-tl-xl px-3 py-1.5", children: /* @__PURE__ */ jsx7(Text6, { size: "xsmall", className: "text-ui-fg-subtle", children: edit.internal_note }) }),
1434
+ userId && /* @__PURE__ */ jsxs8("div", { className: "flex items-center gap-x-2 text-sm", children: [
1435
+ t("fields.by"),
1436
+ " ",
1437
+ /* @__PURE__ */ jsx7(By, { id: userId })
1438
+ ] })
1439
+ ] });
1440
+ };
1441
+ var TransferOrderRequestBody = ({
1442
+ transfer
1443
+ }) => {
1444
+ const prompt = usePrompt();
1445
+ const { t } = useTranslation7();
1446
+ const action = transfer.actions[0];
1447
+ const { customer } = useCustomer(action.reference_id ?? "");
1448
+ const isCompleted = !!transfer.confirmed_at;
1449
+ const { mutateAsync: cancelTransfer } = useCancelOrderTransfer(
1450
+ transfer.order_id
1451
+ );
1452
+ const handleDelete = async () => {
1453
+ const res = await prompt({
1454
+ title: t("general.areYouSure"),
1455
+ description: t("actions.cannotUndo"),
1456
+ confirmText: t("actions.delete"),
1457
+ cancelText: t("actions.cancel")
1458
+ });
1459
+ if (!res) {
1460
+ return;
1461
+ }
1462
+ await cancelTransfer().catch((error) => {
1463
+ toast5.error(error.message);
1464
+ });
1465
+ };
1466
+ return /* @__PURE__ */ jsxs8("div", { children: [
1467
+ /* @__PURE__ */ jsxs8(Text6, { size: "small", className: "text-ui-fg-subtle", children: [
1468
+ t("orders.activity.from"),
1469
+ ":",
1470
+ " ",
1471
+ action.details?.original_email
1472
+ ] }),
1473
+ /* @__PURE__ */ jsxs8(Text6, { size: "small", className: "text-ui-fg-subtle", children: [
1474
+ t("orders.activity.to"),
1475
+ ":",
1476
+ " ",
1477
+ customer?.first_name ? `${customer?.first_name} ${customer?.last_name}` : customer?.email
1478
+ ] }),
1479
+ !isCompleted && /* @__PURE__ */ jsx7(
1480
+ Button5,
1481
+ {
1482
+ onClick: handleDelete,
1483
+ className: "text-ui-fg-subtle h-auto px-0 leading-none hover:bg-transparent",
1484
+ variant: "transparent",
1485
+ size: "small",
1486
+ children: t("actions.cancel")
1487
+ }
1488
+ )
1489
+ ] });
1490
+ };
1491
+ function countItemsChange(actions) {
1492
+ const addedChange = {
1493
+ totalCount: 0,
1494
+ detail: [],
1495
+ type: "added"
1496
+ };
1497
+ const removedChange = {
1498
+ totalCount: 0,
1499
+ detail: [],
1500
+ type: "removed"
1501
+ };
1502
+ actions.forEach((action) => {
1503
+ if (action.action === "ITEM_ADD") {
1504
+ addedChange.totalCount += action.details.quantity;
1505
+ addedChange.detail.push({
1506
+ lineItemId: action.details.reference_id,
1507
+ count: action.details.quantity
1508
+ });
1509
+ }
1510
+ if (action.action === "ITEM_UPDATE") {
1511
+ const quantityDiff = action.details.quantity_diff;
1512
+ if (quantityDiff > 0) {
1513
+ addedChange.totalCount += quantityDiff;
1514
+ addedChange.detail.push({
1515
+ lineItemId: action.details.reference_id,
1516
+ count: quantityDiff
1517
+ });
1518
+ } else {
1519
+ removedChange.totalCount += Math.abs(quantityDiff);
1520
+ removedChange.detail.push({
1521
+ lineItemId: action.details.reference_id,
1522
+ count: Math.abs(quantityDiff),
1523
+ isDeleted: action.details.quantity === 0
1524
+ });
1525
+ }
1526
+ }
1527
+ });
1528
+ return [addedChange, removedChange];
1529
+ }
1530
+ function getMissingLineItemIds(order, changes) {
1531
+ if (!changes?.length) {
1532
+ return [];
1533
+ }
1534
+ const retIds = /* @__PURE__ */ new Set();
1535
+ const existingItemsMap = new Map(order.items.map((item) => [item.id, true]));
1536
+ changes.forEach((change) => {
1537
+ change.actions.forEach((action) => {
1538
+ if (!action.details?.reference_id) {
1539
+ return;
1540
+ }
1541
+ if (action.details.reference_id.startsWith("ordli_") && !existingItemsMap.has(action.details.reference_id)) {
1542
+ retIds.add(action.details.reference_id);
1543
+ }
1544
+ });
1545
+ });
1546
+ return Array.from(retIds);
1547
+ }
1548
+
1549
+ // src/routes/orders/order-detail/components/order-activity-section/order-activity-section.tsx
1550
+ import { jsx as jsx8, jsxs as jsxs9 } from "react/jsx-runtime";
1551
+ var OrderActivitySection = ({ order }) => {
1552
+ const { t } = useTranslation8();
1553
+ return /* @__PURE__ */ jsxs9(Container5, { className: "flex flex-col gap-y-8 px-6 py-4", children: [
1554
+ /* @__PURE__ */ jsx8("div", { className: "flex flex-col gap-y-4", children: /* @__PURE__ */ jsx8("div", { className: "flex items-center justify-between", children: /* @__PURE__ */ jsx8(Heading5, { level: "h2", children: t("orders.activity.header") }) }) }),
1555
+ /* @__PURE__ */ jsx8(OrderTimeline, { order })
1556
+ ] });
1557
+ };
1558
+
1559
+ // src/routes/orders/order-detail/components/order-customer-section/order-customer-section.tsx
1560
+ import { Container as Container6, Heading as Heading6 } from "@medusajs/ui";
1561
+ import { useTranslation as useTranslation10 } from "react-i18next";
1562
+ import { ArrowPath as ArrowPath2, CurrencyDollar, Envelope, FlyingBox } from "@medusajs/icons";
1563
+
1564
+ // src/components/common/customer-info/customer-info.tsx
1565
+ import { Avatar, Copy as Copy2, Text as Text7 } from "@medusajs/ui";
1566
+ import { useTranslation as useTranslation9 } from "react-i18next";
1567
+ import { Link } from "react-router-dom";
1568
+ import { jsx as jsx9, jsxs as jsxs10 } from "react/jsx-runtime";
1569
+ var ID = ({ data }) => {
1570
+ const { t } = useTranslation9();
1571
+ const id = data.customer_id;
1572
+ const name = getOrderCustomer(data);
1573
+ const email = data.email;
1574
+ const fallback = (name || email || "").charAt(0).toUpperCase();
1575
+ return /* @__PURE__ */ jsxs10("div", { className: "text-ui-fg-subtle grid grid-cols-2 items-center px-6 py-4", children: [
1576
+ /* @__PURE__ */ jsx9(Text7, { size: "small", leading: "compact", weight: "plus", children: t("fields.id") }),
1577
+ /* @__PURE__ */ jsx9(
1578
+ Link,
1579
+ {
1580
+ to: `/customers/${id}`,
1581
+ className: "focus:shadow-borders-focus rounded-[4px] outline-none transition-shadow",
1582
+ children: /* @__PURE__ */ jsxs10("div", { className: "flex items-center gap-x-2 overflow-hidden", children: [
1583
+ /* @__PURE__ */ jsx9(Avatar, { size: "2xsmall", fallback }),
1584
+ /* @__PURE__ */ jsx9(
1585
+ Text7,
1586
+ {
1587
+ size: "small",
1588
+ leading: "compact",
1589
+ className: "text-ui-fg-subtle hover:text-ui-fg-base transition-fg truncate",
1590
+ children: name || email
1591
+ }
1592
+ )
1593
+ ] })
1594
+ }
1595
+ )
1596
+ ] });
1597
+ };
1598
+ var Company = ({ data }) => {
1599
+ const { t } = useTranslation9();
1600
+ const company = data.shipping_address?.company || data.billing_address?.company;
1601
+ if (!company) {
1602
+ return null;
1603
+ }
1604
+ return /* @__PURE__ */ jsxs10("div", { className: "text-ui-fg-subtle grid grid-cols-2 items-center px-6 py-4", children: [
1605
+ /* @__PURE__ */ jsx9(Text7, { size: "small", leading: "compact", weight: "plus", children: t("fields.company") }),
1606
+ /* @__PURE__ */ jsx9(Text7, { size: "small", leading: "compact", className: "truncate", children: company })
1607
+ ] });
1608
+ };
1609
+ var Contact = ({ data }) => {
1610
+ const { t } = useTranslation9();
1611
+ const phone = data.shipping_address?.phone || data.billing_address?.phone;
1612
+ const email = data.email || "";
1613
+ return /* @__PURE__ */ jsxs10("div", { className: "text-ui-fg-subtle grid grid-cols-2 items-start px-6 py-4", children: [
1614
+ /* @__PURE__ */ jsx9(Text7, { size: "small", leading: "compact", weight: "plus", children: t("orders.customer.contactLabel") }),
1615
+ /* @__PURE__ */ jsxs10("div", { className: "flex flex-col gap-y-2", children: [
1616
+ /* @__PURE__ */ jsxs10("div", { className: "grid grid-cols-[1fr_20px] items-start gap-x-2", children: [
1617
+ /* @__PURE__ */ jsx9(
1618
+ Text7,
1619
+ {
1620
+ size: "small",
1621
+ leading: "compact",
1622
+ className: "text-pretty break-all",
1623
+ children: email
1624
+ }
1625
+ ),
1626
+ /* @__PURE__ */ jsx9("div", { className: "flex justify-end", children: /* @__PURE__ */ jsx9(Copy2, { content: email, className: "text-ui-fg-muted" }) })
1627
+ ] }),
1628
+ phone && /* @__PURE__ */ jsxs10("div", { className: "grid grid-cols-[1fr_20px] items-start gap-x-2", children: [
1629
+ /* @__PURE__ */ jsx9(
1630
+ Text7,
1631
+ {
1632
+ size: "small",
1633
+ leading: "compact",
1634
+ className: "text-pretty break-all",
1635
+ children: phone
1636
+ }
1637
+ ),
1638
+ /* @__PURE__ */ jsx9("div", { className: "flex justify-end", children: /* @__PURE__ */ jsx9(Copy2, { content: phone, className: "text-ui-fg-muted" }) })
1639
+ ] })
1640
+ ] })
1641
+ ] });
1642
+ };
1643
+ var AddressPrint = ({
1644
+ address,
1645
+ type
1646
+ }) => {
1647
+ const { t } = useTranslation9();
1648
+ return /* @__PURE__ */ jsxs10("div", { className: "text-ui-fg-subtle grid grid-cols-2 items-start px-6 py-4", children: [
1649
+ /* @__PURE__ */ jsx9(Text7, { size: "small", leading: "compact", weight: "plus", children: type === "shipping" ? t("addresses.shippingAddress.label") : t("addresses.billingAddress.label") }),
1650
+ address ? /* @__PURE__ */ jsxs10("div", { className: "grid grid-cols-[1fr_20px] items-start gap-x-2", children: [
1651
+ /* @__PURE__ */ jsx9(Text7, { size: "small", leading: "compact", children: getFormattedAddress({ address }).map((line, i) => {
1652
+ return /* @__PURE__ */ jsxs10("span", { className: "break-words", children: [
1653
+ line,
1654
+ /* @__PURE__ */ jsx9("br", {})
1655
+ ] }, i);
1656
+ }) }),
1657
+ /* @__PURE__ */ jsx9("div", { className: "flex justify-end", children: /* @__PURE__ */ jsx9(
1658
+ Copy2,
1659
+ {
1660
+ content: getFormattedAddress({ address }).join("\n"),
1661
+ className: "text-ui-fg-muted"
1662
+ }
1663
+ ) })
1664
+ ] }) : /* @__PURE__ */ jsx9(Text7, { size: "small", leading: "compact", children: "-" })
1665
+ ] });
1666
+ };
1667
+ var Addresses = ({ data }) => {
1668
+ const { t } = useTranslation9();
1669
+ return /* @__PURE__ */ jsxs10("div", { className: "divide-y", children: [
1670
+ /* @__PURE__ */ jsx9(AddressPrint, { address: data.shipping_address, type: "shipping" }),
1671
+ !isSameAddress(data.shipping_address, data.billing_address) ? /* @__PURE__ */ jsx9(AddressPrint, { address: data.billing_address, type: "billing" }) : /* @__PURE__ */ jsxs10("div", { className: "grid grid-cols-2 items-center px-6 py-4", children: [
1672
+ /* @__PURE__ */ jsx9(
1673
+ Text7,
1674
+ {
1675
+ size: "small",
1676
+ leading: "compact",
1677
+ weight: "plus",
1678
+ className: "text-ui-fg-subtle",
1679
+ children: t("addresses.billingAddress.label")
1680
+ }
1681
+ ),
1682
+ /* @__PURE__ */ jsx9(Text7, { size: "small", leading: "compact", className: "text-ui-fg-muted", children: t("addresses.billingAddress.sameAsShipping") })
1683
+ ] })
1684
+ ] });
1685
+ };
1686
+ var CustomerInfo = Object.assign(
1687
+ {},
1688
+ {
1689
+ ID,
1690
+ Company,
1691
+ Contact,
1692
+ Addresses
1693
+ }
1694
+ );
1695
+ var getOrderCustomer = (obj) => {
1696
+ const { first_name: sFirstName, last_name: sLastName } = obj.shipping_address || {};
1697
+ const { first_name: bFirstName, last_name: bLastName } = obj.billing_address || {};
1698
+ const { first_name: cFirstName, last_name: cLastName } = obj.customer || {};
1699
+ const customerName = [cFirstName, cLastName].filter(Boolean).join(" ");
1700
+ const shippingName = [sFirstName, sLastName].filter(Boolean).join(" ");
1701
+ const billingName = [bFirstName, bLastName].filter(Boolean).join(" ");
1702
+ const name = customerName || shippingName || billingName;
1703
+ return name;
1704
+ };
1705
+
1706
+ // src/routes/orders/order-detail/components/order-customer-section/order-customer-section.tsx
1707
+ import { jsx as jsx10, jsxs as jsxs11 } from "react/jsx-runtime";
1708
+ var OrderCustomerSection = ({ order }) => {
1709
+ return /* @__PURE__ */ jsxs11(Container6, { className: "divide-y p-0", children: [
1710
+ /* @__PURE__ */ jsx10(Header, {}),
1711
+ /* @__PURE__ */ jsx10(CustomerInfo.ID, { data: order }),
1712
+ /* @__PURE__ */ jsx10(CustomerInfo.Contact, { data: order }),
1713
+ /* @__PURE__ */ jsx10(CustomerInfo.Company, { data: order }),
1714
+ /* @__PURE__ */ jsx10(CustomerInfo.Addresses, { data: order })
1715
+ ] });
1716
+ };
1717
+ var Header = () => {
1718
+ const { t } = useTranslation10();
1719
+ return /* @__PURE__ */ jsxs11("div", { className: "flex items-center justify-between px-6 py-4", children: [
1720
+ /* @__PURE__ */ jsx10(Heading6, { level: "h2", children: t("fields.customer") }),
1721
+ /* @__PURE__ */ jsx10(
1722
+ ActionMenu,
1723
+ {
1724
+ groups: [
1725
+ {
1726
+ actions: [
1727
+ {
1728
+ label: t("transferOwnership.label"),
1729
+ to: `transfer`,
1730
+ icon: /* @__PURE__ */ jsx10(ArrowPath2, {})
1731
+ }
1732
+ ]
1733
+ },
1734
+ {
1735
+ actions: [
1736
+ {
1737
+ label: t("addresses.shippingAddress.editLabel"),
1738
+ to: "shipping-address",
1739
+ icon: /* @__PURE__ */ jsx10(FlyingBox, {})
1740
+ },
1741
+ {
1742
+ label: t("addresses.billingAddress.editLabel"),
1743
+ to: "billing-address",
1744
+ icon: /* @__PURE__ */ jsx10(CurrencyDollar, {})
1745
+ }
1746
+ ]
1747
+ },
1748
+ {
1749
+ actions: [
1750
+ {
1751
+ label: t("email.editLabel"),
1752
+ to: `email`,
1753
+ icon: /* @__PURE__ */ jsx10(Envelope, {})
1754
+ }
1755
+ ]
1756
+ }
1757
+ ]
1758
+ }
1759
+ )
1760
+ ] });
1761
+ };
1762
+
1763
+ // src/routes/orders/order-detail/components/order-fulfillment-section/order-fulfillment-section.tsx
1764
+ import { Buildings, XCircle } from "@medusajs/icons";
1765
+ import {
1766
+ Button as Button6,
1767
+ Container as Container7,
1768
+ Copy as Copy3,
1769
+ Heading as Heading7,
1770
+ Label,
1771
+ Prompt,
1772
+ StatusBadge,
1773
+ Switch,
1774
+ Text as Text8,
1775
+ Tooltip as Tooltip2,
1776
+ toast as toast6,
1777
+ usePrompt as usePrompt2
1778
+ } from "@medusajs/ui";
1779
+ import { format } from "date-fns";
1780
+ import { useState as useState4 } from "react";
1781
+ import { useTranslation as useTranslation11 } from "react-i18next";
1782
+ import { Link as Link2, useNavigate as useNavigate5 } from "react-router-dom";
1783
+ import { Fragment as Fragment2, jsx as jsx11, jsxs as jsxs12 } from "react/jsx-runtime";
1784
+ var OrderFulfillmentSection = ({
1785
+ order
1786
+ }) => {
1787
+ const fulfillments = order.fulfillments || [];
1788
+ return /* @__PURE__ */ jsxs12("div", { className: "flex flex-col gap-y-3", children: [
1789
+ /* @__PURE__ */ jsx11(UnfulfilledItemBreakdown, { order }),
1790
+ fulfillments.map((f, index) => /* @__PURE__ */ jsx11(Fulfillment, { index, fulfillment: f, order }, f.id))
1791
+ ] });
1792
+ };
1793
+ var UnfulfilledItem = ({
1794
+ item,
1795
+ currencyCode
1796
+ }) => {
1797
+ return /* @__PURE__ */ jsxs12(
1798
+ "div",
1799
+ {
1800
+ className: "text-ui-fg-subtle grid grid-cols-2 items-start px-6 py-4",
1801
+ children: [
1802
+ /* @__PURE__ */ jsxs12("div", { className: "flex items-start gap-x-4", children: [
1803
+ /* @__PURE__ */ jsx11(Thumbnail, { src: item.thumbnail }),
1804
+ /* @__PURE__ */ jsxs12("div", { children: [
1805
+ /* @__PURE__ */ jsx11(
1806
+ Text8,
1807
+ {
1808
+ size: "small",
1809
+ leading: "compact",
1810
+ weight: "plus",
1811
+ className: "text-ui-fg-base",
1812
+ children: item.title
1813
+ }
1814
+ ),
1815
+ item.variant_sku && /* @__PURE__ */ jsxs12("div", { className: "flex items-center gap-x-1", children: [
1816
+ /* @__PURE__ */ jsx11(Text8, { size: "small", children: item.variant_sku }),
1817
+ /* @__PURE__ */ jsx11(Copy3, { content: item.variant_sku, className: "text-ui-fg-muted" })
1818
+ ] }),
1819
+ /* @__PURE__ */ jsx11(Text8, { size: "small", children: item.variant?.options?.map((o) => o.value).join(" \xB7 ") })
1820
+ ] })
1821
+ ] }),
1822
+ /* @__PURE__ */ jsxs12("div", { className: "grid grid-cols-3 items-center gap-x-4", children: [
1823
+ /* @__PURE__ */ jsx11("div", { className: "flex items-center justify-end", children: /* @__PURE__ */ jsx11(Text8, { size: "small", children: getLocaleAmount(item.unit_price, currencyCode) }) }),
1824
+ /* @__PURE__ */ jsx11("div", { className: "flex items-center justify-end", children: /* @__PURE__ */ jsxs12(Text8, { children: [
1825
+ /* @__PURE__ */ jsx11("span", { className: "tabular-nums", children: item.quantity - item.detail.fulfilled_quantity }),
1826
+ "x"
1827
+ ] }) }),
1828
+ /* @__PURE__ */ jsx11("div", { className: "flex items-center justify-end", children: /* @__PURE__ */ jsx11(Text8, { size: "small", children: getLocaleAmount(item.subtotal || 0, currencyCode) }) })
1829
+ ] })
1830
+ ]
1831
+ },
1832
+ item.id
1833
+ );
1834
+ };
1835
+ var UnfulfilledItemBreakdown = ({ order }) => {
1836
+ const unfulfilledItemsWithShipping = order.items.filter(
1837
+ (i) => i.requires_shipping && i.detail.fulfilled_quantity < i.quantity
1838
+ );
1839
+ const unfulfilledItemsWithoutShipping = order.items.filter(
1840
+ (i) => !i.requires_shipping && i.detail.fulfilled_quantity < i.quantity
1841
+ );
1842
+ return /* @__PURE__ */ jsxs12(Fragment2, { children: [
1843
+ !!unfulfilledItemsWithShipping.length && /* @__PURE__ */ jsx11(
1844
+ UnfulfilledItemDisplay,
1845
+ {
1846
+ order,
1847
+ unfulfilledItems: unfulfilledItemsWithShipping,
1848
+ requiresShipping: true
1849
+ }
1850
+ ),
1851
+ !!unfulfilledItemsWithoutShipping.length && /* @__PURE__ */ jsx11(
1852
+ UnfulfilledItemDisplay,
1853
+ {
1854
+ order,
1855
+ unfulfilledItems: unfulfilledItemsWithoutShipping,
1856
+ requiresShipping: false
1857
+ }
1858
+ )
1859
+ ] });
1860
+ };
1861
+ var UnfulfilledItemDisplay = ({
1862
+ order,
1863
+ unfulfilledItems,
1864
+ requiresShipping = false
1865
+ }) => {
1866
+ const { t } = useTranslation11();
1867
+ if (order.status === "canceled") {
1868
+ return;
1869
+ }
1870
+ return /* @__PURE__ */ jsxs12(Container7, { className: "divide-y p-0", children: [
1871
+ /* @__PURE__ */ jsxs12("div", { className: "flex items-center justify-between px-6 py-4", children: [
1872
+ /* @__PURE__ */ jsx11(Heading7, { level: "h2", children: t("orders.fulfillment.unfulfilledItems") }),
1873
+ /* @__PURE__ */ jsxs12("div", { className: "flex items-center gap-x-4", children: [
1874
+ requiresShipping && /* @__PURE__ */ jsx11(StatusBadge, { color: "red", className: "text-nowrap", children: t("orders.fulfillment.requiresShipping") }),
1875
+ /* @__PURE__ */ jsx11(StatusBadge, { color: "red", className: "text-nowrap", children: t("orders.fulfillment.awaitingFulfillmentBadge") }),
1876
+ /* @__PURE__ */ jsx11(
1877
+ ActionMenu,
1878
+ {
1879
+ groups: [
1880
+ {
1881
+ actions: [
1882
+ {
1883
+ label: t("orders.fulfillment.fulfillItems"),
1884
+ icon: /* @__PURE__ */ jsx11(Buildings, {}),
1885
+ to: `/orders/${order.id}/fulfillment?requires_shipping=${requiresShipping}`
1886
+ }
1887
+ ]
1888
+ }
1889
+ ]
1890
+ }
1891
+ )
1892
+ ] })
1893
+ ] }),
1894
+ /* @__PURE__ */ jsx11("div", { children: unfulfilledItems.map((item) => /* @__PURE__ */ jsx11(
1895
+ UnfulfilledItem,
1896
+ {
1897
+ item,
1898
+ currencyCode: order.currency_code
1899
+ },
1900
+ item.id
1901
+ )) })
1902
+ ] });
1903
+ };
1904
+ var Fulfillment = ({
1905
+ fulfillment,
1906
+ order,
1907
+ index
1908
+ }) => {
1909
+ const { t } = useTranslation11();
1910
+ const prompt = usePrompt2();
1911
+ const navigate = useNavigate5();
1912
+ const showLocation = !!fulfillment.location_id;
1913
+ const isPickUpFulfillment = fulfillment.shipping_option?.service_zone?.fulfillment_set?.type === "pickup" /* Pickup */;
1914
+ const { stock_location, isError, error } = useStockLocation(
1915
+ fulfillment.location_id,
1916
+ void 0,
1917
+ {
1918
+ enabled: showLocation
1919
+ }
1920
+ );
1921
+ let statusText = fulfillment.requires_shipping ? isPickUpFulfillment ? t("orders.fulfillment.status.awaitingPickup") : t("orders.fulfillment.status.awaitingShipping") : t("orders.fulfillment.status.awaitingDelivery");
1922
+ let statusColor = "blue";
1923
+ let statusTimestamp = fulfillment.created_at;
1924
+ if (fulfillment.canceled_at) {
1925
+ statusText = t("orders.fulfillment.status.canceled");
1926
+ statusColor = "red";
1927
+ statusTimestamp = fulfillment.canceled_at;
1928
+ } else if (fulfillment.delivered_at) {
1929
+ statusText = t("orders.fulfillment.status.delivered");
1930
+ statusColor = "green";
1931
+ statusTimestamp = fulfillment.delivered_at;
1932
+ } else if (fulfillment.shipped_at) {
1933
+ statusText = t("orders.fulfillment.status.shipped");
1934
+ statusColor = "green";
1935
+ statusTimestamp = fulfillment.shipped_at;
1936
+ }
1937
+ const { mutateAsync } = useCancelOrderFulfillment(order.id, fulfillment.id);
1938
+ const { mutateAsync: markAsDelivered } = useMarkOrderFulfillmentAsDelivered(
1939
+ order.id,
1940
+ fulfillment.id
1941
+ );
1942
+ const showShippingButton = !fulfillment.canceled_at && !fulfillment.shipped_at && !fulfillment.delivered_at && fulfillment.requires_shipping && !isPickUpFulfillment;
1943
+ const showDeliveryButton = !fulfillment.canceled_at && !fulfillment.delivered_at;
1944
+ const [sendNotification, setSendNotification] = useState4(
1945
+ !order.no_notification
1946
+ );
1947
+ const [showDeliveredPrompt, setShowDeliveredPrompt] = useState4(false);
1948
+ const handleMarkAsDelivered = () => {
1949
+ setShowDeliveredPrompt(true);
1950
+ };
1951
+ const handleCancelDeliveredPrompt = () => {
1952
+ setShowDeliveredPrompt(false);
1953
+ };
1954
+ const handleConfirmDelivered = async () => {
1955
+ setShowDeliveredPrompt(false);
1956
+ await markAsDelivered(
1957
+ { no_notification: !sendNotification },
1958
+ {
1959
+ onSuccess: () => {
1960
+ toast6.success(
1961
+ t(
1962
+ isPickUpFulfillment ? "orders.fulfillment.toast.fulfillmentPickedUp" : "orders.fulfillment.toast.fulfillmentDelivered"
1963
+ )
1964
+ );
1965
+ },
1966
+ onError: (e) => {
1967
+ toast6.error(e.message);
1968
+ }
1969
+ }
1970
+ );
1971
+ };
1972
+ const handleCancel = async () => {
1973
+ if (fulfillment.shipped_at) {
1974
+ toast6.warning(t("orders.fulfillment.toast.fulfillmentShipped"));
1975
+ return;
1976
+ }
1977
+ const res = await prompt({
1978
+ title: t("general.areYouSure"),
1979
+ description: t("orders.fulfillment.cancelWarning"),
1980
+ confirmText: t("actions.continue"),
1981
+ cancelText: t("actions.cancel")
1982
+ });
1983
+ if (res) {
1984
+ await mutateAsync(void 0, {
1985
+ onSuccess: () => {
1986
+ toast6.success(t("orders.fulfillment.toast.canceled"));
1987
+ },
1988
+ onError: (e) => {
1989
+ toast6.error(e.message);
1990
+ }
1991
+ });
1992
+ }
1993
+ };
1994
+ if (isError) {
1995
+ throw error;
1996
+ }
1997
+ const isValidUrl = (url) => {
1998
+ if (!url || url.length === 0 || url === "#") {
1999
+ return false;
2000
+ }
2001
+ try {
2002
+ const parsed = new URL(url);
2003
+ return parsed.protocol === "http:" || parsed.protocol === "https:";
2004
+ } catch {
2005
+ return false;
2006
+ }
2007
+ };
2008
+ return /* @__PURE__ */ jsxs12(Container7, { className: "divide-y p-0", children: [
2009
+ /* @__PURE__ */ jsxs12("div", { className: "flex items-center justify-between px-6 py-4", children: [
2010
+ /* @__PURE__ */ jsx11(Heading7, { level: "h2", children: t("orders.fulfillment.number", {
2011
+ number: index + 1
2012
+ }) }),
2013
+ /* @__PURE__ */ jsxs12("div", { className: "flex items-center gap-x-4", children: [
2014
+ /* @__PURE__ */ jsx11(
2015
+ Tooltip2,
2016
+ {
2017
+ content: format(
2018
+ new Date(statusTimestamp),
2019
+ "dd MMM, yyyy, HH:mm:ss"
2020
+ ),
2021
+ children: /* @__PURE__ */ jsx11(StatusBadge, { color: statusColor, className: "text-nowrap", children: statusText })
2022
+ }
2023
+ ),
2024
+ /* @__PURE__ */ jsx11(
2025
+ ActionMenu,
2026
+ {
2027
+ groups: [
2028
+ {
2029
+ actions: [
2030
+ {
2031
+ label: t("actions.cancel"),
2032
+ icon: /* @__PURE__ */ jsx11(XCircle, {}),
2033
+ onClick: handleCancel,
2034
+ disabled: !!fulfillment.canceled_at || !!fulfillment.shipped_at || !!fulfillment.delivered_at
2035
+ }
2036
+ ]
2037
+ }
2038
+ ]
2039
+ }
2040
+ )
2041
+ ] })
2042
+ ] }),
2043
+ /* @__PURE__ */ jsxs12("div", { className: "text-ui-fg-subtle grid grid-cols-2 items-start px-6 py-4", children: [
2044
+ /* @__PURE__ */ jsx11(Text8, { size: "small", leading: "compact", weight: "plus", children: t("orders.fulfillment.itemsLabel") }),
2045
+ /* @__PURE__ */ jsx11("ul", { children: fulfillment.items.map((f_item) => /* @__PURE__ */ jsx11("li", { children: /* @__PURE__ */ jsxs12(Text8, { size: "small", leading: "compact", children: [
2046
+ f_item.quantity,
2047
+ "x ",
2048
+ f_item.title
2049
+ ] }) }, f_item.line_item_id)) })
2050
+ ] }),
2051
+ showLocation && /* @__PURE__ */ jsxs12("div", { className: "text-ui-fg-subtle grid grid-cols-2 items-center px-6 py-4", children: [
2052
+ /* @__PURE__ */ jsx11(Text8, { size: "small", leading: "compact", weight: "plus", children: t("orders.fulfillment.shippingFromLabel") }),
2053
+ stock_location ? /* @__PURE__ */ jsx11(
2054
+ Link2,
2055
+ {
2056
+ to: `/settings/locations/${stock_location.id}`,
2057
+ className: "text-ui-fg-interactive hover:text-ui-fg-interactive-hover transition-fg",
2058
+ children: /* @__PURE__ */ jsx11(Text8, { size: "small", leading: "compact", children: stock_location.name })
2059
+ }
2060
+ ) : /* @__PURE__ */ jsx11(Skeleton, { className: "w-16" })
2061
+ ] }),
2062
+ /* @__PURE__ */ jsxs12("div", { className: "text-ui-fg-subtle grid grid-cols-2 items-center px-6 py-4", children: [
2063
+ /* @__PURE__ */ jsx11(Text8, { size: "small", leading: "compact", weight: "plus", children: t("fields.provider") }),
2064
+ /* @__PURE__ */ jsx11(Text8, { size: "small", leading: "compact", children: formatProvider(fulfillment.provider_id) })
2065
+ ] }),
2066
+ /* @__PURE__ */ jsxs12("div", { className: "text-ui-fg-subtle grid grid-cols-2 items-start px-6 py-4", children: [
2067
+ /* @__PURE__ */ jsx11(Text8, { size: "small", leading: "compact", weight: "plus", children: t("orders.fulfillment.trackingLabel") }),
2068
+ /* @__PURE__ */ jsx11("div", { children: fulfillment.labels && fulfillment.labels.length > 0 ? /* @__PURE__ */ jsx11("ul", { children: fulfillment.labels.map((tlink) => {
2069
+ const hasTrackingUrl = isValidUrl(tlink.tracking_url);
2070
+ const hasLabelUrl = isValidUrl(tlink.label_url);
2071
+ if (hasTrackingUrl || hasLabelUrl) {
2072
+ return /* @__PURE__ */ jsxs12("li", { children: [
2073
+ hasTrackingUrl && /* @__PURE__ */ jsx11(
2074
+ "a",
2075
+ {
2076
+ href: tlink.tracking_url,
2077
+ target: "_blank",
2078
+ rel: "noopener noreferrer",
2079
+ className: "text-ui-fg-interactive hover:text-ui-fg-interactive-hover transition-fg",
2080
+ children: /* @__PURE__ */ jsx11(Text8, { size: "small", leading: "compact", as: "span", children: tlink.tracking_number })
2081
+ }
2082
+ ),
2083
+ hasTrackingUrl && hasLabelUrl && " - ",
2084
+ hasLabelUrl && /* @__PURE__ */ jsx11(
2085
+ "a",
2086
+ {
2087
+ href: tlink.label_url,
2088
+ target: "_blank",
2089
+ rel: "noopener noreferrer",
2090
+ className: "text-ui-fg-interactive hover:text-ui-fg-interactive-hover transition-fg",
2091
+ children: /* @__PURE__ */ jsx11(Text8, { size: "small", leading: "compact", as: "span", children: "Label" })
2092
+ }
2093
+ )
2094
+ ] }, tlink.tracking_number);
2095
+ }
2096
+ return /* @__PURE__ */ jsx11("li", { children: /* @__PURE__ */ jsx11(Text8, { size: "small", leading: "compact", children: tlink.tracking_number }) }, tlink.tracking_number);
2097
+ }) }) : /* @__PURE__ */ jsx11(Text8, { size: "small", leading: "compact", children: "-" }) })
2098
+ ] }),
2099
+ (showShippingButton || showDeliveryButton) && /* @__PURE__ */ jsxs12("div", { className: "bg-ui-bg-subtle flex items-center justify-end gap-x-2 rounded-b-xl px-4 py-4", children: [
2100
+ showDeliveryButton && /* @__PURE__ */ jsx11(Button6, { onClick: handleMarkAsDelivered, variant: "secondary", children: t(
2101
+ isPickUpFulfillment ? "orders.fulfillment.markAsPickedUp" : "orders.fulfillment.markAsDelivered"
2102
+ ) }),
2103
+ showShippingButton && /* @__PURE__ */ jsx11(
2104
+ Button6,
2105
+ {
2106
+ onClick: () => navigate(`./${fulfillment.id}/create-shipment`),
2107
+ variant: "secondary",
2108
+ children: t("orders.fulfillment.markAsShipped")
2109
+ }
2110
+ )
2111
+ ] }),
2112
+ /* @__PURE__ */ jsx11(Prompt, { open: showDeliveredPrompt, variant: "confirmation", children: /* @__PURE__ */ jsxs12(Prompt.Content, { children: [
2113
+ /* @__PURE__ */ jsxs12(Prompt.Header, { children: [
2114
+ /* @__PURE__ */ jsx11(Prompt.Title, { children: t("general.areYouSure") }),
2115
+ /* @__PURE__ */ jsx11(Prompt.Description, { children: t("orders.fulfillment.markAsDeliveredWarning") })
2116
+ ] }),
2117
+ /* @__PURE__ */ jsxs12("div", { className: "border-ui-border-base mt-6 flex items-center justify-between border-y border-dotted p-6", children: [
2118
+ /* @__PURE__ */ jsx11(
2119
+ Label,
2120
+ {
2121
+ htmlFor: `send-notification-${fulfillment.id}`,
2122
+ className: "txt-compact-small text-ui-fg-subtle",
2123
+ children: t("orders.returns.sendNotification")
2124
+ }
2125
+ ),
2126
+ /* @__PURE__ */ jsx11(
2127
+ Switch,
2128
+ {
2129
+ id: `send-notification-${fulfillment.id}`,
2130
+ dir: "ltr",
2131
+ className: "rtl:rotate-180",
2132
+ checked: sendNotification,
2133
+ onCheckedChange: setSendNotification
2134
+ }
2135
+ )
2136
+ ] }),
2137
+ /* @__PURE__ */ jsxs12(Prompt.Footer, { children: [
2138
+ /* @__PURE__ */ jsx11(Prompt.Cancel, { onClick: handleCancelDeliveredPrompt, children: t("actions.cancel") }),
2139
+ /* @__PURE__ */ jsx11(Prompt.Action, { onClick: handleConfirmDelivered, children: t("actions.continue") })
2140
+ ] })
2141
+ ] }) })
2142
+ ] });
2143
+ };
2144
+
2145
+ // src/routes/orders/order-detail/components/order-general-section/order-general-section.tsx
2146
+ import { XCircle as XCircle2 } from "@medusajs/icons";
2147
+ import {
2148
+ Container as Container8,
2149
+ Copy as Copy4,
2150
+ Heading as Heading8,
2151
+ StatusBadge as StatusBadge2,
2152
+ Text as Text9,
2153
+ toast as toast7,
2154
+ usePrompt as usePrompt3
2155
+ } from "@medusajs/ui";
2156
+ import { useTranslation as useTranslation12 } from "react-i18next";
2157
+ import { jsx as jsx12, jsxs as jsxs13 } from "react/jsx-runtime";
2158
+ var OrderGeneralSection = ({ order }) => {
2159
+ const { t } = useTranslation12();
2160
+ const prompt = usePrompt3();
2161
+ const { getFullDate } = useDate();
2162
+ const { mutateAsync: cancelOrder } = useCancelOrder(order.id);
2163
+ const handleCancel = async () => {
2164
+ const res = await prompt({
2165
+ title: t("general.areYouSure"),
2166
+ description: t("orders.cancelWarning", {
2167
+ id: `#${order.display_id}`
2168
+ }),
2169
+ confirmText: t("actions.continue"),
2170
+ cancelText: t("actions.cancel")
2171
+ });
2172
+ if (!res) {
2173
+ return;
2174
+ }
2175
+ await cancelOrder(void 0, {
2176
+ onSuccess: () => {
2177
+ toast7.success(t("orders.orderCanceled"));
2178
+ },
2179
+ onError: (e) => {
2180
+ toast7.error(e.message);
2181
+ }
2182
+ });
2183
+ };
2184
+ return /* @__PURE__ */ jsxs13(Container8, { className: "flex items-center justify-between px-6 py-4", children: [
2185
+ /* @__PURE__ */ jsxs13("div", { children: [
2186
+ /* @__PURE__ */ jsxs13("div", { className: "flex items-center gap-x-1", children: [
2187
+ /* @__PURE__ */ jsxs13(Heading8, { children: [
2188
+ "#",
2189
+ order.display_id
2190
+ ] }),
2191
+ /* @__PURE__ */ jsx12(Copy4, { content: `#${order.display_id}`, className: "text-ui-fg-muted" })
2192
+ ] }),
2193
+ /* @__PURE__ */ jsx12(Text9, { size: "small", className: "text-ui-fg-subtle", children: t("orders.onDateFromSalesChannel", {
2194
+ date: getFullDate({ date: order.created_at, includeTime: true }),
2195
+ salesChannel: order.sales_channel?.name
2196
+ }) })
2197
+ ] }),
2198
+ /* @__PURE__ */ jsxs13("div", { className: "flex items-center gap-x-4", children: [
2199
+ /* @__PURE__ */ jsxs13("div", { className: "flex items-center gap-x-1.5", children: [
2200
+ /* @__PURE__ */ jsx12(OrderBadge, { order }),
2201
+ /* @__PURE__ */ jsx12(PaymentBadge, { order }),
2202
+ /* @__PURE__ */ jsx12(FulfillmentBadge, { order })
2203
+ ] }),
2204
+ /* @__PURE__ */ jsx12(
2205
+ ActionMenu,
2206
+ {
2207
+ groups: [
2208
+ {
2209
+ actions: [
2210
+ {
2211
+ label: t("actions.cancel"),
2212
+ onClick: handleCancel,
2213
+ disabled: !!order.canceled_at,
2214
+ icon: /* @__PURE__ */ jsx12(XCircle2, {})
2215
+ }
2216
+ ]
2217
+ }
2218
+ ]
2219
+ }
2220
+ )
2221
+ ] })
2222
+ ] });
2223
+ };
2224
+ var FulfillmentBadge = ({ order }) => {
2225
+ const { t } = useTranslation12();
2226
+ const { label, color } = getOrderFulfillmentStatus(
2227
+ t,
2228
+ order.fulfillment_status
2229
+ );
2230
+ return /* @__PURE__ */ jsx12(StatusBadge2, { color, className: "text-nowrap", children: label });
2231
+ };
2232
+ var PaymentBadge = ({ order }) => {
2233
+ const { t } = useTranslation12();
2234
+ const { label, color } = getOrderPaymentStatus(t, order.payment_status);
2235
+ return /* @__PURE__ */ jsx12(StatusBadge2, { color, className: "text-nowrap", children: label });
2236
+ };
2237
+ var OrderBadge = ({ order }) => {
2238
+ const { t } = useTranslation12();
2239
+ const orderStatus = getCanceledOrderStatus(t, order.status);
2240
+ if (!orderStatus) {
2241
+ return null;
2242
+ }
2243
+ return /* @__PURE__ */ jsx12(StatusBadge2, { color: orderStatus.color, className: "text-nowrap", children: orderStatus.label });
2244
+ };
2245
+
2246
+ // src/routes/orders/order-detail/components/order-payment-section/order-payment-section.tsx
2247
+ import { ArrowDownRightMini, DocumentText, XCircle as XCircle3 } from "@medusajs/icons";
2248
+ import {
2249
+ Badge,
2250
+ Button as Button7,
2251
+ Container as Container9,
2252
+ Heading as Heading9,
2253
+ StatusBadge as StatusBadge3,
2254
+ Text as Text10,
2255
+ toast as toast9,
2256
+ Tooltip as Tooltip4,
2257
+ usePrompt as usePrompt4
2258
+ } from "@medusajs/ui";
2259
+ import { format as format2 } from "date-fns";
2260
+ import { Trans, useTranslation as useTranslation14 } from "react-i18next";
2261
+
2262
+ // src/components/common/display-id/display-id.tsx
2263
+ import { useTranslation as useTranslation13 } from "react-i18next";
2264
+ import { useState as useState5 } from "react";
2265
+ import copy from "copy-to-clipboard";
2266
+ import { clx as clx2, toast as toast8, Tooltip as Tooltip3 } from "@medusajs/ui";
2267
+ import { jsx as jsx13, jsxs as jsxs14 } from "react/jsx-runtime";
2268
+ function DisplayId({ id, className }) {
2269
+ const { t } = useTranslation13();
2270
+ const [open, setOpen] = useState5(false);
2271
+ const onClick = () => {
2272
+ copy(id);
2273
+ toast8.success(t("actions.idCopiedToClipboard"));
2274
+ };
2275
+ return /* @__PURE__ */ jsx13(Tooltip3, { maxWidth: 260, content: id, open, onOpenChange: setOpen, children: /* @__PURE__ */ jsxs14("span", { onClick, className: clx2("cursor-pointer", className), children: [
2276
+ "#",
2277
+ id.slice(-7)
2278
+ ] }) });
2279
+ }
2280
+ var display_id_default = DisplayId;
2281
+
2282
+ // src/lib/payment.ts
2283
+ var getTotalCaptured = (paymentCollections) => paymentCollections.reduce((acc, paymentCollection) => {
2284
+ acc = acc + (paymentCollection.captured_amount - paymentCollection.refunded_amount);
2285
+ return acc;
2286
+ }, 0);
2287
+ var getTotalPending = (paymentCollections) => paymentCollections.filter((pc) => pc.status !== "canceled").reduce((acc, paymentCollection) => {
2288
+ acc += paymentCollection.amount - paymentCollection.captured_amount;
2289
+ return acc;
2290
+ }, 0);
2291
+
2292
+ // src/routes/orders/order-detail/components/order-payment-section/order-payment-section.tsx
2293
+ import { jsx as jsx14, jsxs as jsxs15 } from "react/jsx-runtime";
2294
+ var OrderPaymentSection = ({
2295
+ order,
2296
+ plugins
2297
+ }) => {
2298
+ const payments = getPaymentsFromOrder(order);
2299
+ const refunds = payments.map((payment) => payment?.refunds).flat(1).filter(Boolean);
2300
+ return /* @__PURE__ */ jsxs15(Container9, { className: "divide-y divide-dashed p-0", children: [
2301
+ /* @__PURE__ */ jsx14(Header2, { order }),
2302
+ /* @__PURE__ */ jsx14(
2303
+ PaymentBreakdown,
2304
+ {
2305
+ order,
2306
+ plugins,
2307
+ payments,
2308
+ refunds,
2309
+ currencyCode: order.currency_code
2310
+ }
2311
+ ),
2312
+ /* @__PURE__ */ jsx14(Total, { order })
2313
+ ] });
2314
+ };
2315
+ var Header2 = ({ order }) => {
2316
+ const { t } = useTranslation14();
2317
+ const { label, color } = getOrderPaymentStatus(t, order.payment_status);
2318
+ return /* @__PURE__ */ jsxs15("div", { className: "flex items-center justify-between px-6 py-4", children: [
2319
+ /* @__PURE__ */ jsx14(Heading9, { level: "h2", children: t("orders.payment.title") }),
2320
+ /* @__PURE__ */ jsx14(StatusBadge3, { color, className: "text-nowrap", children: label })
2321
+ ] });
2322
+ };
2323
+ var Refund = ({
2324
+ refund,
2325
+ currencyCode
2326
+ }) => {
2327
+ const { t } = useTranslation14();
2328
+ const RefundReasonBadge = refund?.refund_reason && /* @__PURE__ */ jsx14(
2329
+ Badge,
2330
+ {
2331
+ size: "2xsmall",
2332
+ className: "cursor-default select-none capitalize",
2333
+ rounded: "full",
2334
+ children: refund.refund_reason.label
2335
+ }
2336
+ );
2337
+ const RefundNoteIndicator = refund.note && /* @__PURE__ */ jsx14(Tooltip4, { content: refund.note, children: /* @__PURE__ */ jsx14(DocumentText, { className: "text-ui-tag-neutral-icon ml-1 inline" }) });
2338
+ return /* @__PURE__ */ jsxs15("div", { className: "bg-ui-bg-subtle text-ui-fg-subtle grid grid-cols-[1fr_1fr_1fr_20px] items-center gap-x-4 px-6 py-4", children: [
2339
+ /* @__PURE__ */ jsxs15("div", { className: "flex flex-row", children: [
2340
+ /* @__PURE__ */ jsx14("div", { className: "self-center pr-3", children: /* @__PURE__ */ jsx14(ArrowDownRightMini, { className: "text-ui-fg-muted" }) }),
2341
+ /* @__PURE__ */ jsxs15("div", { children: [
2342
+ /* @__PURE__ */ jsxs15(Text10, { size: "small", leading: "compact", weight: "plus", children: [
2343
+ t("orders.payment.refund"),
2344
+ " ",
2345
+ RefundNoteIndicator
2346
+ ] }),
2347
+ /* @__PURE__ */ jsx14(Text10, { size: "small", leading: "compact", children: format2(new Date(refund.created_at), "dd MMM, yyyy, HH:mm:ss") })
2348
+ ] })
2349
+ ] }),
2350
+ /* @__PURE__ */ jsx14("div", { className: "flex items-center justify-end", children: RefundReasonBadge }),
2351
+ /* @__PURE__ */ jsx14("div", { className: "flex items-center justify-end", children: /* @__PURE__ */ jsxs15(Text10, { size: "small", leading: "compact", children: [
2352
+ "- ",
2353
+ getLocaleAmount(refund.amount, currencyCode)
2354
+ ] }) })
2355
+ ] });
2356
+ };
2357
+ var Payment = ({
2358
+ order,
2359
+ payment,
2360
+ refunds,
2361
+ currencyCode
2362
+ }) => {
2363
+ const { t } = useTranslation14();
2364
+ const prompt = usePrompt4();
2365
+ const { mutateAsync } = useCapturePayment(order.id, payment.id);
2366
+ const handleCapture = async () => {
2367
+ const res = await prompt({
2368
+ title: t("orders.payment.capture"),
2369
+ description: t("orders.payment.capturePayment", {
2370
+ amount: formatCurrency(payment.amount, currencyCode)
2371
+ }),
2372
+ confirmText: t("actions.confirm"),
2373
+ cancelText: t("actions.cancel"),
2374
+ variant: "confirmation"
2375
+ });
2376
+ if (!res) {
2377
+ return;
2378
+ }
2379
+ await mutateAsync(
2380
+ { amount: payment.amount },
2381
+ {
2382
+ onSuccess: () => {
2383
+ toast9.success(
2384
+ t("orders.payment.capturePaymentSuccess", {
2385
+ amount: formatCurrency(payment.amount, currencyCode)
2386
+ })
2387
+ );
2388
+ },
2389
+ onError: (error) => {
2390
+ toast9.error(error.message);
2391
+ }
2392
+ }
2393
+ );
2394
+ };
2395
+ const getPaymentStatusAttributes = (payment2) => {
2396
+ if (payment2.canceled_at) {
2397
+ return ["Canceled", "red"];
2398
+ } else if (payment2.captured_at) {
2399
+ return ["Captured", "green"];
2400
+ } else {
2401
+ return ["Pending", "orange"];
2402
+ }
2403
+ };
2404
+ const [status, color] = getPaymentStatusAttributes(payment);
2405
+ const showCapture = payment.captured_at === null && payment.canceled_at === null;
2406
+ const totalRefunded = (payment.refunds ?? []).reduce(
2407
+ (acc, next) => next.amount + acc,
2408
+ 0
2409
+ );
2410
+ return /* @__PURE__ */ jsxs15("div", { className: "divide-y divide-dashed", children: [
2411
+ /* @__PURE__ */ jsxs15("div", { className: "text-ui-fg-subtle grid grid-cols-[1fr_1fr_1fr_20px] items-center gap-x-4 px-6 py-4 sm:grid-cols-[1fr_1fr_1fr_1fr_20px]", children: [
2412
+ /* @__PURE__ */ jsxs15("div", { className: "w-full min-w-[60px] overflow-hidden", children: [
2413
+ /* @__PURE__ */ jsx14(
2414
+ Text10,
2415
+ {
2416
+ size: "small",
2417
+ leading: "compact",
2418
+ weight: "plus",
2419
+ className: "truncate",
2420
+ children: /* @__PURE__ */ jsx14(display_id_default, { id: payment.id })
2421
+ }
2422
+ ),
2423
+ /* @__PURE__ */ jsx14(Text10, { size: "small", leading: "compact", children: format2(
2424
+ new Date(payment.created_at),
2425
+ "dd MMM, yyyy, HH:mm:ss"
2426
+ ) })
2427
+ ] }),
2428
+ /* @__PURE__ */ jsx14("div", { className: "hidden items-center justify-end sm:flex", children: /* @__PURE__ */ jsx14(Text10, { size: "small", leading: "compact", className: "capitalize", children: payment.provider_id }) }),
2429
+ /* @__PURE__ */ jsx14("div", { className: "flex items-center justify-end", children: /* @__PURE__ */ jsx14(StatusBadge3, { color, className: "text-nowrap", children: status }) }),
2430
+ /* @__PURE__ */ jsx14("div", { className: "flex items-center justify-end", children: /* @__PURE__ */ jsx14(Text10, { size: "small", leading: "compact", children: getLocaleAmount(payment.amount, payment.currency_code) }) }),
2431
+ /* @__PURE__ */ jsx14(
2432
+ ActionMenu,
2433
+ {
2434
+ groups: [
2435
+ {
2436
+ actions: [
2437
+ {
2438
+ label: t("orders.payment.refund"),
2439
+ icon: /* @__PURE__ */ jsx14(XCircle3, {}),
2440
+ to: `/orders/${order.id}/refund?paymentId=${payment.id}`,
2441
+ disabled: !payment.captured_at || !!payment.canceled_at || totalRefunded >= payment.amount
2442
+ }
2443
+ ]
2444
+ }
2445
+ ]
2446
+ }
2447
+ )
2448
+ ] }),
2449
+ showCapture && /* @__PURE__ */ jsxs15("div", { className: "bg-ui-bg-subtle flex items-center justify-between px-6 py-4", children: [
2450
+ /* @__PURE__ */ jsxs15("div", { className: "flex items-center gap-x-2", children: [
2451
+ /* @__PURE__ */ jsx14(ArrowDownRightMini, { className: "text-ui-fg-muted shrink-0" }),
2452
+ /* @__PURE__ */ jsx14(Text10, { size: "small", leading: "compact", children: /* @__PURE__ */ jsx14(
2453
+ Trans,
2454
+ {
2455
+ i18nKey: "orders.payment.isReadyToBeCaptured",
2456
+ components: [/* @__PURE__ */ jsx14(display_id_default, { id: payment.id }, payment.id)]
2457
+ }
2458
+ ) })
2459
+ ] }),
2460
+ /* @__PURE__ */ jsxs15(
2461
+ Button7,
2462
+ {
2463
+ className: "shrink-0",
2464
+ size: "small",
2465
+ variant: "secondary",
2466
+ onClick: handleCapture,
2467
+ children: [
2468
+ /* @__PURE__ */ jsx14("span", { className: "hidden sm:block", children: t("orders.payment.capture") }),
2469
+ /* @__PURE__ */ jsx14("span", { className: "sm:hidden", children: t("orders.payment.capture_short") })
2470
+ ]
2471
+ }
2472
+ )
2473
+ ] }),
2474
+ refunds.map((refund) => /* @__PURE__ */ jsx14(Refund, { refund, currencyCode }, refund.id))
2475
+ ] });
2476
+ };
2477
+ var CreditLine = ({
2478
+ creditLine,
2479
+ currencyCode,
2480
+ plugins
2481
+ }) => {
2482
+ const loyaltyPlugin = getLoyaltyPlugin(plugins);
2483
+ if (!loyaltyPlugin) {
2484
+ return null;
2485
+ }
2486
+ const prettyReference = creditLine.reference?.split("_").join(" ").split("-").join(" ");
2487
+ const prettyReferenceId = creditLine.reference_id ? /* @__PURE__ */ jsx14(display_id_default, { id: creditLine.reference_id }) : null;
2488
+ return /* @__PURE__ */ jsx14("div", { className: "divide-y divide-dashed", children: /* @__PURE__ */ jsxs15("div", { className: "text-ui-fg-subtle grid grid-cols-[1fr_1fr_20px] items-center gap-x-4 px-6 py-4 sm:grid-cols-[1fr_1fr_1fr_20px]", children: [
2489
+ /* @__PURE__ */ jsxs15("div", { className: "w-full min-w-[60px] overflow-hidden", children: [
2490
+ /* @__PURE__ */ jsx14(
2491
+ Text10,
2492
+ {
2493
+ size: "small",
2494
+ leading: "compact",
2495
+ weight: "plus",
2496
+ className: "truncate",
2497
+ children: loyaltyPlugin ? /* @__PURE__ */ jsx14(Text10, { size: "small", leading: "compact", weight: "plus", children: "Store credit refund" }) : /* @__PURE__ */ jsx14(display_id_default, { id: creditLine.id })
2498
+ }
2499
+ ),
2500
+ /* @__PURE__ */ jsx14(Text10, { size: "small", leading: "compact", children: format2(
2501
+ new Date(creditLine.created_at),
2502
+ "dd MMM, yyyy, HH:mm:ss"
2503
+ ) })
2504
+ ] }),
2505
+ /* @__PURE__ */ jsx14("div", { className: "hidden items-center justify-end sm:flex", children: /* @__PURE__ */ jsxs15(Text10, { size: "small", leading: "compact", className: "capitalize", children: [
2506
+ prettyReference,
2507
+ " (",
2508
+ prettyReferenceId,
2509
+ ")"
2510
+ ] }) }),
2511
+ /* @__PURE__ */ jsx14("div", { className: "flex items-center justify-end", children: /* @__PURE__ */ jsx14(Text10, { size: "small", leading: "compact", children: getLocaleAmount(creditLine.amount, currencyCode) }) })
2512
+ ] }) });
2513
+ };
2514
+ var PendingAuthorizationBanner = ({
2515
+ order,
2516
+ sessionId
2517
+ }) => {
2518
+ const { t } = useTranslation14();
2519
+ const { mutateAsync, isPending } = useAuthorizePaymentSession(
2520
+ order.id,
2521
+ sessionId
2522
+ );
2523
+ const handleCheckStatus = async () => {
2524
+ await mutateAsync(void 0, {
2525
+ onSuccess: ({ is_authorized }) => {
2526
+ if (is_authorized) {
2527
+ toast9.success(t("orders.payment.checkStatusSuccess"));
2528
+ } else {
2529
+ toast9.info(t("orders.payment.stillPending"));
2530
+ }
2531
+ },
2532
+ onError: (error) => {
2533
+ toast9.error(error.message);
2534
+ }
2535
+ });
2536
+ };
2537
+ return /* @__PURE__ */ jsxs15("div", { className: "bg-ui-bg-subtle flex items-center justify-between px-6 py-4", children: [
2538
+ /* @__PURE__ */ jsxs15("div", { className: "flex items-center gap-x-2", children: [
2539
+ /* @__PURE__ */ jsx14(ArrowDownRightMini, { className: "text-ui-fg-muted shrink-0" }),
2540
+ /* @__PURE__ */ jsx14(Text10, { size: "small", leading: "compact", children: t("orders.payment.pendingAuthorization") })
2541
+ ] }),
2542
+ /* @__PURE__ */ jsx14(
2543
+ Button7,
2544
+ {
2545
+ className: "shrink-0",
2546
+ size: "small",
2547
+ variant: "secondary",
2548
+ onClick: handleCheckStatus,
2549
+ disabled: isPending,
2550
+ children: t("orders.payment.checkStatus")
2551
+ }
2552
+ )
2553
+ ] });
2554
+ };
2555
+ var PaymentBreakdown = ({
2556
+ order,
2557
+ payments,
2558
+ refunds,
2559
+ currencyCode,
2560
+ plugins
2561
+ }) => {
2562
+ const pendingAuthSessions = (order.payment_collections ?? []).flatMap(
2563
+ (pc) => (pc.payment_sessions ?? []).filter((s) => s.status === "pending_authorization").map((s) => ({ session_id: s.id }))
2564
+ );
2565
+ const orderRefunds = refunds.filter((refund) => refund.payment_id === null);
2566
+ const creditLines = order.credit_lines ?? [];
2567
+ const creditLineRefunds = creditLines.filter(
2568
+ (creditLine) => creditLine.amount < 0
2569
+ );
2570
+ const entries = [...orderRefunds, ...payments, ...creditLineRefunds].sort((a, b) => {
2571
+ return new Date(a.created_at).getTime() - new Date(b.created_at).getTime();
2572
+ }).map((entry) => {
2573
+ let type = entry.id.startsWith("pay_") ? "payment" : "refund";
2574
+ if (entry.id.startsWith("ordcl_")) {
2575
+ type = "credit_line_refund";
2576
+ }
2577
+ return { event: entry, type };
2578
+ });
2579
+ return /* @__PURE__ */ jsxs15("div", { className: "flex flex-col divide-y divide-dashed", children: [
2580
+ pendingAuthSessions.map(({ session_id }) => /* @__PURE__ */ jsx14(
2581
+ PendingAuthorizationBanner,
2582
+ {
2583
+ order,
2584
+ sessionId: session_id
2585
+ },
2586
+ session_id
2587
+ )),
2588
+ entries.map(({ type, event }) => {
2589
+ switch (type) {
2590
+ case "payment":
2591
+ return /* @__PURE__ */ jsx14(
2592
+ Payment,
2593
+ {
2594
+ order,
2595
+ payment: event,
2596
+ refunds: refunds.filter(
2597
+ (refund) => refund.payment_id === event.id
2598
+ ),
2599
+ currencyCode
2600
+ },
2601
+ event.id
2602
+ );
2603
+ case "refund":
2604
+ return /* @__PURE__ */ jsx14(
2605
+ Refund,
2606
+ {
2607
+ refund: event,
2608
+ currencyCode
2609
+ },
2610
+ event.id
2611
+ );
2612
+ case "credit_line_refund":
2613
+ return /* @__PURE__ */ jsx14(
2614
+ CreditLine,
2615
+ {
2616
+ creditLine: event,
2617
+ currencyCode,
2618
+ plugins
2619
+ },
2620
+ event.id
2621
+ );
2622
+ }
2623
+ })
2624
+ ] });
2625
+ };
2626
+ var Total = ({ order }) => {
2627
+ const { t } = useTranslation14();
2628
+ const totalPending = getTotalPending(order.payment_collections);
2629
+ return /* @__PURE__ */ jsxs15("div", { className: "flex flex-col gap-y-4 px-6 py-4", children: [
2630
+ /* @__PURE__ */ jsxs15("div", { className: "flex items-center justify-between", children: [
2631
+ /* @__PURE__ */ jsx14(Text10, { size: "small", weight: "plus", leading: "compact", children: t("orders.payment.totalPaidByCustomer") }),
2632
+ /* @__PURE__ */ jsx14(Text10, { size: "small", weight: "plus", leading: "compact", children: getStylizedAmount(
2633
+ getTotalCaptured(order.payment_collections),
2634
+ order.currency_code
2635
+ ) })
2636
+ ] }),
2637
+ order.status !== "canceled" && totalPending > 0 && /* @__PURE__ */ jsxs15("div", { className: "flex items-center justify-between", children: [
2638
+ /* @__PURE__ */ jsx14(Text10, { size: "small", weight: "plus", leading: "compact", children: "Total pending" }),
2639
+ /* @__PURE__ */ jsx14(Text10, { size: "small", weight: "plus", leading: "compact", children: getStylizedAmount(totalPending, order.currency_code) })
2640
+ ] })
2641
+ ] });
2642
+ };
2643
+
2644
+ // src/routes/orders/order-detail/components/order-summary-section/order-summary-section.tsx
2645
+ import { useMemo as useMemo3, useState as useState8 } from "react";
2646
+ import { useTranslation as useTranslation18 } from "react-i18next";
2647
+ import { Link as Link3 } from "react-router-dom";
2648
+ import {
2649
+ ArrowDownRightMini as ArrowDownRightMini2,
2650
+ ArrowLongRight,
2651
+ ArrowPath as ArrowPath3,
2652
+ ArrowUturnLeft as ArrowUturnLeft2,
2653
+ DocumentText as DocumentText2,
2654
+ ExclamationCircle as ExclamationCircle2,
2655
+ PencilSquare,
2656
+ ReceiptPercent,
2657
+ TriangleDownMini
2658
+ } from "@medusajs/icons";
2659
+ import {
2660
+ Badge as Badge4,
2661
+ Button as Button9,
2662
+ clx as clx3,
2663
+ Container as Container10,
2664
+ Copy as Copy5,
2665
+ Heading as Heading10,
2666
+ StatusBadge as StatusBadge4,
2667
+ Text as Text12,
2668
+ toast as toast10,
2669
+ Tooltip as Tooltip7,
2670
+ usePrompt as usePrompt5
2671
+ } from "@medusajs/ui";
2672
+
2673
+ // src/lib/credit-line.ts
2674
+ var getTotalCreditLines = (creditLines) => creditLines.reduce((acc, creditLine) => {
2675
+ acc = acc + creditLine.amount;
2676
+ return acc;
2677
+ }, 0);
2678
+
2679
+ // src/routes/orders/order-detail/components/copy-payment-link/copy-payment-link.tsx
2680
+ import { CheckCircleSolid, SquareTwoStack } from "@medusajs/icons";
2681
+ import { Button as Button8, Tooltip as Tooltip5 } from "@medusajs/ui";
2682
+ import copy2 from "copy-to-clipboard";
2683
+ import React, { useState as useState6 } from "react";
2684
+ import { useTranslation as useTranslation15 } from "react-i18next";
2685
+
2686
+ // src/lib/storefront.ts
2687
+ var MEDUSA_STOREFRONT_URL = __STOREFRONT_URL__ ?? "http://localhost:8000";
2688
+
2689
+ // src/routes/orders/order-detail/components/copy-payment-link/copy-payment-link.tsx
2690
+ import { jsx as jsx15, jsxs as jsxs16 } from "react/jsx-runtime";
2691
+ var CopyPaymentLink = React.forwardRef(
2692
+ ({ paymentCollection, order }, ref) => {
2693
+ const [done, setDone] = useState6(false);
2694
+ const [open, setOpen] = useState6(false);
2695
+ const [text, setText] = useState6("CopyPaymentLink");
2696
+ const { t } = useTranslation15();
2697
+ const copyToClipboard = async (e) => {
2698
+ e.stopPropagation();
2699
+ setDone(true);
2700
+ copy2(
2701
+ `${MEDUSA_STOREFRONT_URL}/payment-collection/${paymentCollection.id}`
2702
+ );
2703
+ setTimeout(() => {
2704
+ setDone(false);
2705
+ }, 2e3);
2706
+ };
2707
+ React.useEffect(() => {
2708
+ if (done) {
2709
+ setText(t("actions.copied"));
2710
+ return;
2711
+ }
2712
+ setTimeout(() => {
2713
+ setText(t("actions.copy"));
2714
+ }, 500);
2715
+ }, [done]);
2716
+ return /* @__PURE__ */ jsx15(Tooltip5, { content: text, open: done || open, onOpenChange: setOpen, children: /* @__PURE__ */ jsxs16(
2717
+ Button8,
2718
+ {
2719
+ ref,
2720
+ variant: "secondary",
2721
+ size: "small",
2722
+ "aria-label": "CopyPaymentLink code snippet",
2723
+ onClick: copyToClipboard,
2724
+ children: [
2725
+ done ? /* @__PURE__ */ jsx15(CheckCircleSolid, { className: "inline" }) : /* @__PURE__ */ jsx15(SquareTwoStack, { className: "inline" }),
2726
+ t("orders.payment.paymentLink", {
2727
+ amount: getStylizedAmount(
2728
+ paymentCollection.amount,
2729
+ order?.currency_code
2730
+ )
2731
+ })
2732
+ ]
2733
+ }
2734
+ ) });
2735
+ }
2736
+ );
2737
+ CopyPaymentLink.displayName = "CopyPaymentLink";
2738
+
2739
+ // src/routes/orders/order-detail/components/order-summary-section/return-info-popover.tsx
2740
+ import { InformationCircleSolid } from "@medusajs/icons";
2741
+ import { Badge as Badge2, Popover as Popover3, Text as Text11 } from "@medusajs/ui";
2742
+ import { useState as useState7 } from "react";
2743
+ import { useTranslation as useTranslation16 } from "react-i18next";
2744
+ import { jsx as jsx16, jsxs as jsxs17 } from "react/jsx-runtime";
2745
+ function ReturnInfoPopover({ orderReturn }) {
2746
+ const { t } = useTranslation16();
2747
+ const [open, setOpen] = useState7(false);
2748
+ const { getFullDate } = useDate();
2749
+ const handleMouseEnter = () => {
2750
+ setOpen(true);
2751
+ };
2752
+ const handleMouseLeave = () => {
2753
+ setOpen(false);
2754
+ };
2755
+ let returnType = "Return";
2756
+ let returnTypeId = orderReturn.id;
2757
+ if (orderReturn.claim_id) {
2758
+ returnType = "Claim";
2759
+ returnTypeId = orderReturn.claim_id;
2760
+ }
2761
+ if (orderReturn.exchange_id) {
2762
+ returnType = "Exchange";
2763
+ returnTypeId = orderReturn.exchange_id;
2764
+ }
2765
+ if (typeof orderReturn !== "object") {
2766
+ return;
2767
+ }
2768
+ return /* @__PURE__ */ jsxs17(Popover3, { open, children: [
2769
+ /* @__PURE__ */ jsx16(
2770
+ Popover3.Trigger,
2771
+ {
2772
+ onMouseEnter: handleMouseEnter,
2773
+ onMouseLeave: handleMouseLeave,
2774
+ autoFocus: false,
2775
+ className: "align-sub focus-visible:outline-none",
2776
+ children: /* @__PURE__ */ jsx16(InformationCircleSolid, {})
2777
+ }
2778
+ ),
2779
+ /* @__PURE__ */ jsx16(
2780
+ Popover3.Content,
2781
+ {
2782
+ align: "center",
2783
+ side: "top",
2784
+ className: "bg-ui-bg-component p-2 focus-visible:outline-none",
2785
+ children: /* @__PURE__ */ jsxs17("div", { className: "", children: [
2786
+ /* @__PURE__ */ jsxs17(Badge2, { size: "2xsmall", className: "mb-2", rounded: "full", children: [
2787
+ returnType,
2788
+ ": #",
2789
+ returnTypeId.slice(-7)
2790
+ ] }),
2791
+ /* @__PURE__ */ jsxs17(Text11, { size: "xsmall", children: [
2792
+ /* @__PURE__ */ jsx16("span", { className: "text-ui-fg-subtle", children: t(`orders.returns.returnRequested`) }),
2793
+ " \xB7 ",
2794
+ getFullDate({ date: orderReturn.requested_at, includeTime: true })
2795
+ ] }),
2796
+ /* @__PURE__ */ jsxs17(Text11, { size: "xsmall", children: [
2797
+ /* @__PURE__ */ jsx16("span", { className: "text-ui-fg-subtle", children: t(`orders.returns.itemReceived`) }),
2798
+ " \xB7 ",
2799
+ orderReturn.received_at ? getFullDate({
2800
+ date: orderReturn.received_at,
2801
+ includeTime: true
2802
+ }) : "-"
2803
+ ] })
2804
+ ] })
2805
+ }
2806
+ )
2807
+ ] });
2808
+ }
2809
+ var return_info_popover_default = ReturnInfoPopover;
2810
+
2811
+ // src/routes/orders/order-detail/components/order-summary-section/shipping-info-popover.tsx
2812
+ import { InformationCircleSolid as InformationCircleSolid2 } from "@medusajs/icons";
2813
+ import { Badge as Badge3, Tooltip as Tooltip6 } from "@medusajs/ui";
2814
+ import { useTranslation as useTranslation17 } from "react-i18next";
2815
+ import { jsx as jsx17, jsxs as jsxs18 } from "react/jsx-runtime";
2816
+ function ShippingInfoPopover({ shippingMethod }) {
2817
+ const { t } = useTranslation17();
2818
+ const shippingDetail = shippingMethod?.detail;
2819
+ if (!shippingDetail) {
2820
+ return;
2821
+ }
2822
+ let rmaType = t("orders.return");
2823
+ let rmaId = shippingDetail.return_id;
2824
+ if (shippingDetail.claim_id) {
2825
+ rmaType = t("orders.claim");
2826
+ rmaId = shippingDetail.claim_id;
2827
+ }
2828
+ if (shippingDetail.exchange_id) {
2829
+ rmaType = t("orders.exchange");
2830
+ rmaId = shippingDetail.exchange_id;
2831
+ }
2832
+ if (!rmaId) {
2833
+ return;
2834
+ }
2835
+ return /* @__PURE__ */ jsx17(
2836
+ Tooltip6,
2837
+ {
2838
+ content: /* @__PURE__ */ jsxs18(Badge3, { size: "2xsmall", rounded: "full", children: [
2839
+ rmaType,
2840
+ ": #",
2841
+ rmaId.slice(-7)
2842
+ ] }),
2843
+ children: /* @__PURE__ */ jsx17(InformationCircleSolid2, { className: "text-ui-fg-muted ml-1 inline-block" })
2844
+ }
2845
+ );
2846
+ }
2847
+ var shipping_info_popover_default = ShippingInfoPopover;
2848
+
2849
+ // src/routes/orders/order-detail/components/order-summary-section/order-summary-section.tsx
2850
+ import { Fragment as Fragment3, jsx as jsx18, jsxs as jsxs19 } from "react/jsx-runtime";
2851
+ var OrderSummarySection = ({
2852
+ order,
2853
+ plugins
2854
+ }) => {
2855
+ const { t } = useTranslation18();
2856
+ const prompt = usePrompt5();
2857
+ const { reservations } = useReservationItems(
2858
+ {
2859
+ line_item_id: order?.items?.map((i) => i.id),
2860
+ limit: getReservationsLimitCount(order)
2861
+ },
2862
+ { enabled: Array.isArray(order?.items) }
2863
+ );
2864
+ const { order: orderPreview } = useOrderPreview(order.id);
2865
+ const { returns = [] } = useReturns({
2866
+ status: "requested",
2867
+ order_id: order.id,
2868
+ fields: "+received_at"
2869
+ });
2870
+ const receivableReturns = useMemo3(
2871
+ () => returns.filter((r) => !r.canceled_at),
2872
+ [returns]
2873
+ );
2874
+ const showReturns = !!receivableReturns.length;
2875
+ const showAllocateButton = useMemo3(() => {
2876
+ if (!reservations) {
2877
+ return false;
2878
+ }
2879
+ const reservationsMap = new Map(
2880
+ reservations.map((r) => [r.line_item_id, r.id])
2881
+ );
2882
+ for (const item of order.items) {
2883
+ if (item.variant?.manage_inventory) {
2884
+ if (item.quantity - item.detail.fulfilled_quantity > 0) {
2885
+ if (!reservationsMap.has(item.id)) {
2886
+ return true;
2887
+ }
2888
+ }
2889
+ }
2890
+ }
2891
+ return false;
2892
+ }, [order.items, reservations]);
2893
+ const unpaidPaymentCollection = order.payment_collections.find(
2894
+ (pc) => pc.status === "not_paid"
2895
+ );
2896
+ const { mutateAsync: markAsPaid } = useMarkPaymentCollectionAsPaid(
2897
+ order.id,
2898
+ unpaidPaymentCollection?.id
2899
+ );
2900
+ const pendingDifference = order.summary?.pending_difference || 0;
2901
+ const isAmountSignificant = !isAmountLessThenRoundingError(
2902
+ pendingDifference,
2903
+ order.currency_code
2904
+ );
2905
+ const showPayment = unpaidPaymentCollection && pendingDifference > 0 && isAmountSignificant;
2906
+ const showRefund = pendingDifference < 0 && isAmountSignificant;
2907
+ const handleMarkAsPaid = async (paymentCollection) => {
2908
+ const res = await prompt({
2909
+ title: t("orders.payment.markAsPaid"),
2910
+ description: t("orders.payment.markAsPaidPayment", {
2911
+ amount: formatCurrency(
2912
+ paymentCollection.amount,
2913
+ order.currency_code
2914
+ )
2915
+ }),
2916
+ confirmText: t("actions.confirm"),
2917
+ cancelText: t("actions.cancel"),
2918
+ variant: "confirmation"
2919
+ });
2920
+ if (!res) {
2921
+ return;
2922
+ }
2923
+ await markAsPaid(
2924
+ { order_id: order.id },
2925
+ {
2926
+ onSuccess: () => {
2927
+ toast10.success(
2928
+ t("orders.payment.markAsPaidPaymentSuccess", {
2929
+ amount: formatCurrency(
2930
+ paymentCollection.amount,
2931
+ order.currency_code
2932
+ )
2933
+ })
2934
+ );
2935
+ },
2936
+ onError: (error) => {
2937
+ toast10.error(error.message);
2938
+ }
2939
+ }
2940
+ );
2941
+ };
2942
+ return /* @__PURE__ */ jsxs19(Container10, { className: "divide-y divide-dashed p-0", children: [
2943
+ /* @__PURE__ */ jsx18(Header3, { order, orderPreview }),
2944
+ /* @__PURE__ */ jsx18(ItemBreakdown, { order, reservations }),
2945
+ /* @__PURE__ */ jsx18(CostBreakdown, { order }),
2946
+ /* @__PURE__ */ jsx18(DiscountAndTotalBreakdown, { order, plugins }),
2947
+ /* @__PURE__ */ jsx18(Total2, { order }),
2948
+ (showAllocateButton || showReturns || showPayment || showRefund) && /* @__PURE__ */ jsxs19("div", { className: "bg-ui-bg-subtle flex items-center justify-end gap-x-2 rounded-b-xl px-4 py-4", children: [
2949
+ showReturns && (receivableReturns.length === 1 ? /* @__PURE__ */ jsx18(Button9, { asChild: true, variant: "secondary", size: "small", children: /* @__PURE__ */ jsx18(
2950
+ Link3,
2951
+ {
2952
+ to: `/orders/${order.id}/returns/${receivableReturns[0].id}/receive`,
2953
+ children: t("orders.returns.receive.action")
2954
+ }
2955
+ ) }) : /* @__PURE__ */ jsx18(
2956
+ ActionMenu,
2957
+ {
2958
+ groups: [
2959
+ {
2960
+ actions: receivableReturns.map((r) => {
2961
+ let id = r.id;
2962
+ let returnType = "Return";
2963
+ if (r.exchange_id) {
2964
+ id = r.exchange_id;
2965
+ returnType = "Exchange";
2966
+ }
2967
+ if (r.claim_id) {
2968
+ id = r.claim_id;
2969
+ returnType = "Claim";
2970
+ }
2971
+ return {
2972
+ label: t("orders.returns.receive.receiveItems", {
2973
+ id: `#${id.slice(-7)}`,
2974
+ returnType
2975
+ }),
2976
+ icon: /* @__PURE__ */ jsx18(ArrowLongRight, {}),
2977
+ to: `/orders/${order.id}/returns/${r.id}/receive`
2978
+ };
2979
+ })
2980
+ }
2981
+ ],
2982
+ children: /* @__PURE__ */ jsx18(Button9, { variant: "secondary", size: "small", children: t("orders.returns.receive.action") })
2983
+ }
2984
+ )),
2985
+ showAllocateButton && /* @__PURE__ */ jsx18(Button9, { asChild: true, variant: "secondary", size: "small", children: /* @__PURE__ */ jsx18(Link3, { to: "allocate-items", children: t("orders.allocateItems.action") }) }),
2986
+ showPayment && /* @__PURE__ */ jsx18(
2987
+ CopyPaymentLink,
2988
+ {
2989
+ paymentCollection: unpaidPaymentCollection,
2990
+ order
2991
+ }
2992
+ ),
2993
+ showPayment && /* @__PURE__ */ jsx18(
2994
+ Button9,
2995
+ {
2996
+ size: "small",
2997
+ variant: "secondary",
2998
+ onClick: () => handleMarkAsPaid(unpaidPaymentCollection),
2999
+ children: t("orders.payment.markAsPaid")
3000
+ }
3001
+ ),
3002
+ showRefund && /* @__PURE__ */ jsx18(Button9, { size: "small", variant: "secondary", asChild: true, children: /* @__PURE__ */ jsx18(Link3, { to: `/orders/${order.id}/refund`, children: t("orders.payment.refundAmount", {
3003
+ amount: getStylizedAmount(
3004
+ pendingDifference * -1,
3005
+ order?.currency_code
3006
+ )
3007
+ }) }) })
3008
+ ] })
3009
+ ] });
3010
+ };
3011
+ var Header3 = ({
3012
+ order,
3013
+ orderPreview
3014
+ }) => {
3015
+ const { t } = useTranslation18();
3016
+ const shouldDisableReturn = order.items.every(
3017
+ (i) => !(getReturnableQuantity(i) > 0)
3018
+ );
3019
+ const isOrderEditActive = orderPreview?.order_change?.change_type === "edit";
3020
+ const isOrderEditPending = orderPreview?.order_change?.change_type === "edit" && orderPreview?.order_change?.status === "pending";
3021
+ return /* @__PURE__ */ jsxs19("div", { className: "flex items-center justify-between px-6 py-4", children: [
3022
+ /* @__PURE__ */ jsx18(Heading10, { level: "h2", children: t("fields.summary") }),
3023
+ /* @__PURE__ */ jsx18(
3024
+ ActionMenu,
3025
+ {
3026
+ groups: [
3027
+ {
3028
+ actions: [
3029
+ {
3030
+ label: t(
3031
+ isOrderEditPending ? "orders.summary.editOrderContinue" : "orders.summary.editOrder"
3032
+ ),
3033
+ to: `/orders/${order.id}/edits`,
3034
+ icon: /* @__PURE__ */ jsx18(PencilSquare, {}),
3035
+ disabled: order.status === "canceled" || orderPreview?.order_change && orderPreview?.order_change?.change_type !== "edit" || orderPreview?.order_change?.change_type === "edit" && orderPreview?.order_change?.status === "requested"
3036
+ }
3037
+ ]
3038
+ },
3039
+ {
3040
+ actions: [
3041
+ {
3042
+ label: t("orders.returns.create"),
3043
+ to: `/orders/${order.id}/returns`,
3044
+ icon: /* @__PURE__ */ jsx18(ArrowUturnLeft2, {}),
3045
+ disabled: shouldDisableReturn || isOrderEditActive || !!orderPreview?.order_change?.exchange_id || !!orderPreview?.order_change?.claim_id
3046
+ },
3047
+ {
3048
+ label: orderPreview?.order_change?.id && orderPreview?.order_change?.exchange_id ? t("orders.exchanges.manage") : t("orders.exchanges.create"),
3049
+ to: `/orders/${order.id}/exchanges`,
3050
+ icon: /* @__PURE__ */ jsx18(ArrowPath3, {}),
3051
+ disabled: shouldDisableReturn || isOrderEditActive || !!orderPreview?.order_change?.return_id && !orderPreview?.order_change?.exchange_id || !!orderPreview?.order_change?.claim_id
3052
+ },
3053
+ {
3054
+ label: orderPreview?.order_change?.id && orderPreview?.order_change?.claim_id ? t("orders.claims.manage") : t("orders.claims.create"),
3055
+ to: `/orders/${order.id}/claims`,
3056
+ icon: /* @__PURE__ */ jsx18(ExclamationCircle2, {}),
3057
+ disabled: shouldDisableReturn || isOrderEditActive || !!orderPreview?.order_change?.return_id && !orderPreview?.order_change?.claim_id || !!orderPreview?.order_change?.exchange_id
3058
+ }
3059
+ ]
3060
+ }
3061
+ ]
3062
+ }
3063
+ )
3064
+ ] });
3065
+ };
3066
+ var Item = ({
3067
+ item,
3068
+ currencyCode,
3069
+ reservation,
3070
+ returns,
3071
+ claims,
3072
+ exchanges
3073
+ }) => {
3074
+ const { t } = useTranslation18();
3075
+ const isInventoryManaged = item.variant?.manage_inventory;
3076
+ const hasInventoryKit = isInventoryManaged && ((item.variant?.inventory_items?.length || 0) > 1 || item.variant?.inventory_items?.some(
3077
+ (i) => (i.required_quantity ?? 0) > 1
3078
+ ));
3079
+ const hasUnfulfilledItems = item.quantity - item.detail.fulfilled_quantity > 0;
3080
+ const appliedPromoCodes = (item.adjustments || []).map((a) => a.code);
3081
+ return /* @__PURE__ */ jsxs19(Fragment3, { children: [
3082
+ /* @__PURE__ */ jsxs19(
3083
+ "div",
3084
+ {
3085
+ className: "text-ui-fg-subtle grid grid-cols-2 items-center gap-x-4 px-6 py-4",
3086
+ children: [
3087
+ /* @__PURE__ */ jsxs19("div", { className: " flex justify-between gap-x-2 ", children: [
3088
+ /* @__PURE__ */ jsxs19("div", { className: " group flex items-start gap-x-4", children: [
3089
+ /* @__PURE__ */ jsx18(Thumbnail, { src: item.thumbnail }),
3090
+ /* @__PURE__ */ jsxs19("div", { children: [
3091
+ /* @__PURE__ */ jsx18(Text12, { size: "small", leading: "compact", className: "text-ui-fg-base", children: item.title }),
3092
+ item.variant_sku && /* @__PURE__ */ jsxs19("div", { className: "flex items-center gap-x-1", children: [
3093
+ /* @__PURE__ */ jsx18(Text12, { size: "small", children: item.variant_sku }),
3094
+ /* @__PURE__ */ jsx18(
3095
+ Copy5,
3096
+ {
3097
+ content: item.variant_sku,
3098
+ className: "text-ui-fg-muted hidden group-hover:block"
3099
+ }
3100
+ )
3101
+ ] }),
3102
+ /* @__PURE__ */ jsx18(Text12, { size: "small", children: item.variant?.options?.map((o) => o.value).join(" \xB7 ") })
3103
+ ] })
3104
+ ] }),
3105
+ appliedPromoCodes.length > 0 && /* @__PURE__ */ jsx18(
3106
+ Tooltip7,
3107
+ {
3108
+ content: /* @__PURE__ */ jsx18("span", { className: "text-pretty", children: appliedPromoCodes.map((code) => /* @__PURE__ */ jsx18("div", { children: code }, code)) }),
3109
+ children: /* @__PURE__ */ jsx18(ReceiptPercent, { className: "text-ui-fg-subtle flex-shrink self-center " })
3110
+ }
3111
+ )
3112
+ ] }),
3113
+ /* @__PURE__ */ jsxs19("div", { className: "grid grid-cols-3 items-center gap-x-4", children: [
3114
+ /* @__PURE__ */ jsx18("div", { className: "flex items-center justify-end gap-x-4", children: /* @__PURE__ */ jsx18(Text12, { size: "small", children: getLocaleAmount(item.unit_price, currencyCode) }) }),
3115
+ /* @__PURE__ */ jsxs19("div", { className: "flex items-center gap-x-2", children: [
3116
+ /* @__PURE__ */ jsx18("div", { className: "w-fit min-w-[27px]", children: /* @__PURE__ */ jsxs19(Text12, { size: "small", children: [
3117
+ /* @__PURE__ */ jsx18("span", { className: "tabular-nums", children: item.quantity }),
3118
+ "x"
3119
+ ] }) }),
3120
+ /* @__PURE__ */ jsx18("div", { className: "overflow-visible", children: isInventoryManaged && hasUnfulfilledItems && /* @__PURE__ */ jsx18(
3121
+ StatusBadge4,
3122
+ {
3123
+ color: reservation ? "green" : "orange",
3124
+ className: "text-nowrap",
3125
+ children: reservation ? t("orders.reservations.allocatedLabel") : t("orders.reservations.notAllocatedLabel")
3126
+ }
3127
+ ) })
3128
+ ] }),
3129
+ /* @__PURE__ */ jsx18("div", { className: "flex items-center justify-end", children: /* @__PURE__ */ jsx18(Text12, { size: "small", className: "pt-[1px]", children: getLocaleAmount(item.subtotal || 0, currencyCode) }) })
3130
+ ] })
3131
+ ]
3132
+ },
3133
+ item.id
3134
+ ),
3135
+ hasInventoryKit && /* @__PURE__ */ jsx18(InventoryKitBreakdown, { item }),
3136
+ returns.map((r) => /* @__PURE__ */ jsx18(ReturnBreakdown, { orderReturn: r, itemId: item.id }, r.id)),
3137
+ claims.map((claim) => /* @__PURE__ */ jsx18(ClaimBreakdown, { claim, itemId: item.id }, claim.id)),
3138
+ exchanges.map((exchange) => /* @__PURE__ */ jsx18(
3139
+ ExchangeBreakdown,
3140
+ {
3141
+ exchange,
3142
+ itemId: item.id
3143
+ },
3144
+ exchange.id
3145
+ ))
3146
+ ] });
3147
+ };
3148
+ var ItemBreakdown = ({
3149
+ order,
3150
+ reservations
3151
+ }) => {
3152
+ const { claims = [] } = useClaims({
3153
+ order_id: order.id,
3154
+ fields: "*additional_items"
3155
+ });
3156
+ const { exchanges = [] } = useExchanges({
3157
+ order_id: order.id,
3158
+ fields: "*additional_items"
3159
+ });
3160
+ const { returns = [] } = useReturns({
3161
+ order_id: order.id,
3162
+ fields: "*items,*items.reason"
3163
+ });
3164
+ const reservationsMap = useMemo3(
3165
+ () => new Map((reservations || []).map((r) => [r.line_item_id, r])),
3166
+ [reservations]
3167
+ );
3168
+ return /* @__PURE__ */ jsx18("div", { children: order.items?.map((item) => {
3169
+ const reservation = reservationsMap.get(item.id);
3170
+ return /* @__PURE__ */ jsx18(
3171
+ Item,
3172
+ {
3173
+ item,
3174
+ currencyCode: order.currency_code,
3175
+ reservation,
3176
+ returns,
3177
+ exchanges,
3178
+ claims
3179
+ },
3180
+ item.id
3181
+ );
3182
+ }) });
3183
+ };
3184
+ var Cost = ({
3185
+ label,
3186
+ value,
3187
+ secondaryValue,
3188
+ tooltip
3189
+ }) => /* @__PURE__ */ jsxs19("div", { className: "grid grid-cols-3 items-center", children: [
3190
+ /* @__PURE__ */ jsxs19(Text12, { size: "small", leading: "compact", children: [
3191
+ label,
3192
+ " ",
3193
+ tooltip
3194
+ ] }),
3195
+ /* @__PURE__ */ jsx18("div", { className: "text-right", children: /* @__PURE__ */ jsx18(Text12, { size: "small", leading: "compact", children: secondaryValue }) }),
3196
+ /* @__PURE__ */ jsx18("div", { className: "text-right", children: /* @__PURE__ */ jsx18(Text12, { size: "small", leading: "compact", children: value }) })
3197
+ ] });
3198
+ var CostBreakdown = ({
3199
+ order
3200
+ }) => {
3201
+ const { t } = useTranslation18();
3202
+ const [isTaxOpen, setIsTaxOpen] = useState8(false);
3203
+ const [isShippingOpen, setIsShippingOpen] = useState8(false);
3204
+ const taxCodes = useMemo3(() => {
3205
+ const taxCodeMap = {};
3206
+ order.items.forEach((item) => {
3207
+ item.tax_lines?.forEach((line) => {
3208
+ const currTotal = line.subtotal || 0;
3209
+ const prevTotal = taxCodeMap[line.code]?.total || 0;
3210
+ taxCodeMap[line.code] = {
3211
+ total: prevTotal + currTotal,
3212
+ rate: line.rate
3213
+ };
3214
+ });
3215
+ });
3216
+ order.shipping_methods.forEach((sm) => {
3217
+ sm.tax_lines?.forEach((line) => {
3218
+ const currTotal = line.subtotal || 0;
3219
+ const prevTotal = taxCodeMap[line.code]?.total || 0;
3220
+ taxCodeMap[line.code] = {
3221
+ total: prevTotal + currTotal,
3222
+ rate: line.rate
3223
+ };
3224
+ });
3225
+ });
3226
+ return taxCodeMap;
3227
+ }, [order]);
3228
+ const hasTaxes = !!Object.keys(taxCodes).length;
3229
+ return /* @__PURE__ */ jsxs19("div", { className: "text-ui-fg-subtle flex flex-col gap-y-2 px-6 py-4", children: [
3230
+ /* @__PURE__ */ jsx18(
3231
+ Cost,
3232
+ {
3233
+ label: t("orders.summary.itemSubtotal"),
3234
+ value: getLocaleAmount(order.item_subtotal, order.currency_code)
3235
+ }
3236
+ ),
3237
+ /* @__PURE__ */ jsx18(
3238
+ Cost,
3239
+ {
3240
+ label: /* @__PURE__ */ jsxs19(
3241
+ "div",
3242
+ {
3243
+ onClick: () => setIsShippingOpen((o) => !o),
3244
+ className: "flex cursor-pointer items-center gap-1",
3245
+ children: [
3246
+ /* @__PURE__ */ jsx18("span", { children: t("orders.summary.shippingSubtotal") }),
3247
+ /* @__PURE__ */ jsx18(
3248
+ TriangleDownMini,
3249
+ {
3250
+ style: {
3251
+ transform: `rotate(${isShippingOpen ? 0 : -90}deg)`
3252
+ }
3253
+ }
3254
+ )
3255
+ ]
3256
+ }
3257
+ ),
3258
+ value: getLocaleAmount(order.shipping_subtotal, order.currency_code)
3259
+ }
3260
+ ),
3261
+ isShippingOpen && /* @__PURE__ */ jsx18("div", { className: "flex flex-col gap-1 pl-5", children: (order.shipping_methods || []).sort(
3262
+ (m1, m2) => m1.created_at.localeCompare(m2.created_at)
3263
+ ).map((sm, i) => {
3264
+ return /* @__PURE__ */ jsxs19(
3265
+ "div",
3266
+ {
3267
+ className: "flex items-center justify-between gap-x-2",
3268
+ children: [
3269
+ /* @__PURE__ */ jsx18("div", { children: /* @__PURE__ */ jsxs19("span", { className: "txt-small", children: [
3270
+ sm.name,
3271
+ sm.detail?.return_id && ` (${t("fields.returnShipping")})`,
3272
+ " ",
3273
+ /* @__PURE__ */ jsx18(shipping_info_popover_default, { shippingMethod: sm }, i)
3274
+ ] }) }),
3275
+ /* @__PURE__ */ jsx18("div", { className: "relative flex-1", children: /* @__PURE__ */ jsx18("div", { className: "bottom-[calc(50% - 2px)] absolute h-[1px] w-full border-b border-dashed" }) }),
3276
+ /* @__PURE__ */ jsx18("span", { className: "txt-small text-ui-fg-muted", children: getLocaleAmount(sm.subtotal, order.currency_code) })
3277
+ ]
3278
+ },
3279
+ sm.id
3280
+ );
3281
+ }) }),
3282
+ /* @__PURE__ */ jsxs19(Fragment3, { children: [
3283
+ /* @__PURE__ */ jsxs19("div", { className: "flex justify-between", children: [
3284
+ /* @__PURE__ */ jsxs19(
3285
+ "div",
3286
+ {
3287
+ onClick: () => hasTaxes && setIsTaxOpen((o) => !o),
3288
+ className: clx3("flex items-center gap-1", {
3289
+ "cursor-pointer": hasTaxes
3290
+ }),
3291
+ children: [
3292
+ /* @__PURE__ */ jsx18("span", { className: "txt-small select-none", children: t("orders.summary.taxTotal") }),
3293
+ hasTaxes && /* @__PURE__ */ jsx18(
3294
+ TriangleDownMini,
3295
+ {
3296
+ style: {
3297
+ transform: `rotate(${isTaxOpen ? 0 : -90}deg)`
3298
+ }
3299
+ }
3300
+ )
3301
+ ]
3302
+ }
3303
+ ),
3304
+ /* @__PURE__ */ jsx18("div", { className: "text-right", children: /* @__PURE__ */ jsx18(Text12, { size: "small", leading: "compact", children: getLocaleAmount(order.original_tax_total, order.currency_code) }) })
3305
+ ] }),
3306
+ isTaxOpen && /* @__PURE__ */ jsx18("div", { className: "flex flex-col gap-1 pl-5", children: Object.entries(taxCodes).map(([code, { total, rate }]) => {
3307
+ return /* @__PURE__ */ jsxs19(
3308
+ "div",
3309
+ {
3310
+ className: "flex items-center justify-between gap-x-2",
3311
+ children: [
3312
+ /* @__PURE__ */ jsxs19("div", { className: "flex gap-1", children: [
3313
+ /* @__PURE__ */ jsx18("span", { className: "txt-small", children: code }),
3314
+ /* @__PURE__ */ jsxs19("span", { className: "txt-small", children: [
3315
+ "(",
3316
+ formatPercentage(rate),
3317
+ ")"
3318
+ ] })
3319
+ ] }),
3320
+ /* @__PURE__ */ jsx18("div", { className: "relative flex-1", children: /* @__PURE__ */ jsx18("div", { className: "bottom-[calc(50% - 2px)] absolute h-[1px] w-full border-b border-dashed" }) }),
3321
+ /* @__PURE__ */ jsx18("span", { className: "txt-small text-ui-fg-muted", children: getLocaleAmount(total, order.currency_code) })
3322
+ ]
3323
+ },
3324
+ code
3325
+ );
3326
+ }) })
3327
+ ] }),
3328
+ /* @__PURE__ */ jsxs19("div", { className: "text-ui-fg-base flex items-center justify-between", children: [
3329
+ /* @__PURE__ */ jsx18(Text12, { className: "text-ui-fg-subtle", size: "small", leading: "compact", children: t("fields.total") }),
3330
+ /* @__PURE__ */ jsx18(
3331
+ Text12,
3332
+ {
3333
+ className: "text-ui-fg-subtle text-bold",
3334
+ size: "small",
3335
+ leading: "compact",
3336
+ children: getLocaleAmount(order.original_total, order.currency_code)
3337
+ }
3338
+ )
3339
+ ] })
3340
+ ] });
3341
+ };
3342
+ var DiscountAndTotalBreakdown = ({
3343
+ order,
3344
+ plugins
3345
+ }) => {
3346
+ const { t } = useTranslation18();
3347
+ const [isDiscountOpen, setIsDiscountOpen] = useState8(false);
3348
+ const [isCreditLinesOpen, setIsCreditLinesOpen] = useState8(false);
3349
+ const creditLines = order.credit_lines ?? [];
3350
+ const loyaltyPlugin = getLoyaltyPlugin(plugins);
3351
+ const discounts = useMemo3(() => {
3352
+ const discounts2 = [];
3353
+ if (order.item_discount_total) {
3354
+ discounts2.push({
3355
+ type: "item",
3356
+ total: order.item_discount_total,
3357
+ codes: Array.from(
3358
+ new Set(
3359
+ order.items.flatMap((item) => item.adjustments || []).map((adjustment) => adjustment.code)
3360
+ )
3361
+ ).sort()
3362
+ });
3363
+ }
3364
+ if (order.shipping_discount_total) {
3365
+ discounts2.push({
3366
+ type: "shipping",
3367
+ total: order.shipping_discount_total,
3368
+ codes: Array.from(
3369
+ new Set(
3370
+ order.shipping_methods.flatMap((shippingMethod) => shippingMethod.adjustments || []).map((adjustment) => adjustment.code)
3371
+ )
3372
+ ).sort()
3373
+ });
3374
+ }
3375
+ return discounts2;
3376
+ }, [order]);
3377
+ const hasDiscount = discounts.length > 0;
3378
+ const hasCreditLines = creditLines.length > 0;
3379
+ return /* @__PURE__ */ jsxs19("div", { className: "text-ui-fg-subtle flex flex-col gap-y-2 px-6 py-4", children: [
3380
+ /* @__PURE__ */ jsx18(
3381
+ Cost,
3382
+ {
3383
+ label: /* @__PURE__ */ jsxs19(
3384
+ "div",
3385
+ {
3386
+ onClick: () => hasDiscount && setIsDiscountOpen((o) => !o),
3387
+ className: clx3("flex items-center gap-1", {
3388
+ "cursor-pointer": hasDiscount
3389
+ }),
3390
+ children: [
3391
+ /* @__PURE__ */ jsx18("span", { children: t("orders.summary.discountTotal") }),
3392
+ hasDiscount && /* @__PURE__ */ jsx18(
3393
+ TriangleDownMini,
3394
+ {
3395
+ style: {
3396
+ transform: `rotate(${isDiscountOpen ? 0 : -90}deg)`
3397
+ }
3398
+ }
3399
+ )
3400
+ ]
3401
+ }
3402
+ ),
3403
+ value: getLocaleAmount(order.discount_total, order.currency_code)
3404
+ }
3405
+ ),
3406
+ isDiscountOpen && /* @__PURE__ */ jsx18("div", { className: "flex flex-col gap-1 pl-5", children: discounts.map(({ type, total, codes }) => {
3407
+ return /* @__PURE__ */ jsxs19(
3408
+ "div",
3409
+ {
3410
+ className: "flex items-center justify-between gap-x-2",
3411
+ children: [
3412
+ /* @__PURE__ */ jsxs19("div", { className: "flex gap-1", children: [
3413
+ /* @__PURE__ */ jsx18("span", { className: "txt-small", children: t(`fields.${type}`) }),
3414
+ /* @__PURE__ */ jsxs19("span", { className: "txt-small", children: [
3415
+ "(",
3416
+ codes.join(", "),
3417
+ ")"
3418
+ ] })
3419
+ ] }),
3420
+ /* @__PURE__ */ jsx18("div", { className: "relative flex-1", children: /* @__PURE__ */ jsx18("div", { className: "bottom-[calc(50% - 2px)] absolute h-[1px] w-full border-b border-dashed" }) }),
3421
+ /* @__PURE__ */ jsx18("span", { className: "txt-small text-ui-fg-muted", children: getLocaleAmount(total, order.currency_code) })
3422
+ ]
3423
+ },
3424
+ type
3425
+ );
3426
+ }) }),
3427
+ hasCreditLines && /* @__PURE__ */ jsxs19(Fragment3, { children: [
3428
+ /* @__PURE__ */ jsx18(
3429
+ Cost,
3430
+ {
3431
+ label: /* @__PURE__ */ jsxs19(
3432
+ "div",
3433
+ {
3434
+ onClick: () => setIsCreditLinesOpen((o) => !o),
3435
+ className: "flex cursor-pointer items-center gap-1",
3436
+ children: [
3437
+ /* @__PURE__ */ jsx18("span", { children: loyaltyPlugin ? t("orders.giftCardsStoreCreditLines") : t("orders.creditLines.title") }),
3438
+ /* @__PURE__ */ jsx18(
3439
+ TriangleDownMini,
3440
+ {
3441
+ style: {
3442
+ transform: `rotate(${isCreditLinesOpen ? 0 : -90}deg)`
3443
+ }
3444
+ }
3445
+ )
3446
+ ]
3447
+ }
3448
+ ),
3449
+ value: getLocaleAmount(
3450
+ order.credit_line_total,
3451
+ order.currency_code
3452
+ )
3453
+ }
3454
+ ),
3455
+ isCreditLinesOpen && /* @__PURE__ */ jsx18("div", { className: "flex flex-col gap-1 pl-5", children: creditLines.map((creditLine) => {
3456
+ const prettyReference = creditLine.reference?.split("_").join(" ").split("-").join(" ");
3457
+ return /* @__PURE__ */ jsxs19(
3458
+ "div",
3459
+ {
3460
+ className: "flex items-center justify-between gap-x-2",
3461
+ children: [
3462
+ /* @__PURE__ */ jsxs19("div", { className: "flex items-center", children: [
3463
+ /* @__PURE__ */ jsx18(
3464
+ Text12,
3465
+ {
3466
+ size: "small",
3467
+ leading: "compact",
3468
+ weight: "plus",
3469
+ className: "txt-small text-ui-fg-subtle font-medium",
3470
+ children: /* @__PURE__ */ jsx18(display_id_default, { id: creditLine.id })
3471
+ }
3472
+ ),
3473
+ /* @__PURE__ */ jsx18("span", { className: "txt-small text-ui-fg-subtle mx-1", children: "-" }),
3474
+ /* @__PURE__ */ jsxs19(
3475
+ Text12,
3476
+ {
3477
+ size: "small",
3478
+ leading: "compact",
3479
+ className: "txt-small text-ui-fg-subtle capitalize",
3480
+ children: [
3481
+ "(",
3482
+ prettyReference,
3483
+ ")"
3484
+ ]
3485
+ }
3486
+ )
3487
+ ] }),
3488
+ /* @__PURE__ */ jsx18("div", { className: "relative flex-1", children: /* @__PURE__ */ jsx18("div", { className: "bottom-[calc(50% - 2px)] absolute h-[1px] w-full border-b border-dashed" }) }),
3489
+ /* @__PURE__ */ jsx18("span", { className: "txt-small text-ui-fg-muted", children: getLocaleAmount(
3490
+ creditLine.amount,
3491
+ order.currency_code
3492
+ ) })
3493
+ ]
3494
+ },
3495
+ creditLine.id
3496
+ );
3497
+ }) })
3498
+ ] }),
3499
+ /* @__PURE__ */ jsxs19("div", { className: "text-ui-fg-base flex items-center justify-between", children: [
3500
+ /* @__PURE__ */ jsx18(Text12, { className: "text-ui-fg-subtle", size: "small", leading: "compact", children: t("orders.summary.totalAfterDiscount") }),
3501
+ /* @__PURE__ */ jsx18(
3502
+ Text12,
3503
+ {
3504
+ className: "text-ui-fg-subtle text-bold",
3505
+ size: "small",
3506
+ leading: "compact",
3507
+ children: getLocaleAmount(order.total, order.currency_code)
3508
+ }
3509
+ )
3510
+ ] })
3511
+ ] });
3512
+ };
3513
+ var InventoryKitBreakdown = ({ item }) => {
3514
+ const { t } = useTranslation18();
3515
+ const [isOpen, setIsOpen] = useState8(false);
3516
+ const inventory = item.variant?.inventory_items || [];
3517
+ return /* @__PURE__ */ jsxs19(Fragment3, { children: [
3518
+ /* @__PURE__ */ jsxs19(
3519
+ "div",
3520
+ {
3521
+ onClick: () => setIsOpen((o) => !o),
3522
+ className: "flex cursor-pointer items-center gap-2 border-t border-dashed px-6 py-4",
3523
+ children: [
3524
+ /* @__PURE__ */ jsx18(
3525
+ TriangleDownMini,
3526
+ {
3527
+ style: {
3528
+ transform: `rotate(${isOpen ? 0 : -90}deg)`
3529
+ }
3530
+ }
3531
+ ),
3532
+ /* @__PURE__ */ jsx18("span", { className: "text-ui-fg-muted txt-small select-none", children: t("orders.summary.inventoryKit", { count: inventory.length }) })
3533
+ ]
3534
+ }
3535
+ ),
3536
+ isOpen && /* @__PURE__ */ jsx18("div", { className: "flex flex-col gap-1 px-6 pb-4", children: inventory.map((i) => {
3537
+ return /* @__PURE__ */ jsxs19(
3538
+ "div",
3539
+ {
3540
+ className: "flex items-center justify-between gap-x-2",
3541
+ children: [
3542
+ /* @__PURE__ */ jsx18("div", { children: /* @__PURE__ */ jsxs19("span", { className: "txt-small text-ui-fg-subtle font-medium", children: [
3543
+ i.inventory?.title,
3544
+ i.inventory?.sku && /* @__PURE__ */ jsxs19("span", { className: "text-ui-fg-subtle font-normal", children: [
3545
+ " ",
3546
+ "\u22C5 ",
3547
+ i.inventory?.sku
3548
+ ] })
3549
+ ] }) }),
3550
+ /* @__PURE__ */ jsx18("div", { className: "relative flex-1", children: /* @__PURE__ */ jsx18("div", { className: "bottom-[calc(50% - 2px)] absolute h-[1px] w-full border-b border-dashed" }) }),
3551
+ /* @__PURE__ */ jsxs19("span", { className: "txt-small text-ui-fg-muted", children: [
3552
+ i.required_quantity,
3553
+ "x"
3554
+ ] })
3555
+ ]
3556
+ },
3557
+ i.inventory?.id
3558
+ );
3559
+ }) })
3560
+ ] });
3561
+ };
3562
+ var ReturnBreakdownWithDamages = ({
3563
+ orderReturn,
3564
+ itemId
3565
+ }) => {
3566
+ const { t } = useTranslation18();
3567
+ const item = orderReturn?.items?.find((ri) => ri.item_id === itemId);
3568
+ const damagedQuantity = item?.damaged_quantity || 0;
3569
+ return item && /* @__PURE__ */ jsxs19(
3570
+ "div",
3571
+ {
3572
+ className: "txt-compact-small-plus text-ui-fg-subtle bg-ui-bg-subtle flex flex-row justify-between gap-y-2 border-t-2 border-dotted px-6 py-4",
3573
+ children: [
3574
+ /* @__PURE__ */ jsxs19("div", { className: "flex items-center gap-2", children: [
3575
+ /* @__PURE__ */ jsx18(ArrowDownRightMini2, { className: "text-ui-fg-muted" }),
3576
+ /* @__PURE__ */ jsx18(Text12, { size: "small", children: t(`orders.returns.damagedItemsReturned`, {
3577
+ quantity: damagedQuantity
3578
+ }) }),
3579
+ item?.note && /* @__PURE__ */ jsx18(Tooltip7, { content: item.note, children: /* @__PURE__ */ jsx18(DocumentText2, { className: "text-ui-tag-neutral-icon ml-1 inline" }) }),
3580
+ item?.reason && /* @__PURE__ */ jsx18(
3581
+ Badge4,
3582
+ {
3583
+ size: "2xsmall",
3584
+ className: "cursor-default select-none capitalize",
3585
+ rounded: "full",
3586
+ children: item?.reason?.label
3587
+ }
3588
+ )
3589
+ ] }),
3590
+ /* @__PURE__ */ jsxs19(Text12, { size: "small", leading: "compact", className: "text-ui-fg-muted", children: [
3591
+ t(`orders.returns.damagedItemReceived`),
3592
+ /* @__PURE__ */ jsx18("span", { className: "ml-2", children: /* @__PURE__ */ jsx18(return_info_popover_default, { orderReturn }) })
3593
+ ] })
3594
+ ]
3595
+ },
3596
+ orderReturn.id
3597
+ );
3598
+ };
3599
+ var ReturnBreakdown = ({
3600
+ orderReturn,
3601
+ itemId
3602
+ }) => {
3603
+ const { t } = useTranslation18();
3604
+ const { getRelativeDate } = useDate();
3605
+ if (!["requested", "received", "partially_received"].includes(
3606
+ orderReturn.status || ""
3607
+ )) {
3608
+ return null;
3609
+ }
3610
+ const isRequested = orderReturn.status === "requested";
3611
+ const item = orderReturn?.items?.find((ri) => ri.item_id === itemId);
3612
+ const damagedQuantity = item?.damaged_quantity || 0;
3613
+ return item && /* @__PURE__ */ jsxs19(Fragment3, { children: [
3614
+ damagedQuantity > 0 && /* @__PURE__ */ jsx18(
3615
+ ReturnBreakdownWithDamages,
3616
+ {
3617
+ orderReturn,
3618
+ itemId
3619
+ }
3620
+ ),
3621
+ /* @__PURE__ */ jsxs19(
3622
+ "div",
3623
+ {
3624
+ className: "txt-compact-small-plus text-ui-fg-subtle bg-ui-bg-subtle flex flex-row justify-between gap-y-2 border-t-2 border-dotted px-6 py-4",
3625
+ children: [
3626
+ /* @__PURE__ */ jsxs19("div", { className: "flex items-center gap-2", children: [
3627
+ /* @__PURE__ */ jsx18(ArrowDownRightMini2, { className: "text-ui-fg-muted" }),
3628
+ /* @__PURE__ */ jsx18(Text12, { size: "small", children: t(
3629
+ `orders.returns.${isRequested ? "returnRequestedInfo" : "returnReceivedInfo"}`,
3630
+ {
3631
+ requestedItemsCount: item?.[isRequested ? "quantity" : "received_quantity"]
3632
+ }
3633
+ ) }),
3634
+ item?.note && /* @__PURE__ */ jsx18(Tooltip7, { content: item.note, children: /* @__PURE__ */ jsx18(DocumentText2, { className: "text-ui-tag-neutral-icon ml-1 inline" }) }),
3635
+ item?.reason && /* @__PURE__ */ jsx18(
3636
+ Badge4,
3637
+ {
3638
+ size: "2xsmall",
3639
+ className: "cursor-default select-none capitalize",
3640
+ rounded: "full",
3641
+ children: item?.reason?.label
3642
+ }
3643
+ )
3644
+ ] }),
3645
+ orderReturn && isRequested && /* @__PURE__ */ jsxs19(Text12, { size: "small", leading: "compact", className: "text-ui-fg-muted", children: [
3646
+ getRelativeDate(orderReturn.created_at),
3647
+ /* @__PURE__ */ jsx18("span", { className: "ml-2", children: /* @__PURE__ */ jsx18(return_info_popover_default, { orderReturn }) })
3648
+ ] }),
3649
+ orderReturn && !isRequested && /* @__PURE__ */ jsxs19(Text12, { size: "small", leading: "compact", className: "text-ui-fg-muted", children: [
3650
+ t(`orders.returns.itemReceived`),
3651
+ /* @__PURE__ */ jsx18("span", { className: "ml-2", children: /* @__PURE__ */ jsx18(return_info_popover_default, { orderReturn }) })
3652
+ ] })
3653
+ ]
3654
+ },
3655
+ item.id
3656
+ )
3657
+ ] });
3658
+ };
3659
+ var ClaimBreakdown = ({
3660
+ claim,
3661
+ itemId
3662
+ }) => {
3663
+ const { t } = useTranslation18();
3664
+ const { getRelativeDate } = useDate();
3665
+ const items = claim.additional_items.filter(
3666
+ (item) => item.item?.id === itemId
3667
+ );
3668
+ return !!items.length && /* @__PURE__ */ jsxs19(
3669
+ "div",
3670
+ {
3671
+ className: "txt-compact-small-plus text-ui-fg-subtle bg-ui-bg-subtle flex flex-row justify-between gap-y-2 border-b-2 border-t-2 border-dotted px-6 py-4",
3672
+ children: [
3673
+ /* @__PURE__ */ jsxs19("div", { className: "flex items-center gap-2", children: [
3674
+ /* @__PURE__ */ jsx18(ArrowDownRightMini2, { className: "text-ui-fg-muted" }),
3675
+ /* @__PURE__ */ jsx18(Text12, { size: "small", children: t(`orders.claims.outboundItemAdded`, {
3676
+ itemsCount: items.reduce(
3677
+ (acc, item) => acc = acc + item.quantity,
3678
+ 0
3679
+ )
3680
+ }) })
3681
+ ] }),
3682
+ /* @__PURE__ */ jsx18(Text12, { size: "small", leading: "compact", className: "text-ui-fg-muted", children: getRelativeDate(claim.created_at) })
3683
+ ]
3684
+ },
3685
+ claim.id
3686
+ );
3687
+ };
3688
+ var ExchangeBreakdown = ({
3689
+ exchange,
3690
+ itemId
3691
+ }) => {
3692
+ const { t } = useTranslation18();
3693
+ const { getRelativeDate } = useDate();
3694
+ const items = exchange.additional_items.filter(
3695
+ (item) => item?.item?.id === itemId
3696
+ );
3697
+ return !!items.length && /* @__PURE__ */ jsxs19(
3698
+ "div",
3699
+ {
3700
+ className: "txt-compact-small-plus text-ui-fg-subtle bg-ui-bg-subtle flex flex-row justify-between gap-y-2 border-b-2 border-t-2 border-dotted px-6 py-4",
3701
+ children: [
3702
+ /* @__PURE__ */ jsxs19("div", { className: "flex items-center gap-2", children: [
3703
+ /* @__PURE__ */ jsx18(ArrowDownRightMini2, { className: "text-ui-fg-muted" }),
3704
+ /* @__PURE__ */ jsx18(Text12, { size: "small", children: t(`orders.exchanges.outboundItemAdded`, {
3705
+ itemsCount: items.reduce(
3706
+ (acc, item) => acc = acc + item.quantity,
3707
+ 0
3708
+ )
3709
+ }) })
3710
+ ] }),
3711
+ /* @__PURE__ */ jsx18(Text12, { size: "small", leading: "compact", className: "text-ui-fg-muted", children: getRelativeDate(exchange.created_at) })
3712
+ ]
3713
+ },
3714
+ exchange.id
3715
+ );
3716
+ };
3717
+ var Total2 = ({ order }) => {
3718
+ const { t } = useTranslation18();
3719
+ return /* @__PURE__ */ jsxs19("div", { className: " flex flex-col gap-y-2 px-6 py-4", children: [
3720
+ /* @__PURE__ */ jsxs19("div", { className: "text-ui-fg-base flex items-center justify-between", children: [
3721
+ /* @__PURE__ */ jsx18(Text12, { className: "text-ui-fg-subtle", size: "small", leading: "compact", children: t("fields.paidTotal") }),
3722
+ /* @__PURE__ */ jsx18(Text12, { className: "text-ui-fg-subtle", size: "small", leading: "compact", children: getStylizedAmount(
3723
+ getTotalCaptured(order.payment_collections || []),
3724
+ order.currency_code
3725
+ ) })
3726
+ ] }),
3727
+ getTotalCreditLines(order.credit_lines ?? []) > 0 && /* @__PURE__ */ jsxs19("div", { className: "text-ui-fg-base flex items-center justify-between", children: [
3728
+ /* @__PURE__ */ jsx18(Text12, { className: "text-ui-fg-subtle", size: "small", leading: "compact", children: t("fields.creditTotal") }),
3729
+ /* @__PURE__ */ jsx18(Text12, { className: "text-ui-fg-subtle", size: "small", leading: "compact", children: getStylizedAmount(
3730
+ getTotalCreditLines(order.credit_lines ?? []),
3731
+ order.currency_code
3732
+ ) })
3733
+ ] }),
3734
+ /* @__PURE__ */ jsxs19("div", { className: "text-ui-fg-base flex items-center justify-between", children: [
3735
+ /* @__PURE__ */ jsx18(
3736
+ Text12,
3737
+ {
3738
+ className: "text-ui-fg-subtle text-semibold",
3739
+ size: "small",
3740
+ leading: "compact",
3741
+ children: t("orders.returns.outstandingAmount")
3742
+ }
3743
+ ),
3744
+ /* @__PURE__ */ jsx18(
3745
+ Text12,
3746
+ {
3747
+ className: "text-ui-fg-subtle text-bold",
3748
+ size: "small",
3749
+ leading: "compact",
3750
+ children: getStylizedAmount(
3751
+ order.summary.pending_difference || 0,
3752
+ order.currency_code
3753
+ )
3754
+ }
3755
+ )
3756
+ ] })
3757
+ ] });
3758
+ };
3759
+
3760
+ // src/routes/orders/order-detail/order-detail.tsx
3761
+ import { Fragment as Fragment4, jsx as jsx19, jsxs as jsxs20 } from "react/jsx-runtime";
3762
+ var OrderDetail = () => {
3763
+ const initialData = useLoaderData();
3764
+ const { id } = useParams();
3765
+ const { plugins = [] } = usePlugins();
3766
+ const { order, isLoading, isError, error } = useOrder(
3767
+ id,
3768
+ {
3769
+ fields: DEFAULT_FIELDS
3770
+ },
3771
+ {
3772
+ initialData
3773
+ }
3774
+ );
3775
+ if (order) {
3776
+ order.items = order.items.sort((itemA, itemB) => {
3777
+ if (itemA.created_at > itemB.created_at) {
3778
+ return 1;
3779
+ }
3780
+ if (itemA.created_at < itemB.created_at) {
3781
+ return -1;
3782
+ }
3783
+ return 0;
3784
+ });
3785
+ }
3786
+ const { order: orderPreview, isLoading: isPreviewLoading } = useOrderPreview(
3787
+ id
3788
+ );
3789
+ if (isLoading || !order || isPreviewLoading) {
3790
+ return /* @__PURE__ */ jsx19(TwoColumnPageSkeleton, { mainSections: 4, sidebarSections: 2, showJSON: true });
3791
+ }
3792
+ if (isError) {
3793
+ throw error;
3794
+ }
3795
+ return /* @__PURE__ */ jsx19(
3796
+ LayoutComposer,
3797
+ {
3798
+ widgetsZonePrefix: "order.details",
3799
+ preferredLayoutId: CORE_LAYOUT_IDS.TWO_COLUMN,
3800
+ data: order,
3801
+ sections: {
3802
+ main: /* @__PURE__ */ jsxs20(Fragment4, { children: [
3803
+ /* @__PURE__ */ jsx19(LayoutComposer.Entry, { id: "OrderActiveEditSection", children: /* @__PURE__ */ jsx19(OrderActiveEditSection, { order }) }),
3804
+ /* @__PURE__ */ jsx19(LayoutComposer.Entry, { id: "ActiveOrderClaimSection", children: /* @__PURE__ */ jsx19(ActiveOrderClaimSection, { orderPreview }) }),
3805
+ /* @__PURE__ */ jsx19(LayoutComposer.Entry, { id: "ActiveOrderExchangeSection", children: /* @__PURE__ */ jsx19(ActiveOrderExchangeSection, { orderPreview }) }),
3806
+ /* @__PURE__ */ jsx19(LayoutComposer.Entry, { id: "ActiveOrderReturnSection", children: /* @__PURE__ */ jsx19(ActiveOrderReturnSection, { orderPreview }) }),
3807
+ /* @__PURE__ */ jsx19(LayoutComposer.Entry, { id: "OrderGeneralSection", children: /* @__PURE__ */ jsx19(OrderGeneralSection, { order }) }),
3808
+ /* @__PURE__ */ jsx19(LayoutComposer.Entry, { id: "OrderSummarySection", children: /* @__PURE__ */ jsx19(OrderSummarySection, { order, plugins }) }),
3809
+ /* @__PURE__ */ jsx19(LayoutComposer.Entry, { id: "OrderPaymentSection", children: /* @__PURE__ */ jsx19(
3810
+ OrderPaymentSection,
3811
+ {
3812
+ order,
3813
+ plugins
3814
+ }
3815
+ ) }),
3816
+ /* @__PURE__ */ jsx19(LayoutComposer.Entry, { id: "OrderFulfillmentSection", children: /* @__PURE__ */ jsx19(OrderFulfillmentSection, { order }) }),
3817
+ detailPageDefaultEntries(order)
3818
+ ] }),
3819
+ side: /* @__PURE__ */ jsxs20(Fragment4, { children: [
3820
+ /* @__PURE__ */ jsx19(LayoutComposer.Entry, { id: "OrderCustomerSection", children: /* @__PURE__ */ jsx19(OrderCustomerSection, { order }) }),
3821
+ /* @__PURE__ */ jsx19(LayoutComposer.Entry, { id: "OrderActivitySection", children: /* @__PURE__ */ jsx19(OrderActivitySection, { order }) })
3822
+ ] })
3823
+ }
3824
+ }
3825
+ );
3826
+ };
3827
+ export {
3828
+ OrderDetailBreadcrumb as Breadcrumb,
3829
+ OrderDetail as Component,
3830
+ orderLoader as loader,
3831
+ seo
3832
+ };