@rpcbase/ui 0.157.0 → 0.159.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 (727) hide show
  1. package/dist/components/DayPicker/index.d.ts.map +1 -1
  2. package/dist/components/HoursPicker/index.d.ts.map +1 -1
  3. package/dist/index.js +67 -24680
  4. package/dist/index.js.map +1 -1
  5. package/dist/index10.js +73 -0
  6. package/dist/index10.js.map +1 -0
  7. package/dist/index100.js +134 -0
  8. package/dist/index100.js.map +1 -0
  9. package/dist/index101.js +24 -0
  10. package/dist/index101.js.map +1 -0
  11. package/dist/index102.js +79 -0
  12. package/dist/index102.js.map +1 -0
  13. package/dist/index103.js +22 -0
  14. package/dist/index103.js.map +1 -0
  15. package/dist/index104.js +105 -0
  16. package/dist/index104.js.map +1 -0
  17. package/dist/index105.js +8 -0
  18. package/dist/index105.js.map +1 -0
  19. package/dist/index106.js +18 -0
  20. package/dist/index106.js.map +1 -0
  21. package/dist/index107.js +5 -0
  22. package/dist/index107.js.map +1 -0
  23. package/dist/index108.js +11 -0
  24. package/dist/index108.js.map +1 -0
  25. package/dist/index109.js +330 -0
  26. package/dist/index109.js.map +1 -0
  27. package/dist/index11.js +484 -0
  28. package/dist/index11.js.map +1 -0
  29. package/dist/index110.js +53 -0
  30. package/dist/index110.js.map +1 -0
  31. package/dist/index111.js +9 -0
  32. package/dist/index111.js.map +1 -0
  33. package/dist/index112.js +72 -0
  34. package/dist/index112.js.map +1 -0
  35. package/dist/index113.js +5 -0
  36. package/dist/index113.js.map +1 -0
  37. package/dist/index114.js +367 -0
  38. package/dist/index114.js.map +1 -0
  39. package/dist/index115.js +265 -0
  40. package/dist/index115.js.map +1 -0
  41. package/dist/index116.js +64 -0
  42. package/dist/index116.js.map +1 -0
  43. package/dist/index117.js +50 -0
  44. package/dist/index117.js.map +1 -0
  45. package/dist/index118.js +173 -0
  46. package/dist/index118.js.map +1 -0
  47. package/dist/index119.js +113 -0
  48. package/dist/index119.js.map +1 -0
  49. package/dist/index12.js +130 -0
  50. package/dist/index12.js.map +1 -0
  51. package/dist/index120.js +28 -0
  52. package/dist/index120.js.map +1 -0
  53. package/dist/index121.js +11 -0
  54. package/dist/index121.js.map +1 -0
  55. package/dist/index122.js +8 -0
  56. package/dist/index122.js.map +1 -0
  57. package/dist/index123.js +9 -0
  58. package/dist/index123.js.map +1 -0
  59. package/dist/index124.js +8 -0
  60. package/dist/index124.js.map +1 -0
  61. package/dist/index125.js +470 -0
  62. package/dist/index125.js.map +1 -0
  63. package/dist/index126.js +189 -0
  64. package/dist/index126.js.map +1 -0
  65. package/dist/index127.js +111 -0
  66. package/dist/index127.js.map +1 -0
  67. package/dist/index128.js +266 -0
  68. package/dist/index128.js.map +1 -0
  69. package/dist/index129.js +13 -0
  70. package/dist/index129.js.map +1 -0
  71. package/dist/index13.js +79 -0
  72. package/dist/index13.js.map +1 -0
  73. package/dist/index130.js +46 -0
  74. package/dist/index130.js.map +1 -0
  75. package/dist/index131.js +8 -0
  76. package/dist/index131.js.map +1 -0
  77. package/dist/index132.js +55 -0
  78. package/dist/index132.js.map +1 -0
  79. package/dist/index133.js +8 -0
  80. package/dist/index133.js.map +1 -0
  81. package/dist/index134.js +8 -0
  82. package/dist/index134.js.map +1 -0
  83. package/dist/index135.js +19 -0
  84. package/dist/index135.js.map +1 -0
  85. package/dist/index136.js +9 -0
  86. package/dist/index136.js.map +1 -0
  87. package/dist/index137.js +11 -0
  88. package/dist/index137.js.map +1 -0
  89. package/dist/index138.js +20 -0
  90. package/dist/index138.js.map +1 -0
  91. package/dist/index139.js +8 -0
  92. package/dist/index139.js.map +1 -0
  93. package/dist/index14.js +735 -0
  94. package/dist/index14.js.map +1 -0
  95. package/dist/index140.js +8 -0
  96. package/dist/index140.js.map +1 -0
  97. package/dist/index141.js +9 -0
  98. package/dist/index141.js.map +1 -0
  99. package/dist/index142.js +9 -0
  100. package/dist/index142.js.map +1 -0
  101. package/dist/index143.js +8 -0
  102. package/dist/index143.js.map +1 -0
  103. package/dist/index144.js +8 -0
  104. package/dist/index144.js.map +1 -0
  105. package/dist/index145.js +10 -0
  106. package/dist/index145.js.map +1 -0
  107. package/dist/index146.js +28 -0
  108. package/dist/index146.js.map +1 -0
  109. package/dist/index147.js +10 -0
  110. package/dist/index147.js.map +1 -0
  111. package/dist/index148.js +8 -0
  112. package/dist/index148.js.map +1 -0
  113. package/dist/index149.js +10 -0
  114. package/dist/index149.js.map +1 -0
  115. package/dist/index15.js +26 -0
  116. package/dist/index15.js.map +1 -0
  117. package/dist/index150.js +9 -0
  118. package/dist/index150.js.map +1 -0
  119. package/dist/index151.js +8 -0
  120. package/dist/index151.js.map +1 -0
  121. package/dist/index152.js +9 -0
  122. package/dist/index152.js.map +1 -0
  123. package/dist/index153.js +8 -0
  124. package/dist/index153.js.map +1 -0
  125. package/dist/index154.js +12 -0
  126. package/dist/index154.js.map +1 -0
  127. package/dist/index155.js +9 -0
  128. package/dist/index155.js.map +1 -0
  129. package/dist/index156.js +8 -0
  130. package/dist/index156.js.map +1 -0
  131. package/dist/index157.js +8 -0
  132. package/dist/index157.js.map +1 -0
  133. package/dist/index158.js +10 -0
  134. package/dist/index158.js.map +1 -0
  135. package/dist/index159.js +149 -0
  136. package/dist/index159.js.map +1 -0
  137. package/dist/index16.js +21 -0
  138. package/dist/index16.js.map +1 -0
  139. package/dist/index160.js +43 -0
  140. package/dist/index160.js.map +1 -0
  141. package/dist/index161.js +8 -0
  142. package/dist/index161.js.map +1 -0
  143. package/dist/index162.js +11 -0
  144. package/dist/index162.js.map +1 -0
  145. package/dist/index163.js +17 -0
  146. package/dist/index163.js.map +1 -0
  147. package/dist/index164.js +17 -0
  148. package/dist/index164.js.map +1 -0
  149. package/dist/index165.js +11 -0
  150. package/dist/index165.js.map +1 -0
  151. package/dist/index166.js +35 -0
  152. package/dist/index166.js.map +1 -0
  153. package/dist/index167.js +14 -0
  154. package/dist/index167.js.map +1 -0
  155. package/dist/index168.js +14 -0
  156. package/dist/index168.js.map +1 -0
  157. package/dist/index169.js +12 -0
  158. package/dist/index169.js.map +1 -0
  159. package/dist/index17.js +390 -0
  160. package/dist/index17.js.map +1 -0
  161. package/dist/index170.js +17 -0
  162. package/dist/index170.js.map +1 -0
  163. package/dist/index171.js +105 -0
  164. package/dist/index171.js.map +1 -0
  165. package/dist/index172.js +23 -0
  166. package/dist/index172.js.map +1 -0
  167. package/dist/index173.js +57 -0
  168. package/dist/index173.js.map +1 -0
  169. package/dist/index174.js +76 -0
  170. package/dist/index174.js.map +1 -0
  171. package/dist/index175.js +13 -0
  172. package/dist/index175.js.map +1 -0
  173. package/dist/index176.js +24 -0
  174. package/dist/index176.js.map +1 -0
  175. package/dist/index177.js +20 -0
  176. package/dist/index177.js.map +1 -0
  177. package/dist/index178.js +27 -0
  178. package/dist/index178.js.map +1 -0
  179. package/dist/index179.js +10 -0
  180. package/dist/index179.js.map +1 -0
  181. package/dist/index18.js +663 -0
  182. package/dist/index18.js.map +1 -0
  183. package/dist/index180.js +9 -0
  184. package/dist/index180.js.map +1 -0
  185. package/dist/index181.js +27 -0
  186. package/dist/index181.js.map +1 -0
  187. package/dist/index182.js +38 -0
  188. package/dist/index182.js.map +1 -0
  189. package/dist/index183.js +19 -0
  190. package/dist/index183.js.map +1 -0
  191. package/dist/index184.js +10 -0
  192. package/dist/index184.js.map +1 -0
  193. package/dist/index185.js +8 -0
  194. package/dist/index185.js.map +1 -0
  195. package/dist/index186.js +8 -0
  196. package/dist/index186.js.map +1 -0
  197. package/dist/index187.js +8 -0
  198. package/dist/index187.js.map +1 -0
  199. package/dist/index188.js +8 -0
  200. package/dist/index188.js.map +1 -0
  201. package/dist/index189.js +7 -0
  202. package/dist/index189.js.map +1 -0
  203. package/dist/index19.js +661 -0
  204. package/dist/index19.js.map +1 -0
  205. package/dist/index190.js +10 -0
  206. package/dist/index190.js.map +1 -0
  207. package/dist/index191.js +27 -0
  208. package/dist/index191.js.map +1 -0
  209. package/dist/index192.js +11 -0
  210. package/dist/index192.js.map +1 -0
  211. package/dist/index193.js +10 -0
  212. package/dist/index193.js.map +1 -0
  213. package/dist/index194.js +9 -0
  214. package/dist/index194.js.map +1 -0
  215. package/dist/index195.js +7 -0
  216. package/dist/index195.js.map +1 -0
  217. package/dist/index196.js +7 -0
  218. package/dist/index196.js.map +1 -0
  219. package/dist/index197.js +8 -0
  220. package/dist/index197.js.map +1 -0
  221. package/dist/index198.js +7 -0
  222. package/dist/index198.js.map +1 -0
  223. package/dist/index199.js +8 -0
  224. package/dist/index199.js.map +1 -0
  225. package/dist/index2.js +9 -0
  226. package/dist/index2.js.map +1 -0
  227. package/dist/index20.js +204 -0
  228. package/dist/index20.js.map +1 -0
  229. package/dist/index200.js +7 -0
  230. package/dist/index200.js.map +1 -0
  231. package/dist/index201.js +7 -0
  232. package/dist/index201.js.map +1 -0
  233. package/dist/index202.js +7 -0
  234. package/dist/index202.js.map +1 -0
  235. package/dist/index203.js +609 -0
  236. package/dist/index203.js.map +1 -0
  237. package/dist/index204.js +28 -0
  238. package/dist/index204.js.map +1 -0
  239. package/dist/index205.js +32 -0
  240. package/dist/index205.js.map +1 -0
  241. package/dist/index206.js +8 -0
  242. package/dist/index206.js.map +1 -0
  243. package/dist/index207.js +7 -0
  244. package/dist/index207.js.map +1 -0
  245. package/dist/index208.js +5 -0
  246. package/dist/index208.js.map +1 -0
  247. package/dist/index209.js +71 -0
  248. package/dist/index209.js.map +1 -0
  249. package/dist/index21.js +8 -0
  250. package/dist/index21.js.map +1 -0
  251. package/dist/index210.js +88 -0
  252. package/dist/index210.js.map +1 -0
  253. package/dist/index211.js +50 -0
  254. package/dist/index211.js.map +1 -0
  255. package/dist/index212.js +11 -0
  256. package/dist/index212.js.map +1 -0
  257. package/dist/index213.js +8 -0
  258. package/dist/index213.js.map +1 -0
  259. package/dist/index214.js +55 -0
  260. package/dist/index214.js.map +1 -0
  261. package/dist/index215.js +68 -0
  262. package/dist/index215.js.map +1 -0
  263. package/dist/index216.js +52 -0
  264. package/dist/index216.js.map +1 -0
  265. package/dist/index217.js +43 -0
  266. package/dist/index217.js.map +1 -0
  267. package/dist/index218.js +104 -0
  268. package/dist/index218.js.map +1 -0
  269. package/dist/index219.js +101 -0
  270. package/dist/index219.js.map +1 -0
  271. package/dist/index22.js +38 -0
  272. package/dist/index22.js.map +1 -0
  273. package/dist/index220.js +103 -0
  274. package/dist/index220.js.map +1 -0
  275. package/dist/index221.js +17 -0
  276. package/dist/index221.js.map +1 -0
  277. package/dist/index222.js +158 -0
  278. package/dist/index222.js.map +1 -0
  279. package/dist/index223.js +34 -0
  280. package/dist/index223.js.map +1 -0
  281. package/dist/index224.js +13 -0
  282. package/dist/index224.js.map +1 -0
  283. package/dist/index225.js +51 -0
  284. package/dist/index225.js.map +1 -0
  285. package/dist/index226.js +15 -0
  286. package/dist/index226.js.map +1 -0
  287. package/dist/index227.js +48 -0
  288. package/dist/index227.js.map +1 -0
  289. package/dist/index228.js +99 -0
  290. package/dist/index228.js.map +1 -0
  291. package/dist/index229.js +90 -0
  292. package/dist/index229.js.map +1 -0
  293. package/dist/index23.js +272 -0
  294. package/dist/index23.js.map +1 -0
  295. package/dist/index230.js +109 -0
  296. package/dist/index230.js.map +1 -0
  297. package/dist/index231.js +56 -0
  298. package/dist/index231.js.map +1 -0
  299. package/dist/index232.js +15 -0
  300. package/dist/index232.js.map +1 -0
  301. package/dist/index233.js +41 -0
  302. package/dist/index233.js.map +1 -0
  303. package/dist/index234.js +12 -0
  304. package/dist/index234.js.map +1 -0
  305. package/dist/index235.js +120 -0
  306. package/dist/index235.js.map +1 -0
  307. package/dist/index236.js +21 -0
  308. package/dist/index236.js.map +1 -0
  309. package/dist/index237.js +19 -0
  310. package/dist/index237.js.map +1 -0
  311. package/dist/index238.js +7 -0
  312. package/dist/index238.js.map +1 -0
  313. package/dist/index239.js +40 -0
  314. package/dist/index239.js.map +1 -0
  315. package/dist/index24.js +184 -0
  316. package/dist/index24.js.map +1 -0
  317. package/dist/index240.js +24 -0
  318. package/dist/index240.js.map +1 -0
  319. package/dist/index241.js +13 -0
  320. package/dist/index241.js.map +1 -0
  321. package/dist/index242.js +12 -0
  322. package/dist/index242.js.map +1 -0
  323. package/dist/index243.js +23 -0
  324. package/dist/index243.js.map +1 -0
  325. package/dist/index244.js +32 -0
  326. package/dist/index244.js.map +1 -0
  327. package/dist/index245.js +20 -0
  328. package/dist/index245.js.map +1 -0
  329. package/dist/index246.js +62 -0
  330. package/dist/index246.js.map +1 -0
  331. package/dist/index247.js +12 -0
  332. package/dist/index247.js.map +1 -0
  333. package/dist/index248.js +70 -0
  334. package/dist/index248.js.map +1 -0
  335. package/dist/index249.js +23 -0
  336. package/dist/index249.js.map +1 -0
  337. package/dist/index25.js +18 -0
  338. package/dist/index25.js.map +1 -0
  339. package/dist/index250.js +20 -0
  340. package/dist/index250.js.map +1 -0
  341. package/dist/index251.js +9 -0
  342. package/dist/index251.js.map +1 -0
  343. package/dist/index252.js +9 -0
  344. package/dist/index252.js.map +1 -0
  345. package/dist/index253.js +10 -0
  346. package/dist/index253.js.map +1 -0
  347. package/dist/index254.js +8 -0
  348. package/dist/index254.js.map +1 -0
  349. package/dist/index255.js +11 -0
  350. package/dist/index255.js.map +1 -0
  351. package/dist/index256.js +21 -0
  352. package/dist/index256.js.map +1 -0
  353. package/dist/index257.js +9 -0
  354. package/dist/index257.js.map +1 -0
  355. package/dist/index258.js +9 -0
  356. package/dist/index258.js.map +1 -0
  357. package/dist/index259.js +17 -0
  358. package/dist/index259.js.map +1 -0
  359. package/dist/index26.js +2766 -0
  360. package/dist/index26.js.map +1 -0
  361. package/dist/index260.js +14 -0
  362. package/dist/index260.js.map +1 -0
  363. package/dist/index261.js +18 -0
  364. package/dist/index261.js.map +1 -0
  365. package/dist/index262.js +18 -0
  366. package/dist/index262.js.map +1 -0
  367. package/dist/index263.js +9 -0
  368. package/dist/index263.js.map +1 -0
  369. package/dist/index264.js +10 -0
  370. package/dist/index264.js.map +1 -0
  371. package/dist/index265.js +11 -0
  372. package/dist/index265.js.map +1 -0
  373. package/dist/index266.js +10 -0
  374. package/dist/index266.js.map +1 -0
  375. package/dist/index267.js +13 -0
  376. package/dist/index267.js.map +1 -0
  377. package/dist/index268.js +9 -0
  378. package/dist/index268.js.map +1 -0
  379. package/dist/index269.js +9 -0
  380. package/dist/index269.js.map +1 -0
  381. package/dist/index27.js +40 -0
  382. package/dist/index27.js.map +1 -0
  383. package/dist/index270.js +13 -0
  384. package/dist/index270.js.map +1 -0
  385. package/dist/index271.js +9 -0
  386. package/dist/index271.js.map +1 -0
  387. package/dist/index272.js +9 -0
  388. package/dist/index272.js.map +1 -0
  389. package/dist/index273.js +8 -0
  390. package/dist/index273.js.map +1 -0
  391. package/dist/index274.js +15 -0
  392. package/dist/index274.js.map +1 -0
  393. package/dist/index275.js +14 -0
  394. package/dist/index275.js.map +1 -0
  395. package/dist/index276.js +14 -0
  396. package/dist/index276.js.map +1 -0
  397. package/dist/index277.js +15 -0
  398. package/dist/index277.js.map +1 -0
  399. package/dist/index278.js +15 -0
  400. package/dist/index278.js.map +1 -0
  401. package/dist/index279.js +14 -0
  402. package/dist/index279.js.map +1 -0
  403. package/dist/index28.js +6 -0
  404. package/dist/index28.js.map +1 -0
  405. package/dist/index280.js +11 -0
  406. package/dist/index280.js.map +1 -0
  407. package/dist/index281.js +10 -0
  408. package/dist/index281.js.map +1 -0
  409. package/dist/index282.js +9 -0
  410. package/dist/index282.js.map +1 -0
  411. package/dist/index283.js +10 -0
  412. package/dist/index283.js.map +1 -0
  413. package/dist/index284.js +11 -0
  414. package/dist/index284.js.map +1 -0
  415. package/dist/index285.js +10 -0
  416. package/dist/index285.js.map +1 -0
  417. package/dist/index286.js +59 -0
  418. package/dist/index286.js.map +1 -0
  419. package/dist/index287.js +27 -0
  420. package/dist/index287.js.map +1 -0
  421. package/dist/index288.js +20 -0
  422. package/dist/index288.js.map +1 -0
  423. package/dist/index289.js +11 -0
  424. package/dist/index289.js.map +1 -0
  425. package/dist/index29.js +128 -0
  426. package/dist/index29.js.map +1 -0
  427. package/dist/index290.js +14 -0
  428. package/dist/index290.js.map +1 -0
  429. package/dist/index291.js +14 -0
  430. package/dist/index291.js.map +1 -0
  431. package/dist/index292.js +25 -0
  432. package/dist/index292.js.map +1 -0
  433. package/dist/index293.js +14 -0
  434. package/dist/index293.js.map +1 -0
  435. package/dist/index294.js +13 -0
  436. package/dist/index294.js.map +1 -0
  437. package/dist/index295.js +13 -0
  438. package/dist/index295.js.map +1 -0
  439. package/dist/index296.js +8 -0
  440. package/dist/index296.js.map +1 -0
  441. package/dist/index297.js +9 -0
  442. package/dist/index297.js.map +1 -0
  443. package/dist/index298.js +20 -0
  444. package/dist/index298.js.map +1 -0
  445. package/dist/index299.js +13 -0
  446. package/dist/index299.js.map +1 -0
  447. package/dist/index3.js +5 -0
  448. package/dist/index3.js.map +1 -0
  449. package/dist/index30.js +51 -0
  450. package/dist/index30.js.map +1 -0
  451. package/dist/index300.js +22 -0
  452. package/dist/index300.js.map +1 -0
  453. package/dist/index301.js +19 -0
  454. package/dist/index301.js.map +1 -0
  455. package/dist/index302.js +16 -0
  456. package/dist/index302.js.map +1 -0
  457. package/dist/index303.js +33 -0
  458. package/dist/index303.js.map +1 -0
  459. package/dist/index304.js +16 -0
  460. package/dist/index304.js.map +1 -0
  461. package/dist/index305.js +29 -0
  462. package/dist/index305.js.map +1 -0
  463. package/dist/index306.js +9 -0
  464. package/dist/index306.js.map +1 -0
  465. package/dist/index307.js +71 -0
  466. package/dist/index307.js.map +1 -0
  467. package/dist/index308.js +184 -0
  468. package/dist/index308.js.map +1 -0
  469. package/dist/index309.js +50 -0
  470. package/dist/index309.js.map +1 -0
  471. package/dist/index31.js +223 -0
  472. package/dist/index31.js.map +1 -0
  473. package/dist/index310.js +8 -0
  474. package/dist/index310.js.map +1 -0
  475. package/dist/index311.js +6 -0
  476. package/dist/index311.js.map +1 -0
  477. package/dist/index312.js +27 -0
  478. package/dist/index312.js.map +1 -0
  479. package/dist/index313.js +116 -0
  480. package/dist/index313.js.map +1 -0
  481. package/dist/index314.js +19 -0
  482. package/dist/index314.js.map +1 -0
  483. package/dist/index315.js +528 -0
  484. package/dist/index315.js.map +1 -0
  485. package/dist/index316.js +131 -0
  486. package/dist/index316.js.map +1 -0
  487. package/dist/index317.js +137 -0
  488. package/dist/index317.js.map +1 -0
  489. package/dist/index318.js +5 -0
  490. package/dist/index318.js.map +1 -0
  491. package/dist/index319.js +5 -0
  492. package/dist/index319.js.map +1 -0
  493. package/dist/index32.js +47 -0
  494. package/dist/index32.js.map +1 -0
  495. package/dist/index320.js +24 -0
  496. package/dist/index320.js.map +1 -0
  497. package/dist/index321.js +8 -0
  498. package/dist/index321.js.map +1 -0
  499. package/dist/index322.js +22 -0
  500. package/dist/index322.js.map +1 -0
  501. package/dist/index323.js +16 -0
  502. package/dist/index323.js.map +1 -0
  503. package/dist/index324.js +68 -0
  504. package/dist/index324.js.map +1 -0
  505. package/dist/index325.js +72 -0
  506. package/dist/index325.js.map +1 -0
  507. package/dist/index326.js +12 -0
  508. package/dist/index326.js.map +1 -0
  509. package/dist/index327.js +17 -0
  510. package/dist/index327.js.map +1 -0
  511. package/dist/index328.js +69 -0
  512. package/dist/index328.js.map +1 -0
  513. package/dist/index329.js +9 -0
  514. package/dist/index329.js.map +1 -0
  515. package/dist/index33.js +44 -0
  516. package/dist/index33.js.map +1 -0
  517. package/dist/index330.js +9 -0
  518. package/dist/index330.js.map +1 -0
  519. package/dist/index331.js +7 -0
  520. package/dist/index331.js.map +1 -0
  521. package/dist/index332.js +19 -0
  522. package/dist/index332.js.map +1 -0
  523. package/dist/index333.js +12 -0
  524. package/dist/index333.js.map +1 -0
  525. package/dist/index334.js +9 -0
  526. package/dist/index334.js.map +1 -0
  527. package/dist/index335.js +8 -0
  528. package/dist/index335.js.map +1 -0
  529. package/dist/index336.js +549 -0
  530. package/dist/index336.js.map +1 -0
  531. package/dist/index337.js +50 -0
  532. package/dist/index337.js.map +1 -0
  533. package/dist/index338.js +21 -0
  534. package/dist/index338.js.map +1 -0
  535. package/dist/index339.js +10 -0
  536. package/dist/index339.js.map +1 -0
  537. package/dist/index34.js +32 -0
  538. package/dist/index34.js.map +1 -0
  539. package/dist/index340.js +12 -0
  540. package/dist/index340.js.map +1 -0
  541. package/dist/index341.js +11 -0
  542. package/dist/index341.js.map +1 -0
  543. package/dist/index342.js +12 -0
  544. package/dist/index342.js.map +1 -0
  545. package/dist/index343.js +16 -0
  546. package/dist/index343.js.map +1 -0
  547. package/dist/index344.js +13 -0
  548. package/dist/index344.js.map +1 -0
  549. package/dist/index345.js +17 -0
  550. package/dist/index345.js.map +1 -0
  551. package/dist/index346.js +7 -0
  552. package/dist/index346.js.map +1 -0
  553. package/dist/index347.js +26 -0
  554. package/dist/index347.js.map +1 -0
  555. package/dist/index348.js +8 -0
  556. package/dist/index348.js.map +1 -0
  557. package/dist/index349.js +59 -0
  558. package/dist/index349.js.map +1 -0
  559. package/dist/index35.js +49 -0
  560. package/dist/index35.js.map +1 -0
  561. package/dist/index350.js +71 -0
  562. package/dist/index350.js.map +1 -0
  563. package/dist/index351.js +34 -0
  564. package/dist/index351.js.map +1 -0
  565. package/dist/index352.js +12 -0
  566. package/dist/index352.js.map +1 -0
  567. package/dist/index353.js +156 -0
  568. package/dist/index353.js.map +1 -0
  569. package/dist/index354.js +111 -0
  570. package/dist/index354.js.map +1 -0
  571. package/dist/index355.js +26 -0
  572. package/dist/index355.js.map +1 -0
  573. package/dist/index356.js +16 -0
  574. package/dist/index356.js.map +1 -0
  575. package/dist/index357.js +31 -0
  576. package/dist/index357.js.map +1 -0
  577. package/dist/index358.js +8 -0
  578. package/dist/index358.js.map +1 -0
  579. package/dist/index359.js +19 -0
  580. package/dist/index359.js.map +1 -0
  581. package/dist/index36.js +35 -0
  582. package/dist/index36.js.map +1 -0
  583. package/dist/index360.js +32 -0
  584. package/dist/index360.js.map +1 -0
  585. package/dist/index361.js +16 -0
  586. package/dist/index361.js.map +1 -0
  587. package/dist/index362.js +10 -0
  588. package/dist/index362.js.map +1 -0
  589. package/dist/index37.js +31 -0
  590. package/dist/index37.js.map +1 -0
  591. package/dist/index38.js +26 -0
  592. package/dist/index38.js.map +1 -0
  593. package/dist/index39.js +132 -0
  594. package/dist/index39.js.map +1 -0
  595. package/dist/index4.js +27 -0
  596. package/dist/index4.js.map +1 -0
  597. package/dist/index40.js +235 -0
  598. package/dist/index40.js.map +1 -0
  599. package/dist/index41.js +54 -0
  600. package/dist/index41.js.map +1 -0
  601. package/dist/index42.js +2644 -0
  602. package/dist/index42.js.map +1 -0
  603. package/dist/index43.js +397 -0
  604. package/dist/index43.js.map +1 -0
  605. package/dist/index44.js +236 -0
  606. package/dist/index44.js.map +1 -0
  607. package/dist/index45.js +25 -0
  608. package/dist/index45.js.map +1 -0
  609. package/dist/index46.js +145 -0
  610. package/dist/index46.js.map +1 -0
  611. package/dist/index47.js +190 -0
  612. package/dist/index47.js.map +1 -0
  613. package/dist/index48.js +80 -0
  614. package/dist/index48.js.map +1 -0
  615. package/dist/index49.js +94 -0
  616. package/dist/index49.js.map +1 -0
  617. package/dist/index5.js +48 -0
  618. package/dist/index5.js.map +1 -0
  619. package/dist/index50.js +9 -0
  620. package/dist/index50.js.map +1 -0
  621. package/dist/index51.js +847 -0
  622. package/dist/index51.js.map +1 -0
  623. package/dist/index52.js +69 -0
  624. package/dist/index52.js.map +1 -0
  625. package/dist/index53.js +11 -0
  626. package/dist/index53.js.map +1 -0
  627. package/dist/index54.js +5 -0
  628. package/dist/index54.js.map +1 -0
  629. package/dist/index55.js +27 -0
  630. package/dist/index55.js.map +1 -0
  631. package/dist/index56.js +237 -0
  632. package/dist/index56.js.map +1 -0
  633. package/dist/index57.js +7 -0
  634. package/dist/index57.js.map +1 -0
  635. package/dist/index58.js +10 -0
  636. package/dist/index58.js.map +1 -0
  637. package/dist/index59.js +51 -0
  638. package/dist/index59.js.map +1 -0
  639. package/dist/index6.js +33 -0
  640. package/dist/index6.js.map +1 -0
  641. package/dist/index60.js +30 -0
  642. package/dist/index60.js.map +1 -0
  643. package/dist/index61.js +54 -0
  644. package/dist/index61.js.map +1 -0
  645. package/dist/index62.js +11 -0
  646. package/dist/index62.js.map +1 -0
  647. package/dist/index63.js +18 -0
  648. package/dist/index63.js.map +1 -0
  649. package/dist/index64.js +137 -0
  650. package/dist/index64.js.map +1 -0
  651. package/dist/index65.js +14 -0
  652. package/dist/index65.js.map +1 -0
  653. package/dist/index66.js +220 -0
  654. package/dist/index66.js.map +1 -0
  655. package/dist/index67.js +16 -0
  656. package/dist/index67.js.map +1 -0
  657. package/dist/index68.js +37 -0
  658. package/dist/index68.js.map +1 -0
  659. package/dist/index69.js +50 -0
  660. package/dist/index69.js.map +1 -0
  661. package/dist/index7.js +36 -0
  662. package/dist/index7.js.map +1 -0
  663. package/dist/index70.js +11 -0
  664. package/dist/index70.js.map +1 -0
  665. package/dist/index71.js +53 -0
  666. package/dist/index71.js.map +1 -0
  667. package/dist/index72.js +7 -0
  668. package/dist/index72.js.map +1 -0
  669. package/dist/index73.js +9 -0
  670. package/dist/index73.js.map +1 -0
  671. package/dist/index74.js +31 -0
  672. package/dist/index74.js.map +1 -0
  673. package/dist/index75.js +53 -0
  674. package/dist/index75.js.map +1 -0
  675. package/dist/index76.js +12 -0
  676. package/dist/index76.js.map +1 -0
  677. package/dist/index77.js +208 -0
  678. package/dist/index77.js.map +1 -0
  679. package/dist/index78.js +15 -0
  680. package/dist/index78.js.map +1 -0
  681. package/dist/index79.js +9 -0
  682. package/dist/index79.js.map +1 -0
  683. package/dist/index8.js +230 -0
  684. package/dist/index8.js.map +1 -0
  685. package/dist/index80.js +11 -0
  686. package/dist/index80.js.map +1 -0
  687. package/dist/index81.js +9 -0
  688. package/dist/index81.js.map +1 -0
  689. package/dist/index82.js +5 -0
  690. package/dist/index82.js.map +1 -0
  691. package/dist/index83.js +5 -0
  692. package/dist/index83.js.map +1 -0
  693. package/dist/index84.js +50 -0
  694. package/dist/index84.js.map +1 -0
  695. package/dist/index85.js +209 -0
  696. package/dist/index85.js.map +1 -0
  697. package/dist/index86.js +25 -0
  698. package/dist/index86.js.map +1 -0
  699. package/dist/index87.js +28 -0
  700. package/dist/index87.js.map +1 -0
  701. package/dist/index88.js +403 -0
  702. package/dist/index88.js.map +1 -0
  703. package/dist/index89.js +50 -0
  704. package/dist/index89.js.map +1 -0
  705. package/dist/index9.js +27 -0
  706. package/dist/index9.js.map +1 -0
  707. package/dist/index90.js +57 -0
  708. package/dist/index90.js.map +1 -0
  709. package/dist/index91.js +7 -0
  710. package/dist/index91.js.map +1 -0
  711. package/dist/index92.js +37 -0
  712. package/dist/index92.js.map +1 -0
  713. package/dist/index93.js +253 -0
  714. package/dist/index93.js.map +1 -0
  715. package/dist/index94.js +118 -0
  716. package/dist/index94.js.map +1 -0
  717. package/dist/index95.js +223 -0
  718. package/dist/index95.js.map +1 -0
  719. package/dist/index96.js +70 -0
  720. package/dist/index96.js.map +1 -0
  721. package/dist/index97.js +24 -0
  722. package/dist/index97.js.map +1 -0
  723. package/dist/index98.js +213 -0
  724. package/dist/index98.js.map +1 -0
  725. package/dist/index99.js +323 -0
  726. package/dist/index99.js.map +1 -0
  727. package/package.json +5 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index19.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":"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"}
