@mercurjs/vendor 2.1.2 → 2.2.0-canary.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (230) hide show
  1. package/dist/{[id]-PDGHF5J2.js → [id]-2DQX3YWJ.js} +35 -31
  2. package/dist/{[id]-TO6KT3ZE.js → [id]-4OBGG7OH.js} +23 -21
  3. package/dist/{[id]-X4DDKOMQ.js → [id]-4PKMKNJH.js} +26 -22
  4. package/dist/[id]-4STHLE4N.js +1442 -0
  5. package/dist/{[id]-4VCL3MMM.js → [id]-5UFO4RKF.js} +26 -22
  6. package/dist/{[id]-H3C3ZSC6.js → [id]-6MXCVV5J.js} +25 -21
  7. package/dist/{[id]-6PXEWRG7.js → [id]-7BAKUHUO.js} +13 -13
  8. package/dist/{[id]-7RUAH3TI.js → [id]-K2CT7BXQ.js} +4 -4
  9. package/dist/{[id]-3G5G7ZFV.js → [id]-KJIQTFGE.js} +22 -20
  10. package/dist/{[id]-INOFZHL7.js → [id]-LTNOHLGE.js} +16 -16
  11. package/dist/{[id]-B3LHVQM5.js → [id]-PGIT5WJC.js} +25 -21
  12. package/dist/{[id]-T2ROPEGY.js → [id]-Y2ISCLUD.js} +7 -7
  13. package/dist/{[id]-Y7GAMNC5.js → [id]-ZCMSBEVM.js} +4 -4
  14. package/dist/{[id]-UTKO3VG4.js → [id]-ZWWMJAKI.js} +9 -9
  15. package/dist/{[location_id]-D55RQOXT.js → [location_id]-NUBXDDJC.js} +9 -9
  16. package/dist/{[province_id]-OFH2ZOFQ.js → [province_id]-H2QAPKVH.js} +20 -18
  17. package/dist/{add-C6OX5C54.js → add-GZJ7OMV3.js} +34 -30
  18. package/dist/add-KQAABWCR.js +392 -0
  19. package/dist/{add-customer-groups-PJRJUWS2.js → add-customer-groups-RAHCP67U.js} +16 -14
  20. package/dist/{add-products-INOLNPO6.js → add-products-TSVQHC67.js} +23 -19
  21. package/dist/{add-promotions-AHDOP52Q.js → add-promotions-CSCAJZHV.js} +7 -7
  22. package/dist/{add-to-campaign-HL6NGRR4.js → add-to-campaign-DLP7PSQB.js} +4 -4
  23. package/dist/{address-KRENKSLP.js → address-7F5SN7PV.js} +17 -15
  24. package/dist/{adjust-inventory-H4EUP7J3.js → adjust-inventory-SZF4W7LR.js} +2 -2
  25. package/dist/{allocate-items-SUCUZU4D.js → allocate-items-SDFS5GYN.js} +6 -6
  26. package/dist/{areas-UUMZDXLX.js → areas-7Y6BVS5A.js} +8 -8
  27. package/dist/{attributes-CALEHJJG.js → attributes-MBZ76HVZ.js} +3 -3
  28. package/dist/{breadcrumb-BS7Y5OKF.js → breadcrumb-65SAGUUL.js} +2 -2
  29. package/dist/{breadcrumb-6W2VP3OZ.js → breadcrumb-7PURSRTT.js} +13 -11
  30. package/dist/{breadcrumb-M5Z5WA6I.js → breadcrumb-EDPMEN2P.js} +2 -2
  31. package/dist/breadcrumb-FLDHJRVY.js +26 -0
  32. package/dist/{breadcrumb-VNNZ3TTW.js → breadcrumb-HND5FFWC.js} +2 -2
  33. package/dist/{breadcrumb-OIGGCB3L.js → breadcrumb-QV2IAX7N.js} +8 -2
  34. package/dist/{breadcrumb-KQSFIXQ4.js → breadcrumb-VWELWDB2.js} +1 -1
  35. package/dist/{breadcrumb-IG7VZGW2.js → breadcrumb-WRG4SITG.js} +13 -11
  36. package/dist/{breadcrumb-TW5JEOYS.js → breadcrumb-ZCG2RHIU.js} +12 -10
  37. package/dist/{campaigns-HS6MIO7X.js → campaigns-L6ULR6KR.js} +5 -5
  38. package/dist/{categories-PKWR3FM3.js → categories-FUZQKBXV.js} +6 -6
  39. package/dist/{chunk-PDQSPKG5.js → chunk-2DXNJURE.js} +1 -1
  40. package/dist/{chunk-ZZO3INVE.js → chunk-2MDGYHWN.js} +128 -25
  41. package/dist/{chunk-5UD4P6YL.js → chunk-2USXZSTK.js} +4 -4
  42. package/dist/{chunk-6SBMVLJ2.js → chunk-36L54SQQ.js} +1 -1
  43. package/dist/chunk-37G4Y5I7.js +101 -0
  44. package/dist/{chunk-5M3SL4UZ.js → chunk-3CVJA5UE.js} +9 -104
  45. package/dist/chunk-432S4FGR.js +0 -0
  46. package/dist/{chunk-KQGVSLUI.js → chunk-44RQ5PTN.js} +1803 -914
  47. package/dist/{chunk-Y2QI7KWS.js → chunk-4LVP635F.js} +408 -664
  48. package/dist/{chunk-UL4O5M4S.js → chunk-4S6XGIC6.js} +1 -18
  49. package/dist/chunk-5ZVWOCAC.js +426 -0
  50. package/dist/{chunk-WITQNQXN.js → chunk-6BS2AVGJ.js} +3 -3
  51. package/dist/{chunk-ZYOXKUKZ.js → chunk-7LBY5JLV.js} +1 -1
  52. package/dist/chunk-7SLWXX6L.js +811 -0
  53. package/dist/{chunk-LQYMBSRQ.js → chunk-AIZM66CG.js} +1 -1
  54. package/dist/{chunk-IZ5RG5XI.js → chunk-AJLGY3LQ.js} +1 -21
  55. package/dist/{chunk-WFE6CT6M.js → chunk-AVOIZO63.js} +21 -77
  56. package/dist/chunk-C2FG3SX2.js +68 -0
  57. package/dist/chunk-CFRWIQIZ.js +43 -0
  58. package/dist/{chunk-WNVEMFIK.js → chunk-CNMY5HVP.js} +2 -2
  59. package/dist/{chunk-BLVJAKBA.js → chunk-DDH7ULIQ.js} +1 -1
  60. package/dist/chunk-DIW4GRTI.js +503 -0
  61. package/dist/{chunk-JQP7MOFH.js → chunk-DVEKYLPV.js} +1 -1
  62. package/dist/{chunk-QX45GVAL.js → chunk-EIUYXS7E.js} +8 -8
  63. package/dist/{chunk-N7OVXN72.js → chunk-EROX26D4.js} +1 -1
  64. package/dist/{chunk-2RHAI7WK.js → chunk-EZ3JOAUS.js} +1 -1
  65. package/dist/{chunk-HFRHHT36.js → chunk-FDR22JMM.js} +63 -8
  66. package/dist/{chunk-PEKANQ3T.js → chunk-FJUUGFXL.js} +2 -2
  67. package/dist/{chunk-3CK6OINO.js → chunk-GDWBOQI5.js} +3 -5
  68. package/dist/{chunk-47SXTGLN.js → chunk-GXIAIITP.js} +63 -200
  69. package/dist/{chunk-4MFMCZEJ.js → chunk-H6LZ77GX.js} +2 -2
  70. package/dist/chunk-IWLDKGYQ.js +95 -0
  71. package/dist/chunk-K4X324QP.js +18 -0
  72. package/dist/{chunk-VQ5EKDA3.js → chunk-KD7RYE6R.js} +1 -1
  73. package/dist/chunk-LEWA4BPH.js +18 -0
  74. package/dist/{chunk-7Q5SDEK7.js → chunk-LNM2D2I4.js} +4 -4
  75. package/dist/{chunk-LPOAVK6Y.js → chunk-LQD232FW.js} +47 -12
  76. package/dist/{chunk-OXXL4WQU.js → chunk-M7KSRYRI.js} +5 -5
  77. package/dist/chunk-MBFHMJHN.js +2063 -0
  78. package/dist/{chunk-I2IKYOZX.js → chunk-N4MVIBFM.js} +19 -19
  79. package/dist/{chunk-PCMNEUMV.js → chunk-NHFEY3EI.js} +1 -1
  80. package/dist/{chunk-RTAWYMQP.js → chunk-NJMNYS7G.js} +1 -1
  81. package/dist/{chunk-HGQTL7NX.js → chunk-NSZQERLE.js} +2 -2
  82. package/dist/{chunk-RL7SFZOF.js → chunk-NXNJQZCP.js} +1 -1
  83. package/dist/{chunk-CNLP35S7.js → chunk-OD3U3TX4.js} +16 -31
  84. package/dist/{chunk-D2MA5TAP.js → chunk-PBD36EZJ.js} +2 -2
  85. package/dist/{chunk-4ZGFODSC.js → chunk-PZ44R4AS.js} +1 -1
  86. package/dist/{chunk-ZEVYT6IX.js → chunk-QNNJN4H6.js} +116 -286
  87. package/dist/{chunk-WBI7FEGI.js → chunk-QS6RWIBL.js} +1 -1
  88. package/dist/chunk-QT7YFHCA.js +198 -0
  89. package/dist/{chunk-GYV6SKY7.js → chunk-QXLRABYH.js} +4 -6
  90. package/dist/chunk-RXZFEFNV.js +73 -0
  91. package/dist/{chunk-RUE5BPC2.js → chunk-RZLN2Q6G.js} +1 -1
  92. package/dist/{chunk-NYDJTWRL.js → chunk-SGR4DMCW.js} +4 -4
  93. package/dist/chunk-T6LHVNWO.js +27 -0
  94. package/dist/{chunk-DKQ4XMSN.js → chunk-TNVYTMBL.js} +6 -6
  95. package/dist/{chunk-32RYSB2V.js → chunk-TODJFRLH.js} +2 -2
  96. package/dist/{chunk-P3ZTO6T2.js → chunk-UAF2S447.js} +1 -1
  97. package/dist/{chunk-J6BRLL3F.js → chunk-UCQKXXLD.js} +2 -2
  98. package/dist/chunk-UORPTGV2.js +114 -0
  99. package/dist/{chunk-CYTNBXWF.js → chunk-UX7J5NZG.js} +9 -9
  100. package/dist/{chunk-X4FLOQ45.js → chunk-WBHFU3MG.js} +2 -2
  101. package/dist/chunk-WLT7K7K7.js +63 -0
  102. package/dist/{chunk-4URLUCTD.js → chunk-WUPJADSO.js} +2 -2
  103. package/dist/{chunk-ITI54CII.js → chunk-X4INVIWL.js} +5 -5
  104. package/dist/{chunk-PTW7JNAP.js → chunk-XFQJU6FA.js} +4 -4
  105. package/dist/{collections-DJZI2RM2.js → collections-3OPR3DSD.js} +22 -19
  106. package/dist/{configuration-RHPIO2QT.js → configuration-C4IGBNXH.js} +1 -1
  107. package/dist/{configuration-GN3TO77H.js → configuration-UOSNP45I.js} +3 -3
  108. package/dist/{create-3EK5CNNX.js → create-2MQFQHTE.js} +33 -29
  109. package/dist/{create-YO55Z3YD.js → create-2PCLG7TV.js} +32 -38
  110. package/dist/{create-G4T2PAJH.js → create-35MYQPVM.js} +23 -21
  111. package/dist/{create-HKJVSFB7.js → create-BJ4OO6LS.js} +23 -21
  112. package/dist/create-DDPIXCXT.js +210 -0
  113. package/dist/{create-7S7CZWEN.js → create-GB3ZA4LH.js} +4 -4
  114. package/dist/create-JDGM5KXE.js +193 -0
  115. package/dist/{create-IDVCZHIX.js → create-ORXYT74H.js} +14 -12
  116. package/dist/{create-GHM7OTCR.js → create-R7K3ECN6.js} +1 -1
  117. package/dist/{create-D6EW3EWC.js → create-SFU3W3ZH.js} +1 -1
  118. package/dist/{create-3ZVXEPX5.js → create-SQ3FYMGI.js} +25 -21
  119. package/dist/{create-33TRLASX.js → create-UPYB65PD.js} +1 -1
  120. package/dist/{create-OCFPLNNY.js → create-UQNYMVBM.js} +6 -6
  121. package/dist/{create-OGLPDVOI.js → create-XAD5NMSJ.js} +37 -35
  122. package/dist/{create-KGYL7FBM.js → create-XVHOCZHJ.js} +1 -1
  123. package/dist/{create-4AE3VTWN.js → create-YBF4YGWG.js} +2 -2
  124. package/dist/{customers-6ZLE65UX.js → customers-ETXVNM3G.js} +5 -5
  125. package/dist/{edit-QBISX7D3.js → edit-2Q7TRUTL.js} +14 -12
  126. package/dist/{edit-B5B3XKDM.js → edit-522DG3BY.js} +1 -1
  127. package/dist/{edit-ATXE6CM5.js → edit-C4OCKQVU.js} +1 -1
  128. package/dist/{edit-IR6V2IDN.js → edit-FKXIQ6ZI.js} +19 -17
  129. package/dist/{edit-4HZHLYI3.js → edit-GQNIINRR.js} +1 -1
  130. package/dist/{edit-LRRJTHV2.js → edit-KAKVPHZZ.js} +1 -1
  131. package/dist/{edit-ZSOI56BQ.js → edit-L5ZZLMAY.js} +22 -22
  132. package/dist/{edit-FNDDSSMT.js → edit-NYD45J2Q.js} +37 -8
  133. package/dist/{edit-GIJXLMC3.js → edit-O4JLGKQR.js} +2 -2
  134. package/dist/{edit-5CJZRHAA.js → edit-ORXS3A2Y.js} +1 -1
  135. package/dist/{edit-FC64DWB2.js → edit-Q3UQIOLS.js} +1 -1
  136. package/dist/{edit-7HTH2UJF.js → edit-REDDBLTA.js} +3 -3
  137. package/dist/{edit-2KRJIPRK.js → edit-SGUY2CCK.js} +19 -17
  138. package/dist/{edit-B75KK5ZX.js → edit-SWRWWFW6.js} +35 -31
  139. package/dist/{edit-7GVP6SRA.js → edit-ZAHCMF5U.js} +1 -1
  140. package/dist/{edit-RNT555GP.js → edit-ZCXUG42Q.js} +13 -11
  141. package/dist/{edit-MYSWY6W4.js → edit-ZMERG3L7.js} +1 -1
  142. package/dist/{edit-budget-J27CSEZH.js → edit-budget-L3CCEWNF.js} +1 -1
  143. package/dist/{edit-inventory-item-US77M2FF.js → edit-inventory-item-6B7ITDGD.js} +2 -2
  144. package/dist/{edit-inventory-item-attributes-UGAE2NAZ.js → edit-inventory-item-attributes-Y7MQZLXI.js} +3 -3
  145. package/dist/{fulfillment-DCS67LTK.js → fulfillment-75Z4H23W.js} +16 -14
  146. package/dist/{fulfillment-providers-GM5PO6N3.js → fulfillment-providers-KCQWL62T.js} +20 -17
  147. package/dist/index.css +27 -62
  148. package/dist/index.d.ts +3 -10
  149. package/dist/index.js +522 -458
  150. package/dist/{inventory-OPZ2FSEE.js → inventory-KAUVPMPZ.js} +6 -6
  151. package/dist/{invite-764K3TJS.js → invite-6CPYVHDX.js} +24 -21
  152. package/dist/{invite-KEJLNXEZ.js → invite-CI2P4GF6.js} +15 -12
  153. package/dist/loader-FBB5OQRT.js +31 -0
  154. package/dist/{locations-ZVPTQCQY.js → locations-INS6FTMJ.js} +4 -4
  155. package/dist/{login-OUHRNNXA.js → login-KY342RMK.js} +12 -10
  156. package/dist/{manage-locations-YUKEFCBJ.js → manage-locations-WNHEBS3A.js} +2 -2
  157. package/dist/{media-4KYFHB5V.js → media-KOYAOXG6.js} +41 -9
  158. package/dist/{metadata-NYYL26MQ.js → metadata-2CMH4I6U.js} +16 -14
  159. package/dist/{metadata-AWUKZ25V.js → metadata-5BPOBBU2.js} +3 -3
  160. package/dist/{metadata-OCE6A3JE.js → metadata-GWI6R4ES.js} +15 -13
  161. package/dist/{metadata-G7KZXVNE.js → metadata-NUXUC2JA.js} +15 -13
  162. package/dist/{metadata-XP3ZYW2M.js → metadata-TLDUF5KV.js} +17 -15
  163. package/dist/{metadata-PYY4IB7K.js → metadata-WR4RFXO5.js} +16 -14
  164. package/dist/offer-create-page-YKMHHTU5.js +743 -0
  165. package/dist/offer-detail-page-6MAHNNIO.js +488 -0
  166. package/dist/offer-edit-page-DYQFU6JU.js +151 -0
  167. package/dist/offer-inventory-batch-page-WKCWNDNK.js +290 -0
  168. package/dist/offer-pricing-edit-page-4TYGGSOE.js +195 -0
  169. package/dist/offers-UGQJNGTD.js +32 -0
  170. package/dist/{onboarding-WXZHW62K.js → onboarding-43LQQQGQ.js} +22 -20
  171. package/dist/{orders-LWJ472VM.js → orders-R2LOJ6N5.js} +24 -21
  172. package/dist/organization-XGFU4YDG.js +375 -0
  173. package/dist/{organize-RFOMQCBG.js → organize-HNJUHEEG.js} +4 -4
  174. package/dist/{organize-OVKJ3HZO.js → organize-K6QMAMEN.js} +4 -4
  175. package/dist/pages/index.d.ts +415 -758
  176. package/dist/pages/index.js +81 -77
  177. package/dist/{payment-details-UVXYCTUK.js → payment-details-64US5XWD.js} +17 -15
  178. package/dist/{payouts-TR7K5I37.js → payouts-UXJDTXDL.js} +6 -6
  179. package/dist/{price-lists-S2WNELFZ.js → price-lists-KBPUVSZI.js} +8 -8
  180. package/dist/{pricing-UF27DAXA.js → pricing-DF6C5XK4.js} +35 -32
  181. package/dist/{product-tags-2CKH2M6D.js → product-tags-CL7HSEDI.js} +32 -28
  182. package/dist/{product-types-FX43JEO2.js → product-types-UUHBV4IZ.js} +5 -5
  183. package/dist/product-variant-detail-RVWEYVPC.js +220 -0
  184. package/dist/{product-variant-edit-P3DSIFE3.js → product-variant-edit-MNCS7ZYW.js} +126 -66
  185. package/dist/{products-H5EMRJYS.js → products-4KV5Y2JY.js} +23 -19
  186. package/dist/{products-2LHGS7X3.js → products-SXYTQFJ3.js} +40 -43
  187. package/dist/{professional-details-HYKTH44B.js → professional-details-5T2VS6MM.js} +16 -14
  188. package/dist/{profile-PB27WIRW.js → profile-6XGHAT7H.js} +20 -18
  189. package/dist/{promotions-5EYPGHJP.js → promotions-O7U4BTK6.js} +8 -8
  190. package/dist/{register-4O4F6YZK.js → register-GDKN3SKM.js} +16 -14
  191. package/dist/{reset-password-GTWLBOFK.js → reset-password-EICPAY2N.js} +1 -1
  192. package/dist/{return-reasons-LOKYRGMI.js → return-reasons-M6IR77XW.js} +16 -14
  193. package/dist/{sales-channels-7R2IY3KG.js → sales-channels-B6FULRWI.js} +8 -7
  194. package/dist/{sales-channels-Y4LRP7JC.js → sales-channels-JW3QUYR7.js} +8 -7
  195. package/dist/{settings-2XDLFYMS.js → settings-SAAHTUZZ.js} +39 -35
  196. package/dist/{shipment-4GW2JFWB.js → shipment-Q33QBMXX.js} +13 -11
  197. package/dist/{shipping-profile-R3NABPQF.js → shipping-profile-Y4SNEPZX.js} +2 -2
  198. package/dist/{shipping-profiles-QVKNFLCW.js → shipping-profiles-2NWKCEJK.js} +18 -16
  199. package/dist/{stock-5RXNUPUT.js → stock-7CSVEJJU.js} +19 -17
  200. package/dist/{store-DE2RGX7T.js → store-GHFWU7EV.js} +28 -25
  201. package/dist/{store-closure-DNMCHUXD.js → store-closure-P5PD2RSV.js} +16 -14
  202. package/dist/{store-select-GZEJHRZ7.js → store-select-KDT6USQA.js} +17 -15
  203. package/dist/{tax-regions-UD6P5FVC.js → tax-regions-YXZW7UVX.js} +5 -5
  204. package/dist/{team-JXKAVRPU.js → team-EDJ62747.js} +25 -23
  205. package/dist/types-CtCEtTE6.d.ts +16 -0
  206. package/package.json +3 -3
  207. package/dist/[id]-BYP37PU4.js +0 -1314
  208. package/dist/add-KRAGFFBJ.js +0 -158
  209. package/dist/bulk-edit-3SMBLIOA.js +0 -244
  210. package/dist/chunk-4KX6CBJ4.js +0 -178
  211. package/dist/chunk-DLNNTQRY.js +0 -217
  212. package/dist/chunk-FX4V5JCF.js +0 -37
  213. package/dist/chunk-GC33DBKG.js +0 -143
  214. package/dist/chunk-NK4NR6MN.js +0 -173
  215. package/dist/chunk-PFU6FSXY.js +0 -430
  216. package/dist/chunk-QJEOPT2P.js +0 -330
  217. package/dist/chunk-QSGR43JM.js +0 -30
  218. package/dist/chunk-STR3NGWE.js +0 -3736
  219. package/dist/create-3DOO3RNH.js +0 -716
  220. package/dist/create-I7HV3RM6.js +0 -150
  221. package/dist/edit-K2AD335I.js +0 -237
  222. package/dist/edit-VO5XLIEL.js +0 -362
  223. package/dist/edit-stocks-and-prices-MHHQFWFA.js +0 -408
  224. package/dist/organization-LPYQRTQC.js +0 -303
  225. package/dist/prices-3OXV5RGY.js +0 -270
  226. package/dist/product-variant-detail-WV4KXVXR.js +0 -590
  227. package/dist/stock-GPC3BCL6.js +0 -500
  228. package/dist/{chunk-SDSEW72R.js → chunk-E2HQPY32.js} +3 -3
  229. package/dist/{chunk-6WY5X4PE.js → chunk-L7QKFC5N.js} +7 -7
  230. /package/dist/{chunk-CAS74NLJ.js → chunk-YV6MK4PZ.js} +0 -0
