@mercurjs/admin 2.0.0-canary.24

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 (358) hide show
  1. package/dist/add-campaign-promotions-JDC36EOE.js +265 -0
  2. package/dist/adjust-inventory-2YLC4O4I.js +262 -0
  3. package/dist/api-key-management-create-KERROZ6Z.js +282 -0
  4. package/dist/api-key-management-detail-PXY2ZH4V.js +481 -0
  5. package/dist/api-key-management-edit-7IPPTW37.js +106 -0
  6. package/dist/api-key-management-list-QQHOCVV4.js +350 -0
  7. package/dist/api-key-management-sales-channels-AO6SRCAW.js +201 -0
  8. package/dist/campaign-budget-edit-C5PCVES3.js +147 -0
  9. package/dist/campaign-configuration-ONC2CL7Q.js +154 -0
  10. package/dist/campaign-create-J2PN77A6.js +29 -0
  11. package/dist/campaign-detail-2XJ7PXOQ.js +666 -0
  12. package/dist/campaign-edit-MU4TVOEC.js +206 -0
  13. package/dist/campaign-list-BWYHTJL2.js +187 -0
  14. package/dist/categories-metadata-UC3N6YSC.js +83 -0
  15. package/dist/category-create-DRJZI3EM.js +427 -0
  16. package/dist/category-detail-DEGYVUXB.js +544 -0
  17. package/dist/category-edit-PTYOK7VV.js +220 -0
  18. package/dist/category-list-T4GPTLOA.js +286 -0
  19. package/dist/category-organize-MLBY54BT.js +110 -0
  20. package/dist/category-products-W7U2VZTZ.js +281 -0
  21. package/dist/chunk-25LYVP3C.js +37 -0
  22. package/dist/chunk-26OOAKQ6.js +18 -0
  23. package/dist/chunk-2I3BDP2Z.js +61 -0
  24. package/dist/chunk-2KCF3ZIB.js +32 -0
  25. package/dist/chunk-2MKZ4HD4.js +175 -0
  26. package/dist/chunk-2PZGY332.js +88 -0
  27. package/dist/chunk-2QKPRGNK.js +107 -0
  28. package/dist/chunk-2Y3WMGN6.js +39 -0
  29. package/dist/chunk-2ZFELO2L.js +13 -0
  30. package/dist/chunk-33XUAKRP.js +6 -0
  31. package/dist/chunk-362QMJZM.js +77 -0
  32. package/dist/chunk-3CKTAFTR.js +143 -0
  33. package/dist/chunk-3EF54XFY.js +64 -0
  34. package/dist/chunk-3KOTDGC2.js +18 -0
  35. package/dist/chunk-3LDJURK5.js +296 -0
  36. package/dist/chunk-3QSRE5LS.js +161 -0
  37. package/dist/chunk-3XPXUIK3.js +34 -0
  38. package/dist/chunk-4F5GP7J7.js +45 -0
  39. package/dist/chunk-4GPAS5GW.js +36 -0
  40. package/dist/chunk-54EPH67T.js +34 -0
  41. package/dist/chunk-54RTJBYO.js +153 -0
  42. package/dist/chunk-54TMLQH3.js +9 -0
  43. package/dist/chunk-5LZ2G4ZX.js +422 -0
  44. package/dist/chunk-5S6J5PG5.js +182 -0
  45. package/dist/chunk-6IJMSVC6.js +16 -0
  46. package/dist/chunk-6KI3GDYH.js +46 -0
  47. package/dist/chunk-7AV5EJJ5.js +29 -0
  48. package/dist/chunk-7RPRNVBS.js +45 -0
  49. package/dist/chunk-7SVLKK6Q.js +31 -0
  50. package/dist/chunk-AW77UWCZ.js +363 -0
  51. package/dist/chunk-AWZFIP25.js +117 -0
  52. package/dist/chunk-AYVH6Q5O.js +31 -0
  53. package/dist/chunk-BDGZ4EQO.js +86 -0
  54. package/dist/chunk-BMNW3AEU.js +373 -0
  55. package/dist/chunk-BRUOBAPY.js +234 -0
  56. package/dist/chunk-BYZIWSBB.js +185 -0
  57. package/dist/chunk-C6SUTRP2.js +13 -0
  58. package/dist/chunk-CBRSGM3X.js +342 -0
  59. package/dist/chunk-CI5Z6FGV.js +87 -0
  60. package/dist/chunk-CMHI2RPL.js +20 -0
  61. package/dist/chunk-CP5IL4P6.js +98 -0
  62. package/dist/chunk-D3KDXELJ.js +110 -0
  63. package/dist/chunk-D6IERBVW.js +43 -0
  64. package/dist/chunk-DB6ANJBO.js +35 -0
  65. package/dist/chunk-DLKKSPFE.js +50 -0
  66. package/dist/chunk-DV73MHTN.js +457 -0
  67. package/dist/chunk-DXZOR4AG.js +69 -0
  68. package/dist/chunk-DY3XQPHC.js +31 -0
  69. package/dist/chunk-EOZUAYQL.js +6 -0
  70. package/dist/chunk-ERTSYQAI.js +121 -0
  71. package/dist/chunk-EZIB4NST.js +94 -0
  72. package/dist/chunk-FGZCSG7T.js +232 -0
  73. package/dist/chunk-FI474ADU.js +0 -0
  74. package/dist/chunk-FLCYR7E5.js +467 -0
  75. package/dist/chunk-FMFVTERD.js +0 -0
  76. package/dist/chunk-FODCCP6C.js +76 -0
  77. package/dist/chunk-FQERBIVS.js +0 -0
  78. package/dist/chunk-FWPGOIFA.js +22 -0
  79. package/dist/chunk-G5OVX555.js +26 -0
  80. package/dist/chunk-GUIDZSDY.js +41 -0
  81. package/dist/chunk-H22XDSXD.js +47 -0
  82. package/dist/chunk-HC25LNX7.js +45 -0
  83. package/dist/chunk-HINXQTCW.js +97 -0
  84. package/dist/chunk-HYUGYB23.js +161 -0
  85. package/dist/chunk-I43SCBL3.js +106 -0
  86. package/dist/chunk-IGTRIAUC.js +84 -0
  87. package/dist/chunk-INNFZYX2.js +183 -0
  88. package/dist/chunk-IQPN4PZJ.js +749 -0
  89. package/dist/chunk-IZ5RG5XI.js +72 -0
  90. package/dist/chunk-JDGE23BZ.js +332 -0
  91. package/dist/chunk-JHIMVLB2.js +42 -0
  92. package/dist/chunk-JISYRXUS.js +389 -0
  93. package/dist/chunk-JJVGCTKT.js +243 -0
  94. package/dist/chunk-JQV7CXEC.js +37 -0
  95. package/dist/chunk-JRTZWK77.js +1764 -0
  96. package/dist/chunk-KAZ5BYTQ.js +132 -0
  97. package/dist/chunk-KBYZLKI4.js +1093 -0
  98. package/dist/chunk-KTKL7M34.js +90 -0
  99. package/dist/chunk-KUWNYCGL.js +4113 -0
  100. package/dist/chunk-KW56S7WF.js +67 -0
  101. package/dist/chunk-LAVHRER2.js +17 -0
  102. package/dist/chunk-LCZXAT4Q.js +58 -0
  103. package/dist/chunk-LFKTHNWI.js +83 -0
  104. package/dist/chunk-LGJWR5LX.js +164 -0
  105. package/dist/chunk-LLWK3OR6.js +169 -0
  106. package/dist/chunk-LQSLDDPT.js +67 -0
  107. package/dist/chunk-LR4ACD6E.js +86676 -0
  108. package/dist/chunk-LTBX54CI.js +11 -0
  109. package/dist/chunk-LXP7K6HL.js +817 -0
  110. package/dist/chunk-LXSBG6LK.js +18 -0
  111. package/dist/chunk-LZALOVO3.js +372 -0
  112. package/dist/chunk-M6SOYQJ6.js +39 -0
  113. package/dist/chunk-MAEP2UCK.js +110 -0
  114. package/dist/chunk-MG4GKUJW.js +31 -0
  115. package/dist/chunk-MWOKFNRO.js +446 -0
  116. package/dist/chunk-N2TQXB44.js +1280 -0
  117. package/dist/chunk-N5IUYCUZ.js +31 -0
  118. package/dist/chunk-NBMM2TZK.js +33 -0
  119. package/dist/chunk-NCMUZ6BQ.js +0 -0
  120. package/dist/chunk-NCYTM57J.js +160 -0
  121. package/dist/chunk-NIRWGTM3.js +1104 -0
  122. package/dist/chunk-NS5CHWOH.js +80 -0
  123. package/dist/chunk-NWQRHWE5.js +9461 -0
  124. package/dist/chunk-NXDFDEKP.js +0 -0
  125. package/dist/chunk-NZJGUN67.js +266 -0
  126. package/dist/chunk-NZN7PFPB.js +169 -0
  127. package/dist/chunk-O5HZRJPB.js +55 -0
  128. package/dist/chunk-O5VKW5FL.js +41 -0
  129. package/dist/chunk-O67KME6D.js +110 -0
  130. package/dist/chunk-ODBDAABQ.js +88 -0
  131. package/dist/chunk-OGYWOPHZ.js +96 -0
  132. package/dist/chunk-ORW4HNX5.js +357 -0
  133. package/dist/chunk-P3IZB24Y.js +109 -0
  134. package/dist/chunk-PHOCVOZ5.js +9 -0
  135. package/dist/chunk-PVZBDWLK.js +41 -0
  136. package/dist/chunk-PX675AEP.js +129 -0
  137. package/dist/chunk-PXYDR7WQ.js +48 -0
  138. package/dist/chunk-QDPLZDMX.js +17 -0
  139. package/dist/chunk-QG6PLWNH.js +106 -0
  140. package/dist/chunk-QSGR43JM.js +30 -0
  141. package/dist/chunk-RK5N3XIX.js +56 -0
  142. package/dist/chunk-RLMLYJDI.js +38 -0
  143. package/dist/chunk-RMXYSYK4.js +50 -0
  144. package/dist/chunk-RPIJY6TT.js +637 -0
  145. package/dist/chunk-RSBZREKG.js +144 -0
  146. package/dist/chunk-RXM4B6HR.js +8 -0
  147. package/dist/chunk-S2WEYEQR.js +14 -0
  148. package/dist/chunk-S4SVK5DE.js +39 -0
  149. package/dist/chunk-S6LPCNXQ.js +29 -0
  150. package/dist/chunk-SMQT3ZNO.js +8 -0
  151. package/dist/chunk-T435NFHC.js +490 -0
  152. package/dist/chunk-THHRRYRS.js +16 -0
  153. package/dist/chunk-TKGWSUEI.js +0 -0
  154. package/dist/chunk-TLE6YHGH.js +26 -0
  155. package/dist/chunk-TN4TIT7O.js +116 -0
  156. package/dist/chunk-TUJIAA5O.js +101 -0
  157. package/dist/chunk-U2EI2ZLM.js +32 -0
  158. package/dist/chunk-U2L77ZDR.js +17 -0
  159. package/dist/chunk-U2UCL2VG.js +369 -0
  160. package/dist/chunk-U2ZFCAPX.js +34 -0
  161. package/dist/chunk-U5MJIHLY.js +87 -0
  162. package/dist/chunk-U62GYN4A.js +227 -0
  163. package/dist/chunk-UM7ZR3VU.js +14 -0
  164. package/dist/chunk-UQITHKTH.js +342 -0
  165. package/dist/chunk-UZJ2NQSN.js +257 -0
  166. package/dist/chunk-UZWFZMOX.js +40 -0
  167. package/dist/chunk-V74Y5NIV.js +49 -0
  168. package/dist/chunk-VBMMWVB5.js +49 -0
  169. package/dist/chunk-VKOE5J66.js +31 -0
  170. package/dist/chunk-VOHEQ7B5.js +31 -0
  171. package/dist/chunk-VVTSF42Z.js +52 -0
  172. package/dist/chunk-VW56KWO2.js +9 -0
  173. package/dist/chunk-VWGKHDZ6.js +528 -0
  174. package/dist/chunk-W6Y3PPU5.js +73 -0
  175. package/dist/chunk-WCEMRNW4.js +6 -0
  176. package/dist/chunk-WDZFLCSQ.js +77 -0
  177. package/dist/chunk-WIYFXWRI.js +30 -0
  178. package/dist/chunk-WMA3WTCM.js +117 -0
  179. package/dist/chunk-WWANSDFM.js +175 -0
  180. package/dist/chunk-XBMLI2YI.js +85 -0
  181. package/dist/chunk-XBVIP2BA.js +609 -0
  182. package/dist/chunk-XCMR2HTV.js +102 -0
  183. package/dist/chunk-XFR5JLNF.js +44 -0
  184. package/dist/chunk-XL52SYWY.js +23 -0
  185. package/dist/chunk-XQNVC4Q7.js +212 -0
  186. package/dist/chunk-XSX255FK.js +12 -0
  187. package/dist/chunk-Y2M536WR.js +67 -0
  188. package/dist/chunk-Y456KVIN.js +116 -0
  189. package/dist/chunk-Y7QKP6QU.js +35 -0
  190. package/dist/chunk-YBZWO4ZV.js +57 -0
  191. package/dist/chunk-YGQUBTKR.js +81 -0
  192. package/dist/chunk-YGSM5PVN.js +170 -0
  193. package/dist/chunk-YVCBMOJG.js +50 -0
  194. package/dist/chunk-YWWUOGJA.js +62 -0
  195. package/dist/chunk-YXFG3M2D.js +792 -0
  196. package/dist/chunk-ZAUMHCIL.js +42 -0
  197. package/dist/chunk-ZDJWCSZ4.js +85 -0
  198. package/dist/chunk-ZQZHFMD7.js +19 -0
  199. package/dist/chunk-ZYNBKBY3.js +14 -0
  200. package/dist/collection-add-products-IUDEIUM5.js +284 -0
  201. package/dist/collection-create-AQ3GUG3G.js +133 -0
  202. package/dist/collection-detail-SDFALX6M.js +444 -0
  203. package/dist/collection-edit-AAHL2WFH.js +121 -0
  204. package/dist/collection-list-JGKC5EVM.js +228 -0
  205. package/dist/collection-metadata-YQWA2JTU.js +80 -0
  206. package/dist/customer-create-5VT2TB6S.js +183 -0
  207. package/dist/customer-create-address-ICEFEFD2.js +299 -0
  208. package/dist/customer-detail-CDELSJ77.js +695 -0
  209. package/dist/customer-edit-DZAD53JC.js +192 -0
  210. package/dist/customer-list-EIQP23FQ.js +152 -0
  211. package/dist/customer-metadata-ATAORBRN.js +81 -0
  212. package/dist/customers-add-customer-group-542PUCCT.js +308 -0
  213. package/dist/edit-inventory-item-P2HVULPA.js +152 -0
  214. package/dist/edit-inventory-item-attributes-V2HK3WTQ.js +323 -0
  215. package/dist/edit-reservation-LX2Z6KVD.js +246 -0
  216. package/dist/edit-rules-Q5UNWAUD.js +316 -0
  217. package/dist/home-I3OILW5Z.js +16 -0
  218. package/dist/index.css +6 -0
  219. package/dist/index.d.ts +41 -0
  220. package/dist/index.js +4824 -0
  221. package/dist/inventory-create-FT7GL4RK.js +616 -0
  222. package/dist/inventory-detail-LNZ5QC67.js +771 -0
  223. package/dist/inventory-list-UXY7PU3N.js +432 -0
  224. package/dist/inventory-metadata-OYETRH5X.js +83 -0
  225. package/dist/inventory-stock-3MBERL3K.js +288 -0
  226. package/dist/invite-HJ7BRO6H.js +372 -0
  227. package/dist/location-create-ZVVQT2KP.js +238 -0
  228. package/dist/location-detail-A5SHPUQN.js +823 -0
  229. package/dist/location-edit-QSRHHDQ2.js +253 -0
  230. package/dist/location-fulfillment-providers-4HMT5L7L.js +289 -0
  231. package/dist/location-list-TC5FEN5R.js +346 -0
  232. package/dist/location-sales-channels-STDHWQSC.js +215 -0
  233. package/dist/location-service-zone-create-63LUYCJI.js +173 -0
  234. package/dist/location-service-zone-edit-UNXI5BQV.js +134 -0
  235. package/dist/location-service-zone-manage-areas-UMD6CZDZ.js +154 -0
  236. package/dist/location-service-zone-shipping-option-create-5L73SAGE.js +807 -0
  237. package/dist/location-service-zone-shipping-option-edit-2FEWQD6Y.js +362 -0
  238. package/dist/location-service-zone-shipping-option-pricing-QSB56QZD.js +362 -0
  239. package/dist/login-V4HZQTCQ.js +254 -0
  240. package/dist/manage-locations-NVHONEZE.js +249 -0
  241. package/dist/no-match-JLVLPCRH.js +33 -0
  242. package/dist/order-allocate-items-F7CXZQGX.js +558 -0
  243. package/dist/order-create-claim-GDVWGZJA.js +2203 -0
  244. package/dist/order-create-edit-6YYKYT66.js +936 -0
  245. package/dist/order-create-exchange-NLDIMGBG.js +2190 -0
  246. package/dist/order-create-fulfillment-EIYGSKXP.js +621 -0
  247. package/dist/order-create-refund-BBXEZNWA.js +403 -0
  248. package/dist/order-create-return-6TA5J3AW.js +1292 -0
  249. package/dist/order-create-shipment-T4C6UE2K.js +208 -0
  250. package/dist/order-detail-Y4EG3P5F.js +3846 -0
  251. package/dist/order-edit-billing-address-NNIFUC5C.js +400 -0
  252. package/dist/order-edit-email-VXOX62P6.js +171 -0
  253. package/dist/order-edit-shipping-address-WDKCQRRG.js +397 -0
  254. package/dist/order-list-XDOAXZXN.js +231 -0
  255. package/dist/order-metadata-S6N3GDOA.js +82 -0
  256. package/dist/order-receive-return-5VWUPWZJ.js +549 -0
  257. package/dist/order-request-transfer-VFSY5IFF.js +571 -0
  258. package/dist/price-list-configuration-GH67LL2N.js +356 -0
  259. package/dist/price-list-create-INX5HG7G.js +973 -0
  260. package/dist/price-list-detail-5LGPE67O.js +540 -0
  261. package/dist/price-list-edit-HRWPEIZI.js +227 -0
  262. package/dist/price-list-list-IXZVTXU5.js +228 -0
  263. package/dist/price-list-prices-add-QHE3TUTV.js +614 -0
  264. package/dist/price-list-prices-edit-TMVJ7S7J.js +326 -0
  265. package/dist/product-attributes-P7WFH4I2.js +358 -0
  266. package/dist/product-create-YC6MCJ2M.js +2305 -0
  267. package/dist/product-create-option-BNF2KKJM.js +144 -0
  268. package/dist/product-create-variant-SIJX7AE3.js +837 -0
  269. package/dist/product-detail-2GJ3PGHW.js +1638 -0
  270. package/dist/product-edit-YOGTWZ4I.js +397 -0
  271. package/dist/product-edit-option-4MUSMFS7.js +152 -0
  272. package/dist/product-export-5L4HNM3W.js +127 -0
  273. package/dist/product-import-Y54VG4AC.js +261 -0
  274. package/dist/product-list-EV2TS3Y4.js +313 -0
  275. package/dist/product-media-ZSMGHCNP.js +879 -0
  276. package/dist/product-metadata-572YVJH3.js +80 -0
  277. package/dist/product-organization-LVKRBJOQ.js +312 -0
  278. package/dist/product-prices-K5YM2TL6.js +266 -0
  279. package/dist/product-sales-channels-J3OH4NWX.js +157 -0
  280. package/dist/product-shipping-profile-NOOFEUBZ.js +146 -0
  281. package/dist/product-stock-J4LTIX64.js +540 -0
  282. package/dist/product-tag-create-5JJPPELP.js +122 -0
  283. package/dist/product-tag-detail-CGLCH3BJ.js +281 -0
  284. package/dist/product-tag-edit-OR7KSC7I.js +134 -0
  285. package/dist/product-tag-list-DY7GJUJQ.js +259 -0
  286. package/dist/product-tag-metadata-BFGPRMME.js +80 -0
  287. package/dist/product-type-create-FPVSGIKL.js +101 -0
  288. package/dist/product-type-detail-JYW2DAM4.js +242 -0
  289. package/dist/product-type-edit-FBT4Z4ZJ.js +113 -0
  290. package/dist/product-type-list-FK237DSQ.js +175 -0
  291. package/dist/product-type-metadata-SFJR5OQN.js +80 -0
  292. package/dist/product-variant-detail-6KPB3HL7.js +485 -0
  293. package/dist/product-variant-edit-QFHGNDW7.js +538 -0
  294. package/dist/product-variant-manage-inventory-items-ZEX2IW53.js +340 -0
  295. package/dist/product-variant-metadata-F45CSWU6.js +86 -0
  296. package/dist/profile-detail-LLXUNQOT.js +89 -0
  297. package/dist/profile-edit-UDYMDQLT.js +176 -0
  298. package/dist/promotion-add-campaign-U6X2FNWZ.js +43 -0
  299. package/dist/promotion-create-QB7E277L.js +1258 -0
  300. package/dist/promotion-detail-7D6D6PQ7.js +486 -0
  301. package/dist/promotion-edit-details-HYQJAZDF.js +512 -0
  302. package/dist/promotion-list-HTJ5GIWG.js +206 -0
  303. package/dist/refund-reason-create-LZCL6QJI.js +192 -0
  304. package/dist/refund-reason-edit-QNGFKZMN.js +192 -0
  305. package/dist/refund-reason-list-ZEKWYQ45.js +233 -0
  306. package/dist/region-add-countries-CWJ62VPK.js +226 -0
  307. package/dist/region-create-Z3JQFIKN.js +507 -0
  308. package/dist/region-detail-46R3HACJ.js +508 -0
  309. package/dist/region-edit-W5IVVP7Z.js +380 -0
  310. package/dist/region-list-DCU6NQFA.js +205 -0
  311. package/dist/region-metadata-VG5DLCOK.js +83 -0
  312. package/dist/reservation-create-VG5FSV3F.js +309 -0
  313. package/dist/reservation-detail-36BA3V2F.js +221 -0
  314. package/dist/reservation-list-R5UBPNI4.js +298 -0
  315. package/dist/reservation-metadata-KR4HOHTH.js +83 -0
  316. package/dist/reset-password-VZPICVMM.js +458 -0
  317. package/dist/return-reason-create-KTKI6NJE.js +165 -0
  318. package/dist/return-reason-edit-5KU7WKJF.js +168 -0
  319. package/dist/return-reason-list-HBSKNIMW.js +240 -0
  320. package/dist/sales-channel-add-products-6TUDLE4D.js +274 -0
  321. package/dist/sales-channel-create-2BTWSYIK.js +154 -0
  322. package/dist/sales-channel-detail-IQIQDN3L.js +437 -0
  323. package/dist/sales-channel-edit-YBNPALFT.js +163 -0
  324. package/dist/sales-channel-list-5KNN734B.js +193 -0
  325. package/dist/sales-channel-metadata-SVW6FYSV.js +88 -0
  326. package/dist/seller-details-HBVN4GGD.js +77 -0
  327. package/dist/seller-edit-OXDARXYJ.js +387 -0
  328. package/dist/seller-list-HG2VXA6V.js +192 -0
  329. package/dist/settings-D43GVDOO.js +19 -0
  330. package/dist/shipping-option-type-create-7KYU5NNF.js +195 -0
  331. package/dist/shipping-option-type-detail-4CNTT3MO.js +169 -0
  332. package/dist/shipping-option-type-edit-AN6IPVI6.js +191 -0
  333. package/dist/shipping-option-type-list-36ZS2QZO.js +266 -0
  334. package/dist/shipping-profile-create-3OWHNAOB.js +123 -0
  335. package/dist/shipping-profile-detail-WW7IVUVV.js +157 -0
  336. package/dist/shipping-profile-metadata-AD3DSZLR.js +84 -0
  337. package/dist/shipping-profiles-list-WOGGP7IT.js +241 -0
  338. package/dist/store-add-currencies-PIGEOZ4G.js +304 -0
  339. package/dist/store-detail-MFHPXBIN.js +525 -0
  340. package/dist/store-edit-WBF6EL5N.js +246 -0
  341. package/dist/store-metadata-LSK7UVSC.js +85 -0
  342. package/dist/tax-region-create-XTX4YWRA.js +300 -0
  343. package/dist/tax-region-detail-XUYJHBHI.js +320 -0
  344. package/dist/tax-region-edit-AC64YA64.js +162 -0
  345. package/dist/tax-region-list-XRAYDYK3.js +91 -0
  346. package/dist/tax-region-metadata-YDQX3Y4X.js +83 -0
  347. package/dist/tax-region-province-create-GDL65SQF.js +315 -0
  348. package/dist/tax-region-province-detail-QMPIKT7K.js +215 -0
  349. package/dist/tax-region-tax-override-create-X2QWOHSU.js +679 -0
  350. package/dist/tax-region-tax-override-edit-VZJ6EPSU.js +788 -0
  351. package/dist/tax-region-tax-rate-create-VC2WDVJJ.js +193 -0
  352. package/dist/tax-region-tax-rate-edit-SDW36H6I.js +192 -0
  353. package/dist/user-detail-IEIX24PZ.js +163 -0
  354. package/dist/user-edit-CJ7TNY3H.js +115 -0
  355. package/dist/user-invite-OTBYWV4L.js +389 -0
  356. package/dist/user-list-BJXFPTJ7.js +341 -0
  357. package/dist/user-metadata-ZLC6T6XH.js +83 -0
  358. package/package.json +87 -0