@@ -0,0 +1,10 @@
1
+ import { defaultDateLib as t } from "./index159.js";
2
+ function a(o, r = t) {
3
+ return r.format(o, "yyyy");
4
+ }
5
+ const f = a;
6
+ export {
7
+ f as formatYearCaption,
8
+ a as formatYearDropdown
9
+ };
10
+ //# sourceMappingURL=index190.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index190.js","sources":["../../../node_modules/react-day-picker/dist/esm/formatters/formatYearDropdown.js"],"sourcesContent":["import { defaultDateLib } from \"../classes/DateLib.js\";\n/**\n * Formats the year for the dropdown option label.\n *\n * @param year The year to format.\n * @param dateLib The date library to use for formatting. Defaults to\n * `defaultDateLib`.\n * @returns The formatted year as a string.\n * @group Formatters\n * @see https://daypicker.dev/docs/translation#custom-formatters\n */\nexport function formatYearDropdown(year, dateLib = defaultDateLib) {\n return dateLib.format(year, \"yyyy\");\n}\n/**\n * @private\n * @deprecated Use `formatYearDropdown` instead.\n * @group Formatters\n */\nexport const formatYearCaption = formatYearDropdown;\n"],"names":["formatYearDropdown","year","dateLib","defaultDateLib","formatYearCaption"],"mappings":";AAWO,SAASA,EAAmBC,GAAMC,IAAUC,GAAgB;AAC/D,SAAOD,EAAQ,OAAOD,GAAM,MAAM;AACtC;AAMY,MAACG,IAAoBJ;","x_google_ignoreList":[0]}
@@ -0,0 +1,27 @@
1
+ import { labelDay as o, labelDayButton as l } from "./index192.js";
2
+ import { labelCaption as t, labelGrid as b } from "./index193.js";
3
+ import { labelGridcell as m } from "./index194.js";
4
+ import { labelMonthDropdown as f } from "./index195.js";
5
+ import { labelNav as n } from "./index196.js";
6
+ import { labelNext as u } from "./index197.js";
7
+ import { labelPrevious as N } from "./index198.js";
8
+ import { labelWeekday as y } from "./index199.js";
9
+ import { labelWeekNumber as v } from "./index200.js";
10
+ import { labelWeekNumberHeader as G } from "./index201.js";
11
+ import { labelYearDropdown as h } from "./index202.js";
12
+ export {
13
+ t as labelCaption,
14
+ o as labelDay,
15
+ l as labelDayButton,
16
+ b as labelGrid,
17
+ m as labelGridcell,
18
+ f as labelMonthDropdown,
19
+ n as labelNav,
20
+ u as labelNext,
21
+ N as labelPrevious,
22
+ v as labelWeekNumber,
23
+ G as labelWeekNumberHeader,
24
+ y as labelWeekday,
25
+ h as labelYearDropdown
26
+ };
27
+ //# sourceMappingURL=index191.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index191.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;"}
@@ -0,0 +1,11 @@
1
+ import { DateLib as n } from "./index159.js";
2
+ function r(a, t, l, o) {
3
+ let e = (o ?? new n(l)).format(a, "PPPP");
4
+ return t.today && (e = `Today, ${e}`), t.selected && (e = `${e}, selected`), e;
5
+ }
6
+ const c = r;
7
+ export {
8
+ c as labelDay,
9
+ r as labelDayButton
10
+ };
11
+ //# sourceMappingURL=index192.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index192.js","sources":["../../../node_modules/react-day-picker/dist/esm/labels/labelDayButton.js"],"sourcesContent":["import { DateLib } from \"../classes/DateLib.js\";\n/**\n * Generates the ARIA label for a day button.\n *\n * Use the `modifiers` argument to provide additional context for the label,\n * such as indicating if the day is \"today\" or \"selected.\"\n *\n * @defaultValue The formatted date.\n * @param date - The date to format.\n * @param modifiers - The modifiers providing context for the day.\n * @param options - Optional configuration for the date formatting library.\n * @param dateLib - An optional instance of the date formatting library.\n * @returns The ARIA label for the day button.\n * @group Labels\n * @see https://daypicker.dev/docs/translation#aria-labels\n */\nexport function labelDayButton(date, modifiers, options, dateLib) {\n let label = (dateLib ?? new DateLib(options)).format(date, \"PPPP\");\n if (modifiers.today)\n label = `Today, ${label}`;\n if (modifiers.selected)\n label = `${label}, selected`;\n return label;\n}\n/**\n * @ignore\n * @deprecated Use `labelDayButton` instead.\n */\nexport const labelDay = labelDayButton;\n"],"names":["labelDayButton","date","modifiers","options","dateLib","label","DateLib","labelDay"],"mappings":";AAgBO,SAASA,EAAeC,GAAMC,GAAWC,GAASC,GAAS;AAC9D,MAAIC,KAASD,KAAW,IAAIE,EAAQH,CAAO,GAAG,OAAOF,GAAM,MAAM;AACjE,SAAIC,EAAU,UACVG,IAAQ,UAAUA,CAAK,KACvBH,EAAU,aACVG,IAAQ,GAAGA,CAAK,eACbA;AACX;AAKY,MAACE,IAAWP;","x_google_ignoreList":[0]}
@@ -0,0 +1,10 @@
1
+ import { DateLib as r } from "./index159.js";
2
+ function e(t, o, n) {
3
+ return (n ?? new r(o)).formatMonthYear(t);
4
+ }
5
+ const l = e;
6
+ export {
7
+ l as labelCaption,
8
+ e as labelGrid
9
+ };
10
+ //# sourceMappingURL=index193.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index193.js","sources":["../../../node_modules/react-day-picker/dist/esm/labels/labelGrid.js"],"sourcesContent":["import { DateLib } from \"../classes/DateLib.js\";\n/**\n * Generates the ARIA label for the month grid, which is announced when entering\n * the grid.\n *\n * @defaultValue Locale-specific month/year order (e.g., \"November 2022\").\n * @param date - The date representing the month.\n * @param options - Optional configuration for the date formatting library.\n * @param dateLib - An optional instance of the date formatting library.\n * @returns The ARIA label for the month grid.\n * @group Labels\n * @see https://daypicker.dev/docs/translation#aria-labels\n */\nexport function labelGrid(date, options, dateLib) {\n const lib = dateLib ?? new DateLib(options);\n return lib.formatMonthYear(date);\n}\n/**\n * @ignore\n * @deprecated Use {@link labelGrid} instead.\n */\nexport const labelCaption = labelGrid;\n"],"names":["labelGrid","date","options","dateLib","DateLib","labelCaption"],"mappings":";AAaO,SAASA,EAAUC,GAAMC,GAASC,GAAS;AAE9C,UADYA,KAAW,IAAIC,EAAQF,CAAO,GAC/B,gBAAgBD,CAAI;AACnC;AAKY,MAACI,IAAeL;","x_google_ignoreList":[0]}
@@ -0,0 +1,9 @@
1
+ import { DateLib as a } from "./index159.js";
2
+ function f(t, l, o, r) {
3
+ let e = (r ?? new a(o)).format(t, "PPPP");
4
+ return l?.today && (e = `Today, ${e}`), e;
5
+ }
6
+ export {
7
+ f as labelGridcell
8
+ };
9
+ //# sourceMappingURL=index194.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index194.js","sources":["../../../node_modules/react-day-picker/dist/esm/labels/labelGridcell.js"],"sourcesContent":["import { DateLib } from \"../classes/DateLib.js\";\n/**\n * Generates the label for a day grid cell when the calendar is not interactive.\n *\n * @param date - The date to format.\n * @param modifiers - Optional modifiers providing context for the day.\n * @param options - Optional configuration for the date formatting library.\n * @param dateLib - An optional instance of the date formatting library.\n * @returns The label for the day grid cell.\n * @group Labels\n * @see https://daypicker.dev/docs/translation#aria-labels\n */\nexport function labelGridcell(date, modifiers, options, dateLib) {\n let label = (dateLib ?? new DateLib(options)).format(date, \"PPPP\");\n if (modifiers?.today) {\n label = `Today, ${label}`;\n }\n return label;\n}\n"],"names":["labelGridcell","date","modifiers","options","dateLib","label","DateLib"],"mappings":";AAYO,SAASA,EAAcC,GAAMC,GAAWC,GAASC,GAAS;AAC7D,MAAIC,KAASD,KAAW,IAAIE,EAAQH,CAAO,GAAG,OAAOF,GAAM,MAAM;AACjE,SAAIC,GAAW,UACXG,IAAQ,UAAUA,CAAK,KAEpBA;AACX;","x_google_ignoreList":[0]}
@@ -0,0 +1,7 @@
1
+ function n(o) {
2
+ return "Choose the Month";
3
+ }
4
+ export {
5
+ n as labelMonthDropdown
6
+ };
7
+ //# sourceMappingURL=index195.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index195.js","sources":["../../../node_modules/react-day-picker/dist/esm/labels/labelMonthDropdown.js"],"sourcesContent":["/**\n * Generates the ARIA label for the months dropdown.\n *\n * @defaultValue `\"Choose the Month\"`\n * @param options - Optional configuration for the date formatting library.\n * @returns The ARIA label for the months dropdown.\n * @group Labels\n * @see https://daypicker.dev/docs/translation#aria-labels\n */\nexport function labelMonthDropdown(_options) {\n return \"Choose the Month\";\n}\n"],"names":["labelMonthDropdown","_options"],"mappings":"AASO,SAASA,EAAmBC,GAAU;AACzC,SAAO;AACX;","x_google_ignoreList":[0]}
@@ -0,0 +1,7 @@
1
+ function e() {
2
+ return "";
3
+ }
4
+ export {
5
+ e as labelNav
6
+ };
7
+ //# sourceMappingURL=index196.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index196.js","sources":["../../../node_modules/react-day-picker/dist/esm/labels/labelNav.js"],"sourcesContent":["/**\n * Generates the ARIA label for the navigation toolbar.\n *\n * @defaultValue `\"\"`\n * @returns The ARIA label for the navigation toolbar.\n * @group Labels\n * @see https://daypicker.dev/docs/translation#aria-labels\n */\nexport function labelNav() {\n return \"\";\n}\n"],"names":["labelNav"],"mappings":"AAQO,SAASA,IAAW;AACvB,SAAO;AACX;","x_google_ignoreList":[0]}
@@ -0,0 +1,8 @@
1
+ const t = "Go to the Next Month";
2
+ function n(o, e) {
3
+ return t;
4
+ }
5
+ export {
6
+ n as labelNext
7
+ };
8
+ //# sourceMappingURL=index197.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index197.js","sources":["../../../node_modules/react-day-picker/dist/esm/labels/labelNext.js"],"sourcesContent":["const defaultLabel = \"Go to the Next Month\";\n/**\n * Generates the ARIA label for the \"next month\" button.\n *\n * @defaultValue `\"Go to the Next Month\"`\n * @param month - The date representing the next month, or `undefined` if there\n * is no next month.\n * @returns The ARIA label for the \"next month\" button.\n * @group Labels\n * @see https://daypicker.dev/docs/translation#aria-labels\n */\nexport function labelNext(_month, _options) {\n return defaultLabel;\n}\n"],"names":["defaultLabel","labelNext","_month","_options"],"mappings":"AAAA,MAAMA,IAAe;AAWd,SAASC,EAAUC,GAAQC,GAAU;AACxC,SAAOH;AACX;","x_google_ignoreList":[0]}
@@ -0,0 +1,7 @@
1
+ function t(o) {
2
+ return "Go to the Previous Month";
3
+ }
4
+ export {
5
+ t as labelPrevious
6
+ };
7
+ //# sourceMappingURL=index198.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index198.js","sources":["../../../node_modules/react-day-picker/dist/esm/labels/labelPrevious.js"],"sourcesContent":["/**\n * Generates the ARIA label for the \"previous month\" button.\n *\n * @defaultValue `\"Go to the Previous Month\"`\n * @param month - The date representing the previous month, or `undefined` if\n * there is no previous month.\n * @returns The ARIA label for the \"previous month\" button.\n * @group Labels\n * @see https://daypicker.dev/docs/translation#aria-labels\n */\nexport function labelPrevious(_month) {\n return \"Go to the Previous Month\";\n}\n"],"names":["labelPrevious","_month"],"mappings":"AAUO,SAASA,EAAcC,GAAQ;AAClC,SAAO;AACX;","x_google_ignoreList":[0]}
@@ -0,0 +1,8 @@
1
+ import { DateLib as c } from "./index159.js";
2
+ function a(e, r, t) {
3
+ return (t ?? new c(r)).format(e, "cccc");
4
+ }
5
+ export {
6
+ a as labelWeekday
7
+ };
8
+ //# sourceMappingURL=index199.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index199.js","sources":["../../../node_modules/react-day-picker/dist/esm/labels/labelWeekday.js"],"sourcesContent":["import { DateLib } from \"../classes/DateLib.js\";\n/**\n * Generates the ARIA label for a weekday column header.\n *\n * @defaultValue `\"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\", \"Sunday\"`\n * @param date - The date representing the weekday.\n * @param options - Optional configuration for the date formatting library.\n * @param dateLib - An optional instance of the date formatting library.\n * @returns The ARIA label for the weekday column header.\n * @group Labels\n * @see https://daypicker.dev/docs/translation#aria-labels\n */\nexport function labelWeekday(date, options, dateLib) {\n return (dateLib ?? new DateLib(options)).format(date, \"cccc\");\n}\n"],"names":["labelWeekday","date","options","dateLib","DateLib"],"mappings":";AAYO,SAASA,EAAaC,GAAMC,GAASC,GAAS;AACjD,UAAQA,KAAW,IAAIC,EAAQF,CAAO,GAAG,OAAOD,GAAM,MAAM;AAChE;","x_google_ignoreList":[0]}
package/dist/index2.js ADDED
@@ -0,0 +1,9 @@
1
+ import { clsx as o } from "./index25.js";
2
+ import { twMerge as t } from "./index26.js";
3
+ function n(...r) {
4
+ return t(o(r));
5
+ }
6
+ export {
7
+ n as cn
8
+ };
9
+ //# sourceMappingURL=index2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index2.js","sources":["../src/lib/utils.ts"],"sourcesContent":["import { clsx, type ClassValue } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n"],"names":["cn","inputs","twMerge","clsx"],"mappings":";;AAIO,SAASA,KAAMC,GAAsB;AAC1C,SAAOC,EAAQC,EAAKF,CAAM,CAAC;AAC7B;"}
@@ -0,0 +1,204 @@
1
+ import { j as t } from "./index28.js";
2
+ import * as e from "react";
3
+ import { ChevronDown as T, Check as z, ChevronUp as F } from "lucide-react";
4
+ import { Root as H, Group as O, Value as U, Trigger as D, Icon as V, Portal as G, Content as E, Viewport as W, Label as A, Item as I, ItemIndicator as J, ItemText as K, Separator as P } from "./index51.js";
5
+ import { cn as v } from "./index2.js";
6
+ const re = H, se = O, ne = U, Q = e.forwardRef(({ className: r, children: a, ...n }, u) => /* @__PURE__ */ t.jsxs(
7
+ D,
8
+ {
9
+ ref: u,
10
+ className: v(
11
+ "flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",
12
+ r
13
+ ),
14
+ ...n,
15
+ children: [
16
+ a,
17
+ /* @__PURE__ */ t.jsx(V, { asChild: !0, children: /* @__PURE__ */ t.jsx(T, { className: "h-4 w-4 opacity-50" }) })
18
+ ]
19
+ }
20
+ ));
21
+ Q.displayName = D.displayName;
22
+ const B = e.createContext(null), k = e.forwardRef(
23
+ ({ direction: r, speed: a = 400, className: n, children: u, ...w }, C) => {
24
+ const p = e.useContext(B), [l, S] = e.useState(!0), f = e.useRef(void 0), h = e.useRef(void 0), g = e.useRef(!1), o = p?.viewport, c = e.useCallback(() => {
25
+ if (!o) {
26
+ S(!0);
27
+ return;
28
+ }
29
+ const { scrollTop: s, scrollHeight: x, clientHeight: m } = o, d = 2, N = s > d, b = s < x - m - d;
30
+ if (!(x > m + d)) {
31
+ S(!0);
32
+ return;
33
+ }
34
+ S(r === "up" ? !N : !b);
35
+ }, [o, r]);
36
+ e.useEffect(() => {
37
+ if (!o) return;
38
+ c();
39
+ const s = () => c(), x = () => c();
40
+ o.addEventListener("scroll", s, { passive: !0 });
41
+ const m = new ResizeObserver(x);
42
+ m.observe(o);
43
+ const d = new MutationObserver(x);
44
+ return d.observe(o, { childList: !0, subtree: !0 }), () => {
45
+ o.removeEventListener("scroll", s), m.disconnect(), d.disconnect();
46
+ };
47
+ }, [o, c]);
48
+ const i = e.useCallback(() => {
49
+ f.current && (cancelAnimationFrame(f.current), f.current = void 0), g.current = !1, h.current = void 0;
50
+ }, []), y = e.useCallback(
51
+ (s) => {
52
+ if (!o || l || !g.current) {
53
+ i();
54
+ return;
55
+ }
56
+ h.current || (h.current = s);
57
+ const x = s - h.current, m = a * x / 1e3;
58
+ if (m < 0.1) {
59
+ f.current = requestAnimationFrame(y);
60
+ return;
61
+ }
62
+ const d = o.scrollTop, N = o.scrollHeight - o.clientHeight;
63
+ let b;
64
+ r === "up" ? b = Math.max(0, d - m) : b = Math.min(N, d + m), o.scrollTop = b, h.current = s;
65
+ const R = 1;
66
+ (r === "up" ? b > R : b < N - R) && Math.abs(b - d) > 0.01 ? f.current = requestAnimationFrame(y) : (i(), setTimeout(c, 16));
67
+ },
68
+ [o, l, r, a, i, c]
69
+ ), j = e.useCallback(() => {
70
+ l || !o || g.current || (g.current = !0, h.current = void 0, f.current = requestAnimationFrame(y));
71
+ }, [l, o, y]);
72
+ return e.useEffect(() => () => i(), [i]), /* @__PURE__ */ t.jsx(
73
+ "div",
74
+ {
75
+ ...w,
76
+ ref: C,
77
+ className: v(
78
+ "flex items-center justify-center py-1 select-none",
79
+ l ? "cursor-default opacity-40" : "cursor-pointer opacity-100 hover:bg-accent/20",
80
+ n
81
+ ),
82
+ onPointerEnter: (s) => {
83
+ w.onPointerEnter?.(s), l || j();
84
+ },
85
+ onPointerMove: (s) => {
86
+ w.onPointerMove?.(s), !l && !g.current && j();
87
+ },
88
+ onPointerLeave: (s) => {
89
+ w.onPointerLeave?.(s), i();
90
+ },
91
+ children: u
92
+ }
93
+ );
94
+ }
95
+ );
96
+ k.displayName = "ScrollButtonImpl";
97
+ const L = e.forwardRef(({ className: r, ...a }, n) => /* @__PURE__ */ t.jsx(k, { ref: n, direction: "up", className: r, ...a, children: /* @__PURE__ */ t.jsx(F, { className: "h-4 w-4" }) }));
98
+ L.displayName = "SelectScrollUpButton";
99
+ const M = e.forwardRef(({ className: r, ...a }, n) => /* @__PURE__ */ t.jsx(k, { ref: n, direction: "down", className: r, ...a, children: /* @__PURE__ */ t.jsx(T, { className: "h-4 w-4" }) }));
100
+ M.displayName = "SelectScrollDownButton";
101
+ const X = e.forwardRef(({ className: r, children: a, position: n = "popper", autoScroll: u, ...w }, C) => {
102
+ const [p, l] = e.useState(null), S = e.useCallback((f) => {
103
+ l(f);
104
+ }, []);
105
+ return e.useEffect(() => {
106
+ if (!p || !u) return;
107
+ const h = requestAnimationFrame(() => {
108
+ if (p.querySelector(
109
+ '[role="option"][data-state="checked"]'
110
+ )) return;
111
+ const o = Array.from(
112
+ p.querySelectorAll('[role="option"]')
113
+ );
114
+ if (!o.length) return;
115
+ let c, i;
116
+ for (const s of o) {
117
+ if (!s.hasAttribute("data-disabled")) {
118
+ c = s;
119
+ break;
120
+ }
121
+ i = s;
122
+ }
123
+ if (!c) return;
124
+ const j = Math.max(0, (u === "firstEnabledWithContext" && i ? i : c).offsetTop - 8);
125
+ p.scrollTop = j;
126
+ });
127
+ return () => cancelAnimationFrame(h);
128
+ }, [p, u]), /* @__PURE__ */ t.jsx(G, { children: /* @__PURE__ */ t.jsx(
129
+ E,
130
+ {
131
+ ref: C,
132
+ className: v(
133
+ "relative z-[60] max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
134
+ n === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",
135
+ r
136
+ ),
137
+ position: n,
138
+ ...w,
139
+ children: /* @__PURE__ */ t.jsxs(B.Provider, { value: { viewport: p, setViewport: l }, children: [
140
+ /* @__PURE__ */ t.jsx(L, {}),
141
+ /* @__PURE__ */ t.jsx(
142
+ W,
143
+ {
144
+ ref: S,
145
+ className: v(
146
+ "p-1 overflow-y-auto",
147
+ n === "popper" && "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"
148
+ ),
149
+ children: a
150
+ }
151
+ ),
152
+ /* @__PURE__ */ t.jsx(M, {})
153
+ ] })
154
+ }
155
+ ) });
156
+ });
157
+ X.displayName = E.displayName;
158
+ const Y = e.forwardRef(({ className: r, ...a }, n) => /* @__PURE__ */ t.jsx(
159
+ A,
160
+ {
161
+ ref: n,
162
+ className: v("py-1.5 pl-8 pr-2 text-sm font-semibold", r),
163
+ ...a
164
+ }
165
+ ));
166
+ Y.displayName = A.displayName;
167
+ const Z = e.forwardRef(({ className: r, children: a, ...n }, u) => /* @__PURE__ */ t.jsxs(
168
+ I,
169
+ {
170
+ ref: u,
171
+ className: v(
172
+ "relative flex w-full select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 cursor-pointer",
173
+ r
174
+ ),
175
+ ...n,
176
+ children: [
177
+ /* @__PURE__ */ t.jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ t.jsx(J, { children: /* @__PURE__ */ t.jsx(z, { className: "h-4 w-4" }) }) }),
178
+ /* @__PURE__ */ t.jsx(K, { children: a })
179
+ ]
180
+ }
181
+ ));
182
+ Z.displayName = I.displayName;
183
+ const _ = e.forwardRef(({ className: r, ...a }, n) => /* @__PURE__ */ t.jsx(
184
+ P,
185
+ {
186
+ ref: n,
187
+ className: v("-mx-1 my-1 h-px bg-muted", r),
188
+ ...a
189
+ }
190
+ ));
191
+ _.displayName = P.displayName;
192
+ export {
193
+ re as Select,
194
+ X as SelectContent,
195
+ se as SelectGroup,
196
+ Z as SelectItem,
197
+ Y as SelectLabel,
198
+ M as SelectScrollDownButton,
199
+ L as SelectScrollUpButton,
200
+ _ as SelectSeparator,
201
+ Q as SelectTrigger,
202
+ ne as SelectValue
203
+ };
204
+ //# sourceMappingURL=index20.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index20.js","sources":["../src/components/Select/index.tsx"],"sourcesContent":["import * as React from \"react\"\nimport { Check, ChevronDown, ChevronUp } from \"lucide-react\"\nimport * as SelectPrimitive from \"@radix-ui/react-select\"\n\nimport { cn } from \"@/lib/utils\"\n\n\nconst Select = SelectPrimitive.Root\nconst SelectGroup = SelectPrimitive.Group\nconst SelectValue = SelectPrimitive.Value\n\n\nconst SelectTrigger = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger>\n>(({ className, children, ...props }, ref) => (\n <SelectPrimitive.Trigger\n ref={ref}\n className={cn(\n \"flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1\",\n className\n )}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <ChevronDown className=\"h-4 w-4 opacity-50\" />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n))\nSelectTrigger.displayName = SelectPrimitive.Trigger.displayName\n\nconst ScrollContext = React.createContext<{\n viewport: HTMLElement | null\n setViewport: (vp: HTMLElement | null) => void\n} | null>(null)\n\ninterface ScrollButtonImplProps extends React.HTMLAttributes<HTMLDivElement> {\n direction: \"up\" | \"down\"\n speed?: number\n}\n\nconst ScrollButtonImpl = React.forwardRef<HTMLDivElement, ScrollButtonImplProps>(\n ({ direction, speed = 400, className, children, ...rest }, ref) => {\n const scrollContext = React.useContext(ScrollContext)\n const [disabled, setDisabled] = React.useState(true)\n const animationRef = React.useRef<number | undefined>(undefined)\n const lastTimeRef = React.useRef<number | undefined>(undefined)\n const isScrollingRef = React.useRef(false)\n\n const viewport = scrollContext?.viewport\n\n const checkScrollability = React.useCallback(() => {\n if (!viewport) {\n setDisabled(true)\n return\n }\n\n const { scrollTop, scrollHeight, clientHeight } = viewport\n const tolerance = 2\n\n const canScrollUp = scrollTop > tolerance\n const canScrollDown = scrollTop < (scrollHeight - clientHeight - tolerance)\n const hasScrollableContent = scrollHeight > clientHeight + tolerance\n\n if (!hasScrollableContent) {\n setDisabled(true)\n return\n }\n\n const shouldDisable = direction === \"up\" ? !canScrollUp : !canScrollDown\n setDisabled(shouldDisable)\n }, [viewport, direction])\n\n React.useEffect(() => {\n if (!viewport) return\n\n checkScrollability()\n\n const handleScroll = () => checkScrollability()\n const handleResize = () => checkScrollability()\n\n viewport.addEventListener(\"scroll\", handleScroll, { passive: true })\n\n const resizeObserver = new ResizeObserver(handleResize)\n resizeObserver.observe(viewport)\n\n const mutationObserver = new MutationObserver(handleResize)\n mutationObserver.observe(viewport, { childList: true, subtree: true })\n\n return () => {\n viewport.removeEventListener(\"scroll\", handleScroll)\n resizeObserver.disconnect()\n mutationObserver.disconnect()\n }\n }, [viewport, checkScrollability])\n\n const stopScrolling = React.useCallback(() => {\n if (animationRef.current) {\n cancelAnimationFrame(animationRef.current)\n animationRef.current = undefined\n }\n isScrollingRef.current = false\n lastTimeRef.current = undefined\n }, [])\n\n const smoothScroll = React.useCallback(\n (currentTime: number) => {\n if (!viewport || disabled || !isScrollingRef.current) {\n stopScrolling()\n return\n }\n\n if (!lastTimeRef.current) {\n lastTimeRef.current = currentTime\n }\n\n const deltaTime = currentTime - lastTimeRef.current\n const distance = (speed * deltaTime) / 1000\n\n if (distance < 0.1) {\n animationRef.current = requestAnimationFrame(smoothScroll)\n return\n }\n\n const oldScrollTop = viewport.scrollTop\n const maxScroll = viewport.scrollHeight - viewport.clientHeight\n\n let newScrollTop: number\n if (direction === \"up\") {\n newScrollTop = Math.max(0, oldScrollTop - distance)\n } else {\n newScrollTop = Math.min(maxScroll, oldScrollTop + distance)\n }\n\n viewport.scrollTop = newScrollTop\n\n lastTimeRef.current = currentTime\n\n const tolerance = 1\n const canContinue =\n direction === \"up\"\n ? newScrollTop > tolerance\n : newScrollTop < (maxScroll - tolerance)\n\n if (canContinue && Math.abs(newScrollTop - oldScrollTop) > 0.01) {\n animationRef.current = requestAnimationFrame(smoothScroll)\n } else {\n stopScrolling()\n setTimeout(checkScrollability, 16)\n }\n },\n [viewport, disabled, direction, speed, stopScrolling, checkScrollability],\n )\n\n const startScrolling = React.useCallback(() => {\n if (disabled || !viewport || isScrollingRef.current) return\n\n isScrollingRef.current = true\n lastTimeRef.current = undefined\n animationRef.current = requestAnimationFrame(smoothScroll)\n }, [disabled, viewport, smoothScroll])\n\n React.useEffect(() => {\n return () => stopScrolling()\n }, [stopScrolling])\n\n return (\n <div\n {...rest}\n ref={ref}\n className={cn(\n \"flex items-center justify-center py-1 select-none\",\n disabled ? \"cursor-default opacity-40\" : \"cursor-pointer opacity-100 hover:bg-accent/20\",\n className\n )}\n onPointerEnter={e => {\n rest.onPointerEnter?.(e)\n if (!disabled) startScrolling()\n }}\n onPointerMove={e => {\n rest.onPointerMove?.(e)\n if (!disabled && !isScrollingRef.current) startScrolling()\n }}\n onPointerLeave={e => {\n rest.onPointerLeave?.(e)\n stopScrolling()\n }}\n >\n {children}\n </div>\n )\n }\n)\nScrollButtonImpl.displayName = \"ScrollButtonImpl\"\n\nconst SelectScrollUpButton = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <ScrollButtonImpl ref={ref} direction=\"up\" className={className} {...props}>\n <ChevronUp className=\"h-4 w-4\" />\n </ScrollButtonImpl>\n))\nSelectScrollUpButton.displayName = \"SelectScrollUpButton\"\n\nconst SelectScrollDownButton = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <ScrollButtonImpl ref={ref} direction=\"down\" className={className} {...props}>\n <ChevronDown className=\"h-4 w-4\" />\n </ScrollButtonImpl>\n))\nSelectScrollDownButton.displayName = \"SelectScrollDownButton\"\n\ntype SelectContentProps = React.ComponentPropsWithoutRef<typeof SelectPrimitive.Content> & {\n autoScroll?: \"firstEnabled\" | \"firstEnabledWithContext\"\n}\n\nconst SelectContent = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Content>,\n SelectContentProps\n>(({ className, children, position = \"popper\", autoScroll, ...props }, ref) => {\n const [viewport, setViewport] = React.useState<HTMLElement | null>(null)\n const viewportRef = React.useCallback((node: HTMLElement | null) => {\n setViewport(node)\n }, [])\n\n React.useEffect(() => {\n if (!viewport || !autoScroll) return\n\n const run = () => {\n const selected = viewport.querySelector(\n \"[role=\\\"option\\\"][data-state=\\\"checked\\\"]\"\n ) as HTMLElement | null\n if (selected) return\n\n const all = Array.from(\n viewport.querySelectorAll(\"[role=\\\"option\\\"]\")\n ) as HTMLElement[]\n if (!all.length) return\n\n let firstEnabled: HTMLElement | undefined\n let lastDisabledBefore: HTMLElement | undefined\n for (const el of all) {\n const isDisabled = el.hasAttribute(\"data-disabled\")\n if (!isDisabled) {\n firstEnabled = el\n break\n }\n lastDisabledBefore = el\n }\n\n if (!firstEnabled) return\n\n const target =\n autoScroll === \"firstEnabledWithContext\" && lastDisabledBefore\n ? lastDisabledBefore\n : firstEnabled\n\n const offset = Math.max(0, target.offsetTop - 8)\n viewport.scrollTop = offset\n }\n\n const raf = requestAnimationFrame(run)\n return () => cancelAnimationFrame(raf)\n }, [viewport, autoScroll])\n\n return (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n ref={ref}\n className={cn(\n \"relative z-[60] max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n position === \"popper\" &&\n \"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1\",\n className\n )}\n position={position}\n {...props}\n >\n <ScrollContext.Provider value={{ viewport, setViewport }}>\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n ref={viewportRef}\n className={cn(\n \"p-1 overflow-y-auto\",\n position === \"popper\" &&\n \"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]\"\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </ScrollContext.Provider>\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n )\n})\nSelectContent.displayName = SelectPrimitive.Content.displayName\n\nconst SelectLabel = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Label>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Label\n ref={ref}\n className={cn(\"py-1.5 pl-8 pr-2 text-sm font-semibold\", className)}\n {...props}\n />\n))\nSelectLabel.displayName = SelectPrimitive.Label.displayName\n\nconst SelectItem = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Item>\n>(({ className, children, ...props }, ref) => (\n <SelectPrimitive.Item\n ref={ref}\n className={cn(\n \"relative flex w-full select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 cursor-pointer\",\n className\n )}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <Check className=\"h-4 w-4\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n))\nSelectItem.displayName = SelectPrimitive.Item.displayName\n\nconst SelectSeparator = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Separator\n ref={ref}\n className={cn(\"-mx-1 my-1 h-px bg-muted\", className)}\n {...props}\n />\n))\nSelectSeparator.displayName = SelectPrimitive.Separator.displayName\n\nexport {\n Select,\n SelectGroup,\n SelectValue,\n SelectTrigger,\n SelectContent,\n SelectLabel,\n SelectItem,\n SelectSeparator,\n SelectScrollUpButton,\n SelectScrollDownButton,\n}\n"],"names":["Select","SelectPrimitive.Root","SelectGroup","SelectPrimitive.Group","SelectValue","SelectPrimitive.Value","SelectTrigger","React","className","children","props","ref","jsxs","SelectPrimitive.Trigger","cn","jsx","SelectPrimitive.Icon","ChevronDown","ScrollContext","ScrollButtonImpl","direction","speed","rest","scrollContext","disabled","setDisabled","animationRef","lastTimeRef","isScrollingRef","viewport","checkScrollability","scrollTop","scrollHeight","clientHeight","tolerance","canScrollUp","canScrollDown","handleScroll","handleResize","resizeObserver","mutationObserver","stopScrolling","smoothScroll","currentTime","deltaTime","distance","oldScrollTop","maxScroll","newScrollTop","startScrolling","e","SelectScrollUpButton","ChevronUp","SelectScrollDownButton","SelectContent","position","autoScroll","setViewport","viewportRef","node","raf","all","firstEnabled","lastDisabledBefore","el","offset","SelectPrimitive.Portal","SelectPrimitive.Content","SelectPrimitive.Viewport","SelectLabel","SelectPrimitive.Label","SelectItem","SelectPrimitive.Item","SelectPrimitive.ItemIndicator","Check","SelectPrimitive.ItemText","SelectSeparator","SelectPrimitive.Separator"],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ function o(e, n) {
2
+ return `Week ${e}`;
3
+ }
4
+ export {
5
+ o as labelWeekNumber
6
+ };
7
+ //# sourceMappingURL=index200.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index200.js","sources":["../../../node_modules/react-day-picker/dist/esm/labels/labelWeekNumber.js"],"sourcesContent":["/**\n * Generates the ARIA label for the week number cell (the first cell in a row).\n *\n * @defaultValue `Week ${weekNumber}`\n * @param weekNumber - The number of the week.\n * @param options - Optional configuration for the date formatting library.\n * @returns The ARIA label for the week number cell.\n * @group Labels\n * @see https://daypicker.dev/docs/translation#aria-labels\n */\nexport function labelWeekNumber(weekNumber, _options) {\n return `Week ${weekNumber}`;\n}\n"],"names":["labelWeekNumber","weekNumber","_options"],"mappings":"AAUO,SAASA,EAAgBC,GAAYC,GAAU;AAClD,SAAO,QAAQD,CAAU;AAC7B;","x_google_ignoreList":[0]}