@@ -1,217 +0,0 @@
1
- // src/components/inputs/numeric-input/numeric-input.tsx
2
- import { forwardRef, useEffect, useRef, useState } from "react";
3
- import { Minus, Plus } from "@medusajs/icons";
4
- import { Input } from "@medusajs/ui";
5
- import { useTranslation } from "react-i18next";
6
- import { jsx, jsxs } from "react/jsx-runtime";
7
- var NumericInput = forwardRef(
8
- ({
9
- value,
10
- onChange,
11
- onBlur,
12
- name,
13
- placeholder,
14
- min = 0,
15
- max = 999999,
16
- step = 1,
17
- disabled = false,
18
- className = "",
19
- hideControls = false,
20
- "aria-invalid": ariaInvalid = false
21
- }, ref) => {
22
- const { t } = useTranslation();
23
- const [inputValue, setInputValue] = useState(
24
- value?.toString() || ""
25
- );
26
- const timeoutRef = useRef(null);
27
- const intervalRef = useRef(null);
28
- const isMouseDownRef = useRef(false);
29
- const currentValueRef = useRef(0);
30
- const isUserTypingRef = useRef(false);
31
- const previousValueRef = useRef(value);
32
- useEffect(() => {
33
- if (value !== void 0 && value !== previousValueRef.current) {
34
- if (!isUserTypingRef.current) {
35
- setInputValue(value.toString());
36
- currentValueRef.current = value;
37
- }
38
- previousValueRef.current = value;
39
- }
40
- }, [value]);
41
- useEffect(() => {
42
- return () => {
43
- if (timeoutRef.current) {
44
- clearTimeout(timeoutRef.current);
45
- }
46
- if (intervalRef.current) {
47
- clearInterval(intervalRef.current);
48
- }
49
- };
50
- }, []);
51
- const handleInputChange = (e) => {
52
- const newValue = e.target.value;
53
- setInputValue(newValue);
54
- isUserTypingRef.current = true;
55
- const numericValue = parseFloat(newValue);
56
- if (!isNaN(numericValue) && onChange) {
57
- currentValueRef.current = numericValue;
58
- onChange(numericValue);
59
- } else if (newValue === "" && onChange) {
60
- currentValueRef.current = 0;
61
- onChange(void 0);
62
- } else if (newValue === "0" && onChange) {
63
- currentValueRef.current = 0;
64
- onChange(0);
65
- }
66
- };
67
- const handleIncrement = () => {
68
- if (disabled) return;
69
- const currentValue = parseFloat(inputValue) || 0;
70
- const newValue = Math.min(currentValue + step, max);
71
- currentValueRef.current = newValue;
72
- setInputValue(newValue.toString());
73
- if (onChange) {
74
- onChange(newValue);
75
- }
76
- };
77
- const handleDecrement = () => {
78
- if (disabled) return;
79
- const currentValue = parseFloat(inputValue) || 0;
80
- const newValue = Math.max(currentValue - step, min);
81
- currentValueRef.current = newValue;
82
- setInputValue(newValue.toString());
83
- if (onChange) {
84
- onChange(newValue);
85
- }
86
- };
87
- const handleKeyDown = (e) => {
88
- if (e.key === "ArrowUp") {
89
- e.preventDefault();
90
- handleIncrement();
91
- } else if (e.key === "ArrowDown") {
92
- e.preventDefault();
93
- handleDecrement();
94
- }
95
- };
96
- const handleBlur = () => {
97
- const numericValue = parseFloat(inputValue);
98
- if (!isNaN(numericValue)) {
99
- const clampedValue = Math.max(Math.min(numericValue, max), min);
100
- if (clampedValue !== numericValue) {
101
- setInputValue(clampedValue.toString());
102
- if (onChange) {
103
- onChange(clampedValue);
104
- }
105
- }
106
- }
107
- setTimeout(() => {
108
- isUserTypingRef.current = false;
109
- }, 100);
110
- if (onBlur) {
111
- onBlur();
112
- }
113
- };
114
- const clearRepeatInterval = () => {
115
- if (timeoutRef.current) {
116
- clearTimeout(timeoutRef.current);
117
- timeoutRef.current = null;
118
- }
119
- if (intervalRef.current) {
120
- clearInterval(intervalRef.current);
121
- intervalRef.current = null;
122
- }
123
- isMouseDownRef.current = false;
124
- };
125
- const handleMouseDown = (action) => {
126
- if (disabled) return;
127
- isMouseDownRef.current = true;
128
- if (action === "increment") {
129
- handleIncrement();
130
- } else {
131
- handleDecrement();
132
- }
133
- timeoutRef.current = setTimeout(() => {
134
- if (isMouseDownRef.current) {
135
- intervalRef.current = setInterval(() => {
136
- if (isMouseDownRef.current) {
137
- if (action === "increment") {
138
- handleIncrement();
139
- } else {
140
- handleDecrement();
141
- }
142
- } else {
143
- clearRepeatInterval();
144
- }
145
- }, 50);
146
- }
147
- }, 500);
148
- };
149
- const handleClick = (e) => {
150
- e.preventDefault();
151
- };
152
- const handleMouseUp = () => {
153
- clearRepeatInterval();
154
- };
155
- const handleMouseLeave = () => {
156
- clearRepeatInterval();
157
- };
158
- return /* @__PURE__ */ jsxs("div", { className: `relative w-full ${className}`, children: [
159
- /* @__PURE__ */ jsx(
160
- Input,
161
- {
162
- ref,
163
- type: "number",
164
- value: inputValue,
165
- onChange: handleInputChange,
166
- onBlur: handleBlur,
167
- onKeyDown: handleKeyDown,
168
- name,
169
- placeholder: placeholder || t(
170
- "products.fields.attributes.enterValuePlaceholder"
171
- ),
172
- min,
173
- max,
174
- step,
175
- disabled,
176
- "aria-invalid": ariaInvalid,
177
- className: `w-full [-moz-appearance:textfield] [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none ${hideControls ? "" : "pr-16"}`
178
- }
179
- ),
180
- !hideControls && /* @__PURE__ */ jsxs("div", { className: "absolute bottom-0 right-0 top-0 flex flex-row border-l border-ui-border-base", children: [
181
- /* @__PURE__ */ jsx(
182
- "button",
183
- {
184
- type: "button",
185
- onClick: handleClick,
186
- onMouseDown: () => handleMouseDown("decrement"),
187
- onMouseUp: handleMouseUp,
188
- onMouseLeave: handleMouseLeave,
189
- disabled: disabled || (parseFloat(inputValue) || 0) <= min,
190
- className: "bg-ui-field flex h-full w-8 items-center justify-center border-r border-ui-border-base transition-colors hover:bg-ui-bg-field-hover disabled:cursor-not-allowed disabled:opacity-50",
191
- "aria-label": t("general.decrement"),
192
- children: /* @__PURE__ */ jsx(Minus, { className: "h-3 w-3 text-ui-fg-muted" })
193
- }
194
- ),
195
- /* @__PURE__ */ jsx(
196
- "button",
197
- {
198
- type: "button",
199
- onClick: handleClick,
200
- onMouseDown: () => handleMouseDown("increment"),
201
- onMouseUp: handleMouseUp,
202
- onMouseLeave: handleMouseLeave,
203
- disabled: disabled || (parseFloat(inputValue) || 0) >= max,
204
- className: "bg-ui-field flex h-full w-8 items-center justify-center rounded-r-md transition-colors hover:bg-ui-bg-field-hover disabled:cursor-not-allowed disabled:opacity-50",
205
- "aria-label": t("general.increment"),
206
- children: /* @__PURE__ */ jsx(Plus, { className: "h-3 w-3 text-ui-fg-muted" })
207
- }
208
- )
209
- ] })
210
- ] });
211
- }
212
- );
213
- NumericInput.displayName = "NumericInput";
214
-
215
- export {
216
- NumericInput
217
- };
@@ -1,37 +0,0 @@
1
- import {
2
- queryKeysFactory
3
- } from "./chunk-ZA2KFUFR.js";
4
- import {
5
- sdk
6
- } from "./chunk-RIN4CBRB.js";
7
-
8
- // src/hooks/api/store.tsx
9
- import { useQuery } from "@tanstack/react-query";
10
- import { ClientError } from "@mercurjs/client";
11
- var STORE_QUERY_KEY = "store";
12
- var storeQueryKeys = queryKeysFactory(STORE_QUERY_KEY);
13
- async function retrieveActiveStore(query) {
14
- const response = await sdk.vendor.stores.query({ ...query });
15
- const activeStore = response.stores?.[0];
16
- if (!activeStore) {
17
- throw new ClientError("No active store found", "Not Found", 404);
18
- }
19
- return { store: activeStore };
20
- }
21
- var useStore = (query, options) => {
22
- const { data, ...rest } = useQuery({
23
- queryFn: () => retrieveActiveStore(query),
24
- queryKey: storeQueryKeys.details(),
25
- ...options
26
- });
27
- return {
28
- ...data,
29
- ...rest
30
- };
31
- };
32
-
33
- export {
34
- storeQueryKeys,
35
- retrieveActiveStore,
36
- useStore
37
- };
@@ -1,143 +0,0 @@
1
- import {
2
- StatusCell
3
- } from "./chunk-DB6ANJBO.js";
4
- import {
5
- PlaceholderCell
6
- } from "./chunk-PHOCVOZ5.js";
7
- import {
8
- Thumbnail
9
- } from "./chunk-WIYFXWRI.js";
10
-
11
- // src/hooks/table/columns/use-product-table-columns.tsx
12
- import { createColumnHelper } from "@tanstack/react-table";
13
- import { useMemo } from "react";
14
-
15
- // src/components/table/table-cells/product/collection-cell/collection-cell.tsx
16
- import { useTranslation } from "react-i18next";
17
- import { jsx } from "react/jsx-runtime";
18
- var CollectionCell = ({ collection }) => {
19
- if (!collection) {
20
- return /* @__PURE__ */ jsx(PlaceholderCell, {});
21
- }
22
- return /* @__PURE__ */ jsx("div", { className: "flex h-full w-full items-center overflow-hidden", children: /* @__PURE__ */ jsx("span", { className: "truncate", children: collection.title }) });
23
- };
24
- var CollectionHeader = () => {
25
- const { t } = useTranslation();
26
- return /* @__PURE__ */ jsx("div", { className: "flex h-full w-full items-center", children: /* @__PURE__ */ jsx("span", { children: t("fields.collection") }) });
27
- };
28
-
29
- // src/components/table/table-cells/product/product-cell/product-cell.tsx
30
- import { useTranslation as useTranslation2 } from "react-i18next";
31
- import { jsx as jsx2, jsxs } from "react/jsx-runtime";
32
- var ProductCell = ({ product }) => {
33
- return /* @__PURE__ */ jsxs("div", { className: "flex h-full w-full max-w-[250px] items-center gap-x-3 overflow-hidden", children: [
34
- /* @__PURE__ */ jsx2("div", { className: "w-fit flex-shrink-0", children: /* @__PURE__ */ jsx2(Thumbnail, { src: product.thumbnail }) }),
35
- /* @__PURE__ */ jsx2("span", { title: product.title, className: "truncate", children: product.title })
36
- ] });
37
- };
38
- var ProductHeader = () => {
39
- const { t } = useTranslation2();
40
- return /* @__PURE__ */ jsx2("div", { className: "flex h-full w-full items-center", children: /* @__PURE__ */ jsx2("span", { children: t("fields.product") }) });
41
- };
42
-
43
- // src/components/table/table-cells/product/product-status-cell/product-status-cell.tsx
44
- import { useTranslation as useTranslation3 } from "react-i18next";
45
- import { jsx as jsx3 } from "react/jsx-runtime";
46
- var ProductStatusCell = ({ status }) => {
47
- const { t } = useTranslation3();
48
- const [color, text] = {
49
- draft: ["grey", t("products.productStatus.draft")],
50
- proposed: ["orange", t("products.productStatus.proposed")],
51
- published: ["green", t("products.productStatus.published")],
52
- rejected: ["red", t("products.productStatus.rejected")]
53
- }[status];
54
- return /* @__PURE__ */ jsx3(StatusCell, { color, children: text });
55
- };
56
- var ProductStatusHeader = () => {
57
- const { t } = useTranslation3();
58
- return /* @__PURE__ */ jsx3("div", { className: "flex h-full w-full items-center", children: /* @__PURE__ */ jsx3("span", { children: t("fields.status") }) });
59
- };
60
-
61
- // src/components/table/table-cells/product/sales-channels-cell/sales-channels-cell.tsx
62
- import { Tooltip } from "@medusajs/ui";
63
- import { useTranslation as useTranslation4 } from "react-i18next";
64
- import { jsx as jsx4, jsxs as jsxs2 } from "react/jsx-runtime";
65
- var SalesChannelsCell = ({
66
- salesChannels
67
- }) => {
68
- const { t } = useTranslation4();
69
- if (!salesChannels || !salesChannels.length) {
70
- return /* @__PURE__ */ jsx4(PlaceholderCell, {});
71
- }
72
- if (salesChannels.length > 2) {
73
- return /* @__PURE__ */ jsxs2("div", { className: "flex h-full w-full items-center gap-x-1 overflow-hidden", children: [
74
- /* @__PURE__ */ jsx4("span", { className: "truncate", children: salesChannels.slice(0, 2).map((sc) => sc.name).join(", ") }),
75
- /* @__PURE__ */ jsx4(
76
- Tooltip,
77
- {
78
- content: /* @__PURE__ */ jsx4("ul", { children: salesChannels.slice(2).map((sc) => /* @__PURE__ */ jsx4("li", { children: sc.name }, sc.id)) }),
79
- children: /* @__PURE__ */ jsx4("span", { className: "text-xs", children: t("general.plusCountMore", {
80
- count: salesChannels.length - 2
81
- }) })
82
- }
83
- )
84
- ] });
85
- }
86
- const channels = salesChannels.map((sc) => sc.name).join(", ");
87
- return /* @__PURE__ */ jsx4("div", { className: "flex h-full w-full items-center overflow-hidden max-w-[250px]", children: /* @__PURE__ */ jsx4("span", { title: channels, className: "truncate", children: channels }) });
88
- };
89
- var SalesChannelHeader = () => {
90
- const { t } = useTranslation4();
91
- return /* @__PURE__ */ jsx4("div", { className: "flex h-full w-full items-center", children: /* @__PURE__ */ jsx4("span", { children: t("fields.salesChannels") }) });
92
- };
93
-
94
- // src/components/table/table-cells/product/variant-cell/variant-cell.tsx
95
- import { useTranslation as useTranslation5 } from "react-i18next";
96
- import { jsx as jsx5 } from "react/jsx-runtime";
97
- var VariantCell = ({ variants }) => {
98
- const { t } = useTranslation5();
99
- if (!variants || !variants.length) {
100
- return /* @__PURE__ */ jsx5(PlaceholderCell, {});
101
- }
102
- return /* @__PURE__ */ jsx5("div", { className: "flex h-full w-full items-center overflow-hidden", children: /* @__PURE__ */ jsx5("span", { className: "truncate", children: t("products.variantCount", { count: variants.length }) }) });
103
- };
104
- var VariantHeader = () => {
105
- const { t } = useTranslation5();
106
- return /* @__PURE__ */ jsx5("div", { className: "flex h-full w-full items-center", children: /* @__PURE__ */ jsx5("span", { children: t("fields.variants") }) });
107
- };
108
-
109
- // src/hooks/table/columns/use-product-table-columns.tsx
110
- import { jsx as jsx6 } from "react/jsx-runtime";
111
- var columnHelper = createColumnHelper();
112
- var useProductTableColumns = () => {
113
- return useMemo(
114
- () => [
115
- columnHelper.display({
116
- id: "product",
117
- header: () => /* @__PURE__ */ jsx6(ProductHeader, {}),
118
- cell: ({ row }) => /* @__PURE__ */ jsx6(ProductCell, { product: row.original })
119
- }),
120
- columnHelper.accessor("collection", {
121
- header: () => /* @__PURE__ */ jsx6(CollectionHeader, {}),
122
- cell: ({ row }) => /* @__PURE__ */ jsx6(CollectionCell, { collection: row.original.collection })
123
- }),
124
- columnHelper.accessor("sales_channels", {
125
- header: () => /* @__PURE__ */ jsx6(SalesChannelHeader, {}),
126
- cell: ({ row }) => /* @__PURE__ */ jsx6(SalesChannelsCell, { salesChannels: row.original.sales_channels })
127
- }),
128
- columnHelper.accessor("variants", {
129
- header: () => /* @__PURE__ */ jsx6(VariantHeader, {}),
130
- cell: ({ row }) => /* @__PURE__ */ jsx6(VariantCell, { variants: row.original.variants })
131
- }),
132
- columnHelper.accessor("status", {
133
- header: () => /* @__PURE__ */ jsx6(ProductStatusHeader, {}),
134
- cell: ({ row }) => /* @__PURE__ */ jsx6(ProductStatusCell, { status: row.original.status })
135
- })
136
- ],
137
- []
138
- );
139
- };
140
-
141
- export {
142
- useProductTableColumns
143
- };
@@ -1,173 +0,0 @@
1
- import {
2
- optionalFloat,
3
- optionalInt
4
- } from "./chunk-IZ5RG5XI.js";
5
- import {
6
- i18n
7
- } from "./chunk-KQGVSLUI.js";
8
-
9
- // src/pages/products/create/constants.ts
10
- import { z } from "zod";
11
-
12
- // src/pages/products/create/utils.ts
13
- var decorateVariantsWithDefaultValues = (variants) => {
14
- return variants.map((variant) => ({
15
- ...variant,
16
- title: variant.title || "",
17
- sku: variant.sku || "",
18
- manage_inventory: variant.manage_inventory || false,
19
- allow_backorder: variant.allow_backorder || false,
20
- inventory_kit: variant.inventory_kit || false
21
- }));
22
- };
23
-
24
- // src/pages/products/create/constants.ts
25
- var MediaSchema = z.object({
26
- id: z.string().optional(),
27
- url: z.string(),
28
- isThumbnail: z.boolean(),
29
- file: z.any().nullable()
30
- // File
31
- });
32
- var ProductCreateVariantSchema = z.object({
33
- should_create: z.boolean(),
34
- is_default: z.boolean().optional(),
35
- title: z.string(),
36
- upc: z.string().optional(),
37
- ean: z.string().optional(),
38
- barcode: z.string().optional(),
39
- mid_code: z.string().optional(),
40
- hs_code: z.string().optional(),
41
- width: optionalInt,
42
- height: optionalInt,
43
- length: optionalInt,
44
- weight: optionalInt,
45
- material: z.string().optional(),
46
- origin_country: z.string().optional(),
47
- sku: z.string().optional(),
48
- manage_inventory: z.boolean().optional(),
49
- allow_backorder: z.boolean().optional(),
50
- inventory_kit: z.boolean().optional(),
51
- options: z.record(z.string(), z.string()),
52
- variant_rank: z.number(),
53
- prices: z.record(z.string(), optionalFloat).optional(),
54
- inventory: z.array(
55
- z.object({
56
- inventory_item_id: z.string(),
57
- required_quantity: optionalInt
58
- })
59
- ).optional(),
60
- media: z.array(MediaSchema).optional()
61
- });
62
- var ProductCreateOptionSchema = z.object({
63
- title: z.string().min(1, i18n.t("products.fields.attributes.add.title.required")),
64
- values: z.array(z.string()).min(1, i18n.t("products.fields.attributes.add.values.required")),
65
- metadata: z.record(z.unknown()).optional(),
66
- useForVariants: z.boolean().optional(),
67
- attributeId: z.string().optional()
68
- });
69
- var ProductCreateBaseSchema = z.object({
70
- title: z.string().min(1, i18n.t("products.fields.title.required")),
71
- subtitle: z.string().optional(),
72
- handle: z.string().optional(),
73
- description: z.string().optional(),
74
- discountable: z.boolean(),
75
- type_id: z.string().optional(),
76
- collection_id: z.string().optional(),
77
- shipping_profile_id: z.string().optional(),
78
- categories: z.array(z.string()).min(1, i18n.t("products.create.errors.primaryCategoryRequired")),
79
- secondary_categories: z.array(z.string()).optional(),
80
- tags: z.array(z.string()).optional(),
81
- sales_channels: z.array(
82
- z.object({
83
- id: z.string(),
84
- name: z.string()
85
- })
86
- ).optional(),
87
- origin_country: z.string().optional(),
88
- material: z.string().optional(),
89
- width: z.string().optional(),
90
- length: z.string().optional(),
91
- height: z.string().optional(),
92
- weight: z.string().optional(),
93
- mid_code: z.string().optional(),
94
- hs_code: z.string().optional(),
95
- options: z.array(ProductCreateOptionSchema),
96
- enable_variants: z.boolean(),
97
- variants: z.array(ProductCreateVariantSchema).min(1),
98
- media: z.array(MediaSchema).optional()
99
- });
100
- var ProductCreateSchema = ProductCreateBaseSchema.superRefine((data, ctx) => {
101
- if (data.variants.every((v) => !v.should_create)) {
102
- return ctx.addIssue({
103
- code: z.ZodIssueCode.custom,
104
- path: ["variants"],
105
- message: "invalid_length"
106
- });
107
- }
108
- const skus = /* @__PURE__ */ new Set();
109
- data.variants.forEach((v, index) => {
110
- if (v.sku) {
111
- if (skus.has(v.sku)) {
112
- ctx.addIssue({
113
- code: z.ZodIssueCode.custom,
114
- path: [`variants.${index}.sku`],
115
- message: i18n.t("products.create.errors.uniqueSku")
116
- });
117
- }
118
- skus.add(v.sku);
119
- }
120
- });
121
- });
122
- var EditProductMediaSchema = z.object({
123
- media: z.array(MediaSchema)
124
- });
125
- var PRODUCT_CREATE_FORM_DEFAULTS = {
126
- discountable: false,
127
- tags: [],
128
- sales_channels: [],
129
- options: [],
130
- variants: decorateVariantsWithDefaultValues([
131
- {
132
- title: i18n.t("products.create.defaults.variantTitle"),
133
- should_create: true,
134
- variant_rank: 0,
135
- options: {
136
- [i18n.t("products.create.defaults.optionTitle")]: i18n.t(
137
- "products.create.defaults.optionValue"
138
- )
139
- },
140
- inventory: [{ inventory_item_id: "", required_quantity: "" }],
141
- is_default: true
142
- }
143
- ]),
144
- enable_variants: false,
145
- media: [],
146
- categories: [],
147
- secondary_categories: [],
148
- collection_id: "",
149
- shipping_profile_id: "",
150
- description: "",
151
- handle: "",
152
- height: "",
153
- hs_code: "",
154
- length: "",
155
- material: "",
156
- mid_code: "",
157
- origin_country: "",
158
- subtitle: "",
159
- title: "",
160
- type_id: "",
161
- weight: "",
162
- width: ""
163
- };
164
-
165
- export {
166
- decorateVariantsWithDefaultValues,
167
- MediaSchema,
168
- ProductCreateOptionSchema,
169
- ProductCreateBaseSchema,
170
- ProductCreateSchema,
171
- EditProductMediaSchema,
172
- PRODUCT_CREATE_FORM_DEFAULTS
173
- };