@rpcbase/ui 0.183.0 → 0.184.0

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 (632) hide show
  1. package/dist/index10.js +25 -24
  2. package/dist/index10.js.map +1 -1
  3. package/dist/index100.js +5 -5
  4. package/dist/index100.js.map +1 -1
  5. package/dist/index101.js +5 -4
  6. package/dist/index101.js.map +1 -1
  7. package/dist/index102.js +4 -4
  8. package/dist/index102.js.map +1 -1
  9. package/dist/index103.js +4 -6
  10. package/dist/index103.js.map +1 -1
  11. package/dist/index104.js +6 -145
  12. package/dist/index104.js.map +1 -1
  13. package/dist/index105.js +24 -39
  14. package/dist/index105.js.map +1 -1
  15. package/dist/index106.js +6 -4
  16. package/dist/index106.js.map +1 -1
  17. package/dist/index107.js +4 -7
  18. package/dist/index107.js.map +1 -1
  19. package/dist/index108.js +6 -13
  20. package/dist/index108.js.map +1 -1
  21. package/dist/index109.js +5 -13
  22. package/dist/index109.js.map +1 -1
  23. package/dist/index11.js +34 -66
  24. package/dist/index11.js.map +1 -1
  25. package/dist/index110.js +4 -7
  26. package/dist/index110.js.map +1 -1
  27. package/dist/index111.js +5 -31
  28. package/dist/index111.js.map +1 -1
  29. package/dist/index112.js +4 -10
  30. package/dist/index112.js.map +1 -1
  31. package/dist/index113.js +8 -10
  32. package/dist/index113.js.map +1 -1
  33. package/dist/index114.js +5 -8
  34. package/dist/index114.js.map +1 -1
  35. package/dist/index115.js +4 -13
  36. package/dist/index115.js.map +1 -1
  37. package/dist/index116.js +4 -101
  38. package/dist/index116.js.map +1 -1
  39. package/dist/index117.js +7 -20
  40. package/dist/index117.js.map +1 -1
  41. package/dist/index118.js +145 -53
  42. package/dist/index118.js.map +1 -1
  43. package/dist/index119.js +36 -69
  44. package/dist/index119.js.map +1 -1
  45. package/dist/index12.js +556 -525
  46. package/dist/index12.js.map +1 -1
  47. package/dist/index120.js +4 -9
  48. package/dist/index120.js.map +1 -1
  49. package/dist/index121.js +5 -18
  50. package/dist/index121.js.map +1 -1
  51. package/dist/index122.js +13 -16
  52. package/dist/index122.js.map +1 -1
  53. package/dist/index123.js +13 -23
  54. package/dist/index123.js.map +1 -1
  55. package/dist/index124.js +7 -6
  56. package/dist/index124.js.map +1 -1
  57. package/dist/index125.js +31 -5
  58. package/dist/index125.js.map +1 -1
  59. package/dist/index126.js +10 -23
  60. package/dist/index126.js.map +1 -1
  61. package/dist/index127.js +11 -35
  62. package/dist/index127.js.map +1 -1
  63. package/dist/index128.js +9 -16
  64. package/dist/index128.js.map +1 -1
  65. package/dist/index129.js +13 -6
  66. package/dist/index129.js.map +1 -1
  67. package/dist/index13.js +128 -118
  68. package/dist/index13.js.map +1 -1
  69. package/dist/index130.js +101 -4
  70. package/dist/index130.js.map +1 -1
  71. package/dist/index131.js +20 -5
  72. package/dist/index131.js.map +1 -1
  73. package/dist/index132.js +53 -4
  74. package/dist/index132.js.map +1 -1
  75. package/dist/index133.js +72 -4
  76. package/dist/index133.js.map +1 -1
  77. package/dist/index134.js +9 -3
  78. package/dist/index134.js.map +1 -1
  79. package/dist/index135.js +20 -6
  80. package/dist/index135.js.map +1 -1
  81. package/dist/index136.js +17 -24
  82. package/dist/index136.js.map +1 -1
  83. package/dist/index137.js +23 -7
  84. package/dist/index137.js.map +1 -1
  85. package/dist/index138.js +6 -6
  86. package/dist/index138.js.map +1 -1
  87. package/dist/index139.js +5 -5
  88. package/dist/index139.js.map +1 -1
  89. package/dist/index14.js +74 -74
  90. package/dist/index14.js.map +1 -1
  91. package/dist/index140.js +23 -3
  92. package/dist/index140.js.map +1 -1
  93. package/dist/index141.js +35 -4
  94. package/dist/index141.js.map +1 -1
  95. package/dist/index142.js +16 -5
  96. package/dist/index142.js.map +1 -1
  97. package/dist/index143.js +6 -3
  98. package/dist/index143.js.map +1 -1
  99. package/dist/index144.js +4 -4
  100. package/dist/index144.js.map +1 -1
  101. package/dist/index145.js +4 -3
  102. package/dist/index145.js.map +1 -1
  103. package/dist/index146.js +4 -3
  104. package/dist/index146.js.map +1 -1
  105. package/dist/index147.js +4 -3
  106. package/dist/index147.js.map +1 -1
  107. package/dist/index148.js +3 -46
  108. package/dist/index148.js.map +1 -1
  109. package/dist/index149.js +6 -205
  110. package/dist/index149.js.map +1 -1
  111. package/dist/index15.js +763 -624
  112. package/dist/index15.js.map +1 -1
  113. package/dist/index150.js +24 -22
  114. package/dist/index150.js.map +1 -1
  115. package/dist/index151.js +7 -24
  116. package/dist/index151.js.map +1 -1
  117. package/dist/index152.js +6 -399
  118. package/dist/index152.js.map +1 -1
  119. package/dist/index153.js +5 -46
  120. package/dist/index153.js.map +1 -1
  121. package/dist/index154.js +3 -605
  122. package/dist/index154.js.map +1 -1
  123. package/dist/index155.js +3 -5
  124. package/dist/index155.js.map +1 -1
  125. package/dist/index156.js +3 -67
  126. package/dist/index156.js.map +1 -1
  127. package/dist/index157.js +4 -2
  128. package/dist/index157.js.map +1 -1
  129. package/dist/index158.js +4 -363
  130. package/dist/index158.js.map +1 -1
  131. package/dist/index159.js +3 -261
  132. package/dist/index159.js.map +1 -1
  133. package/dist/index16.js +20 -22
  134. package/dist/index16.js.map +1 -1
  135. package/dist/index160.js +3 -60
  136. package/dist/index160.js.map +1 -1
  137. package/dist/index161.js +3 -46
  138. package/dist/index161.js.map +1 -1
  139. package/dist/index162.js +5 -169
  140. package/dist/index162.js.map +1 -1
  141. package/dist/index163.js +61 -102
  142. package/dist/index163.js.map +1 -1
  143. package/dist/index164.js +2 -25
  144. package/dist/index164.js.map +1 -1
  145. package/dist/index165.js +364 -8
  146. package/dist/index165.js.map +1 -1
  147. package/dist/index166.js +261 -4
  148. package/dist/index166.js.map +1 -1
  149. package/dist/index167.js +60 -5
  150. package/dist/index167.js.map +1 -1
  151. package/dist/index168.js +46 -4
  152. package/dist/index168.js.map +1 -1
  153. package/dist/index169.js +153 -450
  154. package/dist/index169.js.map +1 -1
  155. package/dist/index17.js +17 -17
  156. package/dist/index17.js.map +1 -1
  157. package/dist/index170.js +102 -178
  158. package/dist/index170.js.map +1 -1
  159. package/dist/index171.js +24 -107
  160. package/dist/index171.js.map +1 -1
  161. package/dist/index172.js +8 -263
  162. package/dist/index172.js.map +1 -1
  163. package/dist/index173.js +4 -9
  164. package/dist/index173.js.map +1 -1
  165. package/dist/index174.js +5 -42
  166. package/dist/index174.js.map +1 -1
  167. package/dist/index175.js +3 -3
  168. package/dist/index175.js.map +1 -1
  169. package/dist/index176.js +459 -51
  170. package/dist/index176.js.map +1 -1
  171. package/dist/index177.js +185 -8
  172. package/dist/index177.js.map +1 -1
  173. package/dist/index178.js +102 -61
  174. package/dist/index178.js.map +1 -1
  175. package/dist/index179.js +260 -17
  176. package/dist/index179.js.map +1 -1
  177. package/dist/index18.js +411 -341
  178. package/dist/index18.js.map +1 -1
  179. package/dist/index180.js +9 -16
  180. package/dist/index180.js.map +1 -1
  181. package/dist/index181.js +41 -4
  182. package/dist/index181.js.map +1 -1
  183. package/dist/index182.js +4 -5
  184. package/dist/index182.js.map +1 -1
  185. package/dist/index183.js +24 -6
  186. package/dist/index183.js.map +1 -1
  187. package/dist/index184.js +29 -5
  188. package/dist/index184.js.map +1 -1
  189. package/dist/index185.js +5 -8
  190. package/dist/index185.js.map +1 -1
  191. package/dist/index186.js +67 -17
  192. package/dist/index186.js.map +1 -1
  193. package/dist/index187.js +180 -5
  194. package/dist/index187.js.map +1 -1
  195. package/dist/index188.js +46 -5
  196. package/dist/index188.js.map +1 -1
  197. package/dist/index189.js +58 -13
  198. package/dist/index189.js.map +1 -1
  199. package/dist/index19.js +626 -660
  200. package/dist/index19.js.map +1 -1
  201. package/dist/index190.js +8 -10
  202. package/dist/index190.js.map +1 -1
  203. package/dist/index191.js +66 -14
  204. package/dist/index191.js.map +1 -1
  205. package/dist/index192.js +19 -14
  206. package/dist/index192.js.map +1 -1
  207. package/dist/index193.js +16 -5
  208. package/dist/index193.js.map +1 -1
  209. package/dist/index194.js +5 -6
  210. package/dist/index194.js.map +1 -1
  211. package/dist/index195.js +5 -7
  212. package/dist/index195.js.map +1 -1
  213. package/dist/index196.js +6 -6
  214. package/dist/index196.js.map +1 -1
  215. package/dist/index197.js +4 -9
  216. package/dist/index197.js.map +1 -1
  217. package/dist/index198.js +7 -5
  218. package/dist/index198.js.map +1 -1
  219. package/dist/index199.js +17 -5
  220. package/dist/index199.js.map +1 -1
  221. package/dist/index20.js +442 -634
  222. package/dist/index20.js.map +1 -1
  223. package/dist/index200.js +5 -9
  224. package/dist/index200.js.map +1 -1
  225. package/dist/index201.js +5 -5
  226. package/dist/index201.js.map +1 -1
  227. package/dist/index202.js +13 -5
  228. package/dist/index202.js.map +1 -1
  229. package/dist/index203.js +10 -4
  230. package/dist/index203.js.map +1 -1
  231. package/dist/index204.js +14 -11
  232. package/dist/index204.js.map +1 -1
  233. package/dist/index205.js +14 -10
  234. package/dist/index205.js.map +1 -1
  235. package/dist/index206.js +5 -10
  236. package/dist/index206.js.map +1 -1
  237. package/dist/index207.js +6 -11
  238. package/dist/index207.js.map +1 -1
  239. package/dist/index208.js +7 -11
  240. package/dist/index208.js.map +1 -1
  241. package/dist/index209.js +6 -10
  242. package/dist/index209.js.map +1 -1
  243. package/dist/index21.js +254 -200
  244. package/dist/index21.js.map +1 -1
  245. package/dist/index210.js +9 -7
  246. package/dist/index210.js.map +1 -1
  247. package/dist/index211.js +5 -6
  248. package/dist/index211.js.map +1 -1
  249. package/dist/index212.js +5 -5
  250. package/dist/index212.js.map +1 -1
  251. package/dist/index213.js +9 -6
  252. package/dist/index213.js.map +1 -1
  253. package/dist/index214.js +5 -7
  254. package/dist/index214.js.map +1 -1
  255. package/dist/index215.js +5 -6
  256. package/dist/index215.js.map +1 -1
  257. package/dist/index216.js +4 -55
  258. package/dist/index216.js.map +1 -1
  259. package/dist/index217.js +11 -16
  260. package/dist/index217.js.map +1 -1
  261. package/dist/index218.js +10 -7
  262. package/dist/index218.js.map +1 -1
  263. package/dist/index219.js +10 -10
  264. package/dist/index219.js.map +1 -1
  265. package/dist/index22.js +1 -1
  266. package/dist/index22.js.map +1 -1
  267. package/dist/index220.js +11 -10
  268. package/dist/index220.js.map +1 -1
  269. package/dist/index221.js +11 -21
  270. package/dist/index221.js.map +1 -1
  271. package/dist/index222.js +10 -10
  272. package/dist/index222.js.map +1 -1
  273. package/dist/index223.js +7 -9
  274. package/dist/index223.js.map +1 -1
  275. package/dist/index224.js +6 -9
  276. package/dist/index224.js.map +1 -1
  277. package/dist/index225.js +5 -4
  278. package/dist/index225.js.map +1 -1
  279. package/dist/index226.js +6 -5
  280. package/dist/index226.js.map +1 -1
  281. package/dist/index227.js +7 -16
  282. package/dist/index227.js.map +1 -1
  283. package/dist/index228.js +6 -9
  284. package/dist/index228.js.map +1 -1
  285. package/dist/index229.js +54 -17
  286. package/dist/index229.js.map +1 -1
  287. package/dist/index23.js +27 -34
  288. package/dist/index23.js.map +1 -1
  289. package/dist/index230.js +16 -15
  290. package/dist/index230.js.map +1 -1
  291. package/dist/index231.js +7 -12
  292. package/dist/index231.js.map +1 -1
  293. package/dist/index232.js +9 -28
  294. package/dist/index232.js.map +1 -1
  295. package/dist/index233.js +9 -11
  296. package/dist/index233.js.map +1 -1
  297. package/dist/index234.js +20 -24
  298. package/dist/index234.js.map +1 -1
  299. package/dist/index235.js +10 -5
  300. package/dist/index235.js.map +1 -1
  301. package/dist/index236.js +9 -24
  302. package/dist/index236.js.map +1 -1
  303. package/dist/index237.js +10 -29
  304. package/dist/index237.js.map +1 -1
  305. package/dist/index238.js +5 -5
  306. package/dist/index238.js.map +1 -1
  307. package/dist/index239.js +5 -67
  308. package/dist/index239.js.map +1 -1
  309. package/dist/index24.js +219 -222
  310. package/dist/index24.js.map +1 -1
  311. package/dist/index240.js +15 -179
  312. package/dist/index240.js.map +1 -1
  313. package/dist/index241.js +9 -46
  314. package/dist/index241.js.map +1 -1
  315. package/dist/index242.js +18 -13
  316. package/dist/index242.js.map +1 -1
  317. package/dist/index243.js +15 -154
  318. package/dist/index243.js.map +1 -1
  319. package/dist/index244.js +12 -30
  320. package/dist/index244.js.map +1 -1
  321. package/dist/index245.js +29 -9
  322. package/dist/index245.js.map +1 -1
  323. package/dist/index246.js +11 -46
  324. package/dist/index246.js.map +1 -1
  325. package/dist/index247.js +25 -11
  326. package/dist/index247.js.map +1 -1
  327. package/dist/index248.js +5 -44
  328. package/dist/index248.js.map +1 -1
  329. package/dist/index249.js +12 -94
  330. package/dist/index249.js.map +1 -1
  331. package/dist/index25.js +46 -50
  332. package/dist/index25.js.map +1 -1
  333. package/dist/index250.js +143 -75
  334. package/dist/index250.js.map +1 -1
  335. package/dist/index251.js +27 -102
  336. package/dist/index251.js.map +1 -1
  337. package/dist/index252.js +9 -52
  338. package/dist/index252.js.map +1 -1
  339. package/dist/index253.js +46 -10
  340. package/dist/index253.js.map +1 -1
  341. package/dist/index254.js +10 -36
  342. package/dist/index254.js.map +1 -1
  343. package/dist/index255.js +44 -8
  344. package/dist/index255.js.map +1 -1
  345. package/dist/index256.js +86 -107
  346. package/dist/index256.js.map +1 -1
  347. package/dist/index257.js +86 -17
  348. package/dist/index257.js.map +1 -1
  349. package/dist/index258.js +104 -14
  350. package/dist/index258.js.map +1 -1
  351. package/dist/index259.js +52 -3
  352. package/dist/index259.js.map +1 -1
  353. package/dist/index260.js +10 -35
  354. package/dist/index260.js.map +1 -1
  355. package/dist/index261.js +36 -19
  356. package/dist/index261.js.map +1 -1
  357. package/dist/index262.js +8 -9
  358. package/dist/index262.js.map +1 -1
  359. package/dist/index263.js +3 -8
  360. package/dist/index263.js.map +1 -1
  361. package/dist/index264.js +9 -19
  362. package/dist/index264.js.map +1 -1
  363. package/dist/index265.js +113 -25
  364. package/dist/index265.js.map +1 -1
  365. package/dist/index266.js +17 -16
  366. package/dist/index266.js.map +1 -1
  367. package/dist/index267.js +15 -4
  368. package/dist/index267.js.map +1 -1
  369. package/dist/index268.js +36 -18
  370. package/dist/index268.js.map +1 -1
  371. package/dist/index269.js +20 -12
  372. package/dist/index269.js.map +1 -1
  373. package/dist/index270.js +9 -5
  374. package/dist/index270.js.map +1 -1
  375. package/dist/index271.js +20 -3
  376. package/dist/index271.js.map +1 -1
  377. package/dist/index272.js +26 -21
  378. package/dist/index272.js.map +1 -1
  379. package/dist/index273.js +15 -111
  380. package/dist/index273.js.map +1 -1
  381. package/dist/index274.js +5 -16
  382. package/dist/index274.js.map +1 -1
  383. package/dist/index275.js +3 -525
  384. package/dist/index275.js.map +1 -1
  385. package/dist/index276.js +23 -127
  386. package/dist/index276.js.map +1 -1
  387. package/dist/index277.js +108 -129
  388. package/dist/index277.js.map +1 -1
  389. package/dist/index278.js +15 -20
  390. package/dist/index278.js.map +1 -1
  391. package/dist/index279.js +524 -5
  392. package/dist/index279.js.map +1 -1
  393. package/dist/index28.js +3 -37
  394. package/dist/index28.js.map +1 -1
  395. package/dist/index280.js +127 -5
  396. package/dist/index280.js.map +1 -1
  397. package/dist/index281.js +134 -4
  398. package/dist/index281.js.map +1 -1
  399. package/dist/index282.js +4 -15
  400. package/dist/index282.js.map +1 -1
  401. package/dist/index283.js +19 -9
  402. package/dist/index283.js.map +1 -1
  403. package/dist/index284.js +12 -5
  404. package/dist/index284.js.map +1 -1
  405. package/dist/index285.js +20 -4
  406. package/dist/index285.js.map +1 -1
  407. package/dist/index286.js +67 -544
  408. package/dist/index286.js.map +1 -1
  409. package/dist/index287.js +8 -46
  410. package/dist/index287.js.map +1 -1
  411. package/dist/index288.js +14 -18
  412. package/dist/index288.js.map +1 -1
  413. package/dist/index289.js +66 -7
  414. package/dist/index289.js.map +1 -1
  415. package/dist/index29.js +37 -3
  416. package/dist/index29.js.map +1 -1
  417. package/dist/index290.js +64 -8
  418. package/dist/index290.js.map +1 -1
  419. package/dist/index291.js +5 -7
  420. package/dist/index291.js.map +1 -1
  421. package/dist/index292.js +5 -8
  422. package/dist/index292.js.map +1 -1
  423. package/dist/index293.js +4 -13
  424. package/dist/index293.js.map +1 -1
  425. package/dist/index294.js +15 -9
  426. package/dist/index294.js.map +1 -1
  427. package/dist/index295.js +8 -13
  428. package/dist/index295.js.map +1 -1
  429. package/dist/index296.js +6 -69
  430. package/dist/index296.js.map +1 -1
  431. package/dist/index297.js +5 -9
  432. package/dist/index297.js.map +1 -1
  433. package/dist/index298.js +545 -13
  434. package/dist/index298.js.map +1 -1
  435. package/dist/index299.js +45 -64
  436. package/dist/index299.js.map +1 -1
  437. package/dist/index3.js.map +1 -1
  438. package/dist/index30.js +3 -125
  439. package/dist/index30.js.map +1 -1
  440. package/dist/index300.js +15 -62
  441. package/dist/index300.js.map +1 -1
  442. package/dist/index301.js +6 -4
  443. package/dist/index301.js.map +1 -1
  444. package/dist/index302.js +9 -56
  445. package/dist/index302.js.map +1 -1
  446. package/dist/index303.js +8 -68
  447. package/dist/index303.js.map +1 -1
  448. package/dist/index304.js +9 -31
  449. package/dist/index304.js.map +1 -1
  450. package/dist/index305.js +13 -9
  451. package/dist/index305.js.map +1 -1
  452. package/dist/index306.js +10 -153
  453. package/dist/index306.js.map +1 -1
  454. package/dist/index307.js +14 -108
  455. package/dist/index307.js.map +1 -1
  456. package/dist/index31.js +120 -227
  457. package/dist/index31.js.map +1 -1
  458. package/dist/index310.js +4 -15
  459. package/dist/index310.js.map +1 -1
  460. package/dist/index311.js +55 -28
  461. package/dist/index311.js.map +1 -1
  462. package/dist/index312.js +68 -13
  463. package/dist/index312.js.map +1 -1
  464. package/dist/index313.js +31 -7
  465. package/dist/index313.js.map +1 -1
  466. package/dist/index314.js +9 -23
  467. package/dist/index314.js.map +1 -1
  468. package/dist/index315.js +152 -12
  469. package/dist/index315.js.map +1 -1
  470. package/dist/index316.js +107 -27
  471. package/dist/index316.js.map +1 -1
  472. package/dist/index317.js +22 -4
  473. package/dist/index317.js.map +1 -1
  474. package/dist/index318.js +16 -0
  475. package/dist/index318.js.map +1 -0
  476. package/dist/index319.js +31 -0
  477. package/dist/index319.js.map +1 -0
  478. package/dist/index32.js +229 -21
  479. package/dist/index32.js.map +1 -1
  480. package/dist/index320.js +8 -0
  481. package/dist/index320.js.map +1 -0
  482. package/dist/index321.js +19 -0
  483. package/dist/index321.js.map +1 -0
  484. package/dist/index322.js +32 -0
  485. package/dist/index322.js.map +1 -0
  486. package/dist/index323.js +16 -0
  487. package/dist/index323.js.map +1 -0
  488. package/dist/index324.js +10 -0
  489. package/dist/index324.js.map +1 -0
  490. package/dist/index33.js +23 -50
  491. package/dist/index33.js.map +1 -1
  492. package/dist/index34.js +50 -2640
  493. package/dist/index34.js.map +1 -1
  494. package/dist/index35.js +2598 -351
  495. package/dist/index35.js.map +1 -1
  496. package/dist/index36.js +375 -214
  497. package/dist/index36.js.map +1 -1
  498. package/dist/index37.js +230 -19
  499. package/dist/index37.js.map +1 -1
  500. package/dist/index38.js +18 -138
  501. package/dist/index38.js.map +1 -1
  502. package/dist/index39.js +113 -170
  503. package/dist/index39.js.map +1 -1
  504. package/dist/index4.js +17 -15
  505. package/dist/index4.js.map +1 -1
  506. package/dist/index40.js +209 -64
  507. package/dist/index40.js.map +1 -1
  508. package/dist/index41.js +86 -94
  509. package/dist/index41.js.map +1 -1
  510. package/dist/index42.js +118 -5
  511. package/dist/index42.js.map +1 -1
  512. package/dist/index43.js +5 -843
  513. package/dist/index43.js.map +1 -1
  514. package/dist/index44.js +832 -54
  515. package/dist/index44.js.map +1 -1
  516. package/dist/index45.js +57 -8
  517. package/dist/index45.js.map +1 -1
  518. package/dist/index46.js +8 -2
  519. package/dist/index46.js.map +1 -1
  520. package/dist/index47.js +2 -24
  521. package/dist/index47.js.map +1 -1
  522. package/dist/index48.js +11 -233
  523. package/dist/index48.js.map +1 -1
  524. package/dist/index49.js +19 -205
  525. package/dist/index49.js.map +1 -1
  526. package/dist/index5.js +34 -34
  527. package/dist/index5.js.map +1 -1
  528. package/dist/index50.js +7 -3
  529. package/dist/index50.js.map +1 -1
  530. package/dist/index51.js +2 -7
  531. package/dist/index51.js.map +1 -1
  532. package/dist/index52.js +22 -46
  533. package/dist/index52.js.map +1 -1
  534. package/dist/index53.js +232 -25
  535. package/dist/index53.js.map +1 -1
  536. package/dist/index54.js +203 -49
  537. package/dist/index54.js.map +1 -1
  538. package/dist/index55.js +3 -7
  539. package/dist/index55.js.map +1 -1
  540. package/dist/index56.js +6 -14
  541. package/dist/index56.js.map +1 -1
  542. package/dist/index57.js +43 -129
  543. package/dist/index57.js.map +1 -1
  544. package/dist/index58.js +26 -10
  545. package/dist/index58.js.map +1 -1
  546. package/dist/index59.js +48 -214
  547. package/dist/index59.js.map +1 -1
  548. package/dist/index6.js +154 -120
  549. package/dist/index6.js.map +1 -1
  550. package/dist/index60.js +8 -13
  551. package/dist/index60.js.map +1 -1
  552. package/dist/index61.js +14 -33
  553. package/dist/index61.js.map +1 -1
  554. package/dist/index62.js +128 -41
  555. package/dist/index62.js.map +1 -1
  556. package/dist/index63.js +10 -7
  557. package/dist/index63.js.map +1 -1
  558. package/dist/index64.js +213 -46
  559. package/dist/index64.js.map +1 -1
  560. package/dist/index65.js +13 -4
  561. package/dist/index65.js.map +1 -1
  562. package/dist/index66.js +33 -5
  563. package/dist/index66.js.map +1 -1
  564. package/dist/index67.js +46 -27
  565. package/dist/index67.js.map +1 -1
  566. package/dist/index68.js +8 -50
  567. package/dist/index68.js.map +1 -1
  568. package/dist/index69.js +50 -9
  569. package/dist/index69.js.map +1 -1
  570. package/dist/index7.js +29 -24
  571. package/dist/index7.js.map +1 -1
  572. package/dist/index70.js +4 -12
  573. package/dist/index70.js.map +1 -1
  574. package/dist/index71.js +5 -53
  575. package/dist/index71.js.map +1 -1
  576. package/dist/index72.js +28 -6
  577. package/dist/index72.js.map +1 -1
  578. package/dist/index73.js +50 -8
  579. package/dist/index73.js.map +1 -1
  580. package/dist/index74.js +9 -6
  581. package/dist/index74.js.map +1 -1
  582. package/dist/index77.js +12 -52
  583. package/dist/index77.js.map +1 -1
  584. package/dist/index78.js +5 -4
  585. package/dist/index78.js.map +1 -1
  586. package/dist/index79.js +7 -4
  587. package/dist/index79.js.map +1 -1
  588. package/dist/index8.js +21 -24
  589. package/dist/index8.js.map +1 -1
  590. package/dist/index80.js +5 -15
  591. package/dist/index80.js.map +1 -1
  592. package/dist/index81.js +2 -6
  593. package/dist/index81.js.map +1 -1
  594. package/dist/index82.js +2 -8
  595. package/dist/index82.js.map +1 -1
  596. package/dist/index83.js +53 -16
  597. package/dist/index83.js.map +1 -1
  598. package/dist/index84.js +46 -4
  599. package/dist/index84.js.map +1 -1
  600. package/dist/index85.js +205 -4
  601. package/dist/index85.js.map +1 -1
  602. package/dist/index86.js +22 -6
  603. package/dist/index86.js.map +1 -1
  604. package/dist/index87.js +24 -5
  605. package/dist/index87.js.map +1 -1
  606. package/dist/index88.js +399 -4
  607. package/dist/index88.js.map +1 -1
  608. package/dist/index89.js +46 -4
  609. package/dist/index89.js.map +1 -1
  610. package/dist/index9.js +138 -187
  611. package/dist/index9.js.map +1 -1
  612. package/dist/index90.js +605 -6
  613. package/dist/index90.js.map +1 -1
  614. package/dist/index91.js +52 -25
  615. package/dist/index91.js.map +1 -1
  616. package/dist/index92.js +4 -6
  617. package/dist/index92.js.map +1 -1
  618. package/dist/index93.js +4 -4
  619. package/dist/index93.js.map +1 -1
  620. package/dist/index94.js +14 -5
  621. package/dist/index94.js.map +1 -1
  622. package/dist/index95.js +3 -3
  623. package/dist/index95.js.map +1 -1
  624. package/dist/index96.js +7 -4
  625. package/dist/index96.js.map +1 -1
  626. package/dist/index97.js +16 -5
  627. package/dist/index97.js.map +1 -1
  628. package/dist/index98.js +3 -3
  629. package/dist/index98.js.map +1 -1
  630. package/dist/index99.js +4 -8
  631. package/dist/index99.js.map +1 -1
  632. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index20.js","sources":["../src/components/PhoneNumberInput/index.tsx"],"sourcesContent":["import * as React from \"react\"\nimport type { CountryCode } from \"libphonenumber-js\"\nimport { getCountryCallingCode } from \"libphonenumber-js\"\nimport Select, {\n type Props as SelectProps,\n type SingleValue,\n type StylesConfig,\n} from \"react-select\"\n\nimport { cn } from \"@/lib/utils\"\n\nimport type {\n CountryOption,\n PhoneNumberChangeDetails,\n PhoneNumberInputProps,\n PhoneNumberSelectedCountry,\n} from \"./types\"\nimport { resolveMessages } from \"./messages\"\nimport {\n DEFAULT_COUNTRY,\n COMMON_IDD_PREFIXES,\n buildFallbackSelectedCountry,\n getCachedCountryOptions,\n getLocaleCacheKey,\n getValidCountry,\n normalizeSearchValue,\n optionMatchIndex,\n parseLocaleCacheKey,\n toSelectedCountry,\n} from \"./country-options\"\nimport {\n detectNationalPrefixForDisplay,\n formatWithAsYouType,\n getLengthIssue,\n getSuggestionState,\n injectNationalPrefixDisplay,\n normalizeInputValue,\n sanitizeDigits,\n shouldDisplayExplicitCountrySelection,\n stripPrefix,\n type LengthIssue,\n} from \"./normalization\"\nimport {\n captureSelectionSnapshot,\n resolveSelection,\n skipFormattingCharactersLeft,\n skipFormattingCharactersRight,\n} from \"./selection\"\nimport {\n HiddenControl,\n NullComponent,\n SuggestionContext,\n SuggestionOption,\n formatCountryOption,\n suggestionSelectStyles,\n type SuggestionContextValue,\n} from \"./suggestions\"\n\n\nexport type {\n CountryOption,\n PhoneNumberChangeDetails,\n PhoneNumberInputMessages,\n PhoneNumberInputProps,\n PhoneNumberInputValidationCode,\n PhoneNumberSelectedCountry,\n} from \"./types\"\n\nexport const PhoneNumberInput = React.forwardRef<HTMLInputElement, PhoneNumberInputProps>(\n function PhoneNumberInput(props, forwardedRef) {\n const {\n value,\n defaultCountry,\n country: countryProp,\n locale,\n onChange,\n onCountryChange,\n className,\n inputClassName,\n disabled,\n readOnly,\n selectProps,\n autofillShimName,\n messages: messagesProp,\n renderValidationMessage,\n ...restProps\n } = props\n\n const {\n onFocus: onInputFocus,\n onBlur: onInputBlur,\n onKeyDown: onInputKeyDown,\n name: inputName,\n autoComplete: inputAutoComplete,\n ...restInputProps\n } = restProps\n\n const hasConfiguredCountry =\n typeof defaultCountry === \"string\" || typeof countryProp === \"string\"\n\n const localeCacheKey = getLocaleCacheKey(locale)\n const localeForBuild = React.useMemo(\n () => parseLocaleCacheKey(localeCacheKey),\n [localeCacheKey]\n )\n const resolvedMessages = React.useMemo(\n () => resolveMessages(localeForBuild, messagesProp),\n [localeForBuild, messagesProp]\n )\n const countryOptions = React.useMemo(\n () => getCachedCountryOptions(localeForBuild, localeCacheKey),\n [localeCacheKey, localeForBuild]\n )\n const resolveSelectedCountry = React.useCallback(\n (country: CountryCode): PhoneNumberSelectedCountry => {\n const match = countryOptions.find((candidate) => candidate.value === country)\n if (match) {\n return toSelectedCountry(match)\n }\n return buildFallbackSelectedCountry(country)\n },\n [countryOptions]\n )\n const fallbackCountry = React.useMemo(() => {\n const candidate = getValidCountry(defaultCountry ?? countryProp ?? DEFAULT_COUNTRY)\n if (countryOptions.some((option) => option.value === candidate)) {\n return candidate\n }\n return countryOptions[0]?.value ?? DEFAULT_COUNTRY\n }, [countryOptions, countryProp, defaultCountry])\n\n const hasResolvedCountryRef = React.useRef<boolean>(hasConfiguredCountry)\n\n const initialStateRef = React.useRef<{\n country: CountryCode\n inputValue: string\n normalizedValue: string\n hasExplicitCountrySelection: boolean\n } | null>(null)\n const lastNormalizedRef = React.useRef<string>(\"\")\n\n if (!initialStateRef.current) {\n if (!value) {\n initialStateRef.current = {\n country: fallbackCountry,\n inputValue: \"\",\n normalizedValue: \"\",\n hasExplicitCountrySelection: false,\n }\n lastNormalizedRef.current = \"\"\n } else {\n const baseCountryForInit = hasConfiguredCountry ? fallbackCountry : undefined\n const normalized = normalizeInputValue(value, baseCountryForInit, { allowJustPlus: true })\n if (!normalized) {\n initialStateRef.current = {\n country: fallbackCountry,\n inputValue: \"\",\n normalizedValue: \"\",\n hasExplicitCountrySelection: false,\n }\n lastNormalizedRef.current = \"\"\n } else {\n const {\n international,\n phoneNumber,\n detectedCountry,\n inferredCountry,\n hasExplicitInternationalPrefix,\n } = formatWithAsYouType(normalized, baseCountryForInit)\n const canonicalDetectedCountry = detectedCountry ?? undefined\n let resolvedCountry = canonicalDetectedCountry ?? fallbackCountry\n const rawDigits = sanitizeDigits(value ?? \"\")\n const hasExplicitPlus = typeof value === \"string\" ? /^\\s*\\+/.test(value) : false\n const internationalDigits = sanitizeDigits(international)\n const initialDialCode = getCountryCallingCode(resolvedCountry)\n const initialHasPrefix = detectNationalPrefixForDisplay(\n rawDigits,\n internationalDigits,\n initialDialCode,\n hasExplicitPlus\n )\n\n const suggestion = getSuggestionState(\n normalized,\n baseCountryForInit,\n phoneNumber ?? undefined,\n {\n hasRemovedNationalPrefix: initialHasPrefix,\n detectedCountry: canonicalDetectedCountry,\n hasExplicitInternationalPrefix,\n }\n )\n\n const inferredCountryToApply =\n !suggestion.shouldSuggest && !canonicalDetectedCountry ? inferredCountry : undefined\n\n\n if (inferredCountryToApply) {\n resolvedCountry = inferredCountryToApply\n }\n\n const resolvedFromValue =\n Boolean(canonicalDetectedCountry) || Boolean(inferredCountryToApply)\n if (resolvedFromValue) {\n hasResolvedCountryRef.current = true\n }\n\n const nextDialCode = getCountryCallingCode(resolvedCountry)\n const finalHasPrefix = inferredCountryToApply\n ? detectNationalPrefixForDisplay(\n rawDigits,\n internationalDigits,\n nextDialCode,\n hasExplicitPlus\n )\n : initialHasPrefix\n\n const displayValue = injectNationalPrefixDisplay(international, nextDialCode, {\n force: finalHasPrefix,\n })\n\n const displayDetectedCountry = canonicalDetectedCountry ?? undefined\n const allowInlineFlag = hasResolvedCountryRef.current\n initialStateRef.current = {\n country: resolvedCountry,\n inputValue: displayValue,\n normalizedValue: normalized,\n hasExplicitCountrySelection:\n allowInlineFlag &&\n shouldDisplayExplicitCountrySelection(suggestion, {\n detectedCountry: displayDetectedCountry,\n hasExplicitInternationalPrefix,\n }),\n }\n lastNormalizedRef.current = normalized\n }\n }\n }\n\n const initialState = initialStateRef.current\n\n const [uncontrolledCountry, setUncontrolledCountry] = React.useState(initialState.country)\n const [inputValueState, setInputValueState] = React.useState(initialState.inputValue)\n const [countryQuery, setCountryQuery] = React.useState(\"\")\n const [showSuggestions, setShowSuggestions] = React.useState(false)\n const [highlightedIndex, setHighlightedIndex] = React.useState<number>(-1)\n const [isFocused, setIsFocused] = React.useState(false)\n const [lengthIssue, setLengthIssue] = React.useState<LengthIssue | null>(null)\n const [hasExplicitCountrySelection, setHasExplicitCountrySelection] = React.useState(\n initialState.hasExplicitCountrySelection\n )\n const manualSelectionCountryRef = React.useRef<CountryCode | null>(null)\n\n const keyboardBufferRef = React.useRef(\"\")\n const bufferTimeoutRef = React.useRef<number | null>(null)\n const scrollBehaviorRef = React.useRef<ScrollBehavior>(\"smooth\")\n const pendingSelectionRef = React.useRef<{ start: number; end: number } | null>(null)\n const consumeScrollBehavior = React.useCallback(() => {\n const behavior = scrollBehaviorRef.current\n scrollBehaviorRef.current = \"smooth\"\n return behavior\n }, [])\n\n const isCountryControlled = typeof countryProp === \"string\"\n const selectedCountry = isCountryControlled ? countryProp : uncontrolledCountry\n const activeCountry = selectedCountry ?? fallbackCountry\n\n const inputRef = React.useRef<HTMLInputElement | null>(null)\n\n React.useImperativeHandle(forwardedRef, () => inputRef.current as HTMLInputElement, [])\n\n React.useLayoutEffect(() => {\n const selection = pendingSelectionRef.current\n if (!selection) {\n return\n }\n\n const input = inputRef.current\n pendingSelectionRef.current = null\n if (!input) {\n return\n }\n\n const { start, end } = selection\n input.setSelectionRange(start, end)\n }, [inputValueState])\n\n const selectOverrides = selectProps ?? {}\n const {\n styles: userSelectStyles,\n components: userSelectComponents,\n classNamePrefix: userClassNamePrefix,\n formatOptionLabel: userFormatOptionLabel,\n ...forwardedSelectProps\n } = selectOverrides\n const { noOptionsMessage, ...restForwardedSelectProps } = forwardedSelectProps\n\n const mergedSelectStyles = React.useMemo<StylesConfig<CountryOption, false>>(\n () => ({\n ...suggestionSelectStyles,\n ...(userSelectStyles ?? {}),\n }),\n [userSelectStyles]\n )\n\n const mergedSelectComponents = React.useMemo(() => {\n const baseComponents = {\n Control: HiddenControl,\n IndicatorsContainer: NullComponent,\n DropdownIndicator: NullComponent,\n IndicatorSeparator: NullComponent,\n ValueContainer: NullComponent,\n }\n\n const overrides = userSelectComponents ?? {}\n\n if (!overrides.Option) {\n return {\n ...baseComponents,\n ...overrides,\n Option: SuggestionOption,\n }\n }\n\n return {\n ...baseComponents,\n ...overrides,\n }\n }, [userSelectComponents])\n\n const hasAnnouncedCountryRef = React.useRef(false)\n\n const notifyCountryChange = React.useCallback(\n (country: CountryCode) => {\n hasAnnouncedCountryRef.current = true\n const selection = resolveSelectedCountry(country)\n onCountryChange?.(country, selection)\n return selection\n },\n [onCountryChange, resolveSelectedCountry]\n )\n\n React.useEffect(() => () => {\n if (bufferTimeoutRef.current != null && typeof window !== \"undefined\") {\n window.clearTimeout(bufferTimeoutRef.current)\n }\n }, [])\n\n React.useEffect(() => {\n if (value == null) {\n return\n }\n\n const baseCountryForSync = hasResolvedCountryRef.current ? activeCountry : undefined\n const previousNormalized = lastNormalizedRef.current\n const normalized = normalizeInputValue(value, baseCountryForSync, {\n allowJustPlus: true,\n previousValue: previousNormalized,\n })\n lastNormalizedRef.current = normalized\n keyboardBufferRef.current = \"\"\n\n if (!normalized) {\n setInputValueState(\"\")\n setShowSuggestions(false)\n setCountryQuery(\"\")\n setLengthIssue(null)\n manualSelectionCountryRef.current = null\n setHasExplicitCountrySelection(false)\n const nextCountry = hasConfiguredCountry ? fallbackCountry : activeCountry\n if (!isCountryControlled && uncontrolledCountry !== nextCountry) {\n setUncontrolledCountry(nextCountry)\n notifyCountryChange(nextCountry)\n }\n return\n }\n\n if (normalized === \"0\") {\n setInputValueState(\"0\")\n setShowSuggestions(false)\n setCountryQuery(\"\")\n setLengthIssue(null)\n manualSelectionCountryRef.current = null\n setHasExplicitCountrySelection(false)\n return\n }\n\n if (normalized === \"+\") {\n setInputValueState(\"+\")\n setShowSuggestions(true)\n setCountryQuery(\"\")\n setLengthIssue(null)\n manualSelectionCountryRef.current = null\n setHasExplicitCountrySelection(false)\n const nextCountry = hasConfiguredCountry ? fallbackCountry : activeCountry\n if (!isCountryControlled && uncontrolledCountry !== nextCountry) {\n setUncontrolledCountry(nextCountry)\n notifyCountryChange(nextCountry)\n }\n return\n }\n\n const {\n international,\n phoneNumber,\n detectedCountry,\n inferredCountry,\n hasExplicitInternationalPrefix,\n } = formatWithAsYouType(normalized, baseCountryForSync)\n const canonicalDetectedCountry = detectedCountry ?? undefined\n let nextCountry = canonicalDetectedCountry ?? baseCountryForSync ?? activeCountry\n const rawDigits = sanitizeDigits(value ?? \"\")\n const hasExplicitPlus = typeof value === \"string\" ? /^\\s*\\+/.test(value) : false\n const internationalDigits = sanitizeDigits(international)\n const initialDialCode = getCountryCallingCode(nextCountry)\n const initialHasTypedTrunk = detectNationalPrefixForDisplay(\n rawDigits,\n internationalDigits,\n initialDialCode,\n hasExplicitPlus\n )\n\n const suggestion = getSuggestionState(\n normalized,\n baseCountryForSync,\n phoneNumber ?? undefined,\n {\n hasRemovedNationalPrefix: initialHasTypedTrunk,\n detectedCountry: canonicalDetectedCountry,\n hasExplicitInternationalPrefix,\n }\n )\n\n const inferredCountryToApply =\n !suggestion.shouldSuggest && !canonicalDetectedCountry ? inferredCountry : undefined\n const finalCountry = inferredCountryToApply ?? nextCountry\n\n const resolvedFromValue =\n Boolean(canonicalDetectedCountry) || Boolean(inferredCountryToApply)\n if (resolvedFromValue) {\n hasResolvedCountryRef.current = true\n }\n\n if (!isCountryControlled && finalCountry !== uncontrolledCountry) {\n setUncontrolledCountry(finalCountry)\n notifyCountryChange(finalCountry)\n }\n\n nextCountry = finalCountry\n\n if (\n manualSelectionCountryRef.current &&\n manualSelectionCountryRef.current !== nextCountry\n ) {\n manualSelectionCountryRef.current = null\n }\n\n const nextDialCode = getCountryCallingCode(nextCountry)\n const hasTypedTrunk = inferredCountryToApply\n ? detectNationalPrefixForDisplay(\n rawDigits,\n internationalDigits,\n nextDialCode,\n hasExplicitPlus\n )\n : initialHasTypedTrunk\n\n const displayValue = injectNationalPrefixDisplay(international, nextDialCode, {\n force: hasTypedTrunk,\n })\n const displayDetectedCountry = canonicalDetectedCountry ?? undefined\n const manualSelectionActive = manualSelectionCountryRef.current != null\n const shouldShowInlineFlag =\n manualSelectionActive ||\n shouldDisplayExplicitCountrySelection(suggestion, {\n detectedCountry: displayDetectedCountry,\n hasExplicitInternationalPrefix,\n })\n\n setInputValueState(displayValue)\n setShowSuggestions(suggestion.shouldSuggest)\n setCountryQuery(suggestion.query)\n setLengthIssue(hasResolvedCountryRef.current ? getLengthIssue(normalized, nextCountry) : null)\n setHasExplicitCountrySelection(hasResolvedCountryRef.current && shouldShowInlineFlag)\n }, [\n value,\n activeCountry,\n fallbackCountry,\n hasConfiguredCountry,\n isCountryControlled,\n notifyCountryChange,\n uncontrolledCountry,\n ])\n\n React.useEffect(() => {\n if (hasAnnouncedCountryRef.current) {\n return\n }\n if (!hasResolvedCountryRef.current) {\n return\n }\n const current = selectedCountry ?? fallbackCountry\n if (!current) {\n return\n }\n notifyCountryChange(current)\n }, [fallbackCountry, notifyCountryChange, selectedCountry])\n\n React.useEffect(() => {\n if (isCountryControlled && countryProp && countryProp !== uncontrolledCountry) {\n setUncontrolledCountry(countryProp)\n }\n }, [countryProp, isCountryControlled, uncontrolledCountry])\n\n const emitChange = React.useCallback(\n (details: Omit<PhoneNumberChangeDetails, \"selectedCountry\">) => {\n const selection = resolveSelectedCountry(details.country)\n onChange?.({\n ...details,\n selectedCountry: selection,\n })\n },\n [onChange, resolveSelectedCountry]\n )\n\n const scheduleBufferReset = React.useCallback(() => {\n if (typeof window === \"undefined\") {\n return\n }\n\n if (bufferTimeoutRef.current != null) {\n window.clearTimeout(bufferTimeoutRef.current)\n }\n\n bufferTimeoutRef.current = window.setTimeout(() => {\n keyboardBufferRef.current = \"\"\n bufferTimeoutRef.current = null\n }, 800)\n }, [])\n\n const handleInputChange = React.useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n const target = event.target\n const snapshot = captureSelectionSnapshot(target)\n const raw = target.value\n keyboardBufferRef.current = \"\"\n\n const baseCountryForInput = hasResolvedCountryRef.current ? activeCountry : undefined\n const dialCode = baseCountryForInput ? getCountryCallingCode(baseCountryForInput) : \"\"\n const typedDigits = sanitizeDigits(raw)\n const hasExplicitPlus = raw.trim().startsWith(\"+\")\n const startsWithDialCode = dialCode ? typedDigits.startsWith(dialCode) : false\n const hasLeadingZero = typedDigits.startsWith(\"0\")\n const isIddPrefix = COMMON_IDD_PREFIXES.some((prefix) => typedDigits.startsWith(prefix))\n\n const shouldRemoveNationalPrefix =\n Boolean(baseCountryForInput) &&\n !isIddPrefix &&\n ((startsWithDialCode && typedDigits.slice(dialCode.length).startsWith(\"0\")) ||\n (!hasExplicitPlus && hasLeadingZero && typedDigits.length > 1) ||\n (hasExplicitPlus && hasLeadingZero && typedDigits.length > 1 && !startsWithDialCode))\n\n const previousNormalized = lastNormalizedRef.current\n const normalized = normalizeInputValue(raw, baseCountryForInput, {\n allowJustPlus: true,\n removeNationalPrefix: shouldRemoveNationalPrefix,\n previousValue: previousNormalized,\n })\n lastNormalizedRef.current = normalized\n\n if (!normalized) {\n setInputValueState(\"\")\n setShowSuggestions(false)\n setCountryQuery(\"\")\n setHighlightedIndex(-1)\n setLengthIssue(null)\n manualSelectionCountryRef.current = null\n setHasExplicitCountrySelection(false)\n pendingSelectionRef.current = resolveSelection(snapshot, \"\")\n\n const nextCountry = hasConfiguredCountry ? fallbackCountry : activeCountry\n\n if (!isCountryControlled && uncontrolledCountry !== nextCountry) {\n setUncontrolledCountry(nextCountry)\n notifyCountryChange(nextCountry)\n }\n\n const nextDialCode = getCountryCallingCode(nextCountry)\n emitChange({\n formattedInternational: \"\",\n formattedNational: \"\",\n e164: null,\n country: nextCountry,\n countryCallingCode: nextDialCode,\n nationalNumber: \"\",\n rawInput: \"\",\n isValid: false,\n })\n return\n }\n\n if (normalized === \"0\") {\n setInputValueState(\"0\")\n setShowSuggestions(false)\n setCountryQuery(\"\")\n setHighlightedIndex(-1)\n setLengthIssue(null)\n manualSelectionCountryRef.current = null\n setHasExplicitCountrySelection(false)\n pendingSelectionRef.current = resolveSelection(snapshot, \"0\")\n\n const nextCountry = hasConfiguredCountry ? fallbackCountry : activeCountry\n\n if (!isCountryControlled && uncontrolledCountry !== nextCountry) {\n setUncontrolledCountry(nextCountry)\n notifyCountryChange(nextCountry)\n }\n\n const nextDialCode = getCountryCallingCode(nextCountry)\n emitChange({\n formattedInternational: \"0\",\n formattedNational: \"0\",\n e164: null,\n country: nextCountry,\n countryCallingCode: nextDialCode,\n nationalNumber: \"0\",\n rawInput: \"0\",\n isValid: false,\n })\n return\n }\n\n if (normalized === \"+\") {\n setInputValueState(\"+\")\n setShowSuggestions(true)\n setCountryQuery(\"\")\n setHighlightedIndex(0)\n setLengthIssue(null)\n manualSelectionCountryRef.current = null\n setHasExplicitCountrySelection(false)\n pendingSelectionRef.current = resolveSelection(snapshot, \"+\")\n\n const nextCountry = hasConfiguredCountry ? fallbackCountry : activeCountry\n\n if (!isCountryControlled && uncontrolledCountry !== nextCountry) {\n setUncontrolledCountry(nextCountry)\n notifyCountryChange(nextCountry)\n }\n\n const nextDialCode = getCountryCallingCode(nextCountry)\n emitChange({\n formattedInternational: \"+\",\n formattedNational: \"\",\n e164: null,\n country: nextCountry,\n countryCallingCode: nextDialCode,\n nationalNumber: \"\",\n rawInput: \"+\",\n isValid: false,\n })\n return\n }\n\n const {\n international,\n national,\n phoneNumber,\n detectedCountry,\n inferredCountry,\n hasExplicitInternationalPrefix,\n } = formatWithAsYouType(normalized, baseCountryForInput)\n const canonicalDetectedCountry = detectedCountry ?? undefined\n let nextCountry = canonicalDetectedCountry ?? baseCountryForInput ?? activeCountry\n\n const internationalDigits = sanitizeDigits(international)\n const initialDialCode = getCountryCallingCode(nextCountry)\n const initialHasTypedTrunk = detectNationalPrefixForDisplay(\n typedDigits,\n internationalDigits,\n initialDialCode,\n hasExplicitPlus\n )\n\n const suggestion = getSuggestionState(\n normalized,\n baseCountryForInput,\n phoneNumber ?? undefined,\n {\n hasRemovedNationalPrefix: initialHasTypedTrunk,\n detectedCountry: canonicalDetectedCountry,\n hasExplicitInternationalPrefix,\n }\n )\n\n const inferredCountryToApply =\n !suggestion.shouldSuggest && !canonicalDetectedCountry ? inferredCountry : undefined\n const finalCountry = inferredCountryToApply ?? nextCountry\n\n const resolvedFromInput =\n Boolean(canonicalDetectedCountry) || Boolean(inferredCountryToApply)\n if (resolvedFromInput) {\n hasResolvedCountryRef.current = true\n }\n\n if (!isCountryControlled && finalCountry !== uncontrolledCountry) {\n setUncontrolledCountry(finalCountry)\n notifyCountryChange(finalCountry)\n }\n\n nextCountry = finalCountry\n\n if (\n manualSelectionCountryRef.current &&\n manualSelectionCountryRef.current !== nextCountry\n ) {\n manualSelectionCountryRef.current = null\n }\n\n const nextDialCode = getCountryCallingCode(nextCountry)\n const normalizedDigits = sanitizeDigits(normalized)\n const nationalDigits = stripPrefix(normalizedDigits, nextDialCode)\n const hasTypedTrunk = inferredCountryToApply\n ? detectNationalPrefixForDisplay(\n typedDigits,\n internationalDigits,\n nextDialCode,\n hasExplicitPlus\n )\n : initialHasTypedTrunk\n\n const displayValue = injectNationalPrefixDisplay(international, nextDialCode, {\n force: hasTypedTrunk,\n })\n\n const displayDetectedCountry = canonicalDetectedCountry ?? undefined\n\n pendingSelectionRef.current = resolveSelection(snapshot, displayValue)\n setInputValueState(displayValue)\n setShowSuggestions(suggestion.shouldSuggest)\n setCountryQuery(suggestion.query)\n setHighlightedIndex(suggestion.shouldSuggest ? 0 : -1)\n setLengthIssue(hasResolvedCountryRef.current ? getLengthIssue(normalized, nextCountry) : null)\n const manualSelectionActive = manualSelectionCountryRef.current != null\n const shouldShowInlineFlag =\n manualSelectionActive ||\n shouldDisplayExplicitCountrySelection(suggestion, {\n detectedCountry: displayDetectedCountry,\n hasExplicitInternationalPrefix,\n })\n setHasExplicitCountrySelection(hasResolvedCountryRef.current && shouldShowInlineFlag)\n emitChange({\n formattedInternational: international,\n formattedNational: national,\n e164: phoneNumber?.number ?? null,\n country: nextCountry,\n countryCallingCode: nextDialCode,\n nationalNumber: nationalDigits,\n rawInput: normalized,\n isValid: phoneNumber?.isValid() ?? false,\n })\n },\n [\n activeCountry,\n emitChange,\n fallbackCountry,\n hasConfiguredCountry,\n isCountryControlled,\n notifyCountryChange,\n uncontrolledCountry,\n ]\n )\n\n const handleCountrySelect = React.useCallback(\n (option: SingleValue<CountryOption>) => {\n if (!option) {\n return\n }\n\n const previousDigits = sanitizeDigits(lastNormalizedRef.current || inputValueState)\n const currentDial = getCountryCallingCode(activeCountry)\n const digitsWithoutCurrentDial = previousDigits.startsWith(currentDial)\n ? previousDigits.slice(currentDial.length)\n : previousDigits\n let rebasedDigits = digitsWithoutCurrentDial\n if (!rebasedDigits) {\n rebasedDigits = option.dialCode\n } else if (!rebasedDigits.startsWith(option.dialCode)) {\n rebasedDigits = `${option.dialCode}${rebasedDigits}`\n }\n const normalized = `+${rebasedDigits}`\n lastNormalizedRef.current = normalized\n const { international, national, phoneNumber } = formatWithAsYouType(\n normalized,\n option.value\n )\n const nextCountry = option.value\n manualSelectionCountryRef.current = nextCountry\n hasResolvedCountryRef.current = true\n\n setInputValueState(international)\n pendingSelectionRef.current = {\n start: international.length,\n end: international.length,\n }\n setShowSuggestions(false)\n setCountryQuery(\"\")\n setHighlightedIndex(-1)\n setLengthIssue(getLengthIssue(normalized, nextCountry))\n\n if (!isCountryControlled && nextCountry !== uncontrolledCountry) {\n setUncontrolledCountry(nextCountry)\n }\n\n notifyCountryChange(nextCountry)\n\n const normalizedDigits = sanitizeDigits(normalized)\n const dialCode = phoneNumber?.countryCallingCode ?? option.dialCode\n const nationalDigits = stripPrefix(normalizedDigits, dialCode)\n setHasExplicitCountrySelection(true)\n emitChange({\n formattedInternational: international,\n formattedNational: national,\n e164: phoneNumber?.number ?? null,\n country: nextCountry,\n countryCallingCode: dialCode,\n nationalNumber: nationalDigits,\n rawInput: normalized,\n isValid: phoneNumber?.isValid() ?? false,\n })\n\n requestAnimationFrame(() => {\n inputRef.current?.focus()\n })\n },\n [activeCountry, emitChange, inputValueState, isCountryControlled, notifyCountryChange, uncontrolledCountry]\n )\n\n const filteredOptions = React.useMemo(() => {\n if (!showSuggestions) {\n return [] as CountryOption[]\n }\n\n const results: CountryOption[] = []\n\n const pushUnique = (option: CountryOption) => {\n if (!results.some((existing) => existing.value === option.value)) {\n results.push(option)\n }\n }\n\n const fallbackOption = countryOptions.find((option) => option.value === fallbackCountry)\n const currentOption = countryOptions.find((option) => option.value === activeCountry)\n const query = countryQuery.trim()\n const digitQuery = sanitizeDigits(query)\n const normalizedQuery = normalizeSearchValue(query)\n\n if (!digitQuery && !normalizedQuery) {\n if (fallbackOption) {\n pushUnique(fallbackOption)\n }\n if (currentOption) {\n pushUnique(currentOption)\n }\n countryOptions.forEach(pushUnique)\n return results\n }\n\n if (digitQuery) {\n const dialMatches = countryOptions\n .filter((option) => option.dialCode.startsWith(digitQuery))\n .sort((a, b) => {\n const aExact = a.dialCode === digitQuery\n const bExact = b.dialCode === digitQuery\n if (aExact && !bExact) {\n return -1\n }\n if (!aExact && bExact) {\n return 1\n }\n return a.dialCode.length - b.dialCode.length\n })\n dialMatches.forEach(pushUnique)\n }\n\n if (normalizedQuery) {\n const nameMatches = countryOptions\n .filter((option) =>\n option.normalizedSearchableTokens.some((token) => token.includes(normalizedQuery))\n )\n .sort((a, b) => {\n const aIndex = optionMatchIndex(a.normalizedSearchableTokens, normalizedQuery)\n const bIndex = optionMatchIndex(b.normalizedSearchableTokens, normalizedQuery)\n if (aIndex !== bIndex) {\n return aIndex - bIndex\n }\n return a.name.localeCompare(b.name)\n })\n nameMatches.forEach(pushUnique)\n }\n\n if (currentOption) {\n pushUnique(currentOption)\n }\n if (fallbackOption) {\n pushUnique(fallbackOption)\n }\n if (results.length === 0) {\n countryOptions.forEach(pushUnique)\n }\n\n return results\n }, [activeCountry, countryOptions, countryQuery, fallbackCountry, showSuggestions])\n\n const suggestionMenuIsOpen = isFocused && showSuggestions && filteredOptions.length > 0\n\n React.useEffect(() => {\n if (!suggestionMenuIsOpen) {\n scrollBehaviorRef.current = \"smooth\"\n }\n }, [suggestionMenuIsOpen])\n\n React.useEffect(() => {\n if (!suggestionMenuIsOpen) {\n setHighlightedIndex(-1)\n return\n }\n\n if (filteredOptions.length === 0) {\n setHighlightedIndex(-1)\n return\n }\n\n setHighlightedIndex((current) => {\n if (current < 0 || current >= filteredOptions.length) {\n return 0\n }\n return current\n })\n }, [filteredOptions, suggestionMenuIsOpen])\n\n const highlightedOption =\n highlightedIndex >= 0 ? filteredOptions[highlightedIndex] ?? null : null\n React.useEffect(() => {\n if (highlightedIndex < 0) {\n scrollBehaviorRef.current = \"smooth\"\n }\n }, [highlightedIndex])\n\n const updateHighlightedOption = React.useCallback(\n (option: CountryOption) => {\n const index = filteredOptions.findIndex((candidate) => candidate.value === option.value)\n if (index !== -1) {\n setHighlightedIndex(index)\n }\n },\n [filteredOptions]\n )\n\n const selectFormatOptionLabel = React.useCallback<\n NonNullable<SelectProps<CountryOption, false>[\"formatOptionLabel\"]>\n >(\n (option, meta) => {\n if (userFormatOptionLabel) {\n return userFormatOptionLabel(option, meta)\n }\n return formatCountryOption(option)\n },\n [userFormatOptionLabel]\n )\n\n const optionLabelRenderer = React.useCallback(\n (option: CountryOption) =>\n selectFormatOptionLabel(option, {\n context: \"menu\",\n inputValue: countryQuery,\n selectValue: [],\n }),\n [countryQuery, selectFormatOptionLabel]\n )\n\n const highlightContextValue = React.useMemo<SuggestionContextValue>(\n () => ({\n highlightedValue: highlightedOption?.value ?? null,\n setHighlightedOption: updateHighlightedOption,\n renderOptionLabel: optionLabelRenderer,\n consumeScrollBehavior,\n }),\n [consumeScrollBehavior, highlightedOption, optionLabelRenderer, updateHighlightedOption]\n )\n\n const activeOption = countryOptions.find((option) => option.value === activeCountry)\n const activeFlag = activeOption?.flag ?? \"\"\n const inlineFlagLabel = hasExplicitCountrySelection\n ? resolvedMessages.selectedCountryLabel(activeOption?.name ?? activeCountry ?? null)\n : resolvedMessages.selectCountryLabel\n const hasInlineFlag = hasExplicitCountrySelection && Boolean(activeFlag)\n const lengthHint =\n lengthIssue === \"TOO_LONG\"\n ? resolvedMessages.lengthTooLong(activeOption?.name ?? activeCountry ?? null)\n : null\n const countryName = activeOption?.name ?? activeCountry ?? null\n\n let validationNode: React.ReactNode = null\n if (lengthHint) {\n const rendered = renderValidationMessage?.({\n message: lengthHint,\n code: \"TOO_LONG\",\n countryName,\n })\n validationNode =\n rendered === undefined ? (\n <p className=\"mt-1 text-xs text-destructive\">\n <span>{lengthHint}</span>\n </p>\n ) : (\n rendered\n )\n }\n\n const appendToBuffer = React.useCallback(\n (char: string) => {\n keyboardBufferRef.current = `${keyboardBufferRef.current}${char}`.slice(-12)\n setCountryQuery(keyboardBufferRef.current)\n setShowSuggestions(true)\n scheduleBufferReset()\n },\n [scheduleBufferReset]\n )\n\n const popBuffer = React.useCallback(() => {\n const current = keyboardBufferRef.current\n if (!current) {\n return\n }\n keyboardBufferRef.current = current.slice(0, -1)\n setCountryQuery(keyboardBufferRef.current)\n if (keyboardBufferRef.current) {\n scheduleBufferReset()\n }\n }, [scheduleBufferReset])\n\n const handleKeyDown = React.useCallback(\n (event: React.KeyboardEvent<HTMLInputElement>) => {\n onInputKeyDown?.(event)\n if (event.defaultPrevented) {\n return\n }\n\n const key = event.key\n\n if (event.metaKey || event.ctrlKey || event.altKey) {\n return\n }\n\n const target = event.currentTarget\n const value = target.value\n const selectionStart = target.selectionStart ?? 0\n const selectionEnd = target.selectionEnd ?? selectionStart\n const isCollapsedSelection = selectionStart === selectionEnd\n\n if (key === \"Backspace\" && isCollapsedSelection) {\n const nextStart = skipFormattingCharactersLeft(value, selectionStart)\n if (nextStart !== selectionStart) {\n target.setSelectionRange(nextStart, nextStart)\n }\n } else if (key === \"ArrowLeft\" && isCollapsedSelection) {\n const nextStart = skipFormattingCharactersLeft(value, selectionStart)\n if (nextStart !== selectionStart) {\n event.preventDefault()\n target.setSelectionRange(nextStart, nextStart)\n return\n }\n } else if (key === \"ArrowRight\" && isCollapsedSelection) {\n const nextStart = skipFormattingCharactersRight(value, selectionEnd)\n if (nextStart !== selectionEnd) {\n event.preventDefault()\n target.setSelectionRange(nextStart, nextStart)\n return\n }\n }\n\n if (key === \"ArrowDown\") {\n scrollBehaviorRef.current = event.repeat ? \"auto\" : \"smooth\"\n event.preventDefault()\n if (!showSuggestions) {\n setShowSuggestions(true)\n setHighlightedIndex(filteredOptions.length > 0 ? 0 : -1)\n return\n }\n\n if (filteredOptions.length > 0) {\n setHighlightedIndex((current) => {\n const next = current < 0 ? 0 : (current + 1) % filteredOptions.length\n return next\n })\n }\n return\n }\n\n if (key === \"ArrowUp\") {\n scrollBehaviorRef.current = event.repeat ? \"auto\" : \"smooth\"\n event.preventDefault()\n if (!showSuggestions) {\n setShowSuggestions(true)\n setHighlightedIndex(filteredOptions.length > 0 ? filteredOptions.length - 1 : -1)\n return\n }\n\n if (filteredOptions.length > 0) {\n setHighlightedIndex((current) => {\n if (current < 0) {\n return filteredOptions.length - 1\n }\n return (current - 1 + filteredOptions.length) % filteredOptions.length\n })\n }\n return\n }\n\n if (/^[a-z]$/i.test(key)) {\n event.preventDefault()\n if (!showSuggestions) {\n setShowSuggestions(true)\n setHighlightedIndex(filteredOptions.length > 0 ? 0 : -1)\n }\n appendToBuffer(key.toLowerCase())\n return\n }\n\n if (suggestionMenuIsOpen) {\n if (key === \"Backspace\" && keyboardBufferRef.current) {\n event.preventDefault()\n popBuffer()\n return\n }\n\n if (key === \"Escape\") {\n event.preventDefault()\n keyboardBufferRef.current = \"\"\n setCountryQuery(\"\")\n setShowSuggestions(false)\n return\n }\n\n if (key === \"Enter\" && filteredOptions.length > 0) {\n event.preventDefault()\n const target = highlightedOption ?? filteredOptions[0]\n handleCountrySelect(target)\n return\n }\n }\n },\n [\n appendToBuffer,\n filteredOptions,\n handleCountrySelect,\n highlightedOption,\n onInputKeyDown,\n popBuffer,\n showSuggestions,\n suggestionMenuIsOpen,\n ]\n )\n\n const handleFocus = React.useCallback(\n (event: React.FocusEvent<HTMLInputElement>) => {\n setIsFocused(true)\n onInputFocus?.(event)\n },\n [onInputFocus]\n )\n\n const handleBlur = React.useCallback(\n (event: React.FocusEvent<HTMLInputElement>) => {\n setIsFocused(false)\n setShowSuggestions(false)\n keyboardBufferRef.current = \"\"\n setCountryQuery(\"\")\n onInputBlur?.(event)\n },\n [onInputBlur]\n )\n\n const openCountryMenu = React.useCallback(() => {\n if (disabled || readOnly) {\n return\n }\n\n keyboardBufferRef.current = \"\"\n setCountryQuery(\"\")\n setShowSuggestions(true)\n setHighlightedIndex((current) => (current < 0 ? 0 : current))\n\n requestAnimationFrame(() => {\n inputRef.current?.focus()\n })\n }, [disabled, readOnly])\n\n const shimName = autofillShimName ?? (inputName ? `${inputName}_shim` : undefined)\n\n return (\n <div className={cn(\"relative flex flex-col\", className)}>\n <div className=\"relative\">\n <input\n {...restInputProps}\n ref={inputRef}\n type=\"tel\"\n className={cn(\n \"flex h-10 w-full rounded-md border border-input bg-background py-2 text-base ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm\",\n \"pl-11 pr-3\",\n inputClassName\n )}\n name={inputName}\n value={inputValueState}\n onChange={handleInputChange}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onKeyDown={handleKeyDown}\n disabled={disabled}\n readOnly={readOnly}\n autoComplete={inputAutoComplete ?? \"off\"}\n />\n <button\n type=\"button\"\n className={cn(\n \"absolute left-3 top-1/2 flex h-6 w-6 -translate-y-1/2 items-center justify-center rounded border text-lg leading-none transition focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2\",\n hasInlineFlag\n ? \"border-transparent\"\n : \"border-dashed border-border text-muted-foreground\",\n disabled\n ? \"cursor-not-allowed opacity-50\"\n : readOnly\n ? \"cursor-default\"\n : \"cursor-pointer hover:bg-muted\"\n )}\n aria-label={inlineFlagLabel}\n onMouseDown={(event) => event.preventDefault()}\n onClick={openCountryMenu}\n tabIndex={-1}\n disabled={disabled}\n >\n <span aria-hidden=\"true\">\n {hasInlineFlag ? activeFlag : \"?\"}\n </span>\n </button>\n </div>\n\n {shimName ? (\n <input\n tabIndex={-1}\n autoComplete=\"tel\"\n name={shimName}\n aria-hidden=\"true\"\n className=\"pointer-events-none absolute left-0 top-0 h-0 w-0 opacity-0\"\n />\n ) : null}\n\n <div\n className=\"absolute left-0 top-full z-30 mt-1\"\n style={{\n pointerEvents: suggestionMenuIsOpen ? \"auto\" : \"none\",\n width: \"min(260px, 100%)\",\n }}\n onMouseDown={(event) => event.preventDefault()}\n >\n <SuggestionContext.Provider value={highlightContextValue}>\n <Select<CountryOption, false>\n {...restForwardedSelectProps}\n menuIsOpen={suggestionMenuIsOpen}\n options={filteredOptions}\n value={null}\n components={mergedSelectComponents}\n styles={mergedSelectStyles}\n isClearable={false}\n isSearchable={false}\n backspaceRemovesValue={false}\n tabSelectsValue={false}\n menuShouldScrollIntoView={false}\n onChange={handleCountrySelect}\n classNamePrefix={userClassNamePrefix ?? \"phone-number-suggestions\"}\n placeholder=\"\"\n formatOptionLabel={selectFormatOptionLabel}\n noOptionsMessage={\n noOptionsMessage ?? (() => resolvedMessages.noMatches)\n }\n />\n </SuggestionContext.Provider>\n </div>\n\n {validationNode}\n </div>\n )\n }\n)\n\nPhoneNumberInput.displayName = \"PhoneNumberInput\"\n"],"names":["PhoneNumberInput","React","props","forwardedRef","value","defaultCountry","countryProp","locale","onChange","onCountryChange","className","inputClassName","disabled","readOnly","selectProps","autofillShimName","messagesProp","renderValidationMessage","restProps","onInputFocus","onInputBlur","onInputKeyDown","inputName","inputAutoComplete","restInputProps","hasConfiguredCountry","localeCacheKey","getLocaleCacheKey","localeForBuild","parseLocaleCacheKey","resolvedMessages","resolveMessages","countryOptions","getCachedCountryOptions","resolveSelectedCountry","country","match","candidate","toSelectedCountry","buildFallbackSelectedCountry","fallbackCountry","getValidCountry","DEFAULT_COUNTRY","option","hasResolvedCountryRef","initialStateRef","lastNormalizedRef","baseCountryForInit","normalized","normalizeInputValue","international","phoneNumber","detectedCountry","inferredCountry","hasExplicitInternationalPrefix","formatWithAsYouType","canonicalDetectedCountry","resolvedCountry","rawDigits","sanitizeDigits","hasExplicitPlus","internationalDigits","initialDialCode","getCountryCallingCode","initialHasPrefix","detectNationalPrefixForDisplay","suggestion","getSuggestionState","inferredCountryToApply","nextDialCode","finalHasPrefix","displayValue","injectNationalPrefixDisplay","displayDetectedCountry","allowInlineFlag","shouldDisplayExplicitCountrySelection","initialState","uncontrolledCountry","setUncontrolledCountry","inputValueState","setInputValueState","countryQuery","setCountryQuery","showSuggestions","setShowSuggestions","highlightedIndex","setHighlightedIndex","isFocused","setIsFocused","lengthIssue","setLengthIssue","hasExplicitCountrySelection","setHasExplicitCountrySelection","manualSelectionCountryRef","keyboardBufferRef","bufferTimeoutRef","scrollBehaviorRef","pendingSelectionRef","consumeScrollBehavior","behavior","isCountryControlled","selectedCountry","activeCountry","inputRef","selection","input","start","end","selectOverrides","userSelectStyles","userSelectComponents","userClassNamePrefix","userFormatOptionLabel","forwardedSelectProps","noOptionsMessage","restForwardedSelectProps","mergedSelectStyles","suggestionSelectStyles","mergedSelectComponents","baseComponents","HiddenControl","NullComponent","overrides","SuggestionOption","hasAnnouncedCountryRef","notifyCountryChange","baseCountryForSync","previousNormalized","nextCountry","initialHasTypedTrunk","finalCountry","hasTypedTrunk","shouldShowInlineFlag","getLengthIssue","current","emitChange","details","scheduleBufferReset","handleInputChange","event","target","snapshot","captureSelectionSnapshot","raw","baseCountryForInput","dialCode","typedDigits","startsWithDialCode","hasLeadingZero","isIddPrefix","COMMON_IDD_PREFIXES","prefix","shouldRemoveNationalPrefix","resolveSelection","national","normalizedDigits","nationalDigits","stripPrefix","handleCountrySelect","previousDigits","currentDial","rebasedDigits","filteredOptions","results","pushUnique","existing","fallbackOption","currentOption","query","digitQuery","normalizedQuery","normalizeSearchValue","a","b","aExact","bExact","token","aIndex","optionMatchIndex","bIndex","suggestionMenuIsOpen","highlightedOption","updateHighlightedOption","index","selectFormatOptionLabel","meta","formatCountryOption","optionLabelRenderer","highlightContextValue","activeOption","activeFlag","inlineFlagLabel","hasInlineFlag","lengthHint","countryName","validationNode","rendered","jsx","appendToBuffer","char","popBuffer","handleKeyDown","key","selectionStart","selectionEnd","isCollapsedSelection","nextStart","skipFormattingCharactersLeft","skipFormattingCharactersRight","handleFocus","handleBlur","openCountryMenu","shimName","cn","jsxs","SuggestionContext","Select"],"mappings":";;;;;;;;;;AAoEO,MAAMA,KAAmBC,EAAM;AAAA,EACpC,SAA0BC,IAAOC,IAAc;AAC7C,UAAM;AAAA,MACJ,OAAAC;AAAA,MACA,gBAAAC;AAAA,MACA,SAASC;AAAA,MACT,QAAAC;AAAA,MACA,UAAAC;AAAA,MACA,iBAAAC;AAAA,MACA,WAAAC;AAAA,MACA,gBAAAC;AAAA,MACA,UAAAC;AAAA,MACA,UAAAC;AAAA,MACA,aAAAC;AAAA,MACA,kBAAAC;AAAA,MACA,UAAUC;AAAA,MACV,yBAAAC;AAAA,MACA,GAAGC;AAAA,IAAA,IACDhB,IAEE;AAAA,MACJ,SAASiB;AAAA,MACT,QAAQC;AAAA,MACR,WAAWC;AAAA,MACX,MAAMC;AAAA,MACN,cAAcC;AAAA,MACd,GAAGC;AAAA,IAAA,IACDN,IAEEO,IACJ,OAAOpB,MAAmB,YAAY,OAAOC,KAAgB,UAEzDoB,KAAiBC,GAAkBpB,EAAM,GACzCqB,KAAiB3B,EAAM;AAAA,MAC3B,MAAM4B,GAAoBH,EAAc;AAAA,MACxC,CAACA,EAAc;AAAA,IAAA,GAEXI,KAAmB7B,EAAM;AAAA,MAC7B,MAAM8B,GAAgBH,IAAgBZ,EAAY;AAAA,MAClD,CAACY,IAAgBZ,EAAY;AAAA,IAAA,GAEzBgB,IAAiB/B,EAAM;AAAA,MAC3B,MAAMgC,GAAwBL,IAAgBF,EAAc;AAAA,MAC5D,CAACA,IAAgBE,EAAc;AAAA,IAAA,GAE3BM,KAAyBjC,EAAM;AAAA,MACnC,CAACkC,MAAqD;AACpD,cAAMC,IAAQJ,EAAe,KAAK,CAACK,MAAcA,EAAU,UAAUF,CAAO;AAC5E,eAAIC,IACKE,GAAkBF,CAAK,IAEzBG,GAA6BJ,CAAO;AAAA,MAC7C;AAAA,MACA,CAACH,CAAc;AAAA,IAAA,GAEXQ,IAAkBvC,EAAM,QAAQ,MAAM;AAC1C,YAAMoC,IAAYI,GAAgBpC,MAAkBC,KAAeoC,EAAe;AAClF,aAAIV,EAAe,KAAK,CAACW,MAAWA,EAAO,UAAUN,CAAS,IACrDA,IAEFL,EAAe,CAAC,GAAG,SAASU;AAAA,IACrC,GAAG,CAACV,GAAgB1B,GAAaD,EAAc,CAAC,GAE1CuC,IAAwB3C,EAAM,OAAgBwB,CAAoB,GAElEoB,KAAkB5C,EAAM,OAKpB,IAAI,GACR6C,IAAoB7C,EAAM,OAAe,EAAE;AAEjD,QAAI,CAAC4C,GAAgB;AACnB,UAAI,CAACzC;AACH,QAAAyC,GAAgB,UAAU;AAAA,UACxB,SAASL;AAAA,UACT,YAAY;AAAA,UACZ,iBAAiB;AAAA,UACjB,6BAA6B;AAAA,QAAA,GAE/BM,EAAkB,UAAU;AAAA,WACvB;AACL,cAAMC,IAAqBtB,IAAuBe,IAAkB,QAC9DQ,IAAaC,GAAoB7C,GAAO2C,GAAoB,EAAE,eAAe,IAAM;AACzF,YAAI,CAACC;AACH,UAAAH,GAAgB,UAAU;AAAA,YACxB,SAASL;AAAA,YACT,YAAY;AAAA,YACZ,iBAAiB;AAAA,YACjB,6BAA6B;AAAA,UAAA,GAE/BM,EAAkB,UAAU;AAAA,aACvB;AACL,gBAAM;AAAA,YACJ,eAAAI;AAAA,YACA,aAAAC;AAAA,YACA,iBAAAC;AAAA,YACA,iBAAAC;AAAA,YACA,gCAAAC;AAAA,UAAA,IACEC,GAAoBP,GAAYD,CAAkB,GAChDS,IAA2BJ,KAAmB;AACpD,cAAIK,IAAkBD,KAA4BhB;AAClD,gBAAMkB,IAAYC,EAAevD,KAAS,EAAE,GACtCwD,IAAkB,OAAOxD,KAAU,WAAW,SAAS,KAAKA,CAAK,IAAI,IACrEyD,IAAsBF,EAAeT,CAAa,GAClDY,IAAkBC,EAAsBN,CAAe,GACvDO,IAAmBC;AAAA,YACvBP;AAAA,YACAG;AAAA,YACAC;AAAA,YACAF;AAAA,UAAA,GAGIM,IAAaC;AAAA,YACjBnB;AAAA,YACAD;AAAA,YACAI,KAAe;AAAA,YACf;AAAA,cACE,0BAA0Ba;AAAA,cAC1B,iBAAiBR;AAAA,cACjB,gCAAAF;AAAA,YAAA;AAAA,UACF,GAGIc,IACJ,CAACF,EAAW,iBAAiB,CAACV,IAA2BH,IAAkB;AAG7E,UAAIe,MACFX,IAAkBW,KAIVZ,KAAqCY,OAE7CxB,EAAsB,UAAU;AAGlC,gBAAMyB,IAAeN,EAAsBN,CAAe,GACpDa,KAAiBF,IACnBH;AAAA,YACEP;AAAA,YACAG;AAAA,YACAQ;AAAA,YACAT;AAAA,UAAA,IAEFI,GAEEO,IAAeC,GAA4BtB,GAAemB,GAAc;AAAA,YAC5E,OAAOC;AAAA,UAAA,CACR,GAEKG,IAAyBjB,KAA4B,QACrDkB,IAAkB9B,EAAsB;AAC9C,UAAAC,GAAgB,UAAU;AAAA,YACxB,SAASY;AAAA,YACT,YAAYc;AAAA,YACZ,iBAAiBvB;AAAA,YACjB,6BACE0B,KACAC,GAAsCT,GAAY;AAAA,cAChD,iBAAiBO;AAAA,cACjB,gCAAAnB;AAAA,YAAA,CACD;AAAA,UAAA,GAELR,EAAkB,UAAUE;AAAA,QAC9B;AAAA,MACF;AAGF,UAAM4B,KAAe/B,GAAgB,SAE/B,CAACgC,GAAqBC,CAAsB,IAAI7E,EAAM,SAAS2E,GAAa,OAAO,GACnF,CAACG,IAAiBC,CAAkB,IAAI/E,EAAM,SAAS2E,GAAa,UAAU,GAC9E,CAACK,IAAcC,CAAe,IAAIjF,EAAM,SAAS,EAAE,GACnD,CAACkF,GAAiBC,CAAkB,IAAInF,EAAM,SAAS,EAAK,GAC5D,CAACoF,IAAkBC,CAAmB,IAAIrF,EAAM,SAAiB,EAAE,GACnE,CAACsF,IAAWC,EAAY,IAAIvF,EAAM,SAAS,EAAK,GAChD,CAACwF,IAAaC,CAAc,IAAIzF,EAAM,SAA6B,IAAI,GACvE,CAAC0F,IAA6BC,CAA8B,IAAI3F,EAAM;AAAA,MAC1E2E,GAAa;AAAA,IAAA,GAETiB,IAA4B5F,EAAM,OAA2B,IAAI,GAEjE6F,IAAoB7F,EAAM,OAAO,EAAE,GACnC8F,IAAmB9F,EAAM,OAAsB,IAAI,GACnD+F,IAAoB/F,EAAM,OAAuB,QAAQ,GACzDgG,IAAsBhG,EAAM,OAA8C,IAAI,GAC9EiG,KAAwBjG,EAAM,YAAY,MAAM;AACpD,YAAMkG,IAAWH,EAAkB;AACnC,aAAAA,EAAkB,UAAU,UACrBG;AAAA,IACT,GAAG,CAAA,CAAE,GAECC,IAAsB,OAAO9F,KAAgB,UAC7C+F,KAAkBD,IAAsB9F,IAAcuE,GACtDyB,IAAgBD,MAAmB7D,GAEnC+D,KAAWtG,EAAM,OAAgC,IAAI;AAE3D,IAAAA,EAAM,oBAAoBE,IAAc,MAAMoG,GAAS,SAA6B,CAAA,CAAE,GAEtFtG,EAAM,gBAAgB,MAAM;AAC1B,YAAMuG,IAAYP,EAAoB;AACtC,UAAI,CAACO;AACH;AAGF,YAAMC,IAAQF,GAAS;AAEvB,UADAN,EAAoB,UAAU,MAC1B,CAACQ;AACH;AAGF,YAAM,EAAE,OAAAC,GAAO,KAAAC,EAAA,IAAQH;AACvB,MAAAC,EAAM,kBAAkBC,GAAOC,CAAG;AAAA,IACpC,GAAG,CAAC5B,EAAe,CAAC;AAEpB,UAAM6B,KAAkB9F,MAAe,CAAA,GACjC;AAAA,MACJ,QAAQ+F;AAAA,MACR,YAAYC;AAAA,MACZ,iBAAiBC;AAAA,MACjB,mBAAmBC;AAAA,MACnB,GAAGC;AAAA,IAAA,IACDL,IACE,EAAE,kBAAAM,IAAkB,GAAGC,GAAA,IAA6BF,IAEpDG,KAAqBnH,EAAM;AAAA,MAC/B,OAAO;AAAA,QACL,GAAGoH;AAAA,QACH,GAAIR,MAAoB,CAAA;AAAA,MAAC;AAAA,MAE3B,CAACA,EAAgB;AAAA,IAAA,GAGbS,KAAyBrH,EAAM,QAAQ,MAAM;AACjD,YAAMsH,IAAiB;AAAA,QACrB,SAASC;AAAA,QACT,qBAAqBC;AAAA,QACrB,mBAAmBA;AAAA,QACnB,oBAAoBA;AAAA,QACpB,gBAAgBA;AAAA,MAAA,GAGZC,IAAYZ,MAAwB,CAAA;AAE1C,aAAKY,EAAU,SAQR;AAAA,QACL,GAAGH;AAAA,QACH,GAAGG;AAAA,MAAA,IATI;AAAA,QACL,GAAGH;AAAA,QACH,GAAGG;AAAA,QACH,QAAQC;AAAA,MAAA;AAAA,IAQd,GAAG,CAACb,EAAoB,CAAC,GAEnBc,KAAyB3H,EAAM,OAAO,EAAK,GAE3C4H,IAAsB5H,EAAM;AAAA,MAChC,CAACkC,MAAyB;AACxB,QAAAyF,GAAuB,UAAU;AACjC,cAAMpB,IAAYtE,GAAuBC,CAAO;AAChD,eAAA1B,KAAkB0B,GAASqE,CAAS,GAC7BA;AAAA,MACT;AAAA,MACA,CAAC/F,IAAiByB,EAAsB;AAAA,IAAA;AAG1C,IAAAjC,EAAM,UAAU,MAAM,MAAM;AAC1B,MAAI8F,EAAiB,WAAW,QAAQ,OAAO,SAAW,OACxD,OAAO,aAAaA,EAAiB,OAAO;AAAA,IAEhD,GAAG,CAAA,CAAE,GAEL9F,EAAM,UAAU,MAAM;AACpB,UAAIG,KAAS;AACX;AAGF,YAAM0H,IAAqBlF,EAAsB,UAAU0D,IAAgB,QACrEyB,IAAqBjF,EAAkB,SACvCE,IAAaC,GAAoB7C,GAAO0H,GAAoB;AAAA,QAChE,eAAe;AAAA,QACf,eAAeC;AAAA,MAAA,CAChB;AAID,UAHAjF,EAAkB,UAAUE,GAC5B8C,EAAkB,UAAU,IAExB,CAAC9C,GAAY;AACf,QAAAgC,EAAmB,EAAE,GACrBI,EAAmB,EAAK,GACxBF,EAAgB,EAAE,GAClBQ,EAAe,IAAI,GACnBG,EAA0B,UAAU,MACpCD,EAA+B,EAAK;AACpC,cAAMoC,IAAcvG,IAAuBe,IAAkB8D;AAC7D,QAAI,CAACF,KAAuBvB,MAAwBmD,MAClDlD,EAAuBkD,CAAW,GAClCH,EAAoBG,CAAW;AAEjC;AAAA,MACF;AAEA,UAAIhF,MAAe,KAAK;AACtB,QAAAgC,EAAmB,GAAG,GACtBI,EAAmB,EAAK,GACxBF,EAAgB,EAAE,GAClBQ,EAAe,IAAI,GACnBG,EAA0B,UAAU,MACpCD,EAA+B,EAAK;AACpC;AAAA,MACF;AAEA,UAAI5C,MAAe,KAAK;AACtB,QAAAgC,EAAmB,GAAG,GACtBI,EAAmB,EAAI,GACvBF,EAAgB,EAAE,GAClBQ,EAAe,IAAI,GACnBG,EAA0B,UAAU,MACpCD,EAA+B,EAAK;AACpC,cAAMoC,IAAcvG,IAAuBe,IAAkB8D;AAC7D,QAAI,CAACF,KAAuBvB,MAAwBmD,MAClDlD,EAAuBkD,CAAW,GAClCH,EAAoBG,CAAW;AAEjC;AAAA,MACF;AAEA,YAAM;AAAA,QACJ,eAAA9E;AAAA,QACA,aAAAC;AAAA,QACA,iBAAAC;AAAA,QACA,iBAAAC;AAAA,QACA,gCAAAC;AAAA,MAAA,IACEC,GAAoBP,GAAY8E,CAAkB,GAChDtE,IAA2BJ,KAAmB;AACpD,UAAI4E,IAAcxE,KAA4BsE,KAAsBxB;AACpE,YAAM5C,IAAYC,EAAevD,KAAS,EAAE,GACtCwD,IAAkB,OAAOxD,KAAU,WAAW,SAAS,KAAKA,CAAK,IAAI,IACrEyD,IAAsBF,EAAeT,CAAa,GAClDY,IAAkBC,EAAsBiE,CAAW,GACnDC,IAAuBhE;AAAA,QAC3BP;AAAA,QACAG;AAAA,QACAC;AAAA,QACAF;AAAA,MAAA,GAGIM,IAAaC;AAAA,QACjBnB;AAAA,QACA8E;AAAA,QACA3E,KAAe;AAAA,QACf;AAAA,UACE,0BAA0B8E;AAAA,UAC1B,iBAAiBzE;AAAA,UACjB,gCAAAF;AAAA,QAAA;AAAA,MACF,GAGIc,IACJ,CAACF,EAAW,iBAAiB,CAACV,IAA2BH,IAAkB,QACvE6E,IAAe9D,KAA0B4D;AAI/C,OADUxE,KAAqCY,OAE7CxB,EAAsB,UAAU,KAG9B,CAACwD,KAAuB8B,MAAiBrD,MAC3CC,EAAuBoD,CAAY,GACnCL,EAAoBK,CAAY,IAGlCF,IAAcE,GAGZrC,EAA0B,WAC1BA,EAA0B,YAAYmC,MAEtCnC,EAA0B,UAAU;AAGtC,YAAMxB,IAAeN,EAAsBiE,CAAW,GAChDG,IAAgB/D,IAClBH;AAAA,QACEP;AAAA,QACAG;AAAA,QACAQ;AAAA,QACAT;AAAA,MAAA,IAEFqE,GAEE1D,IAAeC,GAA4BtB,GAAemB,GAAc;AAAA,QAC5E,OAAO8D;AAAA,MAAA,CACR,GACK1D,KAAyBjB,KAA4B,QAErD4E,KADwBvC,EAA0B,WAAW,QAGjElB,GAAsCT,GAAY;AAAA,QAChD,iBAAiBO;AAAA,QACjB,gCAAAnB;AAAA,MAAA,CACD;AAEH,MAAA0B,EAAmBT,CAAY,GAC/Ba,EAAmBlB,EAAW,aAAa,GAC3CgB,EAAgBhB,EAAW,KAAK,GAChCwB,EAAe9C,EAAsB,UAAUyF,GAAerF,GAAYgF,CAAW,IAAI,IAAI,GAC7FpC,EAA+BhD,EAAsB,WAAWwF,EAAoB;AAAA,IACtF,GAAG;AAAA,MACDhI;AAAA,MACAkG;AAAA,MACA9D;AAAA,MACAf;AAAA,MACA2E;AAAA,MACAyB;AAAA,MACAhD;AAAA,IAAA,CACD,GAED5E,EAAM,UAAU,MAAM;AAIpB,UAHI2H,GAAuB,WAGvB,CAAChF,EAAsB;AACzB;AAEF,YAAM0F,IAAUjC,MAAmB7D;AACnC,MAAK8F,KAGLT,EAAoBS,CAAO;AAAA,IAC7B,GAAG,CAAC9F,GAAiBqF,GAAqBxB,EAAe,CAAC,GAE1DpG,EAAM,UAAU,MAAM;AACpB,MAAImG,KAAuB9F,KAAeA,MAAgBuE,KACxDC,EAAuBxE,CAAW;AAAA,IAEtC,GAAG,CAACA,GAAa8F,GAAqBvB,CAAmB,CAAC;AAE1D,UAAM0D,IAAatI,EAAM;AAAA,MACvB,CAACuI,MAA+D;AAC9D,cAAMhC,IAAYtE,GAAuBsG,EAAQ,OAAO;AACxD,QAAAhI,KAAW;AAAA,UACT,GAAGgI;AAAA,UACH,iBAAiBhC;AAAA,QAAA,CAClB;AAAA,MACH;AAAA,MACA,CAAChG,IAAU0B,EAAsB;AAAA,IAAA,GAG7BuG,KAAsBxI,EAAM,YAAY,MAAM;AAClD,MAAI,OAAO,SAAW,QAIlB8F,EAAiB,WAAW,QAC9B,OAAO,aAAaA,EAAiB,OAAO,GAG9CA,EAAiB,UAAU,OAAO,WAAW,MAAM;AACjD,QAAAD,EAAkB,UAAU,IAC5BC,EAAiB,UAAU;AAAA,MAC7B,GAAG,GAAG;AAAA,IACR,GAAG,CAAA,CAAE,GAEC2C,KAAoBzI,EAAM;AAAA,MAC9B,CAAC0I,MAA+C;AAC9C,cAAMC,IAASD,EAAM,QACfE,IAAWC,GAAyBF,CAAM,GAC1CG,IAAMH,EAAO;AACnB,QAAA9C,EAAkB,UAAU;AAE5B,cAAMkD,IAAsBpG,EAAsB,UAAU0D,IAAgB,QACtE2C,IAAWD,IAAsBjF,EAAsBiF,CAAmB,IAAI,IAC9EE,IAAcvF,EAAeoF,CAAG,GAChCnF,IAAkBmF,EAAI,KAAA,EAAO,WAAW,GAAG,GAC3CI,IAAqBF,IAAWC,EAAY,WAAWD,CAAQ,IAAI,IACnEG,IAAiBF,EAAY,WAAW,GAAG,GAC3CG,IAAcC,GAAoB,KAAK,CAACC,MAAWL,EAAY,WAAWK,CAAM,CAAC,GAEjFC,IACJ,EAAQR,KACR,CAACK,MACCF,KAAsBD,EAAY,MAAMD,EAAS,MAAM,EAAE,WAAW,GAAG,KACtE,CAACrF,KAAmBwF,KAAkBF,EAAY,SAAS,KAC3DtF,KAAmBwF,KAAkBF,EAAY,SAAS,KAAK,CAACC,IAE/DpB,IAAqBjF,EAAkB,SACvCE,IAAaC,GAAoB8F,GAAKC,GAAqB;AAAA,UAC/D,eAAe;AAAA,UACf,sBAAsBQ;AAAA,UACtB,eAAezB;AAAA,QAAA,CAChB;AAGD,YAFAjF,EAAkB,UAAUE,GAExB,CAACA,GAAY;AACf,UAAAgC,EAAmB,EAAE,GACrBI,EAAmB,EAAK,GACxBF,EAAgB,EAAE,GAClBI,EAAoB,EAAE,GACtBI,EAAe,IAAI,GACnBG,EAA0B,UAAU,MACpCD,EAA+B,EAAK,GACpCK,EAAoB,UAAUwD,GAAiBZ,GAAU,EAAE;AAE3D,gBAAMb,IAAcvG,IAAuBe,IAAkB8D;AAE7D,UAAI,CAACF,KAAuBvB,MAAwBmD,MAClDlD,EAAuBkD,CAAW,GAClCH,EAAoBG,CAAW;AAGjC,gBAAM3D,KAAeN,EAAsBiE,CAAW;AACtD,UAAAO,EAAW;AAAA,YACT,wBAAwB;AAAA,YACxB,mBAAmB;AAAA,YACnB,MAAM;AAAA,YACN,SAASP;AAAAA,YACT,oBAAoB3D;AAAAA,YACpB,gBAAgB;AAAA,YAChB,UAAU;AAAA,YACV,SAAS;AAAA,UAAA,CACV;AACD;AAAA,QACF;AAEA,YAAIrB,MAAe,KAAK;AACtB,UAAAgC,EAAmB,GAAG,GACtBI,EAAmB,EAAK,GACxBF,EAAgB,EAAE,GAClBI,EAAoB,EAAE,GACtBI,EAAe,IAAI,GACnBG,EAA0B,UAAU,MACpCD,EAA+B,EAAK,GACpCK,EAAoB,UAAUwD,GAAiBZ,GAAU,GAAG;AAE5D,gBAAMb,IAAcvG,IAAuBe,IAAkB8D;AAE7D,UAAI,CAACF,KAAuBvB,MAAwBmD,MAClDlD,EAAuBkD,CAAW,GAClCH,EAAoBG,CAAW;AAGjC,gBAAM3D,KAAeN,EAAsBiE,CAAW;AACtD,UAAAO,EAAW;AAAA,YACT,wBAAwB;AAAA,YACxB,mBAAmB;AAAA,YACnB,MAAM;AAAA,YACN,SAASP;AAAAA,YACT,oBAAoB3D;AAAAA,YACpB,gBAAgB;AAAA,YAChB,UAAU;AAAA,YACV,SAAS;AAAA,UAAA,CACV;AACD;AAAA,QACF;AAEA,YAAIrB,MAAe,KAAK;AACtB,UAAAgC,EAAmB,GAAG,GACtBI,EAAmB,EAAI,GACvBF,EAAgB,EAAE,GAClBI,EAAoB,CAAC,GACrBI,EAAe,IAAI,GACnBG,EAA0B,UAAU,MACpCD,EAA+B,EAAK,GACpCK,EAAoB,UAAUwD,GAAiBZ,GAAU,GAAG;AAE5D,gBAAMb,IAAcvG,IAAuBe,IAAkB8D;AAE7D,UAAI,CAACF,KAAuBvB,MAAwBmD,MAClDlD,EAAuBkD,CAAW,GAClCH,EAAoBG,CAAW;AAGjC,gBAAM3D,KAAeN,EAAsBiE,CAAW;AACtD,UAAAO,EAAW;AAAA,YACT,wBAAwB;AAAA,YACxB,mBAAmB;AAAA,YACnB,MAAM;AAAA,YACN,SAASP;AAAAA,YACT,oBAAoB3D;AAAAA,YACpB,gBAAgB;AAAA,YAChB,UAAU;AAAA,YACV,SAAS;AAAA,UAAA,CACV;AACD;AAAA,QACF;AAEA,cAAM;AAAA,UACJ,eAAAnB;AAAA,UACA,UAAAwG;AAAA,UACA,aAAAvG;AAAA,UACA,iBAAAC;AAAA,UACA,iBAAAC;AAAA,UACA,gCAAAC;AAAA,QAAA,IACEC,GAAoBP,GAAYgG,CAAmB,GACjDxF,IAA2BJ,KAAmB;AACpD,YAAI4E,IAAcxE,KAA4BwF,KAAuB1C;AAErE,cAAMzC,KAAsBF,EAAeT,CAAa,GAClDY,KAAkBC,EAAsBiE,CAAW,GACnDC,KAAuBhE;AAAA,UAC3BiF;AAAA,UACArF;AAAA,UACAC;AAAA,UACAF;AAAA,QAAA,GAGIM,IAAaC;AAAA,UACjBnB;AAAA,UACAgG;AAAA,UACA7F,KAAe;AAAA,UACf;AAAA,YACE,0BAA0B8E;AAAA,YAC1B,iBAAiBzE;AAAA,YACjB,gCAAAF;AAAA,UAAA;AAAA,QACF,GAGIc,KACJ,CAACF,EAAW,iBAAiB,CAACV,IAA2BH,KAAkB,QACvE6E,KAAe9D,MAA0B4D;AAI/C,SADUxE,KAAqCY,QAE7CxB,EAAsB,UAAU,KAG9B,CAACwD,KAAuB8B,OAAiBrD,MAC3CC,EAAuBoD,EAAY,GACnCL,EAAoBK,EAAY,IAGlCF,IAAcE,IAGZrC,EAA0B,WAC1BA,EAA0B,YAAYmC,MAEtCnC,EAA0B,UAAU;AAGtC,cAAMxB,KAAeN,EAAsBiE,CAAW,GAChD2B,KAAmBhG,EAAeX,CAAU,GAC5C4G,KAAiBC,GAAYF,IAAkBtF,EAAY,GAC3D8D,KAAgB/D,KAClBH;AAAA,UACEiF;AAAA,UACArF;AAAA,UACAQ;AAAA,UACAT;AAAA,QAAA,IAEFqE,IAEE1D,KAAeC,GAA4BtB,GAAemB,IAAc;AAAA,UAC5E,OAAO8D;AAAA,QAAA,CACR,GAEK1D,KAAyBjB,KAA4B;AAE3D,QAAAyC,EAAoB,UAAUwD,GAAiBZ,GAAUtE,EAAY,GACrES,EAAmBT,EAAY,GAC/Ba,EAAmBlB,EAAW,aAAa,GAC3CgB,EAAgBhB,EAAW,KAAK,GAChCoB,EAAoBpB,EAAW,gBAAgB,IAAI,EAAE,GACrDwB,EAAe9C,EAAsB,UAAUyF,GAAerF,GAAYgF,CAAW,IAAI,IAAI;AAE7F,cAAMI,KADwBvC,EAA0B,WAAW,QAGjElB,GAAsCT,GAAY;AAAA,UAChD,iBAAiBO;AAAA,UACjB,gCAAAnB;AAAA,QAAA,CACD;AACH,QAAAsC,EAA+BhD,EAAsB,WAAWwF,EAAoB,GACpFG,EAAW;AAAA,UACT,wBAAwBrF;AAAA,UACxB,mBAAmBwG;AAAA,UACnB,MAAMvG,GAAa,UAAU;AAAA,UAC7B,SAAS6E;AAAA,UACT,oBAAoB3D;AAAA,UACpB,gBAAgBuF;AAAA,UAChB,UAAU5G;AAAA,UACV,SAASG,GAAa,aAAa;AAAA,QAAA,CACpC;AAAA,MACH;AAAA,MACA;AAAA,QACEmD;AAAA,QACAiC;AAAA,QACA/F;AAAA,QACAf;AAAA,QACA2E;AAAA,QACAyB;AAAA,QACAhD;AAAA,MAAA;AAAA,IACF,GAGIiF,KAAsB7J,EAAM;AAAA,MAChC,CAAC0C,MAAuC;AACtC,YAAI,CAACA;AACH;AAGF,cAAMoH,IAAiBpG,EAAeb,EAAkB,WAAWiC,EAAe,GAC5EiF,IAAcjG,EAAsBuC,CAAa;AAIvD,YAAI2D,IAH6BF,EAAe,WAAWC,CAAW,IAClED,EAAe,MAAMC,EAAY,MAAM,IACvCD;AAEJ,QAAKE,IAEOA,EAAc,WAAWtH,EAAO,QAAQ,MAClDsH,IAAgB,GAAGtH,EAAO,QAAQ,GAAGsH,CAAa,MAFlDA,IAAgBtH,EAAO;AAIzB,cAAMK,IAAa,IAAIiH,CAAa;AACpC,QAAAnH,EAAkB,UAAUE;AAC5B,cAAM,EAAE,eAAAE,GAAe,UAAAwG,GAAU,aAAAvG,EAAA,IAAgBI;AAAA,UAC/CP;AAAA,UACAL,EAAO;AAAA,QAAA,GAEHqF,IAAcrF,EAAO;AAC3B,QAAAkD,EAA0B,UAAUmC,GACpCpF,EAAsB,UAAU,IAEhCoC,EAAmB9B,CAAa,GAChC+C,EAAoB,UAAU;AAAA,UAC5B,OAAO/C,EAAc;AAAA,UACrB,KAAKA,EAAc;AAAA,QAAA,GAErBkC,EAAmB,EAAK,GACxBF,EAAgB,EAAE,GAClBI,EAAoB,EAAE,GACtBI,EAAe2C,GAAerF,GAAYgF,CAAW,CAAC,GAElD,CAAC5B,KAAuB4B,MAAgBnD,KAC1CC,EAAuBkD,CAAW,GAGpCH,EAAoBG,CAAW;AAE/B,cAAM2B,IAAmBhG,EAAeX,CAAU,GAC5CiG,IAAW9F,GAAa,sBAAsBR,EAAO,UACrDiH,IAAiBC,GAAYF,GAAkBV,CAAQ;AAC7D,QAAArD,EAA+B,EAAI,GACnC2C,EAAW;AAAA,UACT,wBAAwBrF;AAAA,UACxB,mBAAmBwG;AAAA,UACnB,MAAMvG,GAAa,UAAU;AAAA,UAC7B,SAAS6E;AAAA,UACT,oBAAoBiB;AAAA,UACpB,gBAAgBW;AAAA,UAChB,UAAU5G;AAAA,UACV,SAASG,GAAa,aAAa;AAAA,QAAA,CACpC,GAED,sBAAsB,MAAM;AAC1B,UAAAoD,GAAS,SAAS,MAAA;AAAA,QACpB,CAAC;AAAA,MACH;AAAA,MACA,CAACD,GAAeiC,GAAYxD,IAAiBqB,GAAqByB,GAAqBhD,CAAmB;AAAA,IAAA,GAGtGqF,IAAkBjK,EAAM,QAAQ,MAAM;AAC1C,UAAI,CAACkF;AACH,eAAO,CAAA;AAGT,YAAMgF,IAA2B,CAAA,GAE3BC,IAAa,CAACzH,MAA0B;AAC5C,QAAKwH,EAAQ,KAAK,CAACE,MAAaA,EAAS,UAAU1H,EAAO,KAAK,KAC7DwH,EAAQ,KAAKxH,CAAM;AAAA,MAEvB,GAEM2H,IAAiBtI,EAAe,KAAK,CAACW,MAAWA,EAAO,UAAUH,CAAe,GACjF+H,IAAgBvI,EAAe,KAAK,CAACW,MAAWA,EAAO,UAAU2D,CAAa,GAC9EkE,IAAQvF,GAAa,KAAA,GACrBwF,IAAa9G,EAAe6G,CAAK,GACjCE,IAAkBC,GAAqBH,CAAK;AAElD,aAAI,CAACC,KAAc,CAACC,KACdJ,KACFF,EAAWE,CAAc,GAEvBC,KACFH,EAAWG,CAAa,GAE1BvI,EAAe,QAAQoI,CAAU,GAC1BD,MAGLM,KACkBzI,EACjB,OAAO,CAACW,MAAWA,EAAO,SAAS,WAAW8H,CAAU,CAAC,EACzD,KAAK,CAACG,GAAGC,MAAM;AACd,cAAMC,IAASF,EAAE,aAAaH,GACxBM,IAASF,EAAE,aAAaJ;AAC9B,eAAIK,KAAU,CAACC,IACN,KAEL,CAACD,KAAUC,IACN,IAEFH,EAAE,SAAS,SAASC,EAAE,SAAS;AAAA,MACxC,CAAC,EACS,QAAQT,CAAU,GAG5BM,KACkB1I,EACjB;AAAA,QAAO,CAACW,MACPA,EAAO,2BAA2B,KAAK,CAACqI,MAAUA,EAAM,SAASN,CAAe,CAAC;AAAA,MAAA,EAElF,KAAK,CAACE,GAAGC,MAAM;AACd,cAAMI,IAASC,GAAiBN,EAAE,4BAA4BF,CAAe,GACvES,IAASD,GAAiBL,EAAE,4BAA4BH,CAAe;AAC7E,eAAIO,MAAWE,IACNF,IAASE,IAEXP,EAAE,KAAK,cAAcC,EAAE,IAAI;AAAA,MACpC,CAAC,EACS,QAAQT,CAAU,GAG5BG,KACFH,EAAWG,CAAa,GAEtBD,KACFF,EAAWE,CAAc,GAEvBH,EAAQ,WAAW,KACrBnI,EAAe,QAAQoI,CAAU,GAG5BD;AAAA,IACT,GAAG,CAAC7D,GAAetE,GAAgBiD,IAAczC,GAAiB2C,CAAe,CAAC,GAE5EiG,IAAuB7F,MAAaJ,KAAmB+E,EAAgB,SAAS;AAEtF,IAAAjK,EAAM,UAAU,MAAM;AACpB,MAAKmL,MACHpF,EAAkB,UAAU;AAAA,IAEhC,GAAG,CAACoF,CAAoB,CAAC,GAEzBnL,EAAM,UAAU,MAAM;AACpB,UAAI,CAACmL,GAAsB;AACzB,QAAA9F,EAAoB,EAAE;AACtB;AAAA,MACF;AAEA,UAAI4E,EAAgB,WAAW,GAAG;AAChC,QAAA5E,EAAoB,EAAE;AACtB;AAAA,MACF;AAEA,MAAAA,EAAoB,CAACgD,MACfA,IAAU,KAAKA,KAAW4B,EAAgB,SACrC,IAEF5B,CACR;AAAA,IACH,GAAG,CAAC4B,GAAiBkB,CAAoB,CAAC;AAE1C,UAAMC,KACJhG,MAAoB,IAAI6E,EAAgB7E,EAAgB,KAAK,OAAO;AACtE,IAAApF,EAAM,UAAU,MAAM;AACpB,MAAIoF,KAAmB,MACrBW,EAAkB,UAAU;AAAA,IAEhC,GAAG,CAACX,EAAgB,CAAC;AAErB,UAAMiG,KAA0BrL,EAAM;AAAA,MACpC,CAAC0C,MAA0B;AACzB,cAAM4I,IAAQrB,EAAgB,UAAU,CAAC7H,MAAcA,EAAU,UAAUM,EAAO,KAAK;AACvF,QAAI4I,MAAU,MACZjG,EAAoBiG,CAAK;AAAA,MAE7B;AAAA,MACA,CAACrB,CAAe;AAAA,IAAA,GAGZsB,KAA0BvL,EAAM;AAAA,MAGpC,CAAC0C,GAAQ8I,MACHzE,KACKA,GAAsBrE,GAAQ8I,CAAI,IAEpCC,GAAoB/I,CAAM;AAAA,MAEnC,CAACqE,EAAqB;AAAA,IAAA,GAGlB2E,KAAsB1L,EAAM;AAAA,MAChC,CAAC0C,MACC6I,GAAwB7I,GAAQ;AAAA,QAC9B,SAAS;AAAA,QACT,YAAYsC;AAAA,QACZ,aAAa,CAAA;AAAA,MAAC,CACf;AAAA,MACH,CAACA,IAAcuG,EAAuB;AAAA,IAAA,GAGlCI,KAAwB3L,EAAM;AAAA,MAClC,OAAO;AAAA,QACL,kBAAkBoL,IAAmB,SAAS;AAAA,QAC9C,sBAAsBC;AAAA,QACtB,mBAAmBK;AAAA,QACnB,uBAAAzF;AAAA,MAAA;AAAA,MAEF,CAACA,IAAuBmF,IAAmBM,IAAqBL,EAAuB;AAAA,IAAA,GAGnFO,KAAe7J,EAAe,KAAK,CAACW,MAAWA,EAAO,UAAU2D,CAAa,GAC7EwF,KAAaD,IAAc,QAAQ,IACnCE,KAAkBpG,KACpB7D,GAAiB,qBAAqB+J,IAAc,QAAQvF,KAAiB,IAAI,IACjFxE,GAAiB,oBACfkK,KAAgBrG,MAA+B,EAAQmG,IACvDG,KACJxG,OAAgB,aACZ3D,GAAiB,cAAc+J,IAAc,QAAQvF,KAAiB,IAAI,IAC1E,MACA4F,KAAcL,IAAc,QAAQvF,KAAiB;AAE3D,QAAI6F,KAAkC;AACtC,QAAIF,IAAY;AACd,YAAMG,IAAWnL,KAA0B;AAAA,QACzC,SAASgL;AAAA,QACT,MAAM;AAAA,QACN,aAAAC;AAAA,MAAA,CACD;AACD,MAAAC,KACEC,MAAa,SACXC,gBAAAA,EAAAA,IAAC,KAAA,EAAE,WAAU,iCACX,UAAAA,gBAAAA,EAAAA,IAAC,QAAA,EAAM,UAAAJ,GAAA,CAAW,EAAA,CACpB,IAEAG;AAAA,IAEN;AAEA,UAAME,KAAiBrM,EAAM;AAAA,MAC3B,CAACsM,MAAiB;AAChB,QAAAzG,EAAkB,UAAU,GAAGA,EAAkB,OAAO,GAAGyG,CAAI,GAAG,MAAM,GAAG,GAC3ErH,EAAgBY,EAAkB,OAAO,GACzCV,EAAmB,EAAI,GACvBqD,GAAA;AAAA,MACF;AAAA,MACA,CAACA,EAAmB;AAAA,IAAA,GAGhB+D,KAAYvM,EAAM,YAAY,MAAM;AACxC,YAAMqI,IAAUxC,EAAkB;AAClC,MAAKwC,MAGLxC,EAAkB,UAAUwC,EAAQ,MAAM,GAAG,EAAE,GAC/CpD,EAAgBY,EAAkB,OAAO,GACrCA,EAAkB,WACpB2C,GAAA;AAAA,IAEJ,GAAG,CAACA,EAAmB,CAAC,GAElBgE,KAAgBxM,EAAM;AAAA,MAC1B,CAAC0I,MAAiD;AAEhD,YADAtH,KAAiBsH,CAAK,GAClBA,EAAM;AACR;AAGF,cAAM+D,IAAM/D,EAAM;AAElB,YAAIA,EAAM,WAAWA,EAAM,WAAWA,EAAM;AAC1C;AAGF,cAAMC,IAASD,EAAM,eACfvI,IAAQwI,EAAO,OACf+D,IAAiB/D,EAAO,kBAAkB,GAC1CgE,IAAehE,EAAO,gBAAgB+D,GACtCE,IAAuBF,MAAmBC;AAEhD,YAAIF,MAAQ,eAAeG,GAAsB;AAC/C,gBAAMC,IAAYC,GAA6B3M,GAAOuM,CAAc;AACpE,UAAIG,MAAcH,KAChB/D,EAAO,kBAAkBkE,GAAWA,CAAS;AAAA,QAEjD,WAAWJ,MAAQ,eAAeG,GAAsB;AACtD,gBAAMC,IAAYC,GAA6B3M,GAAOuM,CAAc;AACpE,cAAIG,MAAcH,GAAgB;AAChC,YAAAhE,EAAM,eAAA,GACNC,EAAO,kBAAkBkE,GAAWA,CAAS;AAC7C;AAAA,UACF;AAAA,QACF,WAAWJ,MAAQ,gBAAgBG,GAAsB;AACvD,gBAAMC,IAAYE,GAA8B5M,GAAOwM,CAAY;AACnE,cAAIE,MAAcF,GAAc;AAC9B,YAAAjE,EAAM,eAAA,GACNC,EAAO,kBAAkBkE,GAAWA,CAAS;AAC7C;AAAA,UACF;AAAA,QACF;AAEA,YAAIJ,MAAQ,aAAa;AAGvB,cAFA1G,EAAkB,UAAU2C,EAAM,SAAS,SAAS,UACpDA,EAAM,eAAA,GACF,CAACxD,GAAiB;AACpB,YAAAC,EAAmB,EAAI,GACvBE,EAAoB4E,EAAgB,SAAS,IAAI,IAAI,EAAE;AACvD;AAAA,UACF;AAEA,UAAIA,EAAgB,SAAS,KAC3B5E,EAAoB,CAACgD,MACNA,IAAU,IAAI,KAAKA,IAAU,KAAK4B,EAAgB,MAEhE;AAEH;AAAA,QACF;AAEA,YAAIwC,MAAQ,WAAW;AAGrB,cAFA1G,EAAkB,UAAU2C,EAAM,SAAS,SAAS,UACpDA,EAAM,eAAA,GACF,CAACxD,GAAiB;AACpB,YAAAC,EAAmB,EAAI,GACvBE,EAAoB4E,EAAgB,SAAS,IAAIA,EAAgB,SAAS,IAAI,EAAE;AAChF;AAAA,UACF;AAEA,UAAIA,EAAgB,SAAS,KAC3B5E,EAAoB,CAACgD,MACfA,IAAU,IACL4B,EAAgB,SAAS,KAE1B5B,IAAU,IAAI4B,EAAgB,UAAUA,EAAgB,MACjE;AAEH;AAAA,QACF;AAEA,YAAI,WAAW,KAAKwC,CAAG,GAAG;AACxB,UAAA/D,EAAM,eAAA,GACDxD,MACHC,EAAmB,EAAI,GACvBE,EAAoB4E,EAAgB,SAAS,IAAI,IAAI,EAAE,IAEzDoC,GAAeI,EAAI,aAAa;AAChC;AAAA,QACF;AAEA,YAAItB,GAAsB;AACxB,cAAIsB,MAAQ,eAAe5G,EAAkB,SAAS;AACpD,YAAA6C,EAAM,eAAA,GACN6D,GAAA;AACA;AAAA,UACF;AAEA,cAAIE,MAAQ,UAAU;AACpB,YAAA/D,EAAM,eAAA,GACN7C,EAAkB,UAAU,IAC5BZ,EAAgB,EAAE,GAClBE,EAAmB,EAAK;AACxB;AAAA,UACF;AAEA,cAAIsH,MAAQ,WAAWxC,EAAgB,SAAS,GAAG;AACjD,YAAAvB,EAAM,eAAA;AACN,kBAAMC,IAASyC,MAAqBnB,EAAgB,CAAC;AACrD,YAAAJ,GAAoBlB,CAAM;AAC1B;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,MACA;AAAA,QACE0D;AAAA,QACApC;AAAA,QACAJ;AAAA,QACAuB;AAAA,QACAhK;AAAA,QACAmL;AAAA,QACArH;AAAA,QACAiG;AAAA,MAAA;AAAA,IACF,GAGI6B,KAAchN,EAAM;AAAA,MACxB,CAAC0I,MAA8C;AAC7C,QAAAnD,GAAa,EAAI,GACjBrE,KAAewH,CAAK;AAAA,MACtB;AAAA,MACA,CAACxH,EAAY;AAAA,IAAA,GAGT+L,KAAajN,EAAM;AAAA,MACvB,CAAC0I,MAA8C;AAC7C,QAAAnD,GAAa,EAAK,GAClBJ,EAAmB,EAAK,GACxBU,EAAkB,UAAU,IAC5BZ,EAAgB,EAAE,GAClB9D,KAAcuH,CAAK;AAAA,MACrB;AAAA,MACA,CAACvH,EAAW;AAAA,IAAA,GAGR+L,KAAkBlN,EAAM,YAAY,MAAM;AAC9C,MAAIW,MAAYC,OAIhBiF,EAAkB,UAAU,IAC5BZ,EAAgB,EAAE,GAClBE,EAAmB,EAAI,GACvBE,EAAoB,CAACgD,MAAaA,IAAU,IAAI,IAAIA,CAAQ,GAE5D,sBAAsB,MAAM;AAC1B,QAAA/B,GAAS,SAAS,MAAA;AAAA,MACpB,CAAC;AAAA,IACH,GAAG,CAAC3F,IAAUC,EAAQ,CAAC,GAEjBuM,KAAWrM,OAAqBO,KAAY,GAAGA,EAAS,UAAU;AAExE,kCACG,OAAA,EAAI,WAAW+L,GAAG,0BAA0B3M,EAAS,GACpD,UAAA;AAAA,MAAA4M,gBAAAA,EAAAA,KAAC,OAAA,EAAI,WAAU,YACb,UAAA;AAAA,QAAAjB,gBAAAA,EAAAA;AAAAA,UAAC;AAAA,UAAA;AAAA,YACE,GAAG7K;AAAA,YACJ,KAAK+E;AAAA,YACL,MAAK;AAAA,YACL,WAAW8G;AAAA,cACT;AAAA,cACA;AAAA,cACA1M;AAAA,YAAA;AAAA,YAEF,MAAMW;AAAA,YACN,OAAOyD;AAAA,YACP,UAAU2D;AAAA,YACV,SAASuE;AAAA,YACT,QAAQC;AAAA,YACR,WAAWT;AAAA,YACX,UAAA7L;AAAA,YACA,UAAAC;AAAA,YACA,cAAcU,MAAqB;AAAA,UAAA;AAAA,QAAA;AAAA,QAErC8K,gBAAAA,EAAAA;AAAAA,UAAC;AAAA,UAAA;AAAA,YACC,MAAK;AAAA,YACL,WAAWgB;AAAA,cACT;AAAA,cACArB,KACI,uBACA;AAAA,cACJpL,KACI,kCACAC,KACE,mBACA;AAAA,YAAA;AAAA,YAER,cAAYkL;AAAA,YACZ,aAAa,CAACpD,MAAUA,EAAM,eAAA;AAAA,YAC9B,SAASwE;AAAA,YACT,UAAU;AAAA,YACV,UAAAvM;AAAA,YAEA,gCAAC,QAAA,EAAK,eAAY,QACf,UAAAoL,KAAgBF,KAAa,IAAA,CAChC;AAAA,UAAA;AAAA,QAAA;AAAA,MACF,GACF;AAAA,MAECsB,KACCf,gBAAAA,EAAAA;AAAAA,QAAC;AAAA,QAAA;AAAA,UACC,UAAU;AAAA,UACV,cAAa;AAAA,UACb,MAAMe;AAAA,UACN,eAAY;AAAA,UACZ,WAAU;AAAA,QAAA;AAAA,MAAA,IAEV;AAAA,MAEJf,gBAAAA,EAAAA;AAAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAU;AAAA,UACV,OAAO;AAAA,YACL,eAAejB,IAAuB,SAAS;AAAA,YAC/C,OAAO;AAAA,UAAA;AAAA,UAET,aAAa,CAACzC,MAAUA,EAAM,eAAA;AAAA,UAE9B,UAAA0D,gBAAAA,EAAAA,IAACkB,GAAkB,UAAlB,EAA2B,OAAO3B,IACjC,UAAAS,gBAAAA,EAAAA;AAAAA,YAACmB;AAAA,YAAA;AAAA,cACE,GAAGrG;AAAA,cACJ,YAAYiE;AAAA,cACZ,SAASlB;AAAA,cACT,OAAO;AAAA,cACP,YAAY5C;AAAA,cACZ,QAAQF;AAAA,cACR,aAAa;AAAA,cACb,cAAc;AAAA,cACd,uBAAuB;AAAA,cACvB,iBAAiB;AAAA,cACjB,0BAA0B;AAAA,cAC1B,UAAU0C;AAAA,cACV,iBAAiB/C,MAAuB;AAAA,cACxC,aAAY;AAAA,cACZ,mBAAmByE;AAAA,cACnB,kBACAtE,OAAqB,MAAMpF,GAAiB;AAAA,YAAA;AAAA,UAAA,EAEhD,CACF;AAAA,QAAA;AAAA,MAAA;AAAA,MAGCqK;AAAA,IAAA,GACH;AAAA,EAEJ;AACF;AAEAnM,GAAiB,cAAc;"}