@@ -0,0 +1,1104 @@
1
+ import {
2
+ ITEM_TOTAL_ATTRIBUTE
3
+ } from "./chunk-LXSBG6LK.js";
4
+ import {
5
+ getLocaleAmount
6
+ } from "./chunk-PXYDR7WQ.js";
7
+ import {
8
+ DataGrid,
9
+ DataGridCellContainer,
10
+ IncludesTaxTooltip,
11
+ createDataGridHelper,
12
+ useCombinedRefs,
13
+ useDataGridCell,
14
+ useDataGridCellError
15
+ } from "./chunk-KUWNYCGL.js";
16
+ import {
17
+ currencies
18
+ } from "./chunk-IQPN4PZJ.js";
19
+ import {
20
+ castNumber
21
+ } from "./chunk-SMQT3ZNO.js";
22
+ import {
23
+ KeyboundForm
24
+ } from "./chunk-U2ZFCAPX.js";
25
+ import {
26
+ StackedFocusModal
27
+ } from "./chunk-MWOKFNRO.js";
28
+ import {
29
+ Form
30
+ } from "./chunk-3QSRE5LS.js";
31
+
32
+ // src/pages/locations/common/utils/price-rule-helpers.ts
33
+ var createPriceRule = (attribute, operator, value) => {
34
+ const rule = {
35
+ attribute,
36
+ operator,
37
+ value: castNumber(value)
38
+ };
39
+ return rule;
40
+ };
41
+ var buildShippingOptionPriceRules = (rule) => {
42
+ const conditions = [
43
+ { value: rule.gte, operator: "gte" },
44
+ { value: rule.lte, operator: "lte" },
45
+ { value: rule.gt, operator: "gt" },
46
+ { value: rule.lt, operator: "lt" },
47
+ { value: rule.eq, operator: "eq" }
48
+ ];
49
+ const conditionsWithValues = conditions.filter(({ value }) => value);
50
+ return conditionsWithValues.map(
51
+ ({ operator, value }) => createPriceRule(ITEM_TOTAL_ATTRIBUTE, operator, value)
52
+ );
53
+ };
54
+
55
+ // src/pages/locations/common/schema.ts
56
+ import { t } from "i18next";
57
+ import { z } from "zod";
58
+ var ConditionalPriceSchema = z.object({
59
+ amount: z.union([z.string(), z.number()]),
60
+ gte: z.union([z.string(), z.number()]).nullish(),
61
+ lte: z.union([z.string(), z.number()]).nullish(),
62
+ lt: z.number().nullish(),
63
+ gt: z.number().nullish(),
64
+ eq: z.number().nullish()
65
+ }).refine((data) => data.amount !== "", {
66
+ message: t(
67
+ "stockLocations.shippingOptions.conditionalPrices.errors.amountRequired"
68
+ ),
69
+ path: ["amount"]
70
+ }).refine(
71
+ (data) => {
72
+ const hasEqLtGt = data.eq !== void 0 || data.lt !== void 0 || data.gt !== void 0;
73
+ if (hasEqLtGt) {
74
+ return true;
75
+ }
76
+ return data.gte !== void 0 && data.gte !== "" || data.lte !== void 0 && data.lte !== "";
77
+ },
78
+ {
79
+ message: t(
80
+ "stockLocations.shippingOptions.conditionalPrices.errors.minOrMaxRequired"
81
+ ),
82
+ path: ["gte"]
83
+ }
84
+ ).refine(
85
+ (data) => {
86
+ if (data.gte != null && data.gte !== "" && data.lte != null && data.lte !== "") {
87
+ const gte = castNumber(data.gte);
88
+ const lte = castNumber(data.lte);
89
+ return gte <= lte;
90
+ }
91
+ return true;
92
+ },
93
+ {
94
+ message: t(
95
+ "stockLocations.shippingOptions.conditionalPrices.errors.minGreaterThanMax"
96
+ ),
97
+ path: ["gte"]
98
+ }
99
+ );
100
+ var UpdateConditionalPriceSchema = ConditionalPriceSchema.and(
101
+ z.object({
102
+ id: z.string().optional()
103
+ })
104
+ );
105
+ function refineDuplicates(data, ctx) {
106
+ const prices = data.prices;
107
+ for (let i = 0; i < prices.length; i++) {
108
+ for (let j = i + 1; j < prices.length; j++) {
109
+ const price1 = prices[i];
110
+ const price2 = prices[j];
111
+ if (price1.amount === "" || price2.amount === "") {
112
+ continue;
113
+ }
114
+ const price1Amount = castNumber(price1.amount);
115
+ const price2Amount = castNumber(price2.amount);
116
+ if (price1Amount === price2Amount) {
117
+ addDuplicateAmountError(ctx, j);
118
+ }
119
+ const conditions = [
120
+ { value: price1.gte, type: "gte" },
121
+ { value: price1.lte, type: "lte" },
122
+ { value: price1.eq, type: "eq" },
123
+ { value: price1.lt, type: "lt" },
124
+ { value: price1.gt, type: "gt" }
125
+ ];
126
+ conditions.forEach((condition1) => {
127
+ if (!condition1.value && condition1.value !== 0) {
128
+ return;
129
+ }
130
+ const conditions2 = [
131
+ { value: price2.gte, type: "gte" },
132
+ { value: price2.lte, type: "lte" },
133
+ { value: price2.eq, type: "eq" },
134
+ { value: price2.lt, type: "lt" },
135
+ { value: price2.gt, type: "gt" }
136
+ ];
137
+ conditions2.forEach((condition2) => {
138
+ if (!condition2.value && condition2.value !== 0) {
139
+ return;
140
+ }
141
+ const condition1Value = castNumber(
142
+ condition1.value
143
+ );
144
+ const condition2Value = castNumber(
145
+ condition2.value
146
+ );
147
+ if (condition1Value === condition2Value) {
148
+ addOverlappingConditionError(ctx, j, condition2.type);
149
+ }
150
+ });
151
+ });
152
+ }
153
+ }
154
+ }
155
+ var CondtionalPriceRuleSchema = z.object({
156
+ prices: z.array(ConditionalPriceSchema)
157
+ }).superRefine(refineDuplicates);
158
+ var UpdateConditionalPriceRuleSchema = z.object({
159
+ prices: z.array(UpdateConditionalPriceSchema)
160
+ }).superRefine(refineDuplicates);
161
+ var addDuplicateAmountError = (ctx, index) => {
162
+ ctx.addIssue({
163
+ code: z.ZodIssueCode.custom,
164
+ message: t(
165
+ "stockLocations.shippingOptions.conditionalPrices.errors.duplicateAmount"
166
+ ),
167
+ path: ["prices", index, "amount"]
168
+ });
169
+ };
170
+ var addOverlappingConditionError = (ctx, index, type) => {
171
+ ctx.addIssue({
172
+ code: z.ZodIssueCode.custom,
173
+ message: t(
174
+ "stockLocations.shippingOptions.conditionalPrices.errors.overlappingConditions"
175
+ ),
176
+ path: ["prices", index, type]
177
+ });
178
+ };
179
+
180
+ // src/pages/locations/common/components/shipping-option-price-provider/shipping-option-price-context.tsx
181
+ import { createContext } from "react";
182
+ var ShippingOptionPriceContext = createContext(null);
183
+
184
+ // src/pages/locations/common/components/shipping-option-price-provider/shipping-option-price-provider.tsx
185
+ import { jsx } from "react/jsx-runtime";
186
+ var ShippingOptionPriceProvider = ({
187
+ children,
188
+ onOpenConditionalPricesModal,
189
+ onCloseConditionalPricesModal
190
+ }) => {
191
+ return /* @__PURE__ */ jsx(
192
+ ShippingOptionPriceContext.Provider,
193
+ {
194
+ value: { onOpenConditionalPricesModal, onCloseConditionalPricesModal },
195
+ children
196
+ }
197
+ );
198
+ };
199
+
200
+ // src/pages/locations/common/components/shipping-option-price-provider/use-shipping-option-price.tsx
201
+ import { useContext } from "react";
202
+ var useShippingOptionPrice = () => {
203
+ const context = useContext(ShippingOptionPriceContext);
204
+ if (!context) {
205
+ throw new Error(
206
+ "useShippingOptionPrice must be used within a ShippingOptionPriceProvider"
207
+ );
208
+ }
209
+ return context;
210
+ };
211
+
212
+ // src/pages/locations/common/components/conditional-price-form/conditional-price-form.tsx
213
+ import { zodResolver } from "@hookform/resolvers/zod";
214
+ import {
215
+ InformationCircleSolid,
216
+ Plus,
217
+ TriangleDownMini,
218
+ XMark,
219
+ XMarkMini
220
+ } from "@medusajs/icons";
221
+ import {
222
+ Badge,
223
+ Button,
224
+ clx,
225
+ CurrencyInput,
226
+ Divider,
227
+ Heading,
228
+ IconButton,
229
+ Label,
230
+ Text,
231
+ Tooltip
232
+ } from "@medusajs/ui";
233
+ import { Accordion as RadixAccordion } from "radix-ui";
234
+ import { Fragment, useRef, useState } from "react";
235
+ import {
236
+ useFieldArray,
237
+ useForm,
238
+ useFormContext,
239
+ useWatch
240
+ } from "react-hook-form";
241
+ import { Trans, useTranslation } from "react-i18next";
242
+ import { formatValue } from "react-currency-input-field";
243
+
244
+ // src/pages/locations/common/utils/get-custom-shipping-option-price-field-info.ts
245
+ var getCustomShippingOptionPriceFieldName = (field, type) => {
246
+ const prefix = type === "region" ? "region_prices" : "currency_prices";
247
+ const customPrefix = type === "region" ? "conditional_region_prices" : "conditional_currency_prices";
248
+ const name = field.replace(
249
+ prefix,
250
+ customPrefix
251
+ );
252
+ return name;
253
+ };
254
+
255
+ // src/pages/locations/common/components/conditional-price-form/conditional-price-form.tsx
256
+ import { jsx as jsx2, jsxs } from "react/jsx-runtime";
257
+ var RULE_ITEM_PREFIX = "rule-item";
258
+ var getRuleValue = (index) => `${RULE_ITEM_PREFIX}-${index}`;
259
+ var ConditionalPriceForm = ({
260
+ info,
261
+ variant
262
+ }) => {
263
+ const { t: t2 } = useTranslation();
264
+ const { getValues, setValue: setFormValue } = useFormContext();
265
+ const { onCloseConditionalPricesModal } = useShippingOptionPrice();
266
+ const [value, setValue] = useState([getRuleValue(0)]);
267
+ const { field, type, currency, name: header } = info;
268
+ const name = getCustomShippingOptionPriceFieldName(field, type);
269
+ const conditionalPriceForm = useForm({
270
+ defaultValues: {
271
+ prices: getValues(name) || [
272
+ {
273
+ amount: "",
274
+ gte: "",
275
+ lte: null
276
+ }
277
+ ]
278
+ },
279
+ resolver: zodResolver(
280
+ variant === "create" ? CondtionalPriceRuleSchema : UpdateConditionalPriceRuleSchema
281
+ )
282
+ });
283
+ const { fields, append, remove } = useFieldArray({
284
+ control: conditionalPriceForm.control,
285
+ name: "prices"
286
+ });
287
+ const handleAdd = () => {
288
+ append({
289
+ amount: "",
290
+ gte: "",
291
+ lte: null
292
+ });
293
+ setValue([...value, getRuleValue(fields.length)]);
294
+ };
295
+ const handleRemove = (index) => {
296
+ remove(index);
297
+ };
298
+ const handleOnSubmit = conditionalPriceForm.handleSubmit(
299
+ (values) => {
300
+ setFormValue(name, values.prices, {
301
+ shouldDirty: true,
302
+ shouldValidate: true,
303
+ shouldTouch: true
304
+ });
305
+ onCloseConditionalPricesModal();
306
+ },
307
+ (e) => {
308
+ const indexesWithErrors = Object.keys(e.prices || {});
309
+ setValue((prev) => {
310
+ const values = new Set(prev);
311
+ indexesWithErrors.forEach((index) => {
312
+ values.add(getRuleValue(Number(index)));
313
+ });
314
+ return Array.from(values);
315
+ });
316
+ }
317
+ );
318
+ const handleOnKeyDown = (event) => {
319
+ if (event.key === "Enter" && (event.metaKey || event.ctrlKey)) {
320
+ event.preventDefault();
321
+ event.stopPropagation();
322
+ handleOnSubmit();
323
+ }
324
+ };
325
+ return /* @__PURE__ */ jsx2(Form, { ...conditionalPriceForm, children: /* @__PURE__ */ jsx2(
326
+ KeyboundForm,
327
+ {
328
+ onSubmit: handleOnSubmit,
329
+ onKeyDown: handleOnKeyDown,
330
+ className: "flex h-full flex-col",
331
+ children: /* @__PURE__ */ jsxs(StackedFocusModal.Content, { children: [
332
+ /* @__PURE__ */ jsx2(StackedFocusModal.Header, {}),
333
+ /* @__PURE__ */ jsx2(StackedFocusModal.Body, { className: "size-full overflow-hidden", children: /* @__PURE__ */ jsx2("div", { className: "flex size-full flex-1 flex-col items-center overflow-y-auto", children: /* @__PURE__ */ jsx2("div", { className: "flex w-full max-w-[720px] flex-col gap-y-8 px-6 py-16", children: /* @__PURE__ */ jsxs("div", { className: "flex w-full flex-col gap-y-6", children: [
334
+ /* @__PURE__ */ jsxs("div", { children: [
335
+ /* @__PURE__ */ jsx2(StackedFocusModal.Title, { asChild: true, children: /* @__PURE__ */ jsx2(Heading, { children: t2(
336
+ "stockLocations.shippingOptions.conditionalPrices.header",
337
+ {
338
+ name: header
339
+ }
340
+ ) }) }),
341
+ /* @__PURE__ */ jsx2(StackedFocusModal.Description, { asChild: true, children: /* @__PURE__ */ jsx2(Text, { size: "small", className: "text-ui-fg-subtle", children: t2(
342
+ "stockLocations.shippingOptions.conditionalPrices.description"
343
+ ) }) })
344
+ ] }),
345
+ /* @__PURE__ */ jsx2(ConditionalPriceList, { value, onValueChange: setValue, children: fields.map((field2, index) => /* @__PURE__ */ jsx2(
346
+ ConditionalPriceItem,
347
+ {
348
+ index,
349
+ onRemove: handleRemove,
350
+ currency,
351
+ control: conditionalPriceForm.control
352
+ },
353
+ field2.id
354
+ )) }),
355
+ /* @__PURE__ */ jsx2("div", { className: "flex items-center justify-end", children: /* @__PURE__ */ jsx2(
356
+ Button,
357
+ {
358
+ variant: "secondary",
359
+ size: "small",
360
+ type: "button",
361
+ onClick: handleAdd,
362
+ children: t2(
363
+ "stockLocations.shippingOptions.conditionalPrices.actions.addPrice"
364
+ )
365
+ }
366
+ ) })
367
+ ] }) }) }) }),
368
+ /* @__PURE__ */ jsx2(StackedFocusModal.Footer, { children: /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-end gap-2", children: [
369
+ /* @__PURE__ */ jsx2(StackedFocusModal.Close, { asChild: true, children: /* @__PURE__ */ jsx2(Button, { variant: "secondary", size: "small", type: "button", children: t2("actions.cancel") }) }),
370
+ /* @__PURE__ */ jsx2(Button, { size: "small", type: "button", onClick: handleOnSubmit, children: t2("actions.save") })
371
+ ] }) })
372
+ ] })
373
+ }
374
+ ) });
375
+ };
376
+ var ConditionalPriceList = ({
377
+ children,
378
+ value,
379
+ onValueChange
380
+ }) => {
381
+ return /* @__PURE__ */ jsx2(
382
+ RadixAccordion.Root,
383
+ {
384
+ type: "multiple",
385
+ defaultValue: [getRuleValue(0)],
386
+ value,
387
+ onValueChange,
388
+ className: "flex flex-col gap-y-3",
389
+ children
390
+ }
391
+ );
392
+ };
393
+ var ConditionalPriceItem = ({
394
+ index,
395
+ currency,
396
+ onRemove,
397
+ control
398
+ }) => {
399
+ const { t: t2 } = useTranslation();
400
+ const handleRemove = (e) => {
401
+ e.stopPropagation();
402
+ onRemove(index);
403
+ };
404
+ return /* @__PURE__ */ jsxs(
405
+ RadixAccordion.Item,
406
+ {
407
+ value: getRuleValue(index),
408
+ className: clx(
409
+ "bg-ui-bg-component shadow-elevation-card-rest rounded-lg"
410
+ ),
411
+ children: [
412
+ /* @__PURE__ */ jsx2(RadixAccordion.Trigger, { asChild: true, children: /* @__PURE__ */ jsxs("div", { className: "group/trigger flex w-full cursor-pointer items-start justify-between gap-x-2 p-3", children: [
413
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-1 flex-wrap items-center justify-between gap-2", children: [
414
+ /* @__PURE__ */ jsx2("div", { className: "flex h-7 items-center", children: /* @__PURE__ */ jsx2(
415
+ AmountDisplay,
416
+ {
417
+ index,
418
+ currency,
419
+ control
420
+ }
421
+ ) }),
422
+ /* @__PURE__ */ jsx2("div", { className: "flex min-h-7 items-center", children: /* @__PURE__ */ jsx2(
423
+ ConditionDisplay,
424
+ {
425
+ index,
426
+ currency,
427
+ control
428
+ }
429
+ ) })
430
+ ] }),
431
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-x-2", children: [
432
+ /* @__PURE__ */ jsx2(
433
+ IconButton,
434
+ {
435
+ size: "small",
436
+ variant: "transparent",
437
+ className: "text-ui-fg-muted hover:text-ui-fg-subtle focus-visible:text-ui-fg-subtle",
438
+ onClick: handleRemove,
439
+ children: /* @__PURE__ */ jsx2(XMarkMini, {})
440
+ }
441
+ ),
442
+ /* @__PURE__ */ jsx2(
443
+ IconButton,
444
+ {
445
+ size: "small",
446
+ variant: "transparent",
447
+ className: "text-ui-fg-muted hover:text-ui-fg-subtle focus-visible:text-ui-fg-subtle",
448
+ children: /* @__PURE__ */ jsx2(TriangleDownMini, { className: "transition-transform group-data-[state=open]/trigger:rotate-180" })
449
+ }
450
+ )
451
+ ] })
452
+ ] }) }),
453
+ /* @__PURE__ */ jsxs(RadixAccordion.Content, { className: "text-ui-fg-subtle", children: [
454
+ /* @__PURE__ */ jsx2(Divider, { variant: "dashed" }),
455
+ /* @__PURE__ */ jsx2(
456
+ Form.Field,
457
+ {
458
+ control,
459
+ name: `prices.${index}.amount`,
460
+ render: ({ field: { value, onChange, ...props } }) => {
461
+ return /* @__PURE__ */ jsx2(Form.Item, { children: /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-2 items-start gap-x-2 p-3", children: [
462
+ /* @__PURE__ */ jsx2("div", { className: "flex h-8 items-center", children: /* @__PURE__ */ jsx2(Form.Label, { children: t2(
463
+ "stockLocations.shippingOptions.conditionalPrices.rules.amount"
464
+ ) }) }),
465
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-y-1", children: [
466
+ /* @__PURE__ */ jsx2(Form.Control, { children: /* @__PURE__ */ jsx2(
467
+ CurrencyInput,
468
+ {
469
+ className: "bg-ui-bg-field-component hover:bg-ui-bg-field-component-hover focus-visible:bg-ui-bg-field-component-hover",
470
+ placeholder: formatValue({
471
+ value: "0",
472
+ decimalScale: currency.decimal_digits
473
+ }),
474
+ decimalScale: currency.decimal_digits,
475
+ symbol: currency.symbol_native,
476
+ code: currency.code,
477
+ value,
478
+ onValueChange: (_value, _name, values) => onChange(values?.value ? values?.value : ""),
479
+ ...props
480
+ }
481
+ ) }),
482
+ /* @__PURE__ */ jsx2(Form.ErrorMessage, {})
483
+ ] })
484
+ ] }) });
485
+ }
486
+ }
487
+ ),
488
+ /* @__PURE__ */ jsx2(Divider, { variant: "dashed" }),
489
+ /* @__PURE__ */ jsx2(
490
+ Form.Field,
491
+ {
492
+ control,
493
+ name: `prices.${index}.gte`,
494
+ render: ({ field }) => {
495
+ return /* @__PURE__ */ jsx2(
496
+ OperatorInput,
497
+ {
498
+ field,
499
+ label: t2(
500
+ "stockLocations.shippingOptions.conditionalPrices.rules.gte"
501
+ ),
502
+ currency,
503
+ placeholder: "1000"
504
+ }
505
+ );
506
+ }
507
+ }
508
+ ),
509
+ /* @__PURE__ */ jsx2(Divider, { variant: "dashed" }),
510
+ /* @__PURE__ */ jsx2(
511
+ Form.Field,
512
+ {
513
+ control,
514
+ name: `prices.${index}.lte`,
515
+ render: ({ field }) => {
516
+ return /* @__PURE__ */ jsx2(
517
+ OperatorInput,
518
+ {
519
+ field,
520
+ label: t2(
521
+ "stockLocations.shippingOptions.conditionalPrices.rules.lte"
522
+ ),
523
+ currency,
524
+ placeholder: "1000"
525
+ }
526
+ );
527
+ }
528
+ }
529
+ ),
530
+ /* @__PURE__ */ jsx2(
531
+ ReadOnlyConditions,
532
+ {
533
+ index,
534
+ control,
535
+ currency
536
+ }
537
+ )
538
+ ] })
539
+ ]
540
+ }
541
+ );
542
+ };
543
+ var OperatorInput = ({
544
+ field,
545
+ label,
546
+ currency,
547
+ placeholder
548
+ }) => {
549
+ const innerRef = useRef(null);
550
+ const { value, onChange, ref, ...props } = field;
551
+ const refs = useCombinedRefs(innerRef, ref);
552
+ const action = () => {
553
+ if (value === null) {
554
+ onChange("");
555
+ requestAnimationFrame(() => {
556
+ innerRef.current?.focus();
557
+ });
558
+ return;
559
+ }
560
+ onChange(null);
561
+ };
562
+ const isNull = value === null;
563
+ return /* @__PURE__ */ jsx2(Form.Item, { children: /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-2 items-start gap-x-2 p-3", children: [
564
+ /* @__PURE__ */ jsxs("div", { className: "flex h-8 items-center gap-x-1", children: [
565
+ /* @__PURE__ */ jsx2(IconButton, { size: "2xsmall", variant: "transparent", onClick: action, children: isNull ? /* @__PURE__ */ jsx2(Plus, {}) : /* @__PURE__ */ jsx2(XMark, {}) }),
566
+ /* @__PURE__ */ jsx2(Form.Label, { children: label })
567
+ ] }),
568
+ !isNull && /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-y-1", children: [
569
+ /* @__PURE__ */ jsx2(Form.Control, { children: /* @__PURE__ */ jsx2(
570
+ CurrencyInput,
571
+ {
572
+ className: "bg-ui-bg-field-component hover:bg-ui-bg-field-component-hover focus-visible:bg-ui-bg-field-component-hover",
573
+ placeholder: formatValue({
574
+ value: placeholder,
575
+ decimalScale: currency.decimal_digits
576
+ }),
577
+ decimalScale: currency.decimal_digits,
578
+ symbol: currency.symbol_native,
579
+ code: currency.code,
580
+ value,
581
+ ref: refs,
582
+ onValueChange: (_value, _name, values) => onChange(values?.value ? values?.value : ""),
583
+ ...props
584
+ }
585
+ ) }),
586
+ /* @__PURE__ */ jsx2(Form.ErrorMessage, {})
587
+ ] })
588
+ ] }) });
589
+ };
590
+ var ReadOnlyConditions = ({
591
+ index,
592
+ control,
593
+ currency
594
+ }) => {
595
+ const { t: t2 } = useTranslation();
596
+ const item = useWatch({
597
+ control,
598
+ name: `prices.${index}`
599
+ });
600
+ if (item.eq == null && item.gt == null && item.lt == null) {
601
+ return null;
602
+ }
603
+ return /* @__PURE__ */ jsxs("div", { children: [
604
+ /* @__PURE__ */ jsx2(Divider, { variant: "dashed" }),
605
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-x-1 px-3 pt-3", children: [
606
+ /* @__PURE__ */ jsx2(Text, { size: "small", leading: "compact", weight: "plus", children: t2(
607
+ "stockLocations.shippingOptions.conditionalPrices.customRules.label"
608
+ ) }),
609
+ /* @__PURE__ */ jsx2(
610
+ Tooltip,
611
+ {
612
+ content: t2(
613
+ "stockLocations.shippingOptions.conditionalPrices.customRules.tooltip"
614
+ ),
615
+ children: /* @__PURE__ */ jsx2(InformationCircleSolid, { className: "text-ui-fg-muted" })
616
+ }
617
+ )
618
+ ] }),
619
+ /* @__PURE__ */ jsxs("div", { children: [
620
+ item.eq != null && /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-2 items-start gap-x-2 p-3", children: [
621
+ /* @__PURE__ */ jsx2("div", { className: "flex h-8 items-center", children: /* @__PURE__ */ jsx2(Label, { weight: "plus", size: "small", children: t2(
622
+ "stockLocations.shippingOptions.conditionalPrices.customRules.eq"
623
+ ) }) }),
624
+ /* @__PURE__ */ jsx2(
625
+ CurrencyInput,
626
+ {
627
+ className: "bg-ui-bg-field-component hover:bg-ui-bg-field-component-hover focus-visible:bg-ui-bg-field-component-hover",
628
+ symbol: currency.symbol_native,
629
+ code: currency.code,
630
+ value: item.eq,
631
+ disabled: true
632
+ }
633
+ )
634
+ ] }),
635
+ item.gt != null && /* @__PURE__ */ jsxs(Fragment, { children: [
636
+ /* @__PURE__ */ jsx2(Divider, { variant: "dashed" }),
637
+ /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-2 items-start gap-x-2 p-3", children: [
638
+ /* @__PURE__ */ jsx2("div", { className: "flex h-8 items-center", children: /* @__PURE__ */ jsx2(Label, { weight: "plus", size: "small", children: t2(
639
+ "stockLocations.shippingOptions.conditionalPrices.customRules.gt"
640
+ ) }) }),
641
+ /* @__PURE__ */ jsx2(
642
+ CurrencyInput,
643
+ {
644
+ className: "bg-ui-bg-field-component hover:bg-ui-bg-field-component-hover focus-visible:bg-ui-bg-field-component-hover",
645
+ symbol: currency.symbol_native,
646
+ code: currency.code,
647
+ value: item.gt,
648
+ disabled: true
649
+ }
650
+ )
651
+ ] })
652
+ ] }),
653
+ item.lt != null && /* @__PURE__ */ jsxs(Fragment, { children: [
654
+ /* @__PURE__ */ jsx2(Divider, { variant: "dashed" }),
655
+ /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-2 items-start gap-x-2 p-3", children: [
656
+ /* @__PURE__ */ jsx2("div", { className: "flex h-8 items-center", children: /* @__PURE__ */ jsx2(Label, { weight: "plus", size: "small", children: t2(
657
+ "stockLocations.shippingOptions.conditionalPrices.customRules.lt"
658
+ ) }) }),
659
+ /* @__PURE__ */ jsx2(
660
+ CurrencyInput,
661
+ {
662
+ className: "bg-ui-bg-field-component hover:bg-ui-bg-field-component-hover focus-visible:bg-ui-bg-field-component-hover",
663
+ symbol: currency.symbol_native,
664
+ code: currency.code,
665
+ value: item.lt,
666
+ disabled: true
667
+ }
668
+ )
669
+ ] })
670
+ ] })
671
+ ] })
672
+ ] });
673
+ };
674
+ var AmountDisplay = ({
675
+ index,
676
+ currency,
677
+ control
678
+ }) => {
679
+ const amount = useWatch({
680
+ control,
681
+ name: `prices.${index}.amount`
682
+ });
683
+ if (amount === "" || amount === void 0) {
684
+ return /* @__PURE__ */ jsx2(Text, { size: "small", weight: "plus", children: "-" });
685
+ }
686
+ const castAmount = castNumber(amount);
687
+ return /* @__PURE__ */ jsx2(Text, { size: "small", weight: "plus", children: getLocaleAmount(castAmount, currency.code) });
688
+ };
689
+ var ConditionContainer = ({ children }) => /* @__PURE__ */ jsx2("div", { className: "text-ui-fg-subtle txt-small flex flex-wrap items-center gap-1.5", children });
690
+ var ConditionDisplay = ({
691
+ index,
692
+ currency,
693
+ control
694
+ }) => {
695
+ const { t: t2, i18n } = useTranslation();
696
+ const gte = useWatch({
697
+ control,
698
+ name: `prices.${index}.gte`
699
+ });
700
+ const lte = useWatch({
701
+ control,
702
+ name: `prices.${index}.lte`
703
+ });
704
+ const renderCondition = () => {
705
+ const castGte = gte ? castNumber(gte) : void 0;
706
+ const castLte = lte ? castNumber(lte) : void 0;
707
+ if (!castGte && !castLte) {
708
+ return null;
709
+ }
710
+ if (castGte && !castLte) {
711
+ return /* @__PURE__ */ jsx2(ConditionContainer, { children: /* @__PURE__ */ jsx2(
712
+ Trans,
713
+ {
714
+ i18n,
715
+ i18nKey: "stockLocations.shippingOptions.conditionalPrices.summaries.greaterThan",
716
+ components: [
717
+ /* @__PURE__ */ jsx2(Badge, { size: "2xsmall" }, "attribute"),
718
+ /* @__PURE__ */ jsx2(Badge, { size: "2xsmall" }, "gte")
719
+ ],
720
+ values: {
721
+ attribute: t2(
722
+ "stockLocations.shippingOptions.conditionalPrices.attributes.cartItemTotal"
723
+ ),
724
+ gte: getLocaleAmount(castGte, currency.code)
725
+ }
726
+ }
727
+ ) });
728
+ }
729
+ if (!castGte && castLte) {
730
+ return /* @__PURE__ */ jsx2(ConditionContainer, { children: /* @__PURE__ */ jsx2(
731
+ Trans,
732
+ {
733
+ i18n,
734
+ i18nKey: "stockLocations.shippingOptions.conditionalPrices.summaries.lessThan",
735
+ components: [
736
+ /* @__PURE__ */ jsx2(Badge, { size: "2xsmall" }, "attribute"),
737
+ /* @__PURE__ */ jsx2(Badge, { size: "2xsmall" }, "lte")
738
+ ],
739
+ values: {
740
+ attribute: t2(
741
+ "stockLocations.shippingOptions.conditionalPrices.attributes.cartItemTotal"
742
+ ),
743
+ lte: getLocaleAmount(castLte, currency.code)
744
+ }
745
+ }
746
+ ) });
747
+ }
748
+ if (castGte && castLte) {
749
+ return /* @__PURE__ */ jsx2(ConditionContainer, { children: /* @__PURE__ */ jsx2(
750
+ Trans,
751
+ {
752
+ i18n,
753
+ i18nKey: "stockLocations.shippingOptions.conditionalPrices.summaries.range",
754
+ components: [
755
+ /* @__PURE__ */ jsx2(Badge, { size: "2xsmall" }, "attribute"),
756
+ /* @__PURE__ */ jsx2(Badge, { size: "2xsmall" }, "gte"),
757
+ /* @__PURE__ */ jsx2(Badge, { size: "2xsmall" }, "lte")
758
+ ],
759
+ values: {
760
+ attribute: t2(
761
+ "stockLocations.shippingOptions.conditionalPrices.attributes.cartItemTotal"
762
+ ),
763
+ gte: getLocaleAmount(castGte, currency.code),
764
+ lte: getLocaleAmount(castLte, currency.code)
765
+ }
766
+ }
767
+ ) });
768
+ }
769
+ return null;
770
+ };
771
+ return renderCondition();
772
+ };
773
+
774
+ // src/pages/locations/common/hooks/use-shipping-option-price-columns.tsx
775
+ import { useMemo } from "react";
776
+ import { useTranslation as useTranslation2 } from "react-i18next";
777
+
778
+ // src/pages/locations/common/components/shipping-option-price-cell/shipping-option-price-cell.tsx
779
+ import { ArrowsPointingOut, CircleSliders } from "@medusajs/icons";
780
+ import { clx as clx2 } from "@medusajs/ui";
781
+ import { useCallback, useEffect, useRef as useRef2, useState as useState2 } from "react";
782
+ import CurrencyInput2, {
783
+ formatValue as formatValue2
784
+ } from "react-currency-input-field";
785
+ import {
786
+ Controller,
787
+ useWatch as useWatch2
788
+ } from "react-hook-form";
789
+ import { jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
790
+ var ShippingOptionPriceCell = ({
791
+ context,
792
+ code,
793
+ header,
794
+ type
795
+ }) => {
796
+ const [symbolWidth, setSymbolWidth] = useState2(0);
797
+ const measuredRef = useCallback((node) => {
798
+ if (node) {
799
+ const width = node.offsetWidth;
800
+ setSymbolWidth(width);
801
+ }
802
+ }, []);
803
+ const { field, control, renderProps } = useDataGridCell({
804
+ context
805
+ });
806
+ const errorProps = useDataGridCellError({ context });
807
+ const { container, input } = renderProps;
808
+ const { isAnchor } = container;
809
+ const currency = currencies[code.toUpperCase()];
810
+ return /* @__PURE__ */ jsx3(
811
+ Controller,
812
+ {
813
+ control,
814
+ name: field,
815
+ render: ({ field: props }) => {
816
+ return /* @__PURE__ */ jsx3(
817
+ DataGridCellContainer,
818
+ {
819
+ ...container,
820
+ ...errorProps,
821
+ outerComponent: /* @__PURE__ */ jsx3(
822
+ OuterComponent,
823
+ {
824
+ header,
825
+ isAnchor,
826
+ field,
827
+ control,
828
+ symbolWidth,
829
+ type,
830
+ currency
831
+ }
832
+ ),
833
+ children: /* @__PURE__ */ jsx3(
834
+ Inner,
835
+ {
836
+ field: props,
837
+ inputProps: input,
838
+ currencyInfo: currency,
839
+ onMeasureSymbol: measuredRef
840
+ }
841
+ )
842
+ }
843
+ );
844
+ }
845
+ }
846
+ );
847
+ };
848
+ var OuterComponent = ({
849
+ isAnchor,
850
+ header,
851
+ field,
852
+ control,
853
+ symbolWidth,
854
+ type,
855
+ currency
856
+ }) => {
857
+ const { onOpenConditionalPricesModal } = useShippingOptionPrice();
858
+ const buttonRef = useRef2(null);
859
+ const name = getCustomShippingOptionPriceFieldName(field, type);
860
+ const price = useWatch2({ control, name });
861
+ useEffect(() => {
862
+ const handleKeyDown = (e) => {
863
+ if (isAnchor && (e.metaKey || e.ctrlKey) && e.key.toLowerCase() === "b") {
864
+ e.preventDefault();
865
+ buttonRef.current?.click();
866
+ }
867
+ };
868
+ document.addEventListener("keydown", handleKeyDown);
869
+ return () => document.removeEventListener("keydown", handleKeyDown);
870
+ }, [isAnchor]);
871
+ return /* @__PURE__ */ jsxs2(
872
+ "div",
873
+ {
874
+ className: "absolute inset-y-0 z-[3] flex w-fit items-center justify-center",
875
+ style: {
876
+ left: symbolWidth ? `${symbolWidth + 16 + 4}px` : void 0
877
+ },
878
+ children: [
879
+ price?.length > 0 && !isAnchor && /* @__PURE__ */ jsx3("div", { className: "flex size-[15px] items-center justify-center group-hover/container:hidden", children: /* @__PURE__ */ jsx3(CircleSliders, { className: "text-ui-fg-interactive" }) }),
880
+ /* @__PURE__ */ jsx3(
881
+ "button",
882
+ {
883
+ ref: buttonRef,
884
+ type: "button",
885
+ className: clx2(
886
+ "hover:text-ui-fg-subtle text-ui-fg-muted transition-fg hidden size-[15px] items-center justify-center rounded-md bg-transparent group-hover/container:flex",
887
+ { flex: isAnchor }
888
+ ),
889
+ onClick: () => onOpenConditionalPricesModal({
890
+ type,
891
+ field,
892
+ currency,
893
+ name: header
894
+ }),
895
+ children: /* @__PURE__ */ jsx3(ArrowsPointingOut, {})
896
+ }
897
+ )
898
+ ]
899
+ }
900
+ );
901
+ };
902
+ var Inner = ({
903
+ field,
904
+ onMeasureSymbol,
905
+ inputProps,
906
+ currencyInfo
907
+ }) => {
908
+ const { value, onChange: _, onBlur, ref, ...rest } = field;
909
+ const {
910
+ ref: inputRef,
911
+ onBlur: onInputBlur,
912
+ onFocus,
913
+ onChange,
914
+ ...attributes
915
+ } = inputProps;
916
+ const formatter = useCallback(
917
+ (value2) => {
918
+ const ensuredValue = typeof value2 === "number" ? value2.toString() : value2 || "";
919
+ return formatValue2({
920
+ value: ensuredValue,
921
+ decimalScale: currencyInfo.decimal_digits,
922
+ disableGroupSeparators: true,
923
+ decimalSeparator: "."
924
+ });
925
+ },
926
+ [currencyInfo]
927
+ );
928
+ const [localValue, setLocalValue] = useState2(value || "");
929
+ const handleValueChange = (value2, _name, _values) => {
930
+ if (!value2) {
931
+ setLocalValue("");
932
+ return;
933
+ }
934
+ setLocalValue(value2);
935
+ };
936
+ useEffect(() => {
937
+ let update = value;
938
+ if (!isNaN(Number(value))) {
939
+ update = formatter(update);
940
+ }
941
+ setLocalValue(update);
942
+ }, [value, formatter]);
943
+ const combinedRed = useCombinedRefs(inputRef, ref);
944
+ return /* @__PURE__ */ jsxs2("div", { className: "relative flex size-full items-center", children: [
945
+ /* @__PURE__ */ jsx3(
946
+ "span",
947
+ {
948
+ className: "txt-compact-small text-ui-fg-muted pointer-events-none absolute left-0 w-fit min-w-4",
949
+ "aria-hidden": true,
950
+ ref: onMeasureSymbol,
951
+ children: currencyInfo.symbol_native
952
+ }
953
+ ),
954
+ /* @__PURE__ */ jsx3(
955
+ CurrencyInput2,
956
+ {
957
+ ...rest,
958
+ ...attributes,
959
+ ref: combinedRed,
960
+ className: "txt-compact-small w-full flex-1 cursor-default appearance-none bg-transparent pl-[60px] text-right outline-none",
961
+ value: localValue || void 0,
962
+ onValueChange: handleValueChange,
963
+ formatValueOnBlur: true,
964
+ onBlur: () => {
965
+ onBlur();
966
+ onInputBlur();
967
+ onChange(localValue, value);
968
+ },
969
+ onFocus,
970
+ decimalScale: currencyInfo.decimal_digits,
971
+ decimalsLimit: currencyInfo.decimal_digits,
972
+ autoComplete: "off",
973
+ tabIndex: -1
974
+ }
975
+ )
976
+ ] });
977
+ };
978
+
979
+ // src/pages/locations/common/hooks/use-shipping-option-price-columns.tsx
980
+ import { jsx as jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
981
+ var columnHelper = createDataGridHelper();
982
+ var useShippingOptionPriceColumns = ({
983
+ name,
984
+ currencies: currencies2 = [],
985
+ regions = [],
986
+ pricePreferences = []
987
+ }) => {
988
+ const { t: t2 } = useTranslation2();
989
+ return useMemo(() => {
990
+ return [
991
+ columnHelper.column({
992
+ id: "name",
993
+ name: t2("fields.name"),
994
+ disableHiding: true,
995
+ header: t2("fields.name"),
996
+ cell: (context) => {
997
+ return /* @__PURE__ */ jsx4(DataGrid.ReadonlyCell, { context, children: name });
998
+ }
999
+ }),
1000
+ ...createDataGridPriceColumns({
1001
+ currencies: currencies2,
1002
+ regions,
1003
+ pricePreferences,
1004
+ getFieldName: (context, value) => {
1005
+ if (context.column.id?.startsWith("currency_prices")) {
1006
+ return `currency_prices.${value}`;
1007
+ }
1008
+ return `region_prices.${value}`;
1009
+ },
1010
+ t: t2
1011
+ })
1012
+ ];
1013
+ }, [t2, currencies2, regions, pricePreferences, name]);
1014
+ };
1015
+ var createDataGridPriceColumns = ({
1016
+ currencies: currencies2,
1017
+ regions,
1018
+ pricePreferences,
1019
+ getFieldName,
1020
+ t: t2
1021
+ }) => {
1022
+ const columnHelper2 = createDataGridHelper();
1023
+ return [
1024
+ ...currencies2?.map((currency) => {
1025
+ const preference = pricePreferences?.find(
1026
+ (p) => p.attribute === "currency_code" && p.value === currency
1027
+ );
1028
+ const translatedCurrencyName = t2("fields.priceTemplate", {
1029
+ regionOrCurrency: currency.toUpperCase()
1030
+ });
1031
+ return columnHelper2.column({
1032
+ id: `currency_prices.${currency}`,
1033
+ name: t2("fields.priceTemplate", {
1034
+ regionOrCurrency: currency.toUpperCase()
1035
+ }),
1036
+ field: (context) => {
1037
+ return getFieldName(context, currency);
1038
+ },
1039
+ type: "number",
1040
+ header: () => /* @__PURE__ */ jsxs3("div", { className: "flex w-full items-center justify-between gap-3", children: [
1041
+ /* @__PURE__ */ jsx4("span", { className: "truncate", title: translatedCurrencyName, children: translatedCurrencyName }),
1042
+ /* @__PURE__ */ jsx4(IncludesTaxTooltip, { includesTax: preference?.is_tax_inclusive })
1043
+ ] }),
1044
+ cell: (context) => {
1045
+ return /* @__PURE__ */ jsx4(
1046
+ ShippingOptionPriceCell,
1047
+ {
1048
+ type: "currency",
1049
+ header: translatedCurrencyName,
1050
+ code: currency,
1051
+ context
1052
+ }
1053
+ );
1054
+ }
1055
+ });
1056
+ }) ?? [],
1057
+ ...regions?.map((region) => {
1058
+ const preference = pricePreferences?.find(
1059
+ (p) => p.attribute === "region_id" && p.value === region.id
1060
+ );
1061
+ const translatedRegionName = t2("fields.priceTemplate", {
1062
+ regionOrCurrency: region.name
1063
+ });
1064
+ return columnHelper2.column({
1065
+ id: `region_prices.${region.id}`,
1066
+ name: t2("fields.priceTemplate", {
1067
+ regionOrCurrency: region.name
1068
+ }),
1069
+ field: (context) => {
1070
+ return getFieldName(context, region.id);
1071
+ },
1072
+ type: "number",
1073
+ header: () => /* @__PURE__ */ jsxs3("div", { className: "flex w-full items-center justify-between gap-3", children: [
1074
+ /* @__PURE__ */ jsx4("span", { className: "truncate", title: translatedRegionName, children: translatedRegionName }),
1075
+ /* @__PURE__ */ jsx4(IncludesTaxTooltip, { includesTax: preference?.is_tax_inclusive })
1076
+ ] }),
1077
+ cell: (context) => {
1078
+ const currency = currencies2?.find((c) => c === region.currency_code);
1079
+ if (!currency) {
1080
+ return null;
1081
+ }
1082
+ return /* @__PURE__ */ jsx4(
1083
+ ShippingOptionPriceCell,
1084
+ {
1085
+ type: "region",
1086
+ header: translatedRegionName,
1087
+ code: region.currency_code,
1088
+ context
1089
+ }
1090
+ );
1091
+ }
1092
+ });
1093
+ }) ?? []
1094
+ ];
1095
+ };
1096
+
1097
+ export {
1098
+ buildShippingOptionPriceRules,
1099
+ ConditionalPriceSchema,
1100
+ UpdateConditionalPriceSchema,
1101
+ ShippingOptionPriceProvider,
1102
+ ConditionalPriceForm,
1103
+ useShippingOptionPriceColumns
1104
+ };