@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,1093 @@
1
+ import {
2
+ useSelectedParams
3
+ } from "./chunk-YWWUOGJA.js";
4
+ import {
5
+ useDate
6
+ } from "./chunk-UZWFZMOX.js";
7
+
8
+ // src/components/table/data-table/data-table-filter/data-table-filter.tsx
9
+ import { Button, clx as clx6 } from "@medusajs/ui";
10
+ import { Popover as RadixPopover6 } from "radix-ui";
11
+ import { useCallback as useCallback3, useEffect as useEffect3, useMemo as useMemo2, useRef, useState as useState5 } from "react";
12
+ import { useSearchParams } from "react-router-dom";
13
+ import { useTranslation as useTranslation5 } from "react-i18next";
14
+
15
+ // src/components/table/data-table/data-table-filter/context.tsx
16
+ import { createContext, useContext } from "react";
17
+ var DataTableFilterContext = createContext(null);
18
+ var useDataTableFilterContext = () => {
19
+ const ctx = useContext(DataTableFilterContext);
20
+ if (!ctx) {
21
+ throw new Error(
22
+ "useDataTableFacetedFilterContext must be used within a DataTableFacetedFilter"
23
+ );
24
+ }
25
+ return ctx;
26
+ };
27
+
28
+ // src/components/table/data-table/data-table-filter/date-filter.tsx
29
+ import { EllipseMiniSolid } from "@medusajs/icons";
30
+ import { DatePicker, Text as Text2, clx as clx2 } from "@medusajs/ui";
31
+ import isEqual from "lodash.isequal";
32
+ import { Popover as RadixPopover2 } from "radix-ui";
33
+ import { useMemo, useState } from "react";
34
+ import { t } from "i18next";
35
+ import { useTranslation as useTranslation2 } from "react-i18next";
36
+
37
+ // src/components/table/data-table/data-table-filter/filter-chip.tsx
38
+ import { XMarkMini } from "@medusajs/icons";
39
+ import { Text, clx } from "@medusajs/ui";
40
+ import { Popover as RadixPopover } from "radix-ui";
41
+ import { useTranslation } from "react-i18next";
42
+ import { jsx, jsxs } from "react/jsx-runtime";
43
+ var FilterChip = ({
44
+ hadPreviousValue,
45
+ label,
46
+ value,
47
+ readonly,
48
+ hasOperator,
49
+ onRemove
50
+ }) => {
51
+ const { t: t2 } = useTranslation();
52
+ const handleRemove = (e) => {
53
+ e.stopPropagation();
54
+ onRemove();
55
+ };
56
+ return /* @__PURE__ */ jsxs("div", { className: "bg-ui-bg-field transition-fg shadow-borders-base text-ui-fg-subtle flex cursor-default select-none items-stretch overflow-hidden rounded-md", children: [
57
+ !hadPreviousValue && /* @__PURE__ */ jsx(RadixPopover.Anchor, {}),
58
+ /* @__PURE__ */ jsx(
59
+ "div",
60
+ {
61
+ className: clx(
62
+ "flex items-center justify-center whitespace-nowrap px-2 py-1",
63
+ {
64
+ "border-r": !!(value || hadPreviousValue)
65
+ }
66
+ ),
67
+ children: /* @__PURE__ */ jsx(Text, { size: "small", weight: "plus", leading: "compact", children: label })
68
+ }
69
+ ),
70
+ /* @__PURE__ */ jsxs("div", { className: "flex w-full items-center overflow-hidden", children: [
71
+ hasOperator && !!(value || hadPreviousValue) && /* @__PURE__ */ jsx("div", { className: "border-r p-1 px-2", children: /* @__PURE__ */ jsx(
72
+ Text,
73
+ {
74
+ size: "small",
75
+ weight: "plus",
76
+ leading: "compact",
77
+ className: "text-ui-fg-muted",
78
+ children: t2("general.is")
79
+ }
80
+ ) }),
81
+ !!(value || hadPreviousValue) && /* @__PURE__ */ jsx(
82
+ RadixPopover.Trigger,
83
+ {
84
+ asChild: true,
85
+ className: clx(
86
+ "flex-1 cursor-pointer overflow-hidden border-r p-1 px-2",
87
+ {
88
+ "hover:bg-ui-bg-field-hover": !readonly,
89
+ "data-[state=open]:bg-ui-bg-field-hover": !readonly
90
+ }
91
+ ),
92
+ children: /* @__PURE__ */ jsx(
93
+ Text,
94
+ {
95
+ size: "small",
96
+ leading: "compact",
97
+ weight: "plus",
98
+ className: "truncate text-nowrap",
99
+ children: value || "\xA0"
100
+ }
101
+ )
102
+ }
103
+ )
104
+ ] }),
105
+ !readonly && !!(value || hadPreviousValue) && /* @__PURE__ */ jsx(
106
+ "button",
107
+ {
108
+ onClick: handleRemove,
109
+ className: clx(
110
+ "text-ui-fg-muted transition-fg flex items-center justify-center p-1",
111
+ "hover:bg-ui-bg-subtle-hover",
112
+ "active:bg-ui-bg-subtle-pressed active:text-ui-fg-base"
113
+ ),
114
+ children: /* @__PURE__ */ jsx(XMarkMini, {})
115
+ }
116
+ )
117
+ ] });
118
+ };
119
+ var filter_chip_default = FilterChip;
120
+
121
+ // src/components/table/data-table/data-table-filter/date-filter.tsx
122
+ import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
123
+ var DateFilter = ({
124
+ filter,
125
+ prefix,
126
+ readonly,
127
+ openOnMount
128
+ }) => {
129
+ const [open, setOpen] = useState(openOnMount);
130
+ const [showCustom, setShowCustom] = useState(false);
131
+ const { getFullDate } = useDate();
132
+ const { key, label } = filter;
133
+ const { removeFilter } = useDataTableFilterContext();
134
+ const selectedParams = useSelectedParams({ param: key, prefix });
135
+ const presets = usePresets();
136
+ const handleSelectPreset = (value) => {
137
+ selectedParams.add(JSON.stringify(value));
138
+ setShowCustom(false);
139
+ };
140
+ const handleSelectCustom = () => {
141
+ selectedParams.delete();
142
+ setShowCustom((prev) => !prev);
143
+ };
144
+ const currentValue = selectedParams.get();
145
+ const currentDateComparison = parseDateComparison(currentValue);
146
+ const customStartValue = getDateFromComparison(currentDateComparison, "$gte");
147
+ const customEndValue = getDateFromComparison(currentDateComparison, "$lte");
148
+ const handleCustomDateChange = (value, pos) => {
149
+ const key2 = pos === "start" ? "$gte" : "$lte";
150
+ let dateValue = value;
151
+ if (key2 === "$lte" && value) {
152
+ dateValue = new Date(value.getTime());
153
+ dateValue.setHours(23, 59, 59, 999);
154
+ }
155
+ selectedParams.add(
156
+ JSON.stringify({
157
+ ...currentDateComparison || {},
158
+ [key2]: dateValue?.toISOString()
159
+ })
160
+ );
161
+ };
162
+ const getDisplayValueFromPresets = () => {
163
+ const preset = presets.find((p) => isEqual(p.value, currentDateComparison));
164
+ return preset?.label;
165
+ };
166
+ const formatCustomDate = (date) => {
167
+ return date ? getFullDate({ date }) : void 0;
168
+ };
169
+ const getCustomDisplayValue = () => {
170
+ const formattedDates = [customStartValue, customEndValue].map(
171
+ formatCustomDate
172
+ );
173
+ return formattedDates.filter(Boolean).join(" - ");
174
+ };
175
+ const displayValue = getDisplayValueFromPresets() || getCustomDisplayValue();
176
+ const [previousValue, setPreviousValue] = useState(
177
+ displayValue
178
+ );
179
+ const handleRemove = () => {
180
+ selectedParams.delete();
181
+ removeFilter(key);
182
+ };
183
+ let timeoutId = null;
184
+ const handleOpenChange = (open2) => {
185
+ setOpen(open2);
186
+ setPreviousValue(displayValue);
187
+ if (timeoutId) {
188
+ clearTimeout(timeoutId);
189
+ }
190
+ if (!open2 && !currentValue.length) {
191
+ timeoutId = setTimeout(() => {
192
+ removeFilter(key);
193
+ }, 200);
194
+ }
195
+ };
196
+ return /* @__PURE__ */ jsxs2(RadixPopover2.Root, { modal: true, open, onOpenChange: handleOpenChange, children: [
197
+ /* @__PURE__ */ jsx2(
198
+ filter_chip_default,
199
+ {
200
+ hadPreviousValue: !!previousValue,
201
+ label,
202
+ value: displayValue,
203
+ onRemove: handleRemove,
204
+ readonly
205
+ }
206
+ ),
207
+ !readonly && /* @__PURE__ */ jsx2(RadixPopover2.Portal, { children: /* @__PURE__ */ jsxs2(
208
+ RadixPopover2.Content,
209
+ {
210
+ "data-name": "date_filter_content",
211
+ align: "start",
212
+ sideOffset: 8,
213
+ collisionPadding: 24,
214
+ className: clx2(
215
+ "bg-ui-bg-base text-ui-fg-base shadow-elevation-flyout h-full max-h-[var(--radix-popper-available-height)] w-[300px] overflow-auto rounded-lg"
216
+ ),
217
+ onInteractOutside: (e) => {
218
+ if (e.target instanceof HTMLElement) {
219
+ if (e.target.attributes.getNamedItem("data-name")?.value === "filters_menu_content") {
220
+ e.preventDefault();
221
+ }
222
+ }
223
+ },
224
+ children: [
225
+ /* @__PURE__ */ jsxs2("ul", { className: "w-full p-1", children: [
226
+ presets.map((preset) => {
227
+ const isSelected = selectedParams.get().includes(JSON.stringify(preset.value));
228
+ return /* @__PURE__ */ jsx2("li", { children: /* @__PURE__ */ jsxs2(
229
+ "button",
230
+ {
231
+ className: "bg-ui-bg-base hover:bg-ui-bg-base-hover focus-visible:bg-ui-bg-base-pressed text-ui-fg-base data-[disabled]:text-ui-fg-disabled txt-compact-small relative flex w-full cursor-pointer select-none items-center rounded-md px-2 py-1.5 outline-none transition-colors data-[disabled]:pointer-events-none",
232
+ type: "button",
233
+ onClick: () => {
234
+ handleSelectPreset(preset.value);
235
+ },
236
+ children: [
237
+ /* @__PURE__ */ jsx2(
238
+ "div",
239
+ {
240
+ className: clx2(
241
+ "transition-fg flex h-5 w-5 items-center justify-center",
242
+ {
243
+ "[&_svg]:invisible": !isSelected
244
+ }
245
+ ),
246
+ children: /* @__PURE__ */ jsx2(EllipseMiniSolid, {})
247
+ }
248
+ ),
249
+ preset.label
250
+ ]
251
+ }
252
+ ) }, preset.label);
253
+ }),
254
+ /* @__PURE__ */ jsx2("li", { children: /* @__PURE__ */ jsxs2(
255
+ "button",
256
+ {
257
+ className: "bg-ui-bg-base hover:bg-ui-bg-base-hover focus-visible:bg-ui-bg-base-pressed text-ui-fg-base data-[disabled]:text-ui-fg-disabled txt-compact-small relative flex w-full cursor-pointer select-none items-center rounded-md px-2 py-1.5 outline-none transition-colors data-[disabled]:pointer-events-none",
258
+ type: "button",
259
+ onClick: handleSelectCustom,
260
+ children: [
261
+ /* @__PURE__ */ jsx2(
262
+ "div",
263
+ {
264
+ className: clx2(
265
+ "transition-fg flex h-5 w-5 items-center justify-center",
266
+ {
267
+ "[&_svg]:invisible": !showCustom
268
+ }
269
+ ),
270
+ children: /* @__PURE__ */ jsx2(EllipseMiniSolid, {})
271
+ }
272
+ ),
273
+ t("filters.date.custom")
274
+ ]
275
+ }
276
+ ) })
277
+ ] }),
278
+ showCustom && /* @__PURE__ */ jsxs2("div", { className: "border-t px-1 pb-3 pt-1", children: [
279
+ /* @__PURE__ */ jsxs2("div", { children: [
280
+ /* @__PURE__ */ jsx2("div", { className: "px-2 py-1", children: /* @__PURE__ */ jsx2(Text2, { size: "xsmall", leading: "compact", weight: "plus", children: t("filters.date.from") }) }),
281
+ /* @__PURE__ */ jsx2("div", { className: "px-2 py-1", children: /* @__PURE__ */ jsx2(
282
+ DatePicker,
283
+ {
284
+ modal: true,
285
+ maxValue: customEndValue,
286
+ value: customStartValue,
287
+ onChange: (d) => handleCustomDateChange(d, "start")
288
+ }
289
+ ) })
290
+ ] }),
291
+ /* @__PURE__ */ jsxs2("div", { children: [
292
+ /* @__PURE__ */ jsx2("div", { className: "px-2 py-1", children: /* @__PURE__ */ jsx2(Text2, { size: "xsmall", leading: "compact", weight: "plus", children: t("filters.date.to") }) }),
293
+ /* @__PURE__ */ jsx2("div", { className: "px-2 py-1", children: /* @__PURE__ */ jsx2(
294
+ DatePicker,
295
+ {
296
+ modal: true,
297
+ minValue: customStartValue,
298
+ value: customEndValue || void 0,
299
+ onChange: (d) => {
300
+ handleCustomDateChange(d, "end");
301
+ }
302
+ }
303
+ ) })
304
+ ] })
305
+ ] })
306
+ ]
307
+ }
308
+ ) })
309
+ ] });
310
+ };
311
+ var today = /* @__PURE__ */ new Date();
312
+ today.setHours(0, 0, 0, 0);
313
+ var usePresets = () => {
314
+ const { t: t2 } = useTranslation2();
315
+ return useMemo(
316
+ () => [
317
+ {
318
+ label: t2("filters.date.today"),
319
+ value: {
320
+ $gte: today.toISOString()
321
+ }
322
+ },
323
+ {
324
+ label: t2("filters.date.lastSevenDays"),
325
+ value: {
326
+ $gte: new Date(
327
+ today.getTime() - 7 * 24 * 60 * 60 * 1e3
328
+ ).toISOString()
329
+ // 7 days ago
330
+ }
331
+ },
332
+ {
333
+ label: t2("filters.date.lastThirtyDays"),
334
+ value: {
335
+ $gte: new Date(
336
+ today.getTime() - 30 * 24 * 60 * 60 * 1e3
337
+ ).toISOString()
338
+ // 30 days ago
339
+ }
340
+ },
341
+ {
342
+ label: t2("filters.date.lastNinetyDays"),
343
+ value: {
344
+ $gte: new Date(
345
+ today.getTime() - 90 * 24 * 60 * 60 * 1e3
346
+ ).toISOString()
347
+ // 90 days ago
348
+ }
349
+ },
350
+ {
351
+ label: t2("filters.date.lastTwelveMonths"),
352
+ value: {
353
+ $gte: new Date(
354
+ today.getTime() - 365 * 24 * 60 * 60 * 1e3
355
+ ).toISOString()
356
+ // 365 days ago
357
+ }
358
+ }
359
+ ],
360
+ [t2]
361
+ );
362
+ };
363
+ var parseDateComparison = (value) => {
364
+ return value?.length ? JSON.parse(value.join(",")) : null;
365
+ };
366
+ var getDateFromComparison = (comparison, key) => {
367
+ if (!comparison?.[key]) {
368
+ return void 0;
369
+ }
370
+ const compareDate = new Date(comparison[key]);
371
+ if (key === "$lte") {
372
+ compareDate.setHours(0, 0, 0, 0);
373
+ }
374
+ return compareDate;
375
+ };
376
+
377
+ // src/components/table/data-table/data-table-filter/number-filter.tsx
378
+ import { EllipseMiniSolid as EllipseMiniSolid2 } from "@medusajs/icons";
379
+ import { Input, Label, clx as clx3 } from "@medusajs/ui";
380
+ import debounce from "lodash.debounce";
381
+ import {
382
+ Popover as RadixPopover3,
383
+ RadioGroup as RadixRadioGroup
384
+ } from "radix-ui";
385
+ import { useCallback, useEffect, useState as useState2 } from "react";
386
+ import { useTranslation as useTranslation3 } from "react-i18next";
387
+ import { jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
388
+ var NumberFilter = ({
389
+ filter,
390
+ prefix,
391
+ readonly,
392
+ openOnMount
393
+ }) => {
394
+ const { t: t2 } = useTranslation3();
395
+ const [open, setOpen] = useState2(openOnMount);
396
+ const { key, label } = filter;
397
+ const { removeFilter } = useDataTableFilterContext();
398
+ const selectedParams = useSelectedParams({
399
+ param: key,
400
+ prefix,
401
+ multiple: false
402
+ });
403
+ const currentValue = selectedParams.get();
404
+ const [previousValue, setPreviousValue] = useState2(
405
+ currentValue
406
+ );
407
+ const [operator, setOperator] = useState2(
408
+ getOperator(currentValue)
409
+ );
410
+ const debouncedOnChange = useCallback(
411
+ debounce((e, operator2) => {
412
+ const value = e.target.value;
413
+ const curr = JSON.parse(currentValue?.join(",") || "{}");
414
+ const isCurrentNumber = !isNaN(Number(curr));
415
+ const handleValue = (operator3) => {
416
+ if (!value && isCurrentNumber) {
417
+ selectedParams.delete();
418
+ return;
419
+ }
420
+ if (curr && !value) {
421
+ delete curr[operator3];
422
+ selectedParams.add(JSON.stringify(curr));
423
+ return;
424
+ }
425
+ if (!curr) {
426
+ selectedParams.add(JSON.stringify({ [operator3]: value }));
427
+ return;
428
+ }
429
+ selectedParams.add(JSON.stringify({ ...curr, [operator3]: value }));
430
+ };
431
+ switch (operator2) {
432
+ case "eq":
433
+ if (!value) {
434
+ selectedParams.delete();
435
+ } else {
436
+ selectedParams.add(value);
437
+ }
438
+ break;
439
+ case "lt":
440
+ case "gt":
441
+ handleValue(operator2);
442
+ break;
443
+ }
444
+ }, 500),
445
+ [selectedParams, currentValue]
446
+ );
447
+ useEffect(() => {
448
+ return () => {
449
+ debouncedOnChange.cancel();
450
+ };
451
+ }, [debouncedOnChange]);
452
+ let timeoutId = null;
453
+ const handleOpenChange = (open2) => {
454
+ setOpen(open2);
455
+ setPreviousValue(currentValue);
456
+ if (timeoutId) {
457
+ clearTimeout(timeoutId);
458
+ }
459
+ if (!open2 && !currentValue.length) {
460
+ timeoutId = setTimeout(() => {
461
+ removeFilter(key);
462
+ }, 200);
463
+ }
464
+ };
465
+ const handleRemove = () => {
466
+ selectedParams.delete();
467
+ removeFilter(key);
468
+ };
469
+ const operators = [
470
+ {
471
+ operator: "exact",
472
+ label: t2("filters.compare.exact")
473
+ },
474
+ {
475
+ operator: "range",
476
+ label: t2("filters.compare.range")
477
+ }
478
+ ];
479
+ const GT_KEY = `${key}-gt`;
480
+ const LT_KEY = `${key}-lt`;
481
+ const EQ_KEY = key;
482
+ const displayValue = parseDisplayValue(currentValue, t2);
483
+ const previousDisplayValue = parseDisplayValue(previousValue, t2);
484
+ return /* @__PURE__ */ jsxs3(RadixPopover3.Root, { modal: true, open, onOpenChange: handleOpenChange, children: [
485
+ /* @__PURE__ */ jsx3(
486
+ filter_chip_default,
487
+ {
488
+ hasOperator: true,
489
+ hadPreviousValue: !!previousDisplayValue,
490
+ label,
491
+ value: displayValue,
492
+ onRemove: handleRemove,
493
+ readonly
494
+ }
495
+ ),
496
+ !readonly && /* @__PURE__ */ jsx3(RadixPopover3.Portal, { children: /* @__PURE__ */ jsxs3(
497
+ RadixPopover3.Content,
498
+ {
499
+ "data-name": "number_filter_content",
500
+ align: "start",
501
+ sideOffset: 8,
502
+ collisionPadding: 24,
503
+ className: clx3(
504
+ "bg-ui-bg-base text-ui-fg-base shadow-elevation-flyout max-h-[var(--radix-popper-available-height)] w-[300px] divide-y overflow-y-auto rounded-lg outline-none"
505
+ ),
506
+ onInteractOutside: (e) => {
507
+ if (e.target instanceof HTMLElement) {
508
+ if (e.target.attributes.getNamedItem("data-name")?.value === "filters_menu_content") {
509
+ e.preventDefault();
510
+ }
511
+ }
512
+ },
513
+ children: [
514
+ /* @__PURE__ */ jsx3("div", { className: "p-1", children: /* @__PURE__ */ jsx3(
515
+ RadixRadioGroup.Root,
516
+ {
517
+ value: operator,
518
+ onValueChange: (val) => setOperator(val),
519
+ className: "flex flex-col items-start",
520
+ orientation: "vertical",
521
+ autoFocus: true,
522
+ children: operators.map((o) => /* @__PURE__ */ jsxs3(
523
+ RadixRadioGroup.Item,
524
+ {
525
+ value: o.operator,
526
+ className: "txt-compact-small hover:bg-ui-bg-base-hover focus-visible:bg-ui-bg-base-hover active:bg-ui-bg-base-pressed transition-fg grid w-full grid-cols-[20px_1fr] gap-2 rounded-[4px] px-2 py-1.5 text-left outline-none",
527
+ children: [
528
+ /* @__PURE__ */ jsx3("div", { className: "size-5", children: /* @__PURE__ */ jsx3(RadixRadioGroup.Indicator, { children: /* @__PURE__ */ jsx3(EllipseMiniSolid2, {}) }) }),
529
+ /* @__PURE__ */ jsx3("span", { className: "w-full", children: o.label })
530
+ ]
531
+ },
532
+ o.operator
533
+ ))
534
+ }
535
+ ) }),
536
+ /* @__PURE__ */ jsx3("div", { children: operator === "range" ? /* @__PURE__ */ jsxs3("div", { className: "px-1 pb-3 pt-1", children: [
537
+ /* @__PURE__ */ jsx3("div", { className: "px-2 py-1.5", children: /* @__PURE__ */ jsx3(Label, { size: "xsmall", weight: "plus", htmlFor: GT_KEY, children: t2("filters.compare.greaterThan") }) }),
538
+ /* @__PURE__ */ jsx3("div", { className: "px-2 py-0.5", children: /* @__PURE__ */ jsx3(
539
+ Input,
540
+ {
541
+ name: GT_KEY,
542
+ size: "small",
543
+ type: "number",
544
+ defaultValue: getValue(currentValue, "gt"),
545
+ onChange: (e) => debouncedOnChange(e, "gt")
546
+ }
547
+ ) }),
548
+ /* @__PURE__ */ jsx3("div", { className: "px-2 py-1.5", children: /* @__PURE__ */ jsx3(Label, { size: "xsmall", weight: "plus", htmlFor: LT_KEY, children: t2("filters.compare.lessThan") }) }),
549
+ /* @__PURE__ */ jsx3("div", { className: "px-2 py-0.5", children: /* @__PURE__ */ jsx3(
550
+ Input,
551
+ {
552
+ name: LT_KEY,
553
+ size: "small",
554
+ type: "number",
555
+ defaultValue: getValue(currentValue, "lt"),
556
+ onChange: (e) => debouncedOnChange(e, "lt")
557
+ }
558
+ ) })
559
+ ] }, "range") : /* @__PURE__ */ jsxs3("div", { className: "px-1 pb-3 pt-1", children: [
560
+ /* @__PURE__ */ jsx3("div", { className: "px-2 py-1.5", children: /* @__PURE__ */ jsx3(Label, { size: "xsmall", weight: "plus", htmlFor: EQ_KEY, children: label }) }),
561
+ /* @__PURE__ */ jsx3("div", { className: "px-2 py-0.5", children: /* @__PURE__ */ jsx3(
562
+ Input,
563
+ {
564
+ name: EQ_KEY,
565
+ size: "small",
566
+ type: "number",
567
+ defaultValue: getValue(currentValue, "eq"),
568
+ onChange: (e) => debouncedOnChange(e, "eq")
569
+ }
570
+ ) })
571
+ ] }, "exact") })
572
+ ]
573
+ }
574
+ ) })
575
+ ] });
576
+ };
577
+ var parseDisplayValue = (value, t2) => {
578
+ const parsed = JSON.parse(value?.join(",") || "{}");
579
+ let displayValue = "";
580
+ if (typeof parsed === "object") {
581
+ const parts = [];
582
+ if (parsed.gt) {
583
+ parts.push(t2("filters.compare.greaterThanLabel", { value: parsed.gt }));
584
+ }
585
+ if (parsed.lt) {
586
+ parts.push(
587
+ t2("filters.compare.lessThanLabel", {
588
+ value: parsed.lt
589
+ })
590
+ );
591
+ }
592
+ displayValue = parts.join(` ${t2("filters.compare.andLabel")} `);
593
+ }
594
+ if (typeof parsed === "number") {
595
+ displayValue = parsed.toString();
596
+ }
597
+ return displayValue;
598
+ };
599
+ var parseValue = (value) => {
600
+ if (!value) {
601
+ return void 0;
602
+ }
603
+ const val = value.join(",");
604
+ if (!val) {
605
+ return void 0;
606
+ }
607
+ return JSON.parse(val);
608
+ };
609
+ var getValue = (value, key) => {
610
+ const parsed = parseValue(value);
611
+ if (typeof parsed === "object") {
612
+ return parsed[key];
613
+ }
614
+ if (typeof parsed === "number" && key === "eq") {
615
+ return parsed;
616
+ }
617
+ return void 0;
618
+ };
619
+ var getOperator = (value) => {
620
+ const parsed = parseValue(value);
621
+ return typeof parsed === "object" ? "range" : "exact";
622
+ };
623
+
624
+ // src/components/table/data-table/data-table-filter/select-filter.tsx
625
+ import { CheckMini, EllipseMiniSolid as EllipseMiniSolid3, XMarkMini as XMarkMini2 } from "@medusajs/icons";
626
+ import { clx as clx4 } from "@medusajs/ui";
627
+ import { Command } from "cmdk";
628
+ import { Popover as RadixPopover4 } from "radix-ui";
629
+ import { useState as useState3 } from "react";
630
+ import { useTranslation as useTranslation4 } from "react-i18next";
631
+ import { jsx as jsx4, jsxs as jsxs4 } from "react/jsx-runtime";
632
+ var SelectFilter = ({
633
+ filter,
634
+ prefix,
635
+ readonly,
636
+ multiple,
637
+ searchable,
638
+ options,
639
+ openOnMount
640
+ }) => {
641
+ const [open, setOpen] = useState3(openOnMount);
642
+ const [search, setSearch] = useState3("");
643
+ const [searchRef, setSearchRef] = useState3(null);
644
+ const { t: t2 } = useTranslation4();
645
+ const { removeFilter } = useDataTableFilterContext();
646
+ const { key, label } = filter;
647
+ const selectedParams = useSelectedParams({ param: key, prefix, multiple });
648
+ const currentValue = selectedParams.get();
649
+ const labelValues = currentValue.map((v) => options.find((o) => o.value === v)?.label).filter(Boolean);
650
+ const [previousValue, setPreviousValue] = useState3(labelValues);
651
+ const handleRemove = () => {
652
+ selectedParams.delete();
653
+ removeFilter(key);
654
+ };
655
+ let timeoutId = null;
656
+ const handleOpenChange = (open2) => {
657
+ setOpen(open2);
658
+ setPreviousValue(labelValues);
659
+ if (timeoutId) {
660
+ clearTimeout(timeoutId);
661
+ }
662
+ if (!open2 && !currentValue.length) {
663
+ timeoutId = setTimeout(() => {
664
+ removeFilter(key);
665
+ }, 200);
666
+ }
667
+ };
668
+ const handleClearSearch = () => {
669
+ setSearch("");
670
+ if (searchRef) {
671
+ searchRef.focus();
672
+ }
673
+ };
674
+ const handleSelect = (value) => {
675
+ const isSelected = selectedParams.get().includes(String(value));
676
+ if (isSelected) {
677
+ selectedParams.delete(String(value));
678
+ } else {
679
+ selectedParams.add(String(value));
680
+ }
681
+ };
682
+ const normalizedValues = labelValues ? Array.isArray(labelValues) ? labelValues : [labelValues] : null;
683
+ const normalizedPrev = previousValue ? Array.isArray(previousValue) ? previousValue : [previousValue] : null;
684
+ return /* @__PURE__ */ jsxs4(RadixPopover4.Root, { modal: true, open, onOpenChange: handleOpenChange, children: [
685
+ /* @__PURE__ */ jsx4(
686
+ filter_chip_default,
687
+ {
688
+ hasOperator: true,
689
+ hadPreviousValue: !!normalizedPrev?.length,
690
+ readonly,
691
+ label,
692
+ value: normalizedValues?.join(", "),
693
+ onRemove: handleRemove
694
+ }
695
+ ),
696
+ !readonly && /* @__PURE__ */ jsx4(RadixPopover4.Portal, { children: /* @__PURE__ */ jsx4(
697
+ RadixPopover4.Content,
698
+ {
699
+ hideWhenDetached: true,
700
+ align: "start",
701
+ sideOffset: 8,
702
+ collisionPadding: 8,
703
+ className: clx4(
704
+ "bg-ui-bg-base text-ui-fg-base shadow-elevation-flyout z-[1] h-full max-h-[200px] w-[300px] overflow-hidden rounded-lg outline-none"
705
+ ),
706
+ onInteractOutside: (e) => {
707
+ if (e.target instanceof HTMLElement) {
708
+ if (e.target.attributes.getNamedItem("data-name")?.value === "filters_menu_content") {
709
+ e.preventDefault();
710
+ e.stopPropagation();
711
+ }
712
+ }
713
+ },
714
+ children: /* @__PURE__ */ jsxs4(Command, { className: "h-full", children: [
715
+ searchable && /* @__PURE__ */ jsx4("div", { className: "border-b p-1", children: /* @__PURE__ */ jsxs4("div", { className: "grid grid-cols-[1fr_20px] gap-x-2 rounded-md px-2 py-1", children: [
716
+ /* @__PURE__ */ jsx4(
717
+ Command.Input,
718
+ {
719
+ ref: setSearchRef,
720
+ value: search,
721
+ onValueChange: setSearch,
722
+ className: "txt-compact-small placeholder:text-ui-fg-muted bg-transparent outline-none",
723
+ placeholder: "Search"
724
+ }
725
+ ),
726
+ /* @__PURE__ */ jsx4("div", { className: "flex h-5 w-5 items-center justify-center", children: /* @__PURE__ */ jsx4(
727
+ "button",
728
+ {
729
+ disabled: !search,
730
+ onClick: handleClearSearch,
731
+ className: clx4(
732
+ "transition-fg text-ui-fg-muted focus-visible:bg-ui-bg-base-pressed rounded-md outline-none",
733
+ {
734
+ invisible: !search
735
+ }
736
+ ),
737
+ children: /* @__PURE__ */ jsx4(XMarkMini2, {})
738
+ }
739
+ ) })
740
+ ] }) }),
741
+ /* @__PURE__ */ jsx4(Command.Empty, { className: "txt-compact-small flex items-center justify-center p-1", children: /* @__PURE__ */ jsx4("span", { className: "w-full px-2 py-1 text-center", children: t2("general.noResultsTitle") }) }),
742
+ /* @__PURE__ */ jsx4(Command.List, { className: "h-full max-h-[163px] min-h-[0] overflow-auto p-1 outline-none", children: options.map((option) => {
743
+ const isSelected = selectedParams.get().includes(String(option.value));
744
+ return /* @__PURE__ */ jsxs4(
745
+ Command.Item,
746
+ {
747
+ className: "bg-ui-bg-base hover:bg-ui-bg-base-hover aria-selected:bg-ui-bg-base-pressed focus-visible:bg-ui-bg-base-pressed text-ui-fg-base data-[disabled]:text-ui-fg-disabled txt-compact-small relative flex cursor-pointer select-none items-center gap-x-2 rounded-md px-2 py-1.5 outline-none transition-colors data-[disabled]:pointer-events-none",
748
+ value: option.label,
749
+ onSelect: () => {
750
+ handleSelect(option.value);
751
+ },
752
+ children: [
753
+ /* @__PURE__ */ jsx4(
754
+ "div",
755
+ {
756
+ className: clx4(
757
+ "transition-fg flex h-5 w-5 items-center justify-center",
758
+ {
759
+ "[&_svg]:invisible": !isSelected
760
+ }
761
+ ),
762
+ children: multiple ? /* @__PURE__ */ jsx4(CheckMini, {}) : /* @__PURE__ */ jsx4(EllipseMiniSolid3, {})
763
+ }
764
+ ),
765
+ option.label
766
+ ]
767
+ },
768
+ String(option.value)
769
+ );
770
+ }) })
771
+ ] })
772
+ }
773
+ ) })
774
+ ] });
775
+ };
776
+
777
+ // src/components/table/data-table/data-table-filter/string-filter.tsx
778
+ import { Input as Input2, Label as Label2, clx as clx5 } from "@medusajs/ui";
779
+ import debounce2 from "lodash.debounce";
780
+ import { Popover as RadixPopover5 } from "radix-ui";
781
+ import { useCallback as useCallback2, useEffect as useEffect2, useState as useState4 } from "react";
782
+ import { jsx as jsx5, jsxs as jsxs5 } from "react/jsx-runtime";
783
+ var StringFilter = ({
784
+ filter,
785
+ prefix,
786
+ readonly,
787
+ openOnMount
788
+ }) => {
789
+ const [open, setOpen] = useState4(openOnMount);
790
+ const { key, label } = filter;
791
+ const { removeFilter } = useDataTableFilterContext();
792
+ const selectedParams = useSelectedParams({ param: key, prefix });
793
+ const query = selectedParams.get();
794
+ const [previousValue, setPreviousValue] = useState4(
795
+ query?.[0]
796
+ );
797
+ const debouncedOnChange = useCallback2(
798
+ debounce2((e) => {
799
+ const value = e.target.value;
800
+ if (!value) {
801
+ selectedParams.delete();
802
+ } else {
803
+ selectedParams.add(value);
804
+ }
805
+ }, 500),
806
+ [selectedParams]
807
+ );
808
+ useEffect2(() => {
809
+ return () => {
810
+ debouncedOnChange.cancel();
811
+ };
812
+ }, [debouncedOnChange]);
813
+ let timeoutId = null;
814
+ const handleOpenChange = (open2) => {
815
+ setOpen(open2);
816
+ setPreviousValue(query?.[0]);
817
+ if (timeoutId) {
818
+ clearTimeout(timeoutId);
819
+ }
820
+ if (!open2 && !query.length) {
821
+ timeoutId = setTimeout(() => {
822
+ removeFilter(key);
823
+ }, 200);
824
+ }
825
+ };
826
+ const handleRemove = () => {
827
+ selectedParams.delete();
828
+ removeFilter(key);
829
+ };
830
+ return /* @__PURE__ */ jsxs5(RadixPopover5.Root, { modal: true, open, onOpenChange: handleOpenChange, children: [
831
+ /* @__PURE__ */ jsx5(
832
+ filter_chip_default,
833
+ {
834
+ hasOperator: true,
835
+ hadPreviousValue: !!previousValue,
836
+ label,
837
+ value: query?.[0],
838
+ onRemove: handleRemove,
839
+ readonly
840
+ }
841
+ ),
842
+ !readonly && /* @__PURE__ */ jsx5(RadixPopover5.Portal, { children: /* @__PURE__ */ jsx5(
843
+ RadixPopover5.Content,
844
+ {
845
+ hideWhenDetached: true,
846
+ align: "start",
847
+ sideOffset: 8,
848
+ collisionPadding: 8,
849
+ className: clx5(
850
+ "bg-ui-bg-base text-ui-fg-base shadow-elevation-flyout z-[1] h-full max-h-[200px] w-[300px] overflow-hidden rounded-lg outline-none"
851
+ ),
852
+ onInteractOutside: (e) => {
853
+ if (e.target instanceof HTMLElement) {
854
+ if (e.target.attributes.getNamedItem("data-name")?.value === "filters_menu_content") {
855
+ e.preventDefault();
856
+ e.stopPropagation();
857
+ }
858
+ }
859
+ },
860
+ children: /* @__PURE__ */ jsxs5("div", { className: "px-1 pb-3 pt-1", children: [
861
+ /* @__PURE__ */ jsx5("div", { className: "px-2 py-1.5", children: /* @__PURE__ */ jsx5(Label2, { size: "xsmall", weight: "plus", htmlFor: key, children: label }) }),
862
+ /* @__PURE__ */ jsx5("div", { className: "px-2 py-0.5", children: /* @__PURE__ */ jsx5(
863
+ Input2,
864
+ {
865
+ name: key,
866
+ size: "small",
867
+ defaultValue: query?.[0] || void 0,
868
+ onChange: debouncedOnChange
869
+ }
870
+ ) })
871
+ ] })
872
+ }
873
+ ) })
874
+ ] });
875
+ };
876
+
877
+ // src/components/table/data-table/data-table-filter/data-table-filter.tsx
878
+ import { jsx as jsx6, jsxs as jsxs6 } from "react/jsx-runtime";
879
+ var DataTableFilter = ({
880
+ filters,
881
+ readonly,
882
+ prefix
883
+ }) => {
884
+ const { t: t2 } = useTranslation5();
885
+ const [searchParams] = useSearchParams();
886
+ const [open, setOpen] = useState5(false);
887
+ const [activeFilters, setActiveFilters] = useState5(
888
+ getInitialFilters({ searchParams, filters, prefix })
889
+ );
890
+ const availableFilters = filters.filter(
891
+ (f) => !activeFilters.find((af) => af.key === f.key)
892
+ );
893
+ const initialMount = useRef(true);
894
+ useEffect3(() => {
895
+ if (initialMount.current) {
896
+ const params = new URLSearchParams(searchParams);
897
+ filters.forEach((filter) => {
898
+ const key = prefix ? `${prefix}_${filter.key}` : filter.key;
899
+ const value = params.get(key);
900
+ if (value && !activeFilters.find((af) => af.key === filter.key)) {
901
+ if (filter.type === "select") {
902
+ setActiveFilters((prev) => [
903
+ ...prev,
904
+ {
905
+ ...filter,
906
+ multiple: filter.multiple,
907
+ options: filter.options,
908
+ openOnMount: false
909
+ }
910
+ ]);
911
+ } else {
912
+ setActiveFilters((prev) => [
913
+ ...prev,
914
+ { ...filter, openOnMount: false }
915
+ ]);
916
+ }
917
+ }
918
+ });
919
+ }
920
+ initialMount.current = false;
921
+ }, [activeFilters, filters, prefix, searchParams]);
922
+ const addFilter = (filter) => {
923
+ setOpen(false);
924
+ setActiveFilters((prev) => [...prev, { ...filter, openOnMount: true }]);
925
+ };
926
+ const removeFilter = useCallback3((key) => {
927
+ setActiveFilters((prev) => prev.filter((f) => f.key !== key));
928
+ }, []);
929
+ const removeAllFilters = useCallback3(() => {
930
+ setActiveFilters([]);
931
+ }, []);
932
+ return /* @__PURE__ */ jsx6(
933
+ DataTableFilterContext.Provider,
934
+ {
935
+ value: useMemo2(
936
+ () => ({
937
+ removeFilter,
938
+ removeAllFilters
939
+ }),
940
+ [removeAllFilters, removeFilter]
941
+ ),
942
+ children: /* @__PURE__ */ jsxs6("div", { className: "max-w-2/3 flex flex-wrap items-center gap-2", children: [
943
+ activeFilters.map((filter) => {
944
+ switch (filter.type) {
945
+ case "select":
946
+ return /* @__PURE__ */ jsx6(
947
+ SelectFilter,
948
+ {
949
+ filter,
950
+ prefix,
951
+ readonly,
952
+ options: filter.options,
953
+ multiple: filter.multiple,
954
+ searchable: filter.searchable,
955
+ openOnMount: filter.openOnMount
956
+ },
957
+ filter.key
958
+ );
959
+ case "date":
960
+ return /* @__PURE__ */ jsx6(
961
+ DateFilter,
962
+ {
963
+ filter,
964
+ prefix,
965
+ readonly,
966
+ openOnMount: filter.openOnMount
967
+ },
968
+ filter.key
969
+ );
970
+ case "string":
971
+ return /* @__PURE__ */ jsx6(
972
+ StringFilter,
973
+ {
974
+ filter,
975
+ prefix,
976
+ readonly,
977
+ openOnMount: filter.openOnMount
978
+ },
979
+ filter.key
980
+ );
981
+ case "number":
982
+ return /* @__PURE__ */ jsx6(
983
+ NumberFilter,
984
+ {
985
+ filter,
986
+ prefix,
987
+ readonly,
988
+ openOnMount: filter.openOnMount
989
+ },
990
+ filter.key
991
+ );
992
+ default:
993
+ break;
994
+ }
995
+ }),
996
+ !readonly && availableFilters.length > 0 && /* @__PURE__ */ jsxs6(RadixPopover6.Root, { modal: true, open, onOpenChange: setOpen, children: [
997
+ /* @__PURE__ */ jsx6(RadixPopover6.Trigger, { asChild: true, id: "filters_menu_trigger", children: /* @__PURE__ */ jsx6(Button, { size: "small", variant: "secondary", children: t2("filters.addFilter") }) }),
998
+ /* @__PURE__ */ jsx6(RadixPopover6.Portal, { children: /* @__PURE__ */ jsx6(
999
+ RadixPopover6.Content,
1000
+ {
1001
+ className: clx6(
1002
+ "bg-ui-bg-base text-ui-fg-base shadow-elevation-flyout z-[1] h-full max-h-[200px] w-[300px] overflow-auto rounded-lg p-1 outline-none"
1003
+ ),
1004
+ "data-name": "filters_menu_content",
1005
+ align: "start",
1006
+ sideOffset: 8,
1007
+ collisionPadding: 8,
1008
+ onCloseAutoFocus: (e) => {
1009
+ const hasOpenFilter = activeFilters.find(
1010
+ (filter) => filter.openOnMount
1011
+ );
1012
+ if (hasOpenFilter) {
1013
+ e.preventDefault();
1014
+ }
1015
+ },
1016
+ children: availableFilters.map((filter) => {
1017
+ return /* @__PURE__ */ jsx6(
1018
+ "div",
1019
+ {
1020
+ className: "bg-ui-bg-base hover:bg-ui-bg-base-hover focus-visible:bg-ui-bg-base-pressed text-ui-fg-base data-[disabled]:text-ui-fg-disabled txt-compact-small relative flex cursor-pointer select-none items-center rounded-md px-2 py-1.5 outline-none transition-colors data-[disabled]:pointer-events-none",
1021
+ role: "menuitem",
1022
+ onClick: () => {
1023
+ addFilter(filter);
1024
+ },
1025
+ children: filter.label
1026
+ },
1027
+ filter.key
1028
+ );
1029
+ })
1030
+ }
1031
+ ) })
1032
+ ] }),
1033
+ !readonly && activeFilters.length > 0 && /* @__PURE__ */ jsx6(ClearAllFilters, { filters, prefix })
1034
+ ] })
1035
+ }
1036
+ );
1037
+ };
1038
+ var ClearAllFilters = ({ filters, prefix }) => {
1039
+ const { removeAllFilters } = useDataTableFilterContext();
1040
+ const [_, setSearchParams] = useSearchParams();
1041
+ const handleRemoveAll = () => {
1042
+ setSearchParams((prev) => {
1043
+ const newValues = new URLSearchParams(prev);
1044
+ filters.forEach((filter) => {
1045
+ newValues.delete(prefix ? `${prefix}_${filter.key}` : filter.key);
1046
+ });
1047
+ return newValues;
1048
+ });
1049
+ removeAllFilters();
1050
+ };
1051
+ return /* @__PURE__ */ jsx6(
1052
+ "button",
1053
+ {
1054
+ type: "button",
1055
+ onClick: handleRemoveAll,
1056
+ className: clx6(
1057
+ "text-ui-fg-muted transition-fg txt-compact-small-plus rounded-md px-2 py-1",
1058
+ "hover:text-ui-fg-subtle",
1059
+ "focus-visible:shadow-borders-focus"
1060
+ ),
1061
+ children: "Clear all"
1062
+ }
1063
+ );
1064
+ };
1065
+ var getInitialFilters = ({
1066
+ searchParams,
1067
+ filters,
1068
+ prefix
1069
+ }) => {
1070
+ const params = new URLSearchParams(searchParams);
1071
+ const activeFilters = [];
1072
+ filters.forEach((filter) => {
1073
+ const key = prefix ? `${prefix}_${filter.key}` : filter.key;
1074
+ const value = params.get(key);
1075
+ if (value) {
1076
+ if (filter.type === "select") {
1077
+ activeFilters.push({
1078
+ ...filter,
1079
+ multiple: filter.multiple,
1080
+ options: filter.options,
1081
+ openOnMount: false
1082
+ });
1083
+ } else {
1084
+ activeFilters.push({ ...filter, openOnMount: false });
1085
+ }
1086
+ }
1087
+ });
1088
+ return activeFilters;
1089
+ };
1090
+
1091
+ export {
1092
+ DataTableFilter
1093
+ };