1
+ {"version":3,"file":"index20.js","sources":["../src/components/PhoneNumberInput/index.tsx"],"sourcesContent":["import * as React from \"react\"\nimport type { CountryCode } from \"libphonenumber-js\"\nimport { getCountryCallingCode } from \"libphonenumber-js\"\nimport Select, {\n type Props as SelectProps,\n type SingleValue,\n type StylesConfig,\n} from \"react-select\"\n\nimport { cn } from \"@/lib/utils\"\n\nimport type {\n CountryOption,\n PhoneNumberChangeDetails,\n PhoneNumberInputProps,\n PhoneNumberSelectedCountry,\n} from \"./types\"\nimport { resolveMessages } from \"./messages\"\nimport {\n DEFAULT_COUNTRY,\n COMMON_IDD_PREFIXES,\n buildFallbackSelectedCountry,\n getCachedCountryOptions,\n getLocaleCacheKey,\n getValidCountry,\n normalizeSearchValue,\n optionMatchIndex,\n parseLocaleCacheKey,\n toSelectedCountry,\n} from \"./country-options\"\nimport {\n detectNationalPrefixForDisplay,\n formatWithAsYouType,\n getLengthIssue,\n getSuggestionState,\n injectNationalPrefixDisplay,\n normalizeInputValue,\n sanitizeDigits,\n shouldDisplayExplicitCountrySelection,\n stripPrefix,\n type LengthIssue,\n} from \"./normalization\"\nimport {\n captureSelectionSnapshot,\n resolveSelection,\n skipFormattingCharactersLeft,\n skipFormattingCharactersRight,\n} from \"./selection\"\nimport {\n HiddenControl,\n NullComponent,\n SuggestionContext,\n SuggestionOption,\n formatCountryOption,\n suggestionSelectStyles,\n type SuggestionContextValue,\n} from \"./suggestions\"\n\n\nexport type {\n CountryOption,\n PhoneNumberChangeDetails,\n PhoneNumberInputMessages,\n PhoneNumberInputProps,\n PhoneNumberInputValidationCode,\n PhoneNumberSelectedCountry,\n} from \"./types\"\n\nexport const PhoneNumberInput = React.forwardRef<HTMLInputElement, PhoneNumberInputProps>(\n function PhoneNumberInput(props, forwardedRef) {\n const {\n value,\n defaultCountry,\n country: countryProp,\n locale,\n onChange,\n onCountryChange,\n className,\n inputClassName,\n disabled,\n readOnly,\n selectProps,\n autofillShimName,\n messages: messagesProp,\n renderValidationMessage,\n ...restProps\n } = props\n\n const {\n onFocus: onInputFocus,\n onBlur: onInputBlur,\n onKeyDown: onInputKeyDown,\n name: inputName,\n autoComplete: inputAutoComplete,\n ...restInputProps\n } = restProps\n\n const hasConfiguredCountry =\n typeof defaultCountry === \"string\" || typeof countryProp === \"string\"\n\n const localeCacheKey = getLocaleCacheKey(locale)\n const localeForBuild = React.useMemo(\n () => parseLocaleCacheKey(localeCacheKey),\n [localeCacheKey]\n )\n const resolvedMessages = React.useMemo(\n () => resolveMessages(localeForBuild, messagesProp),\n [localeForBuild, messagesProp]\n )\n const countryOptions = React.useMemo(\n () => getCachedCountryOptions(localeForBuild, localeCacheKey),\n [localeCacheKey, localeForBuild]\n )\n const resolveSelectedCountry = React.useCallback(\n (country: CountryCode): PhoneNumberSelectedCountry => {\n const match = countryOptions.find((candidate) => candidate.value === country)\n if (match) {\n return toSelectedCountry(match)\n }\n return buildFallbackSelectedCountry(country)\n },\n [countryOptions]\n )\n const fallbackCountry = React.useMemo(() => {\n const candidate = getValidCountry(defaultCountry ?? countryProp ?? DEFAULT_COUNTRY)\n if (countryOptions.some((option) => option.value === candidate)) {\n return candidate\n }\n return countryOptions[0]?.value ?? DEFAULT_COUNTRY\n }, [countryOptions, countryProp, defaultCountry])\n\n const hasResolvedCountryRef = React.useRef<boolean>(hasConfiguredCountry)\n\n const initialStateRef = React.useRef<{\n country: CountryCode\n inputValue: string\n normalizedValue: string\n hasExplicitCountrySelection: boolean\n } | null>(null)\n const lastNormalizedRef = React.useRef<string>(\"\")\n\n if (!initialStateRef.current) {\n if (!value) {\n initialStateRef.current = {\n country: fallbackCountry,\n inputValue: \"\",\n normalizedValue: \"\",\n hasExplicitCountrySelection: false,\n }\n lastNormalizedRef.current = \"\"\n } else {\n const baseCountryForInit = hasConfiguredCountry ? fallbackCountry : undefined\n const normalized = normalizeInputValue(value, baseCountryForInit, { allowJustPlus: true })\n if (!normalized) {\n initialStateRef.current = {\n country: fallbackCountry,\n inputValue: \"\",\n normalizedValue: \"\",\n hasExplicitCountrySelection: false,\n }\n lastNormalizedRef.current = \"\"\n } else {\n const {\n international,\n phoneNumber,\n detectedCountry,\n inferredCountry,\n hasExplicitInternationalPrefix,\n } = formatWithAsYouType(normalized, baseCountryForInit)\n const canonicalDetectedCountry = detectedCountry ?? undefined\n let resolvedCountry = canonicalDetectedCountry ?? fallbackCountry\n const rawDigits = sanitizeDigits(value ?? \"\")\n const hasExplicitPlus = typeof value === \"string\" ? /^\\s*\\+/.test(value) : false\n const internationalDigits = sanitizeDigits(international)\n const initialDialCode = getCountryCallingCode(resolvedCountry)\n const initialHasPrefix = detectNationalPrefixForDisplay(\n rawDigits,\n internationalDigits,\n initialDialCode,\n hasExplicitPlus\n )\n\n const suggestion = getSuggestionState(\n normalized,\n baseCountryForInit,\n phoneNumber ?? undefined,\n {\n hasRemovedNationalPrefix: initialHasPrefix,\n detectedCountry: canonicalDetectedCountry,\n hasExplicitInternationalPrefix,\n }\n )\n\n const inferredCountryToApply =\n !suggestion.shouldSuggest && !canonicalDetectedCountry ? inferredCountry : undefined\n\n\n if (inferredCountryToApply) {\n resolvedCountry = inferredCountryToApply\n }\n\n const resolvedFromValue =\n Boolean(canonicalDetectedCountry) || Boolean(inferredCountryToApply)\n if (resolvedFromValue) {\n hasResolvedCountryRef.current = true\n }\n\n const nextDialCode = getCountryCallingCode(resolvedCountry)\n const finalHasPrefix = inferredCountryToApply\n ? detectNationalPrefixForDisplay(\n rawDigits,\n internationalDigits,\n nextDialCode,\n hasExplicitPlus\n )\n : initialHasPrefix\n\n const displayValue = injectNationalPrefixDisplay(international, nextDialCode, {\n force: finalHasPrefix,\n })\n\n const displayDetectedCountry = canonicalDetectedCountry ?? undefined\n const allowInlineFlag = hasResolvedCountryRef.current\n initialStateRef.current = {\n country: resolvedCountry,\n inputValue: displayValue,\n normalizedValue: normalized,\n hasExplicitCountrySelection:\n allowInlineFlag &&\n shouldDisplayExplicitCountrySelection(suggestion, {\n detectedCountry: displayDetectedCountry,\n hasExplicitInternationalPrefix,\n }),\n }\n lastNormalizedRef.current = normalized\n }\n }\n }\n\n const initialState = initialStateRef.current\n\n const [uncontrolledCountry, setUncontrolledCountry] = React.useState(initialState.country)\n const [inputValueState, setInputValueState] = React.useState(initialState.inputValue)\n const [countryQuery, setCountryQuery] = React.useState(\"\")\n const [showSuggestions, setShowSuggestions] = React.useState(false)\n const [highlightedIndex, setHighlightedIndex] = React.useState<number>(-1)\n const [isFocused, setIsFocused] = React.useState(false)\n const [lengthIssue, setLengthIssue] = React.useState<LengthIssue | null>(null)\n const [hasExplicitCountrySelection, setHasExplicitCountrySelection] = React.useState(\n initialState.hasExplicitCountrySelection\n )\n const manualSelectionCountryRef = React.useRef<CountryCode | null>(null)\n\n const keyboardBufferRef = React.useRef(\"\")\n const bufferTimeoutRef = React.useRef<number | null>(null)\n const scrollBehaviorRef = React.useRef<ScrollBehavior>(\"smooth\")\n const pendingSelectionRef = React.useRef<{ start: number; end: number } | null>(null)\n const consumeScrollBehavior = React.useCallback(() => {\n const behavior = scrollBehaviorRef.current\n scrollBehaviorRef.current = \"smooth\"\n return behavior\n }, [])\n\n const isCountryControlled = typeof countryProp === \"string\"\n const selectedCountry = isCountryControlled ? countryProp : uncontrolledCountry\n const activeCountry = selectedCountry ?? fallbackCountry\n\n const inputRef = React.useRef<HTMLInputElement | null>(null)\n\n React.useImperativeHandle(forwardedRef, () => inputRef.current as HTMLInputElement, [])\n\n React.useLayoutEffect(() => {\n const selection = pendingSelectionRef.current\n if (!selection) {\n return\n }\n\n const input = inputRef.current\n pendingSelectionRef.current = null\n if (!input) {\n return\n }\n\n const { start, end } = selection\n input.setSelectionRange(start, end)\n }, [inputValueState])\n\n const selectOverrides = selectProps ?? {}\n const {\n styles: userSelectStyles,\n components: userSelectComponents,\n classNamePrefix: userClassNamePrefix,\n formatOptionLabel: userFormatOptionLabel,\n ...forwardedSelectProps\n } = selectOverrides\n const { noOptionsMessage, ...restForwardedSelectProps } = forwardedSelectProps\n\n const mergedSelectStyles = React.useMemo<StylesConfig<CountryOption, false>>(\n () => ({\n ...suggestionSelectStyles,\n ...(userSelectStyles ?? {}),\n }),\n [userSelectStyles]\n )\n\n const mergedSelectComponents = React.useMemo(() => {\n const baseComponents = {\n Control: HiddenControl,\n IndicatorsContainer: NullComponent,\n DropdownIndicator: NullComponent,\n IndicatorSeparator: NullComponent,\n ValueContainer: NullComponent,\n }\n\n const overrides = userSelectComponents ?? {}\n\n if (!overrides.Option) {\n return {\n ...baseComponents,\n ...overrides,\n Option: SuggestionOption,\n }\n }\n\n return {\n ...baseComponents,\n ...overrides,\n }\n }, [userSelectComponents])\n\n const hasAnnouncedCountryRef = React.useRef(false)\n\n const notifyCountryChange = React.useCallback(\n (country: CountryCode) => {\n hasAnnouncedCountryRef.current = true\n const selection = resolveSelectedCountry(country)\n onCountryChange?.(country, selection)\n return selection\n },\n [onCountryChange, resolveSelectedCountry]\n )\n\n React.useEffect(() => () => {\n if (bufferTimeoutRef.current != null && typeof window !== \"undefined\") {\n window.clearTimeout(bufferTimeoutRef.current)\n }\n }, [])\n\n React.useEffect(() => {\n if (value == null) {\n return\n }\n\n const baseCountryForSync = hasResolvedCountryRef.current ? activeCountry : undefined\n const previousNormalized = lastNormalizedRef.current\n const normalized = normalizeInputValue(value, baseCountryForSync, {\n allowJustPlus: true,\n previousValue: previousNormalized,\n })\n lastNormalizedRef.current = normalized\n keyboardBufferRef.current = \"\"\n\n if (!normalized) {\n setInputValueState(\"\")\n setShowSuggestions(false)\n setCountryQuery(\"\")\n setLengthIssue(null)\n manualSelectionCountryRef.current = null\n setHasExplicitCountrySelection(false)\n const nextCountry = hasConfiguredCountry ? fallbackCountry : activeCountry\n if (!isCountryControlled && uncontrolledCountry !== nextCountry) {\n setUncontrolledCountry(nextCountry)\n notifyCountryChange(nextCountry)\n }\n return\n }\n\n if (normalized === \"0\") {\n setInputValueState(\"0\")\n setShowSuggestions(false)\n setCountryQuery(\"\")\n setLengthIssue(null)\n manualSelectionCountryRef.current = null\n setHasExplicitCountrySelection(false)\n return\n }\n\n if (normalized === \"+\") {\n setInputValueState(\"+\")\n setShowSuggestions(true)\n setCountryQuery(\"\")\n setLengthIssue(null)\n manualSelectionCountryRef.current = null\n setHasExplicitCountrySelection(false)\n const nextCountry = hasConfiguredCountry ? fallbackCountry : activeCountry\n if (!isCountryControlled && uncontrolledCountry !== nextCountry) {\n setUncontrolledCountry(nextCountry)\n notifyCountryChange(nextCountry)\n }\n return\n }\n\n const {\n international,\n phoneNumber,\n detectedCountry,\n inferredCountry,\n hasExplicitInternationalPrefix,\n } = formatWithAsYouType(normalized, baseCountryForSync)\n const canonicalDetectedCountry = detectedCountry ?? undefined\n let nextCountry = canonicalDetectedCountry ?? baseCountryForSync ?? activeCountry\n const rawDigits = sanitizeDigits(value ?? \"\")\n const hasExplicitPlus = typeof value === \"string\" ? /^\\s*\\+/.test(value) : false\n const internationalDigits = sanitizeDigits(international)\n const initialDialCode = getCountryCallingCode(nextCountry)\n const initialHasTypedTrunk = detectNationalPrefixForDisplay(\n rawDigits,\n internationalDigits,\n initialDialCode,\n hasExplicitPlus\n )\n\n const suggestion = getSuggestionState(\n normalized,\n baseCountryForSync,\n phoneNumber ?? undefined,\n {\n hasRemovedNationalPrefix: initialHasTypedTrunk,\n detectedCountry: canonicalDetectedCountry,\n hasExplicitInternationalPrefix,\n }\n )\n\n const inferredCountryToApply =\n !suggestion.shouldSuggest && !canonicalDetectedCountry ? inferredCountry : undefined\n const finalCountry = inferredCountryToApply ?? nextCountry\n\n const resolvedFromValue =\n Boolean(canonicalDetectedCountry) || Boolean(inferredCountryToApply)\n if (resolvedFromValue) {\n hasResolvedCountryRef.current = true\n }\n\n if (!isCountryControlled && finalCountry !== uncontrolledCountry) {\n setUncontrolledCountry(finalCountry)\n notifyCountryChange(finalCountry)\n }\n\n nextCountry = finalCountry\n\n if (\n manualSelectionCountryRef.current &&\n manualSelectionCountryRef.current !== nextCountry\n ) {\n manualSelectionCountryRef.current = null\n }\n\n const nextDialCode = getCountryCallingCode(nextCountry)\n const hasTypedTrunk = inferredCountryToApply\n ? detectNationalPrefixForDisplay(\n rawDigits,\n internationalDigits,\n nextDialCode,\n hasExplicitPlus\n )\n : initialHasTypedTrunk\n\n const displayValue = injectNationalPrefixDisplay(international, nextDialCode, {\n force: hasTypedTrunk,\n })\n const displayDetectedCountry = canonicalDetectedCountry ?? undefined\n const manualSelectionActive = manualSelectionCountryRef.current != null\n const shouldShowInlineFlag =\n manualSelectionActive ||\n shouldDisplayExplicitCountrySelection(suggestion, {\n detectedCountry: displayDetectedCountry,\n hasExplicitInternationalPrefix,\n })\n\n setInputValueState(displayValue)\n setShowSuggestions(suggestion.shouldSuggest)\n setCountryQuery(suggestion.query)\n setLengthIssue(hasResolvedCountryRef.current ? getLengthIssue(normalized, nextCountry) : null)\n setHasExplicitCountrySelection(hasResolvedCountryRef.current && shouldShowInlineFlag)\n }, [\n value,\n activeCountry,\n fallbackCountry,\n hasConfiguredCountry,\n isCountryControlled,\n notifyCountryChange,\n uncontrolledCountry,\n ])\n\n React.useEffect(() => {\n if (hasAnnouncedCountryRef.current) {\n return\n }\n if (!hasResolvedCountryRef.current) {\n return\n }\n const current = selectedCountry ?? fallbackCountry\n if (!current) {\n return\n }\n notifyCountryChange(current)\n }, [fallbackCountry, notifyCountryChange, selectedCountry])\n\n React.useEffect(() => {\n if (isCountryControlled && countryProp && countryProp !== uncontrolledCountry) {\n setUncontrolledCountry(countryProp)\n }\n }, [countryProp, isCountryControlled, uncontrolledCountry])\n\n const emitChange = React.useCallback(\n (details: Omit<PhoneNumberChangeDetails, \"selectedCountry\">) => {\n const selection = resolveSelectedCountry(details.country)\n onChange?.({\n ...details,\n selectedCountry: selection,\n })\n },\n [onChange, resolveSelectedCountry]\n )\n\n const scheduleBufferReset = React.useCallback(() => {\n if (typeof window === \"undefined\") {\n return\n }\n\n if (bufferTimeoutRef.current != null) {\n window.clearTimeout(bufferTimeoutRef.current)\n }\n\n bufferTimeoutRef.current = window.setTimeout(() => {\n keyboardBufferRef.current = \"\"\n bufferTimeoutRef.current = null\n }, 800)\n }, [])\n\n const handleInputChange = React.useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n const target = event.target\n const snapshot = captureSelectionSnapshot(target)\n const raw = target.value\n keyboardBufferRef.current = \"\"\n\n const baseCountryForInput = hasResolvedCountryRef.current ? activeCountry : undefined\n const dialCode = baseCountryForInput ? getCountryCallingCode(baseCountryForInput) : \"\"\n const typedDigits = sanitizeDigits(raw)\n const hasExplicitPlus = raw.trim().startsWith(\"+\")\n const startsWithDialCode = dialCode ? typedDigits.startsWith(dialCode) : false\n const hasLeadingZero = typedDigits.startsWith(\"0\")\n const isIddPrefix = COMMON_IDD_PREFIXES.some((prefix) => typedDigits.startsWith(prefix))\n\n const shouldRemoveNationalPrefix =\n Boolean(baseCountryForInput) &&\n !isIddPrefix &&\n ((startsWithDialCode && typedDigits.slice(dialCode.length).startsWith(\"0\")) ||\n (!hasExplicitPlus && hasLeadingZero && typedDigits.length > 1) ||\n (hasExplicitPlus && hasLeadingZero && typedDigits.length > 1 && !startsWithDialCode))\n\n const previousNormalized = lastNormalizedRef.current\n const normalized = normalizeInputValue(raw, baseCountryForInput, {\n allowJustPlus: true,\n removeNationalPrefix: shouldRemoveNationalPrefix,\n previousValue: previousNormalized,\n })\n lastNormalizedRef.current = normalized\n\n if (!normalized) {\n setInputValueState(\"\")\n setShowSuggestions(false)\n setCountryQuery(\"\")\n setHighlightedIndex(-1)\n setLengthIssue(null)\n manualSelectionCountryRef.current = null\n setHasExplicitCountrySelection(false)\n pendingSelectionRef.current = resolveSelection(snapshot, \"\")\n\n const nextCountry = hasConfiguredCountry ? fallbackCountry : activeCountry\n\n if (!isCountryControlled && uncontrolledCountry !== nextCountry) {\n setUncontrolledCountry(nextCountry)\n notifyCountryChange(nextCountry)\n }\n\n const nextDialCode = getCountryCallingCode(nextCountry)\n emitChange({\n formattedInternational: \"\",\n formattedNational: \"\",\n e164: null,\n country: nextCountry,\n countryCallingCode: nextDialCode,\n nationalNumber: \"\",\n rawInput: \"\",\n isValid: false,\n })\n return\n }\n\n if (normalized === \"0\") {\n setInputValueState(\"0\")\n setShowSuggestions(false)\n setCountryQuery(\"\")\n setHighlightedIndex(-1)\n setLengthIssue(null)\n manualSelectionCountryRef.current = null\n setHasExplicitCountrySelection(false)\n pendingSelectionRef.current = resolveSelection(snapshot, \"0\")\n\n const nextCountry = hasConfiguredCountry ? fallbackCountry : activeCountry\n\n if (!isCountryControlled && uncontrolledCountry !== nextCountry) {\n setUncontrolledCountry(nextCountry)\n notifyCountryChange(nextCountry)\n }\n\n const nextDialCode = getCountryCallingCode(nextCountry)\n emitChange({\n formattedInternational: \"0\",\n formattedNational: \"0\",\n e164: null,\n country: nextCountry,\n countryCallingCode: nextDialCode,\n nationalNumber: \"0\",\n rawInput: \"0\",\n isValid: false,\n })\n return\n }\n\n if (normalized === \"+\") {\n setInputValueState(\"+\")\n setShowSuggestions(true)\n setCountryQuery(\"\")\n setHighlightedIndex(0)\n setLengthIssue(null)\n manualSelectionCountryRef.current = null\n setHasExplicitCountrySelection(false)\n pendingSelectionRef.current = resolveSelection(snapshot, \"+\")\n\n const nextCountry = hasConfiguredCountry ? fallbackCountry : activeCountry\n\n if (!isCountryControlled && uncontrolledCountry !== nextCountry) {\n setUncontrolledCountry(nextCountry)\n notifyCountryChange(nextCountry)\n }\n\n const nextDialCode = getCountryCallingCode(nextCountry)\n emitChange({\n formattedInternational: \"+\",\n formattedNational: \"\",\n e164: null,\n country: nextCountry,\n countryCallingCode: nextDialCode,\n nationalNumber: \"\",\n rawInput: \"+\",\n isValid: false,\n })\n return\n }\n\n const {\n international,\n national,\n phoneNumber,\n detectedCountry,\n inferredCountry,\n hasExplicitInternationalPrefix,\n } = formatWithAsYouType(normalized, baseCountryForInput)\n const canonicalDetectedCountry = detectedCountry ?? undefined\n let nextCountry = canonicalDetectedCountry ?? baseCountryForInput ?? activeCountry\n\n const internationalDigits = sanitizeDigits(international)\n const initialDialCode = getCountryCallingCode(nextCountry)\n const initialHasTypedTrunk = detectNationalPrefixForDisplay(\n typedDigits,\n internationalDigits,\n initialDialCode,\n hasExplicitPlus\n )\n\n const suggestion = getSuggestionState(\n normalized,\n baseCountryForInput,\n phoneNumber ?? undefined,\n {\n hasRemovedNationalPrefix: initialHasTypedTrunk,\n detectedCountry: canonicalDetectedCountry,\n hasExplicitInternationalPrefix,\n }\n )\n\n const inferredCountryToApply =\n !suggestion.shouldSuggest && !canonicalDetectedCountry ? inferredCountry : undefined\n const finalCountry = inferredCountryToApply ?? nextCountry\n\n const resolvedFromInput =\n Boolean(canonicalDetectedCountry) || Boolean(inferredCountryToApply)\n if (resolvedFromInput) {\n hasResolvedCountryRef.current = true\n }\n\n if (!isCountryControlled && finalCountry !== uncontrolledCountry) {\n setUncontrolledCountry(finalCountry)\n notifyCountryChange(finalCountry)\n }\n\n nextCountry = finalCountry\n\n if (\n manualSelectionCountryRef.current &&\n manualSelectionCountryRef.current !== nextCountry\n ) {\n manualSelectionCountryRef.current = null\n }\n\n const nextDialCode = getCountryCallingCode(nextCountry)\n const normalizedDigits = sanitizeDigits(normalized)\n const nationalDigits = stripPrefix(normalizedDigits, nextDialCode)\n const hasTypedTrunk = inferredCountryToApply\n ? detectNationalPrefixForDisplay(\n typedDigits,\n internationalDigits,\n nextDialCode,\n hasExplicitPlus\n )\n : initialHasTypedTrunk\n\n const displayValue = injectNationalPrefixDisplay(international, nextDialCode, {\n force: hasTypedTrunk,\n })\n\n const displayDetectedCountry = canonicalDetectedCountry ?? undefined\n\n pendingSelectionRef.current = resolveSelection(snapshot, displayValue)\n setInputValueState(displayValue)\n setShowSuggestions(suggestion.shouldSuggest)\n setCountryQuery(suggestion.query)\n setHighlightedIndex(suggestion.shouldSuggest ? 0 : -1)\n setLengthIssue(hasResolvedCountryRef.current ? getLengthIssue(normalized, nextCountry) : null)\n const manualSelectionActive = manualSelectionCountryRef.current != null\n const shouldShowInlineFlag =\n manualSelectionActive ||\n shouldDisplayExplicitCountrySelection(suggestion, {\n detectedCountry: displayDetectedCountry,\n hasExplicitInternationalPrefix,\n })\n setHasExplicitCountrySelection(hasResolvedCountryRef.current && shouldShowInlineFlag)\n emitChange({\n formattedInternational: international,\n formattedNational: national,\n e164: phoneNumber?.number ?? null,\n country: nextCountry,\n countryCallingCode: nextDialCode,\n nationalNumber: nationalDigits,\n rawInput: normalized,\n isValid: phoneNumber?.isValid() ?? false,\n })\n },\n [\n activeCountry,\n emitChange,\n fallbackCountry,\n hasConfiguredCountry,\n isCountryControlled,\n notifyCountryChange,\n uncontrolledCountry,\n ]\n )\n\n const handleCountrySelect = React.useCallback(\n (option: SingleValue<CountryOption>) => {\n if (!option) {\n return\n }\n\n const previousDigits = sanitizeDigits(lastNormalizedRef.current || inputValueState)\n const currentDial = getCountryCallingCode(activeCountry)\n const digitsWithoutCurrentDial = previousDigits.startsWith(currentDial)\n ? previousDigits.slice(currentDial.length)\n : previousDigits\n let rebasedDigits = digitsWithoutCurrentDial\n if (!rebasedDigits) {\n rebasedDigits = option.dialCode\n } else if (!rebasedDigits.startsWith(option.dialCode)) {\n rebasedDigits = `${option.dialCode}${rebasedDigits}`\n }\n const normalized = `+${rebasedDigits}`\n lastNormalizedRef.current = normalized\n const { international, national, phoneNumber } = formatWithAsYouType(\n normalized,\n option.value\n )\n const nextCountry = option.value\n manualSelectionCountryRef.current = nextCountry\n hasResolvedCountryRef.current = true\n\n setInputValueState(international)\n pendingSelectionRef.current = {\n start: international.length,\n end: international.length,\n }\n setShowSuggestions(false)\n setCountryQuery(\"\")\n setHighlightedIndex(-1)\n setLengthIssue(getLengthIssue(normalized, nextCountry))\n\n if (!isCountryControlled && nextCountry !== uncontrolledCountry) {\n setUncontrolledCountry(nextCountry)\n }\n\n notifyCountryChange(nextCountry)\n\n const normalizedDigits = sanitizeDigits(normalized)\n const dialCode = phoneNumber?.countryCallingCode ?? option.dialCode\n const nationalDigits = stripPrefix(normalizedDigits, dialCode)\n setHasExplicitCountrySelection(true)\n emitChange({\n formattedInternational: international,\n formattedNational: national,\n e164: phoneNumber?.number ?? null,\n country: nextCountry,\n countryCallingCode: dialCode,\n nationalNumber: nationalDigits,\n rawInput: normalized,\n isValid: phoneNumber?.isValid() ?? false,\n })\n\n requestAnimationFrame(() => {\n inputRef.current?.focus()\n })\n },\n [activeCountry, emitChange, inputValueState, isCountryControlled, notifyCountryChange, uncontrolledCountry]\n )\n\n const filteredOptions = React.useMemo(() => {\n if (!showSuggestions) {\n return [] as CountryOption[]\n }\n\n const results: CountryOption[] = []\n\n const pushUnique = (option: CountryOption) => {\n if (!results.some((existing) => existing.value === option.value)) {\n results.push(option)\n }\n }\n\n const fallbackOption = countryOptions.find((option) => option.value === fallbackCountry)\n const currentOption = countryOptions.find((option) => option.value === activeCountry)\n const query = countryQuery.trim()\n const digitQuery = sanitizeDigits(query)\n const normalizedQuery = normalizeSearchValue(query)\n\n if (!digitQuery && !normalizedQuery) {\n if (fallbackOption) {\n pushUnique(fallbackOption)\n }\n if (currentOption) {\n pushUnique(currentOption)\n }\n countryOptions.forEach(pushUnique)\n return results\n }\n\n if (digitQuery) {\n const dialMatches = countryOptions\n .filter((option) => option.dialCode.startsWith(digitQuery))\n .sort((a, b) => {\n const aExact = a.dialCode === digitQuery\n const bExact = b.dialCode === digitQuery\n if (aExact && !bExact) {\n return -1\n }\n if (!aExact && bExact) {\n return 1\n }\n return a.dialCode.length - b.dialCode.length\n })\n dialMatches.forEach(pushUnique)\n }\n\n if (normalizedQuery) {\n const nameMatches = countryOptions\n .filter((option) =>\n option.normalizedSearchableTokens.some((token) => token.includes(normalizedQuery))\n )\n .sort((a, b) => {\n const aIndex = optionMatchIndex(a.normalizedSearchableTokens, normalizedQuery)\n const bIndex = optionMatchIndex(b.normalizedSearchableTokens, normalizedQuery)\n if (aIndex !== bIndex) {\n return aIndex - bIndex\n }\n return a.name.localeCompare(b.name)\n })\n nameMatches.forEach(pushUnique)\n }\n\n if (currentOption) {\n pushUnique(currentOption)\n }\n if (fallbackOption) {\n pushUnique(fallbackOption)\n }\n if (results.length === 0) {\n countryOptions.forEach(pushUnique)\n }\n\n return results\n }, [activeCountry, countryOptions, countryQuery, fallbackCountry, showSuggestions])\n\n const suggestionMenuIsOpen = isFocused && showSuggestions && filteredOptions.length > 0\n\n React.useEffect(() => {\n if (!suggestionMenuIsOpen) {\n scrollBehaviorRef.current = \"smooth\"\n }\n }, [suggestionMenuIsOpen])\n\n React.useEffect(() => {\n if (!suggestionMenuIsOpen) {\n setHighlightedIndex(-1)\n return\n }\n\n if (filteredOptions.length === 0) {\n setHighlightedIndex(-1)\n return\n }\n\n setHighlightedIndex((current) => {\n if (current < 0 || current >= filteredOptions.length) {\n return 0\n }\n return current\n })\n }, [filteredOptions, suggestionMenuIsOpen])\n\n const highlightedOption =\n highlightedIndex >= 0 ? filteredOptions[highlightedIndex] ?? null : null\n React.useEffect(() => {\n if (highlightedIndex < 0) {\n scrollBehaviorRef.current = \"smooth\"\n }\n }, [highlightedIndex])\n\n const updateHighlightedOption = React.useCallback(\n (option: CountryOption) => {\n const index = filteredOptions.findIndex((candidate) => candidate.value === option.value)\n if (index !== -1) {\n setHighlightedIndex(index)\n }\n },\n [filteredOptions]\n )\n\n const selectFormatOptionLabel = React.useCallback<\n NonNullable<SelectProps<CountryOption, false>[\"formatOptionLabel\"]>\n >(\n (option, meta) => {\n if (userFormatOptionLabel) {\n return userFormatOptionLabel(option, meta)\n }\n return formatCountryOption(option)\n },\n [userFormatOptionLabel]\n )\n\n const optionLabelRenderer = React.useCallback(\n (option: CountryOption) =>\n selectFormatOptionLabel(option, {\n context: \"menu\",\n inputValue: countryQuery,\n selectValue: [],\n }),\n [countryQuery, selectFormatOptionLabel]\n )\n\n const highlightContextValue = React.useMemo<SuggestionContextValue>(\n () => ({\n highlightedValue: highlightedOption?.value ?? null,\n setHighlightedOption: updateHighlightedOption,\n renderOptionLabel: optionLabelRenderer,\n consumeScrollBehavior,\n }),\n [consumeScrollBehavior, highlightedOption, optionLabelRenderer, updateHighlightedOption]\n )\n\n const activeOption = countryOptions.find((option) => option.value === activeCountry)\n const activeFlag = activeOption?.flag ?? \"\"\n const inlineFlagLabel = hasExplicitCountrySelection\n ? resolvedMessages.selectedCountryLabel(activeOption?.name ?? activeCountry ?? null)\n : resolvedMessages.selectCountryLabel\n const hasInlineFlag = hasExplicitCountrySelection && Boolean(activeFlag)\n const lengthHint =\n lengthIssue === \"TOO_LONG\"\n ? resolvedMessages.lengthTooLong(activeOption?.name ?? activeCountry ?? null)\n : null\n const countryName = activeOption?.name ?? activeCountry ?? null\n\n let validationNode: React.ReactNode = null\n if (lengthHint) {\n const rendered = renderValidationMessage?.({\n message: lengthHint,\n code: \"TOO_LONG\",\n countryName,\n })\n validationNode =\n rendered === undefined ? (\n <p className=\"mt-1 text-xs text-destructive\">\n <span>{lengthHint}</span>\n </p>\n ) : (\n rendered\n )\n }\n\n const appendToBuffer = React.useCallback(\n (char: string) => {\n keyboardBufferRef.current = `${keyboardBufferRef.current}${char}`.slice(-12)\n setCountryQuery(keyboardBufferRef.current)\n setShowSuggestions(true)\n scheduleBufferReset()\n },\n [scheduleBufferReset]\n )\n\n const popBuffer = React.useCallback(() => {\n const current = keyboardBufferRef.current\n if (!current) {\n return\n }\n keyboardBufferRef.current = current.slice(0, -1)\n setCountryQuery(keyboardBufferRef.current)\n if (keyboardBufferRef.current) {\n scheduleBufferReset()\n }\n }, [scheduleBufferReset])\n\n const handleKeyDown = React.useCallback(\n (event: React.KeyboardEvent<HTMLInputElement>) => {\n onInputKeyDown?.(event)\n if (event.defaultPrevented) {\n return\n }\n\n const key = event.key\n\n if (event.metaKey || event.ctrlKey || event.altKey) {\n return\n }\n\n const target = event.currentTarget\n const value = target.value\n const selectionStart = target.selectionStart ?? 0\n const selectionEnd = target.selectionEnd ?? selectionStart\n const isCollapsedSelection = selectionStart === selectionEnd\n\n if (key === \"Backspace\" && isCollapsedSelection) {\n const nextStart = skipFormattingCharactersLeft(value, selectionStart)\n if (nextStart !== selectionStart) {\n target.setSelectionRange(nextStart, nextStart)\n }\n } else if (key === \"ArrowLeft\" && isCollapsedSelection) {\n const nextStart = skipFormattingCharactersLeft(value, selectionStart)\n if (nextStart !== selectionStart) {\n event.preventDefault()\n target.setSelectionRange(nextStart, nextStart)\n return\n }\n } else if (key === \"ArrowRight\" && isCollapsedSelection) {\n const nextStart = skipFormattingCharactersRight(value, selectionEnd)\n if (nextStart !== selectionEnd) {\n event.preventDefault()\n target.setSelectionRange(nextStart, nextStart)\n return\n }\n }\n\n if (key === \"ArrowDown\") {\n scrollBehaviorRef.current = event.repeat ? \"auto\" : \"smooth\"\n event.preventDefault()\n if (!showSuggestions) {\n setShowSuggestions(true)\n setHighlightedIndex(filteredOptions.length > 0 ? 0 : -1)\n return\n }\n\n if (filteredOptions.length > 0) {\n setHighlightedIndex((current) => {\n const next = current < 0 ? 0 : (current + 1) % filteredOptions.length\n return next\n })\n }\n return\n }\n\n if (key === \"ArrowUp\") {\n scrollBehaviorRef.current = event.repeat ? \"auto\" : \"smooth\"\n event.preventDefault()\n if (!showSuggestions) {\n setShowSuggestions(true)\n setHighlightedIndex(filteredOptions.length > 0 ? filteredOptions.length - 1 : -1)\n return\n }\n\n if (filteredOptions.length > 0) {\n setHighlightedIndex((current) => {\n if (current < 0) {\n return filteredOptions.length - 1\n }\n return (current - 1 + filteredOptions.length) % filteredOptions.length\n })\n }\n return\n }\n\n if (/^[a-z]$/i.test(key)) {\n event.preventDefault()\n if (!showSuggestions) {\n setShowSuggestions(true)\n setHighlightedIndex(filteredOptions.length > 0 ? 0 : -1)\n }\n appendToBuffer(key.toLowerCase())\n return\n }\n\n if (suggestionMenuIsOpen) {\n if (key === \"Backspace\" && keyboardBufferRef.current) {\n event.preventDefault()\n popBuffer()\n return\n }\n\n if (key === \"Escape\") {\n event.preventDefault()\n keyboardBufferRef.current = \"\"\n setCountryQuery(\"\")\n setShowSuggestions(false)\n return\n }\n\n if (key === \"Enter\" && filteredOptions.length > 0) {\n event.preventDefault()\n const target = highlightedOption ?? filteredOptions[0]\n handleCountrySelect(target)\n return\n }\n }\n },\n [\n appendToBuffer,\n filteredOptions,\n handleCountrySelect,\n highlightedOption,\n onInputKeyDown,\n popBuffer,\n showSuggestions,\n suggestionMenuIsOpen,\n ]\n )\n\n const handleFocus = React.useCallback(\n (event: React.FocusEvent<HTMLInputElement>) => {\n setIsFocused(true)\n onInputFocus?.(event)\n },\n [onInputFocus]\n )\n\n const handleBlur = React.useCallback(\n (event: React.FocusEvent<HTMLInputElement>) => {\n setIsFocused(false)\n setShowSuggestions(false)\n keyboardBufferRef.current = \"\"\n setCountryQuery(\"\")\n onInputBlur?.(event)\n },\n [onInputBlur]\n )\n\n const openCountryMenu = React.useCallback(() => {\n if (disabled || readOnly) {\n return\n }\n\n keyboardBufferRef.current = \"\"\n setCountryQuery(\"\")\n setShowSuggestions(true)\n setHighlightedIndex((current) => (current < 0 ? 0 : current))\n\n requestAnimationFrame(() => {\n inputRef.current?.focus()\n })\n }, [disabled, readOnly])\n\n const shimName = autofillShimName ?? (inputName ? `${inputName}_shim` : undefined)\n\n return (\n <div className={cn(\"relative flex flex-col\", className)}>\n <div className=\"relative\">\n <input\n {...restInputProps}\n ref={inputRef}\n type=\"tel\"\n className={cn(\n \"flex h-10 w-full rounded-md border border-input bg-background py-2 text-base ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm\",\n \"pl-11 pr-3\",\n inputClassName\n )}\n name={inputName}\n value={inputValueState}\n onChange={handleInputChange}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onKeyDown={handleKeyDown}\n disabled={disabled}\n readOnly={readOnly}\n autoComplete={inputAutoComplete ?? \"off\"}\n />\n <button\n type=\"button\"\n className={cn(\n \"absolute left-3 top-1/2 flex h-6 w-6 -translate-y-1/2 items-center justify-center rounded border text-lg leading-none transition focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2\",\n hasInlineFlag\n ? \"border-transparent\"\n : \"border-dashed border-border text-muted-foreground\",\n disabled\n ? \"cursor-not-allowed opacity-50\"\n : readOnly\n ? \"cursor-default\"\n : \"cursor-pointer hover:bg-muted\"\n )}\n aria-label={inlineFlagLabel}\n onMouseDown={(event) => event.preventDefault()}\n onClick={openCountryMenu}\n tabIndex={-1}\n disabled={disabled}\n >\n <span aria-hidden=\"true\">\n {hasInlineFlag ? activeFlag : \"?\"}\n </span>\n </button>\n </div>\n\n {shimName ? (\n <input\n tabIndex={-1}\n autoComplete=\"tel\"\n name={shimName}\n aria-hidden=\"true\"\n className=\"pointer-events-none absolute left-0 top-0 h-0 w-0 opacity-0\"\n />\n ) : null}\n\n <div\n className=\"absolute left-0 top-full z-30 mt-1\"\n style={{\n pointerEvents: suggestionMenuIsOpen ? \"auto\" : \"none\",\n width: \"min(260px, 100%)\",\n }}\n onMouseDown={(event) => event.preventDefault()}\n >\n <SuggestionContext.Provider value={highlightContextValue}>\n <Select<CountryOption, false>\n {...restForwardedSelectProps}\n menuIsOpen={suggestionMenuIsOpen}\n options={filteredOptions}\n value={null}\n components={mergedSelectComponents}\n styles={mergedSelectStyles}\n isClearable={false}\n isSearchable={false}\n backspaceRemovesValue={false}\n tabSelectsValue={false}\n menuShouldScrollIntoView={false}\n onChange={handleCountrySelect}\n classNamePrefix={userClassNamePrefix ?? \"phone-number-suggestions\"}\n placeholder=\"\"\n formatOptionLabel={selectFormatOptionLabel}\n noOptionsMessage={\n noOptionsMessage ?? (() => resolvedMessages.noMatches)\n }\n />\n </SuggestionContext.Provider>\n </div>\n\n {validationNode}\n </div>\n )\n }\n)\n\nPhoneNumberInput.displayName = \"PhoneNumberInput\"\n"],"names":["PhoneNumberInput","React","forwardRef","props","forwardedRef","value","defaultCountry","country","countryProp","locale","onChange","onCountryChange","className","inputClassName","disabled","readOnly","selectProps","autofillShimName","messages","messagesProp","renderValidationMessage","restProps","onFocus","onInputFocus","onBlur","onInputBlur","onKeyDown","onInputKeyDown","name","inputName","autoComplete","inputAutoComplete","restInputProps","hasConfiguredCountry","localeCacheKey","getLocaleCacheKey","localeForBuild","useMemo","parseLocaleCacheKey","resolvedMessages","resolveMessages","countryOptions","getCachedCountryOptions","resolveSelectedCountry","useCallback","match","find","candidate","toSelectedCountry","buildFallbackSelectedCountry","fallbackCountry","getValidCountry","DEFAULT_COUNTRY","some","option","hasResolvedCountryRef","useRef","initialStateRef","lastNormalizedRef","current","inputValue","normalizedValue","hasExplicitCountrySelection","baseCountryForInit","undefined","normalized","normalizeInputValue","allowJustPlus","international","phoneNumber","detectedCountry","inferredCountry","hasExplicitInternationalPrefix","formatWithAsYouType","canonicalDetectedCountry","resolvedCountry","rawDigits","sanitizeDigits","hasExplicitPlus","test","internationalDigits","initialDialCode","getCountryCallingCode","initialHasPrefix","detectNationalPrefixForDisplay","suggestion","getSuggestionState","hasRemovedNationalPrefix","inferredCountryToApply","shouldSuggest","nextDialCode","finalHasPrefix","displayValue","injectNationalPrefixDisplay","force","displayDetectedCountry","allowInlineFlag","shouldDisplayExplicitCountrySelection","initialState","uncontrolledCountry","setUncontrolledCountry","useState","inputValueState","setInputValueState","countryQuery","setCountryQuery","showSuggestions","setShowSuggestions","highlightedIndex","setHighlightedIndex","isFocused","setIsFocused","lengthIssue","setLengthIssue","setHasExplicitCountrySelection","manualSelectionCountryRef","keyboardBufferRef","bufferTimeoutRef","scrollBehaviorRef","pendingSelectionRef","consumeScrollBehavior","behavior","isCountryControlled","selectedCountry","activeCountry","inputRef","useImperativeHandle","useLayoutEffect","selection","input","start","end","setSelectionRange","selectOverrides","styles","userSelectStyles","components","userSelectComponents","classNamePrefix","userClassNamePrefix","formatOptionLabel","userFormatOptionLabel","forwardedSelectProps","noOptionsMessage","restForwardedSelectProps","mergedSelectStyles","suggestionSelectStyles","mergedSelectComponents","baseComponents","Control","HiddenControl","IndicatorsContainer","NullComponent","DropdownIndicator","IndicatorSeparator","ValueContainer","overrides","Option","SuggestionOption","hasAnnouncedCountryRef","notifyCountryChange","useEffect","window","clearTimeout","baseCountryForSync","previousNormalized","previousValue","nextCountry","initialHasTypedTrunk","finalCountry","hasTypedTrunk","shouldShowInlineFlag","query","getLengthIssue","emitChange","details","scheduleBufferReset","setTimeout","handleInputChange","event","target","snapshot","captureSelectionSnapshot","raw","baseCountryForInput","dialCode","typedDigits","trim","startsWith","startsWithDialCode","hasLeadingZero","isIddPrefix","COMMON_IDD_PREFIXES","prefix","shouldRemoveNationalPrefix","Boolean","slice","length","removeNationalPrefix","resolveSelection","formattedInternational","formattedNational","e164","countryCallingCode","nationalNumber","rawInput","isValid","national","normalizedDigits","nationalDigits","stripPrefix","number","handleCountrySelect","previousDigits","currentDial","rebasedDigits","requestAnimationFrame","focus","filteredOptions","results","pushUnique","existing","push","fallbackOption","currentOption","digitQuery","normalizedQuery","normalizeSearchValue","forEach","filter","sort","a","b","aExact","bExact","normalizedSearchableTokens","token","includes","aIndex","optionMatchIndex","bIndex","localeCompare","suggestionMenuIsOpen","highlightedOption","updateHighlightedOption","index","findIndex","selectFormatOptionLabel","meta","formatCountryOption","optionLabelRenderer","context","selectValue","highlightContextValue","highlightedValue","setHighlightedOption","renderOptionLabel","activeOption","activeFlag","flag","inlineFlagLabel","selectedCountryLabel","selectCountryLabel","hasInlineFlag","lengthHint","lengthTooLong","countryName","validationNode","rendered","message","code","jsx","appendToBuffer","char","popBuffer","handleKeyDown","defaultPrevented","key","metaKey","ctrlKey","altKey","currentTarget","selectionStart","selectionEnd","isCollapsedSelection","nextStart","skipFormattingCharactersLeft","preventDefault","skipFormattingCharactersRight","repeat","toLowerCase","handleFocus","handleBlur","openCountryMenu","shimName","cn","jsxs","pointerEvents","width","SuggestionContext","Select","noMatches","displayName"],"mappings":"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"}
package/dist/index200.js CHANGED
@@ -1,13 +1,9 @@
1
- import { millisecondsInWeek as f } from "./index281.js";
2
- import { startOfWeek as m } from "./index214.js";
3
- import { startOfWeekYear as a } from "./index294.js";
4
- import { toDate as i } from "./index280.js";
5
- function k(r, t) {
6
- const e = i(r, t?.in), o = +m(e, t) - +a(e, t);
7
- return Math.round(o / f) + 1;
1
+ import { addDays as r } from "./index198.js";
2
+ function o(a, d, e) {
3
+ return r(a, d * 7, e);
8
4
  }
9
5
  export {
10
- k as default,
11
- k as getWeek
6
+ o as addWeeks,
7
+ o as default
12
8
  };
13
9
  //# sourceMappingURL=index200.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index200.js","sources":["../../../node_modules/date-fns/getWeek.js"],"sourcesContent":["import { millisecondsInWeek } from \"./constants.js\";\nimport { startOfWeek } from \"./startOfWeek.js\";\nimport { startOfWeekYear } from \"./startOfWeekYear.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link getWeek} function options.\n */\n\n/**\n * @name getWeek\n * @category Week Helpers\n * @summary Get the local week index of the given date.\n *\n * @description\n * Get the local week index of the given date.\n * The exact calculation depends on the values of\n * `options.weekStartsOn` (which is the index of the first day of the week)\n * and `options.firstWeekContainsDate` (which is the day of January, which is always in\n * the first week of the week-numbering year)\n *\n * Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system\n *\n * @param date - The given date\n * @param options - An object with options\n *\n * @returns The week\n *\n * @example\n * // Which week of the local week numbering year is 2 January 2005 with default options?\n * const result = getWeek(new Date(2005, 0, 2))\n * //=> 2\n *\n * @example\n * // Which week of the local week numbering year is 2 January 2005,\n * // if Monday is the first day of the week,\n * // and the first week of the year always contains 4 January?\n * const result = getWeek(new Date(2005, 0, 2), {\n * weekStartsOn: 1,\n * firstWeekContainsDate: 4\n * })\n * //=> 53\n */\nexport function getWeek(date, options) {\n const _date = toDate(date, options?.in);\n const diff = +startOfWeek(_date, options) - +startOfWeekYear(_date, options);\n\n // Round the number of weeks to the nearest integer because the number of\n // milliseconds in a week is not constant (e.g. it's different in the week of\n // the daylight saving time clock shift).\n return Math.round(diff / millisecondsInWeek) + 1;\n}\n\n// Fallback for modularized imports:\nexport default getWeek;\n"],"names":["getWeek","date","options","_date","toDate","diff","startOfWeek","startOfWeekYear","millisecondsInWeek"],"mappings":";;;;AA2CO,SAASA,EAAQC,GAAMC,GAAS;AACrC,QAAMC,IAAQC,EAAOH,GAAMC,GAAS,EAAE,GAChCG,IAAO,CAACC,EAAYH,GAAOD,CAAO,IAAI,CAACK,EAAgBJ,GAAOD,CAAO;AAK3E,SAAO,KAAK,MAAMG,IAAOG,CAAkB,IAAI;AACjD;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index200.js","sources":["../../../node_modules/date-fns/addWeeks.js"],"sourcesContent":["import { addDays } from \"./addDays.js\";\n\n/**\n * The {@link addWeeks} function options.\n */\n\n/**\n * @name addWeeks\n * @category Week Helpers\n * @summary Add the specified number of weeks to the given date.\n *\n * @description\n * Add the specified number of weeks to the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The date to be changed\n * @param amount - The amount of weeks to be added.\n * @param options - An object with options\n *\n * @returns The new date with the weeks added\n *\n * @example\n * // Add 4 weeks to 1 September 2014:\n * const result = addWeeks(new Date(2014, 8, 1), 4)\n * //=> Mon Sep 29 2014 00:00:00\n */\nexport function addWeeks(date, amount, options) {\n return addDays(date, amount * 7, options);\n}\n\n// Fallback for modularized imports:\nexport default addWeeks;\n"],"names":["addWeeks","date","amount","options","addDays"],"mappings":";AA4BO,SAASA,EAASC,GAAMC,GAAQC,GAAS;AAC9C,SAAOC,EAAQH,GAAMC,IAAS,GAAGC,CAAO;AAC1C;","x_google_ignoreList":[0]}
package/dist/index201.js CHANGED
@@ -1,9 +1,9 @@
1
- import { toDate as t } from "./index280.js";
2
- function f(r, e) {
3
- return +t(r) > +t(e);
1
+ import { addMonths as d } from "./index199.js";
2
+ function e(r, t, a) {
3
+ return d(r, t * 12, a);
4
4
  }
5
5
  export {
6
- f as default,
7
- f as isAfter
6
+ e as addYears,
7
+ e as default
8
8
  };
9
9
  //# sourceMappingURL=index201.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index201.js","sources":["../../../node_modules/date-fns/isAfter.js"],"sourcesContent":["import { toDate } from \"./toDate.js\";\n\n/**\n * @name isAfter\n * @category Common Helpers\n * @summary Is the first date after the second one?\n *\n * @description\n * Is the first date after the second one?\n *\n * @param date - The date that should be after the other one to return true\n * @param dateToCompare - The date to compare with\n *\n * @returns The first date is after the second date\n *\n * @example\n * // Is 10 July 1989 after 11 February 1987?\n * const result = isAfter(new Date(1989, 6, 10), new Date(1987, 1, 11))\n * //=> true\n */\nexport function isAfter(date, dateToCompare) {\n return +toDate(date) > +toDate(dateToCompare);\n}\n\n// Fallback for modularized imports:\nexport default isAfter;\n"],"names":["isAfter","date","dateToCompare","toDate"],"mappings":";AAoBO,SAASA,EAAQC,GAAMC,GAAe;AAC3C,SAAO,CAACC,EAAOF,CAAI,IAAI,CAACE,EAAOD,CAAa;AAC9C;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index201.js","sources":["../../../node_modules/date-fns/addYears.js"],"sourcesContent":["import { addMonths } from \"./addMonths.js\";\n\n/**\n * The {@link addYears} function options.\n */\n\n/**\n * @name addYears\n * @category Year Helpers\n * @summary Add the specified number of years to the given date.\n *\n * @description\n * Add the specified number of years to the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type.\n *\n * @param date - The date to be changed\n * @param amount - The amount of years to be added.\n * @param options - The options\n *\n * @returns The new date with the years added\n *\n * @example\n * // Add 5 years to 1 September 2014:\n * const result = addYears(new Date(2014, 8, 1), 5)\n * //=> Sun Sep 01 2019 00:00:00\n */\nexport function addYears(date, amount, options) {\n return addMonths(date, amount * 12, options);\n}\n\n// Fallback for modularized imports:\nexport default addYears;\n"],"names":["addYears","date","amount","options","addMonths"],"mappings":";AA4BO,SAASA,EAASC,GAAMC,GAAQC,GAAS;AAC9C,SAAOC,EAAUH,GAAMC,IAAS,IAAIC,CAAO;AAC7C;","x_google_ignoreList":[0]}
package/dist/index202.js CHANGED
@@ -1,9 +1,17 @@
1
- import { toDate as t } from "./index280.js";
2
- function f(e, o) {
3
- return +t(e) < +t(o);
1
+ import { getTimezoneOffsetInMilliseconds as r } from "./index294.js";
2
+ import { normalizeDates as c } from "./index295.js";
3
+ import { millisecondsInDay as D } from "./index293.js";
4
+ import { startOfDay as a } from "./index224.js";
5
+ function O(o, n, i) {
6
+ const [s, m] = c(
7
+ i?.in,
8
+ o,
9
+ n
10
+ ), t = a(s), e = a(m), f = +t - r(t), l = +e - r(e);
11
+ return Math.round((f - l) / D);
4
12
  }
5
13
  export {
6
- f as default,
7
- f as isBefore
14
+ O as default,
15
+ O as differenceInCalendarDays
8
16
  };
9
17
  //# sourceMappingURL=index202.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index202.js","sources":["../../../node_modules/date-fns/isBefore.js"],"sourcesContent":["import { toDate } from \"./toDate.js\";\n\n/**\n * @name isBefore\n * @category Common Helpers\n * @summary Is the first date before the second one?\n *\n * @description\n * Is the first date before the second one?\n *\n * @param date - The date that should be before the other one to return true\n * @param dateToCompare - The date to compare with\n *\n * @returns The first date is before the second date\n *\n * @example\n * // Is 10 July 1989 before 11 February 1987?\n * const result = isBefore(new Date(1989, 6, 10), new Date(1987, 1, 11))\n * //=> false\n */\nexport function isBefore(date, dateToCompare) {\n return +toDate(date) < +toDate(dateToCompare);\n}\n\n// Fallback for modularized imports:\nexport default isBefore;\n"],"names":["isBefore","date","dateToCompare","toDate"],"mappings":";AAoBO,SAASA,EAASC,GAAMC,GAAe;AAC5C,SAAO,CAACC,EAAOF,CAAI,IAAI,CAACE,EAAOD,CAAa;AAC9C;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index202.js","sources":["../../../node_modules/date-fns/differenceInCalendarDays.js"],"sourcesContent":["import { getTimezoneOffsetInMilliseconds } from \"./_lib/getTimezoneOffsetInMilliseconds.js\";\nimport { normalizeDates } from \"./_lib/normalizeDates.js\";\nimport { millisecondsInDay } from \"./constants.js\";\nimport { startOfDay } from \"./startOfDay.js\";\n\n/**\n * The {@link differenceInCalendarDays} function options.\n */\n\n/**\n * @name differenceInCalendarDays\n * @category Day Helpers\n * @summary Get the number of calendar days between the given dates.\n *\n * @description\n * Get the number of calendar days between the given dates. This means that the times are removed\n * from the dates and then the difference in days is calculated.\n *\n * @param laterDate - The later date\n * @param earlierDate - The earlier date\n * @param options - The options object\n *\n * @returns The number of calendar days\n *\n * @example\n * // How many calendar days are between\n * // 2 July 2011 23:00:00 and 2 July 2012 00:00:00?\n * const result = differenceInCalendarDays(\n * new Date(2012, 6, 2, 0, 0),\n * new Date(2011, 6, 2, 23, 0)\n * )\n * //=> 366\n * // How many calendar days are between\n * // 2 July 2011 23:59:00 and 3 July 2011 00:01:00?\n * const result = differenceInCalendarDays(\n * new Date(2011, 6, 3, 0, 1),\n * new Date(2011, 6, 2, 23, 59)\n * )\n * //=> 1\n */\nexport function differenceInCalendarDays(laterDate, earlierDate, options) {\n const [laterDate_, earlierDate_] = normalizeDates(\n options?.in,\n laterDate,\n earlierDate,\n );\n\n const laterStartOfDay = startOfDay(laterDate_);\n const earlierStartOfDay = startOfDay(earlierDate_);\n\n const laterTimestamp =\n +laterStartOfDay - getTimezoneOffsetInMilliseconds(laterStartOfDay);\n const earlierTimestamp =\n +earlierStartOfDay - getTimezoneOffsetInMilliseconds(earlierStartOfDay);\n\n // Round the number of days to the nearest integer because the number of\n // milliseconds in a day is not constant (e.g. it's different in the week of\n // the daylight saving time clock shift).\n return Math.round((laterTimestamp - earlierTimestamp) / millisecondsInDay);\n}\n\n// Fallback for modularized imports:\nexport default differenceInCalendarDays;\n"],"names":["differenceInCalendarDays","laterDate","earlierDate","options","laterDate_","earlierDate_","normalizeDates","laterStartOfDay","startOfDay","earlierStartOfDay","laterTimestamp","getTimezoneOffsetInMilliseconds","earlierTimestamp","millisecondsInDay"],"mappings":";;;;AAwCO,SAASA,EAAyBC,GAAWC,GAAaC,GAAS;AACxE,QAAM,CAACC,GAAYC,CAAY,IAAIC;AAAA,IACjCH,GAAS;AAAA,IACTF;AAAA,IACAC;AAAA,EACJ,GAEQK,IAAkBC,EAAWJ,CAAU,GACvCK,IAAoBD,EAAWH,CAAY,GAE3CK,IACJ,CAACH,IAAkBI,EAAgCJ,CAAe,GAC9DK,IACJ,CAACH,IAAoBE,EAAgCF,CAAiB;AAKxE,SAAO,KAAK,OAAOC,IAAiBE,KAAoBC,CAAiB;AAC3E;","x_google_ignoreList":[0]}
package/dist/index203.js CHANGED
@@ -1,8 +1,14 @@
1
- function e(t) {
2
- return t instanceof Date || typeof t == "object" && Object.prototype.toString.call(t) === "[object Date]";
1
+ import { normalizeDates as l } from "./index295.js";
2
+ function s(n, r, a) {
3
+ const [e, t] = l(
4
+ a?.in,
5
+ n,
6
+ r
7
+ ), o = e.getFullYear() - t.getFullYear(), f = e.getMonth() - t.getMonth();
8
+ return o * 12 + f;
3
9
  }
4
10
  export {
5
- e as default,
6
- e as isDate
11
+ s as default,
12
+ s as differenceInCalendarMonths
7
13
  };
8
14
  //# sourceMappingURL=index203.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index203.js","sources":["../../../node_modules/date-fns/isDate.js"],"sourcesContent":["/**\n * @name isDate\n * @category Common Helpers\n * @summary Is the given value a date?\n *\n * @description\n * Returns true if the given value is an instance of Date. The function works for dates transferred across iframes.\n *\n * @param value - The value to check\n *\n * @returns True if the given value is a date\n *\n * @example\n * // For a valid date:\n * const result = isDate(new Date())\n * //=> true\n *\n * @example\n * // For an invalid date:\n * const result = isDate(new Date(NaN))\n * //=> true\n *\n * @example\n * // For some value:\n * const result = isDate('2014-02-31')\n * //=> false\n *\n * @example\n * // For an object:\n * const result = isDate({})\n * //=> false\n */\nexport function isDate(value) {\n return (\n value instanceof Date ||\n (typeof value === \"object\" &&\n Object.prototype.toString.call(value) === \"[object Date]\")\n );\n}\n\n// Fallback for modularized imports:\nexport default isDate;\n"],"names":["isDate","value"],"mappings":"AAgCO,SAASA,EAAOC,GAAO;AAC5B,SACEA,aAAiB,QAChB,OAAOA,KAAU,YAChB,OAAO,UAAU,SAAS,KAAKA,CAAK,MAAM;AAEhD;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index203.js","sources":["../../../node_modules/date-fns/differenceInCalendarMonths.js"],"sourcesContent":["import { normalizeDates } from \"./_lib/normalizeDates.js\";\n\n/**\n * The {@link differenceInCalendarMonths} function options.\n */\n\n/**\n * @name differenceInCalendarMonths\n * @category Month Helpers\n * @summary Get the number of calendar months between the given dates.\n *\n * @description\n * Get the number of calendar months between the given dates.\n *\n * @param laterDate - The later date\n * @param earlierDate - The earlier date\n * @param options - An object with options\n *\n * @returns The number of calendar months\n *\n * @example\n * // How many calendar months are between 31 January 2014 and 1 September 2014?\n * const result = differenceInCalendarMonths(\n * new Date(2014, 8, 1),\n * new Date(2014, 0, 31)\n * )\n * //=> 8\n */\nexport function differenceInCalendarMonths(laterDate, earlierDate, options) {\n const [laterDate_, earlierDate_] = normalizeDates(\n options?.in,\n laterDate,\n earlierDate,\n );\n\n const yearsDiff = laterDate_.getFullYear() - earlierDate_.getFullYear();\n const monthsDiff = laterDate_.getMonth() - earlierDate_.getMonth();\n\n return yearsDiff * 12 + monthsDiff;\n}\n\n// Fallback for modularized imports:\nexport default differenceInCalendarMonths;\n"],"names":["differenceInCalendarMonths","laterDate","earlierDate","options","laterDate_","earlierDate_","normalizeDates","yearsDiff","monthsDiff"],"mappings":";AA4BO,SAASA,EAA2BC,GAAWC,GAAaC,GAAS;AAC1E,QAAM,CAACC,GAAYC,CAAY,IAAIC;AAAA,IACjCH,GAAS;AAAA,IACTF;AAAA,IACAC;AAAA,EACJ,GAEQK,IAAYH,EAAW,YAAW,IAAKC,EAAa,YAAW,GAC/DG,IAAaJ,EAAW,SAAQ,IAAKC,EAAa,SAAQ;AAEhE,SAAOE,IAAY,KAAKC;AAC1B;","x_google_ignoreList":[0]}
package/dist/index204.js CHANGED
@@ -1,15 +1,18 @@
1
- import { normalizeDates as f } from "./index283.js";
2
- import { startOfDay as t } from "./index211.js";
3
- function s(a, e, r) {
4
- const [o, i] = f(
5
- r?.in,
6
- a,
7
- e
8
- );
9
- return +t(o) == +t(i);
1
+ import { normalizeInterval as l } from "./index296.js";
2
+ import { constructFrom as m } from "./index291.js";
3
+ function u(s, a) {
4
+ const { start: e, end: r } = l(a?.in, s);
5
+ let n = +e > +r;
6
+ const c = n ? +e : +r, t = n ? r : e;
7
+ t.setHours(0, 0, 0, 0), t.setDate(1);
8
+ let i = 1;
9
+ const o = [];
10
+ for (; +t <= c; )
11
+ o.push(m(e, t)), t.setMonth(t.getMonth() + i);
12
+ return n ? o.reverse() : o;
10
13
  }
11
14
  export {
12
- s as default,
13
- s as isSameDay
15
+ u as default,
16
+ u as eachMonthOfInterval
14
17
  };
15
18
  //# sourceMappingURL=index204.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index204.js","sources":["../../../node_modules/date-fns/isSameDay.js"],"sourcesContent":["import { normalizeDates } from \"./_lib/normalizeDates.js\";\nimport { startOfDay } from \"./startOfDay.js\";\n\n/**\n * The {@link isSameDay} function options.\n */\n\n/**\n * @name isSameDay\n * @category Day Helpers\n * @summary Are the given dates in the same day (and year and month)?\n *\n * @description\n * Are the given dates in the same day (and year and month)?\n *\n * @param laterDate - The first date to check\n * @param earlierDate - The second date to check\n * @param options - An object with options\n *\n * @returns The dates are in the same day (and year and month)\n *\n * @example\n * // Are 4 September 06:00:00 and 4 September 18:00:00 in the same day?\n * const result = isSameDay(new Date(2014, 8, 4, 6, 0), new Date(2014, 8, 4, 18, 0))\n * //=> true\n *\n * @example\n * // Are 4 September and 4 October in the same day?\n * const result = isSameDay(new Date(2014, 8, 4), new Date(2014, 9, 4))\n * //=> false\n *\n * @example\n * // Are 4 September, 2014 and 4 September, 2015 in the same day?\n * const result = isSameDay(new Date(2014, 8, 4), new Date(2015, 8, 4))\n * //=> false\n */\nexport function isSameDay(laterDate, earlierDate, options) {\n const [dateLeft_, dateRight_] = normalizeDates(\n options?.in,\n laterDate,\n earlierDate,\n );\n return +startOfDay(dateLeft_) === +startOfDay(dateRight_);\n}\n\n// Fallback for modularized imports:\nexport default isSameDay;\n"],"names":["isSameDay","laterDate","earlierDate","options","dateLeft_","dateRight_","normalizeDates","startOfDay"],"mappings":";;AAoCO,SAASA,EAAUC,GAAWC,GAAaC,GAAS;AACzD,QAAM,CAACC,GAAWC,CAAU,IAAIC;AAAA,IAC9BH,GAAS;AAAA,IACTF;AAAA,IACAC;AAAA,EACJ;AACE,SAAO,CAACK,EAAWH,CAAS,KAAM,CAACG,EAAWF,CAAU;AAC1D;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index204.js","sources":["../../../node_modules/date-fns/eachMonthOfInterval.js"],"sourcesContent":["import { normalizeInterval } from \"./_lib/normalizeInterval.js\";\nimport { constructFrom } from \"./constructFrom.js\";\n\n/**\n * The {@link eachMonthOfInterval} function options.\n */\n\n/**\n * The {@link eachMonthOfInterval} function result type. It resolves the proper data type.\n */\n\n/**\n * @name eachMonthOfInterval\n * @category Interval Helpers\n * @summary Return the array of months within the specified time interval.\n *\n * @description\n * Return the array of months within the specified time interval.\n *\n * @typeParam IntervalType - Interval type.\n * @typeParam Options - Options type.\n *\n * @param interval - The interval.\n * @param options - An object with options.\n *\n * @returns The array with starts of months from the month of the interval start to the month of the interval end\n *\n * @example\n * // Each month between 6 February 2014 and 10 August 2014:\n * const result = eachMonthOfInterval({\n * start: new Date(2014, 1, 6),\n * end: new Date(2014, 7, 10)\n * })\n * //=> [\n * // Sat Feb 01 2014 00:00:00,\n * // Sat Mar 01 2014 00:00:00,\n * // Tue Apr 01 2014 00:00:00,\n * // Thu May 01 2014 00:00:00,\n * // Sun Jun 01 2014 00:00:00,\n * // Tue Jul 01 2014 00:00:00,\n * // Fri Aug 01 2014 00:00:00\n * // ]\n */\nexport function eachMonthOfInterval(interval, options) {\n const { start, end } = normalizeInterval(options?.in, interval);\n\n let reversed = +start > +end;\n const endTime = reversed ? +start : +end;\n const date = reversed ? end : start;\n date.setHours(0, 0, 0, 0);\n date.setDate(1);\n\n let step = options?.step ?? 1;\n if (!step) return [];\n if (step < 0) {\n step = -step;\n reversed = !reversed;\n }\n\n const dates = [];\n\n while (+date <= endTime) {\n dates.push(constructFrom(start, date));\n date.setMonth(date.getMonth() + step);\n }\n\n return reversed ? dates.reverse() : dates;\n}\n\n// Fallback for modularized imports:\nexport default eachMonthOfInterval;\n"],"names":["eachMonthOfInterval","interval","options","start","end","normalizeInterval","reversed","endTime","date","step","dates","constructFrom"],"mappings":";;AA2CO,SAASA,EAAoBC,GAAUC,GAAS;AACrD,QAAM,EAAE,OAAAC,GAAO,KAAAC,EAAG,IAAKC,EAAkBH,GAAS,IAAID,CAAQ;AAE9D,MAAIK,IAAW,CAACH,IAAQ,CAACC;AACzB,QAAMG,IAAUD,IAAW,CAACH,IAAQ,CAACC,GAC/BI,IAAOF,IAAWF,IAAMD;AAC9B,EAAAK,EAAK,SAAS,GAAG,GAAG,GAAG,CAAC,GACxBA,EAAK,QAAQ,CAAC;AAEd,MAAIC,IAAwB;AAO5B,QAAMC,IAAQ,CAAA;AAEd,SAAO,CAACF,KAAQD;AACd,IAAAG,EAAM,KAAKC,EAAcR,GAAOK,CAAI,CAAC,GACrCA,EAAK,SAASA,EAAK,SAAQ,IAAKC,CAAI;AAGtC,SAAOH,IAAWI,EAAM,QAAO,IAAKA;AACtC;","x_google_ignoreList":[0]}
package/dist/index205.js CHANGED
@@ -1,14 +1,18 @@
1
- import { normalizeDates as o } from "./index283.js";
2
- function i(a, r, n) {
3
- const [e, t] = o(
4
- n?.in,
5
- a,
6
- r
7
- );
8
- return e.getFullYear() === t.getFullYear() && e.getMonth() === t.getMonth();
1
+ import { normalizeInterval as u } from "./index296.js";
2
+ import { constructFrom as i } from "./index291.js";
3
+ function f(o, a) {
4
+ const { start: t, end: r } = u(a?.in, o);
5
+ let s = +t > +r;
6
+ const l = s ? +t : +r, e = s ? r : t;
7
+ e.setHours(0, 0, 0, 0), e.setMonth(0, 1);
8
+ let c = 1;
9
+ const n = [];
10
+ for (; +e <= l; )
11
+ n.push(i(t, e)), e.setFullYear(e.getFullYear() + c);
12
+ return s ? n.reverse() : n;
9
13
  }
10
14
  export {
11
- i as default,
12
- i as isSameMonth
15
+ f as default,
16
+ f as eachYearOfInterval
13
17
  };
14
18
  //# sourceMappingURL=index205.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index205.js","sources":["../../../node_modules/date-fns/isSameMonth.js"],"sourcesContent":["import { normalizeDates } from \"./_lib/normalizeDates.js\";\n\n/**\n * The {@link isSameMonth} function options.\n */\n\n/**\n * @name isSameMonth\n * @category Month Helpers\n * @summary Are the given dates in the same month (and year)?\n *\n * @description\n * Are the given dates in the same month (and year)?\n *\n * @param laterDate - The first date to check\n * @param earlierDate - The second date to check\n * @param options - An object with options\n *\n * @returns The dates are in the same month (and year)\n *\n * @example\n * // Are 2 September 2014 and 25 September 2014 in the same month?\n * const result = isSameMonth(new Date(2014, 8, 2), new Date(2014, 8, 25))\n * //=> true\n *\n * @example\n * // Are 2 September 2014 and 25 September 2015 in the same month?\n * const result = isSameMonth(new Date(2014, 8, 2), new Date(2015, 8, 25))\n * //=> false\n */\nexport function isSameMonth(laterDate, earlierDate, options) {\n const [laterDate_, earlierDate_] = normalizeDates(\n options?.in,\n laterDate,\n earlierDate,\n );\n return (\n laterDate_.getFullYear() === earlierDate_.getFullYear() &&\n laterDate_.getMonth() === earlierDate_.getMonth()\n );\n}\n\n// Fallback for modularized imports:\nexport default isSameMonth;\n"],"names":["isSameMonth","laterDate","earlierDate","options","laterDate_","earlierDate_","normalizeDates"],"mappings":";AA8BO,SAASA,EAAYC,GAAWC,GAAaC,GAAS;AAC3D,QAAM,CAACC,GAAYC,CAAY,IAAIC;AAAA,IACjCH,GAAS;AAAA,IACTF;AAAA,IACAC;AAAA,EACJ;AACE,SACEE,EAAW,YAAW,MAAOC,EAAa,YAAW,KACrDD,EAAW,eAAeC,EAAa,SAAQ;AAEnD;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index205.js","sources":["../../../node_modules/date-fns/eachYearOfInterval.js"],"sourcesContent":["import { normalizeInterval } from \"./_lib/normalizeInterval.js\";\nimport { constructFrom } from \"./constructFrom.js\";\n\n/**\n * The {@link eachYearOfInterval} function options.\n */\n\n/**\n * The {@link eachYearOfInterval} function result type. It resolves the proper data type.\n * It uses the first argument date object type, starting from the date argument,\n * then the start interval date, and finally the end interval date. If\n * a context function is passed, it uses the context function return type.\n */\n\n/**\n * @name eachYearOfInterval\n * @category Interval Helpers\n * @summary Return the array of yearly timestamps within the specified time interval.\n *\n * @description\n * Return the array of yearly timestamps within the specified time interval.\n *\n * @typeParam IntervalType - Interval type.\n * @typeParam Options - Options type.\n *\n * @param interval - The interval.\n * @param options - An object with options.\n *\n * @returns The array with starts of yearly timestamps from the month of the interval start to the month of the interval end\n *\n * @example\n * // Each year between 6 February 2014 and 10 August 2017:\n * const result = eachYearOfInterval({\n * start: new Date(2014, 1, 6),\n * end: new Date(2017, 7, 10)\n * })\n * //=> [\n * // Wed Jan 01 2014 00:00:00,\n * // Thu Jan 01 2015 00:00:00,\n * // Fri Jan 01 2016 00:00:00,\n * // Sun Jan 01 2017 00:00:00\n * // ]\n */\nexport function eachYearOfInterval(interval, options) {\n const { start, end } = normalizeInterval(options?.in, interval);\n\n let reversed = +start > +end;\n const endTime = reversed ? +start : +end;\n const date = reversed ? end : start;\n date.setHours(0, 0, 0, 0);\n date.setMonth(0, 1);\n\n let step = options?.step ?? 1;\n if (!step) return [];\n if (step < 0) {\n step = -step;\n reversed = !reversed;\n }\n\n const dates = [];\n\n while (+date <= endTime) {\n dates.push(constructFrom(start, date));\n date.setFullYear(date.getFullYear() + step);\n }\n\n return reversed ? dates.reverse() : dates;\n}\n\n// Fallback for modularized imports:\nexport default eachYearOfInterval;\n"],"names":["eachYearOfInterval","interval","options","start","end","normalizeInterval","reversed","endTime","date","step","dates","constructFrom"],"mappings":";;AA2CO,SAASA,EAAmBC,GAAUC,GAAS;AACpD,QAAM,EAAE,OAAAC,GAAO,KAAAC,EAAG,IAAKC,EAAkBH,GAAS,IAAID,CAAQ;AAE9D,MAAIK,IAAW,CAACH,IAAQ,CAACC;AACzB,QAAMG,IAAUD,IAAW,CAACH,IAAQ,CAACC,GAC/BI,IAAOF,IAAWF,IAAMD;AAC9B,EAAAK,EAAK,SAAS,GAAG,GAAG,GAAG,CAAC,GACxBA,EAAK,SAAS,GAAG,CAAC;AAElB,MAAIC,IAAwB;AAO5B,QAAMC,IAAQ,CAAA;AAEd,SAAO,CAACF,KAAQD;AACd,IAAAG,EAAM,KAAKC,EAAcR,GAAOK,CAAI,CAAC,GACrCA,EAAK,YAAYA,EAAK,YAAW,IAAKC,CAAI;AAG5C,SAAOH,IAAWI,EAAM,QAAO,IAAKA;AACtC;","x_google_ignoreList":[0]}