@rpcbase/ui 0.181.0 → 0.183.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 (618) hide show
  1. package/dist/helpers/index.d.ts +1 -0
  2. package/dist/helpers/index.d.ts.map +1 -1
  3. package/dist/helpers/useScrollPagination.d.ts +23 -0
  4. package/dist/helpers/useScrollPagination.d.ts.map +1 -0
  5. package/dist/helpers/useScrollPagination.test.d.ts +2 -0
  6. package/dist/helpers/useScrollPagination.test.d.ts.map +1 -0
  7. package/dist/index.js +62 -60
  8. package/dist/index.js.map +1 -1
  9. package/dist/index10.js +23 -69
  10. package/dist/index10.js.map +1 -1
  11. package/dist/index100.js +5 -4
  12. package/dist/index100.js.map +1 -1
  13. package/dist/index101.js +3 -3
  14. package/dist/index101.js.map +1 -1
  15. package/dist/index102.js +4 -6
  16. package/dist/index102.js.map +1 -1
  17. package/dist/index103.js +6 -145
  18. package/dist/index103.js.map +1 -1
  19. package/dist/index104.js +144 -38
  20. package/dist/index104.js.map +1 -1
  21. package/dist/index105.js +39 -4
  22. package/dist/index105.js.map +1 -1
  23. package/dist/index106.js +4 -7
  24. package/dist/index106.js.map +1 -1
  25. package/dist/index107.js +6 -12
  26. package/dist/index107.js.map +1 -1
  27. package/dist/index108.js +13 -13
  28. package/dist/index108.js.map +1 -1
  29. package/dist/index109.js +13 -7
  30. package/dist/index109.js.map +1 -1
  31. package/dist/index11.js +62 -544
  32. package/dist/index11.js.map +1 -1
  33. package/dist/index110.js +6 -30
  34. package/dist/index110.js.map +1 -1
  35. package/dist/index111.js +31 -10
  36. package/dist/index111.js.map +1 -1
  37. package/dist/index112.js +10 -10
  38. package/dist/index112.js.map +1 -1
  39. package/dist/index113.js +10 -8
  40. package/dist/index113.js.map +1 -1
  41. package/dist/index114.js +8 -13
  42. package/dist/index114.js.map +1 -1
  43. package/dist/index115.js +13 -101
  44. package/dist/index115.js.map +1 -1
  45. package/dist/index116.js +102 -20
  46. package/dist/index116.js.map +1 -1
  47. package/dist/index117.js +20 -54
  48. package/dist/index117.js.map +1 -1
  49. package/dist/index118.js +51 -70
  50. package/dist/index118.js.map +1 -1
  51. package/dist/index119.js +72 -9
  52. package/dist/index119.js.map +1 -1
  53. package/dist/index12.js +535 -110
  54. package/dist/index12.js.map +1 -1
  55. package/dist/index120.js +9 -20
  56. package/dist/index120.js.map +1 -1
  57. package/dist/index121.js +20 -16
  58. package/dist/index121.js.map +1 -1
  59. package/dist/index122.js +16 -23
  60. package/dist/index122.js.map +1 -1
  61. package/dist/index123.js +23 -6
  62. package/dist/index123.js.map +1 -1
  63. package/dist/index124.js +6 -5
  64. package/dist/index124.js.map +1 -1
  65. package/dist/index125.js +5 -23
  66. package/dist/index125.js.map +1 -1
  67. package/dist/index126.js +24 -35
  68. package/dist/index126.js.map +1 -1
  69. package/dist/index127.js +35 -16
  70. package/dist/index127.js.map +1 -1
  71. package/dist/index128.js +16 -7
  72. package/dist/index128.js.map +1 -1
  73. package/dist/index129.js +6 -4
  74. package/dist/index129.js.map +1 -1
  75. package/dist/index13.js +122 -71
  76. package/dist/index13.js.map +1 -1
  77. package/dist/index130.js +4 -4
  78. package/dist/index130.js.map +1 -1
  79. package/dist/index131.js +4 -4
  80. package/dist/index131.js.map +1 -1
  81. package/dist/index132.js +4 -4
  82. package/dist/index132.js.map +1 -1
  83. package/dist/index133.js +4 -3
  84. package/dist/index133.js.map +1 -1
  85. package/dist/index134.js +3 -6
  86. package/dist/index134.js.map +1 -1
  87. package/dist/index135.js +7 -24
  88. package/dist/index135.js.map +1 -1
  89. package/dist/index136.js +24 -8
  90. package/dist/index136.js.map +1 -1
  91. package/dist/index137.js +7 -6
  92. package/dist/index137.js.map +1 -1
  93. package/dist/index138.js +6 -5
  94. package/dist/index138.js.map +1 -1
  95. package/dist/index139.js +5 -3
  96. package/dist/index139.js.map +1 -1
  97. package/dist/index14.js +61 -717
  98. package/dist/index14.js.map +1 -1
  99. package/dist/index140.js +3 -3
  100. package/dist/index140.js.map +1 -1
  101. package/dist/index141.js +3 -4
  102. package/dist/index141.js.map +1 -1
  103. package/dist/index142.js +4 -3
  104. package/dist/index142.js.map +1 -1
  105. package/dist/index143.js +3 -4
  106. package/dist/index143.js.map +1 -1
  107. package/dist/index144.js +4 -3
  108. package/dist/index144.js.map +1 -1
  109. package/dist/index145.js +3 -3
  110. package/dist/index145.js.map +1 -1
  111. package/dist/index146.js +3 -3
  112. package/dist/index146.js.map +1 -1
  113. package/dist/index147.js +3 -46
  114. package/dist/index147.js.map +1 -1
  115. package/dist/index148.js +2 -2
  116. package/dist/index15.js +727 -18
  117. package/dist/index15.js.map +1 -1
  118. package/dist/index150.js +2 -2
  119. package/dist/index152.js +3 -3
  120. package/dist/index153.js +40 -599
  121. package/dist/index153.js.map +1 -1
  122. package/dist/index154.js +605 -5
  123. package/dist/index154.js.map +1 -1
  124. package/dist/index155.js +5 -68
  125. package/dist/index155.js.map +1 -1
  126. package/dist/index156.js +69 -2
  127. package/dist/index156.js.map +1 -1
  128. package/dist/index157.js +2 -364
  129. package/dist/index157.js.map +1 -1
  130. package/dist/index158.js +303 -201
  131. package/dist/index158.js.map +1 -1
  132. package/dist/index159.js +247 -46
  133. package/dist/index159.js.map +1 -1
  134. package/dist/index16.js +19 -14
  135. package/dist/index16.js.map +1 -1
  136. package/dist/index160.js +56 -42
  137. package/dist/index160.js.map +1 -1
  138. package/dist/index161.js +46 -169
  139. package/dist/index161.js.map +1 -1
  140. package/dist/index162.js +156 -96
  141. package/dist/index162.js.map +1 -1
  142. package/dist/index163.js +109 -24
  143. package/dist/index163.js.map +1 -1
  144. package/dist/index164.js +25 -8
  145. package/dist/index164.js.map +1 -1
  146. package/dist/index165.js +8 -5
  147. package/dist/index165.js.map +1 -1
  148. package/dist/index166.js +4 -5
  149. package/dist/index166.js.map +1 -1
  150. package/dist/index167.js +5 -4
  151. package/dist/index167.js.map +1 -1
  152. package/dist/index168.js +4 -466
  153. package/dist/index168.js.map +1 -1
  154. package/dist/index169.js +420 -139
  155. package/dist/index169.js.map +1 -1
  156. package/dist/index17.js +13 -382
  157. package/dist/index17.js.map +1 -1
  158. package/dist/index170.js +149 -71
  159. package/dist/index170.js.map +1 -1
  160. package/dist/index171.js +74 -229
  161. package/dist/index171.js.map +1 -1
  162. package/dist/index172.js +262 -9
  163. package/dist/index172.js.map +1 -1
  164. package/dist/index173.js +9 -42
  165. package/dist/index173.js.map +1 -1
  166. package/dist/index174.js +42 -4
  167. package/dist/index174.js.map +1 -1
  168. package/dist/index175.js +4 -16
  169. package/dist/index175.js.map +1 -1
  170. package/dist/index176.js +57 -4
  171. package/dist/index176.js.map +1 -1
  172. package/dist/index177.js +8 -5
  173. package/dist/index177.js.map +1 -1
  174. package/dist/index178.js +55 -47
  175. package/dist/index178.js.map +1 -1
  176. package/dist/index179.js +17 -64
  177. package/dist/index179.js.map +1 -1
  178. package/dist/index18.js +363 -695
  179. package/dist/index18.js.map +1 -1
  180. package/dist/index180.js +16 -6
  181. package/dist/index180.js.map +1 -1
  182. package/dist/index181.js +5 -4
  183. package/dist/index181.js.map +1 -1
  184. package/dist/index182.js +5 -7
  185. package/dist/index182.js.map +1 -1
  186. package/dist/index183.js +6 -17
  187. package/dist/index183.js.map +1 -1
  188. package/dist/index184.js +4 -5
  189. package/dist/index184.js.map +1 -1
  190. package/dist/index185.js +7 -5
  191. package/dist/index185.js.map +1 -1
  192. package/dist/index186.js +17 -13
  193. package/dist/index186.js.map +1 -1
  194. package/dist/index187.js +5 -10
  195. package/dist/index187.js.map +1 -1
  196. package/dist/index188.js +5 -14
  197. package/dist/index188.js.map +1 -1
  198. package/dist/index189.js +13 -14
  199. package/dist/index189.js.map +1 -1
  200. package/dist/index19.js +685 -624
  201. package/dist/index19.js.map +1 -1
  202. package/dist/index190.js +10 -5
  203. package/dist/index190.js.map +1 -1
  204. package/dist/index191.js +14 -6
  205. package/dist/index191.js.map +1 -1
  206. package/dist/index192.js +14 -7
  207. package/dist/index192.js.map +1 -1
  208. package/dist/index193.js +5 -6
  209. package/dist/index193.js.map +1 -1
  210. package/dist/index194.js +6 -9
  211. package/dist/index194.js.map +1 -1
  212. package/dist/index195.js +7 -5
  213. package/dist/index195.js.map +1 -1
  214. package/dist/index196.js +6 -5
  215. package/dist/index196.js.map +1 -1
  216. package/dist/index197.js +9 -9
  217. package/dist/index197.js.map +1 -1
  218. package/dist/index198.js +5 -5
  219. package/dist/index198.js.map +1 -1
  220. package/dist/index199.js +5 -5
  221. package/dist/index199.js.map +1 -1
  222. package/dist/index2.js +2 -2
  223. package/dist/index20.js +640 -191
  224. package/dist/index20.js.map +1 -1
  225. package/dist/index200.js +9 -4
  226. package/dist/index200.js.map +1 -1
  227. package/dist/index201.js +5 -11
  228. package/dist/index201.js.map +1 -1
  229. package/dist/index202.js +5 -10
  230. package/dist/index202.js.map +1 -1
  231. package/dist/index203.js +4 -10
  232. package/dist/index203.js.map +1 -1
  233. package/dist/index204.js +11 -11
  234. package/dist/index204.js.map +1 -1
  235. package/dist/index205.js +10 -11
  236. package/dist/index205.js.map +1 -1
  237. package/dist/index206.js +10 -10
  238. package/dist/index206.js.map +1 -1
  239. package/dist/index207.js +11 -7
  240. package/dist/index207.js.map +1 -1
  241. package/dist/index208.js +11 -6
  242. package/dist/index208.js.map +1 -1
  243. package/dist/index209.js +10 -5
  244. package/dist/index209.js.map +1 -1
  245. package/dist/index21.js +209 -5
  246. package/dist/index21.js.map +1 -1
  247. package/dist/index210.js +7 -6
  248. package/dist/index210.js.map +1 -1
  249. package/dist/index211.js +6 -7
  250. package/dist/index211.js.map +1 -1
  251. package/dist/index212.js +5 -6
  252. package/dist/index212.js.map +1 -1
  253. package/dist/index213.js +6 -55
  254. package/dist/index213.js.map +1 -1
  255. package/dist/index214.js +7 -8
  256. package/dist/index214.js.map +1 -1
  257. package/dist/index215.js +6 -19
  258. package/dist/index215.js.map +1 -1
  259. package/dist/index216.js +54 -15
  260. package/dist/index216.js.map +1 -1
  261. package/dist/index217.js +16 -7
  262. package/dist/index217.js.map +1 -1
  263. package/dist/index218.js +7 -10
  264. package/dist/index218.js.map +1 -1
  265. package/dist/index219.js +9 -9
  266. package/dist/index219.js.map +1 -1
  267. package/dist/index22.js +5 -35
  268. package/dist/index22.js.map +1 -1
  269. package/dist/index220.js +10 -21
  270. package/dist/index220.js.map +1 -1
  271. package/dist/index221.js +21 -10
  272. package/dist/index221.js.map +1 -1
  273. package/dist/index222.js +10 -9
  274. package/dist/index222.js.map +1 -1
  275. package/dist/index223.js +6 -6
  276. package/dist/index223.js.map +1 -1
  277. package/dist/index224.js +9 -4
  278. package/dist/index224.js.map +1 -1
  279. package/dist/index225.js +4 -5
  280. package/dist/index225.js.map +1 -1
  281. package/dist/index226.js +5 -16
  282. package/dist/index226.js.map +1 -1
  283. package/dist/index227.js +16 -9
  284. package/dist/index227.js.map +1 -1
  285. package/dist/index228.js +9 -18
  286. package/dist/index228.js.map +1 -1
  287. package/dist/index229.js +15 -12
  288. package/dist/index229.js.map +1 -1
  289. package/dist/index23.js +24 -258
  290. package/dist/index23.js.map +1 -1
  291. package/dist/index230.js +12 -9
  292. package/dist/index230.js.map +1 -1
  293. package/dist/index231.js +12 -29
  294. package/dist/index231.js.map +1 -1
  295. package/dist/index232.js +28 -11
  296. package/dist/index232.js.map +1 -1
  297. package/dist/index233.js +10 -23
  298. package/dist/index233.js.map +1 -1
  299. package/dist/index234.js +25 -5
  300. package/dist/index234.js.map +1 -1
  301. package/dist/index235.js +5 -24
  302. package/dist/index235.js.map +1 -1
  303. package/dist/index236.js +24 -28
  304. package/dist/index236.js.map +1 -1
  305. package/dist/index237.js +29 -5
  306. package/dist/index237.js.map +1 -1
  307. package/dist/index238.js +5 -68
  308. package/dist/index238.js.map +1 -1
  309. package/dist/index239.js +64 -177
  310. package/dist/index239.js.map +1 -1
  311. package/dist/index24.js +254 -166
  312. package/dist/index24.js.map +1 -1
  313. package/dist/index240.js +176 -42
  314. package/dist/index240.js.map +1 -1
  315. package/dist/index241.js +45 -12
  316. package/dist/index241.js.map +1 -1
  317. package/dist/index242.js +13 -154
  318. package/dist/index242.js.map +1 -1
  319. package/dist/index243.js +151 -27
  320. package/dist/index243.js.map +1 -1
  321. package/dist/index244.js +30 -9
  322. package/dist/index244.js.map +1 -1
  323. package/dist/index245.js +9 -47
  324. package/dist/index245.js.map +1 -1
  325. package/dist/index246.js +46 -10
  326. package/dist/index246.js.map +1 -1
  327. package/dist/index247.js +11 -44
  328. package/dist/index247.js.map +1 -1
  329. package/dist/index248.js +40 -91
  330. package/dist/index248.js.map +1 -1
  331. package/dist/index249.js +85 -76
  332. package/dist/index249.js.map +1 -1
  333. package/dist/index25.js +180 -14
  334. package/dist/index25.js.map +1 -1
  335. package/dist/index250.js +69 -88
  336. package/dist/index250.js.map +1 -1
  337. package/dist/index251.js +92 -39
  338. package/dist/index251.js.map +1 -1
  339. package/dist/index252.js +51 -10
  340. package/dist/index252.js.map +1 -1
  341. package/dist/index253.js +10 -36
  342. package/dist/index253.js.map +1 -1
  343. package/dist/index254.js +37 -8
  344. package/dist/index254.js.map +1 -1
  345. package/dist/index255.js +8 -116
  346. package/dist/index255.js.map +1 -1
  347. package/dist/index256.js +115 -16
  348. package/dist/index256.js.map +1 -1
  349. package/dist/index257.js +17 -15
  350. package/dist/index257.js.map +1 -1
  351. package/dist/index258.js +15 -3
  352. package/dist/index258.js.map +1 -1
  353. package/dist/index259.js +3 -36
  354. package/dist/index259.js.map +1 -1
  355. package/dist/index26.js +15 -2763
  356. package/dist/index26.js.map +1 -1
  357. package/dist/index260.js +35 -19
  358. package/dist/index260.js.map +1 -1
  359. package/dist/index261.js +20 -9
  360. package/dist/index261.js.map +1 -1
  361. package/dist/index262.js +8 -7
  362. package/dist/index262.js.map +1 -1
  363. package/dist/index263.js +8 -19
  364. package/dist/index263.js.map +1 -1
  365. package/dist/index264.js +14 -23
  366. package/dist/index264.js.map +1 -1
  367. package/dist/index265.js +26 -14
  368. package/dist/index265.js.map +1 -1
  369. package/dist/index266.js +16 -4
  370. package/dist/index266.js.map +1 -1
  371. package/dist/index267.js +5 -19
  372. package/dist/index267.js.map +1 -1
  373. package/dist/index268.js +19 -13
  374. package/dist/index268.js.map +1 -1
  375. package/dist/index269.js +13 -5
  376. package/dist/index269.js.map +1 -1
  377. package/dist/index27.js +2761 -35
  378. package/dist/index27.js.map +1 -1
  379. package/dist/index270.js +5 -3
  380. package/dist/index270.js.map +1 -1
  381. package/dist/index271.js +3 -24
  382. package/dist/index271.js.map +1 -1
  383. package/dist/index272.js +22 -111
  384. package/dist/index272.js.map +1 -1
  385. package/dist/index273.js +111 -14
  386. package/dist/index273.js.map +1 -1
  387. package/dist/index274.js +14 -523
  388. package/dist/index274.js.map +1 -1
  389. package/dist/index275.js +511 -114
  390. package/dist/index275.js.map +1 -1
  391. package/dist/index276.js +111 -117
  392. package/dist/index276.js.map +1 -1
  393. package/dist/index277.js +133 -20
  394. package/dist/index277.js.map +1 -1
  395. package/dist/index278.js +20 -5
  396. package/dist/index278.js.map +1 -1
  397. package/dist/index279.js +5 -5
  398. package/dist/index279.js.map +1 -1
  399. package/dist/index28.js +37 -3
  400. package/dist/index28.js.map +1 -1
  401. package/dist/index280.js +6 -4
  402. package/dist/index280.js.map +1 -1
  403. package/dist/index281.js +4 -16
  404. package/dist/index281.js.map +1 -1
  405. package/dist/index282.js +14 -7
  406. package/dist/index282.js.map +1 -1
  407. package/dist/index283.js +8 -5
  408. package/dist/index283.js.map +1 -1
  409. package/dist/index284.js +5 -4
  410. package/dist/index284.js.map +1 -1
  411. package/dist/index285.js +4 -545
  412. package/dist/index285.js.map +1 -1
  413. package/dist/index286.js +544 -45
  414. package/dist/index286.js.map +1 -1
  415. package/dist/index287.js +47 -18
  416. package/dist/index287.js.map +1 -1
  417. package/dist/index288.js +17 -6
  418. package/dist/index288.js.map +1 -1
  419. package/dist/index289.js +6 -8
  420. package/dist/index289.js.map +1 -1
  421. package/dist/index29.js +3 -125
  422. package/dist/index29.js.map +1 -1
  423. package/dist/index290.js +8 -7
  424. package/dist/index290.js.map +1 -1
  425. package/dist/index291.js +7 -8
  426. package/dist/index291.js.map +1 -1
  427. package/dist/index292.js +8 -12
  428. package/dist/index292.js.map +1 -1
  429. package/dist/index293.js +12 -9
  430. package/dist/index293.js.map +1 -1
  431. package/dist/index294.js +9 -13
  432. package/dist/index294.js.map +1 -1
  433. package/dist/index295.js +14 -69
  434. package/dist/index295.js.map +1 -1
  435. package/dist/index296.js +68 -8
  436. package/dist/index296.js.map +1 -1
  437. package/dist/index297.js +9 -14
  438. package/dist/index297.js.map +1 -1
  439. package/dist/index298.js +14 -66
  440. package/dist/index298.js.map +1 -1
  441. package/dist/index299.js +65 -64
  442. package/dist/index299.js.map +1 -1
  443. package/dist/index30.js +120 -227
  444. package/dist/index30.js.map +1 -1
  445. package/dist/index300.js +64 -4
  446. package/dist/index300.js.map +1 -1
  447. package/dist/index301.js +5 -56
  448. package/dist/index301.js.map +1 -1
  449. package/dist/index302.js +54 -66
  450. package/dist/index302.js.map +1 -1
  451. package/dist/index303.js +67 -30
  452. package/dist/index303.js.map +1 -1
  453. package/dist/index304.js +31 -9
  454. package/dist/index304.js.map +1 -1
  455. package/dist/index305.js +9 -153
  456. package/dist/index305.js.map +1 -1
  457. package/dist/index306.js +142 -97
  458. package/dist/index306.js.map +1 -1
  459. package/dist/index307.js +108 -4
  460. package/dist/index307.js.map +1 -1
  461. package/dist/index308.js +3 -22
  462. package/dist/index308.js.map +1 -1
  463. package/dist/index309.js +22 -15
  464. package/dist/index309.js.map +1 -1
  465. package/dist/index31.js +229 -21
  466. package/dist/index31.js.map +1 -1
  467. package/dist/index310.js +14 -27
  468. package/dist/index310.js.map +1 -1
  469. package/dist/index311.js +27 -11
  470. package/dist/index311.js.map +1 -1
  471. package/dist/index312.js +11 -5
  472. package/dist/index312.js.map +1 -1
  473. package/dist/index313.js +6 -12
  474. package/dist/index313.js.map +1 -1
  475. package/dist/index314.js +20 -25
  476. package/dist/index314.js.map +1 -1
  477. package/dist/index315.js +12 -4
  478. package/dist/index315.js.map +1 -1
  479. package/dist/index316.js +25 -20
  480. package/dist/index316.js.map +1 -1
  481. package/dist/index317.js +8 -0
  482. package/dist/index317.js.map +1 -0
  483. package/dist/index32.js +23 -50
  484. package/dist/index32.js.map +1 -1
  485. package/dist/index33.js +50 -2640
  486. package/dist/index33.js.map +1 -1
  487. package/dist/index34.js +2598 -351
  488. package/dist/index34.js.map +1 -1
  489. package/dist/index35.js +375 -214
  490. package/dist/index35.js.map +1 -1
  491. package/dist/index36.js +230 -19
  492. package/dist/index36.js.map +1 -1
  493. package/dist/index37.js +18 -138
  494. package/dist/index37.js.map +1 -1
  495. package/dist/index38.js +125 -170
  496. package/dist/index38.js.map +1 -1
  497. package/dist/index39.js +174 -64
  498. package/dist/index39.js.map +1 -1
  499. package/dist/index40.js +72 -94
  500. package/dist/index40.js.map +1 -1
  501. package/dist/index41.js +98 -5
  502. package/dist/index41.js.map +1 -1
  503. package/dist/index42.js +5 -843
  504. package/dist/index42.js.map +1 -1
  505. package/dist/index43.js +832 -54
  506. package/dist/index43.js.map +1 -1
  507. package/dist/index44.js +66 -8
  508. package/dist/index44.js.map +1 -1
  509. package/dist/index45.js +8 -2
  510. package/dist/index45.js.map +1 -1
  511. package/dist/index46.js +2 -24
  512. package/dist/index46.js.map +1 -1
  513. package/dist/index47.js +22 -232
  514. package/dist/index47.js.map +1 -1
  515. package/dist/index48.js +233 -6
  516. package/dist/index48.js.map +1 -1
  517. package/dist/index49.js +203 -32
  518. package/dist/index49.js.map +1 -1
  519. package/dist/index5.js +1 -1
  520. package/dist/index50.js +3 -26
  521. package/dist/index50.js.map +1 -1
  522. package/dist/index51.js +6 -7
  523. package/dist/index51.js.map +1 -1
  524. package/dist/index52.js +47 -11
  525. package/dist/index52.js.map +1 -1
  526. package/dist/index53.js +26 -204
  527. package/dist/index53.js.map +1 -1
  528. package/dist/index54.js +50 -3
  529. package/dist/index54.js.map +1 -1
  530. package/dist/index55.js +7 -47
  531. package/dist/index55.js.map +1 -1
  532. package/dist/index56.js +12 -48
  533. package/dist/index56.js.map +1 -1
  534. package/dist/index57.js +133 -7
  535. package/dist/index57.js.map +1 -1
  536. package/dist/index58.js +10 -14
  537. package/dist/index58.js.map +1 -1
  538. package/dist/index59.js +210 -127
  539. package/dist/index59.js.map +1 -1
  540. package/dist/index6.js +138 -25
  541. package/dist/index6.js.map +1 -1
  542. package/dist/index60.js +12 -10
  543. package/dist/index60.js.map +1 -1
  544. package/dist/index61.js +32 -215
  545. package/dist/index61.js.map +1 -1
  546. package/dist/index62.js +47 -13
  547. package/dist/index62.js.map +1 -1
  548. package/dist/index63.js +7 -46
  549. package/dist/index63.js.map +1 -1
  550. package/dist/index67.js +2 -2
  551. package/dist/index69.js +3 -3
  552. package/dist/index7.js +26 -29
  553. package/dist/index7.js.map +1 -1
  554. package/dist/index70.js +11 -53
  555. package/dist/index70.js.map +1 -1
  556. package/dist/index71.js +54 -2
  557. package/dist/index71.js.map +1 -1
  558. package/dist/index72.js +6 -2
  559. package/dist/index72.js.map +1 -1
  560. package/dist/index73.js +7 -5
  561. package/dist/index73.js.map +1 -1
  562. package/dist/index74.js +4 -6
  563. package/dist/index74.js.map +1 -1
  564. package/dist/index75.js +2 -6
  565. package/dist/index75.js.map +1 -1
  566. package/dist/index76.js +2 -52
  567. package/dist/index76.js.map +1 -1
  568. package/dist/index77.js +52 -5
  569. package/dist/index77.js.map +1 -1
  570. package/dist/index78.js +4 -4
  571. package/dist/index78.js.map +1 -1
  572. package/dist/index79.js +4 -15
  573. package/dist/index79.js.map +1 -1
  574. package/dist/index8.js +28 -222
  575. package/dist/index8.js.map +1 -1
  576. package/dist/index80.js +15 -5
  577. package/dist/index80.js.map +1 -1
  578. package/dist/index81.js +5 -7
  579. package/dist/index81.js.map +1 -1
  580. package/dist/index82.js +6 -15
  581. package/dist/index82.js.map +1 -1
  582. package/dist/index83.js +16 -4
  583. package/dist/index83.js.map +1 -1
  584. package/dist/index84.js +1 -1
  585. package/dist/index84.js.map +1 -1
  586. package/dist/index85.js +4 -5
  587. package/dist/index85.js.map +1 -1
  588. package/dist/index86.js +4 -4
  589. package/dist/index86.js.map +1 -1
  590. package/dist/index87.js +5 -4
  591. package/dist/index87.js.map +1 -1
  592. package/dist/index88.js +2 -2
  593. package/dist/index88.js.map +1 -1
  594. package/dist/index89.js +3 -5
  595. package/dist/index89.js.map +1 -1
  596. package/dist/index9.js +226 -23
  597. package/dist/index9.js.map +1 -1
  598. package/dist/index90.js +6 -24
  599. package/dist/index90.js.map +1 -1
  600. package/dist/index91.js +24 -6
  601. package/dist/index91.js.map +1 -1
  602. package/dist/index92.js +6 -4
  603. package/dist/index92.js.map +1 -1
  604. package/dist/index93.js +3 -5
  605. package/dist/index93.js.map +1 -1
  606. package/dist/index94.js +6 -5
  607. package/dist/index94.js.map +1 -1
  608. package/dist/index95.js +5 -4
  609. package/dist/index95.js.map +1 -1
  610. package/dist/index96.js +3 -4
  611. package/dist/index96.js.map +1 -1
  612. package/dist/index97.js +5 -4
  613. package/dist/index97.js.map +1 -1
  614. package/dist/index98.js +4 -8
  615. package/dist/index98.js.map +1 -1
  616. package/dist/index99.js +8 -5
  617. package/dist/index99.js.map +1 -1
  618. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index39.js","sources":["../src/components/PhoneNumberInput/selection.ts"],"sourcesContent":["function isDigitCharacter(char: string) {\n if (!char) {\n return false\n }\n const code = char.charCodeAt(0)\n return code >= 48 && code <= 57\n}\n\nfunction countDigitsBefore(value: string, index: number) {\n let count = 0\n const limit = Math.min(index, value.length)\n for (let position = 0; position < limit; position += 1) {\n if (isDigitCharacter(value[position] ?? \"\")) {\n count += 1\n }\n }\n return count\n}\n\nfunction findIndexForDigitCount(value: string, digitCount: number) {\n if (digitCount <= 0) {\n return value.startsWith(\"+\") ? Math.min(1, value.length) : 0\n }\n\n let seen = 0\n for (let index = 0; index < value.length; index += 1) {\n if (isDigitCharacter(value[index] ?? \"\")) {\n seen += 1\n if (seen === digitCount) {\n return index + 1\n }\n }\n }\n\n return value.length\n}\n\nfunction isFormattingCharacter(char: string) {\n if (!char) {\n return false\n }\n if (isDigitCharacter(char)) {\n return false\n }\n return char !== \"+\"\n}\n\nexport function skipFormattingCharactersLeft(value: string, index: number) {\n let position = index\n while (position > 0) {\n const next = value[position - 1] ?? \"\"\n if (!isFormattingCharacter(next)) {\n break\n }\n position -= 1\n }\n return position\n}\n\nexport function skipFormattingCharactersRight(value: string, index: number) {\n let position = index\n while (position < value.length) {\n const next = value[position] ?? \"\"\n if (!isFormattingCharacter(next)) {\n break\n }\n position += 1\n }\n return position\n}\n\ntype SelectionSnapshot = {\n selectionStart: number\n selectionEnd: number\n startDigits: number\n endDigits: number\n preserveStartIndex: boolean\n preserveEndIndex: boolean\n wasAtStart: boolean\n wasAtEnd: boolean\n}\n\nexport function captureSelectionSnapshot(input: HTMLInputElement): SelectionSnapshot {\n const { value } = input\n const selectionStart = input.selectionStart ?? value.length\n const selectionEnd = input.selectionEnd ?? selectionStart\n const preserveStartIndex = selectionStart <= 1 && value.startsWith(\"+\")\n const preserveEndIndex = selectionEnd <= 1 && value.startsWith(\"+\")\n\n return {\n selectionStart,\n selectionEnd,\n startDigits: countDigitsBefore(value, selectionStart),\n endDigits: countDigitsBefore(value, selectionEnd),\n preserveStartIndex,\n preserveEndIndex,\n wasAtStart: selectionStart === 0,\n wasAtEnd: selectionEnd === value.length,\n }\n}\n\nexport function resolveSelection(snapshot: SelectionSnapshot, value: string) {\n if (snapshot.selectionStart === snapshot.selectionEnd) {\n if (snapshot.wasAtEnd) {\n const end = value.length\n return { start: end, end }\n }\n if (snapshot.wasAtStart) {\n return { start: 0, end: 0 }\n }\n }\n\n const start = snapshot.preserveStartIndex\n ? Math.min(snapshot.selectionStart, value.length)\n : findIndexForDigitCount(value, snapshot.startDigits)\n const end = snapshot.preserveEndIndex\n ? Math.min(snapshot.selectionEnd, value.length)\n : findIndexForDigitCount(value, snapshot.endDigits)\n\n let resolvedStart = start\n let resolvedEnd = end\n\n if (snapshot.wasAtStart) {\n resolvedStart = 0\n }\n\n if (snapshot.wasAtEnd) {\n resolvedEnd = value.length\n }\n\n if (snapshot.selectionStart === snapshot.selectionEnd) {\n resolvedStart = resolvedEnd\n }\n\n const clampedStart = Math.min(Math.max(resolvedStart, 0), value.length)\n const clampedEnd = Math.min(Math.max(resolvedEnd, 0), value.length)\n\n if (clampedStart > clampedEnd) {\n return { start: clampedEnd, end: clampedEnd }\n }\n\n return { start: clampedStart, end: clampedEnd }\n}\n\n"],"names":["isDigitCharacter","char","code","countDigitsBefore","value","index","count","limit","position","findIndexForDigitCount","digitCount","seen","isFormattingCharacter","skipFormattingCharactersLeft","next","skipFormattingCharactersRight","captureSelectionSnapshot","input","selectionStart","selectionEnd","preserveStartIndex","preserveEndIndex","resolveSelection","snapshot","end","start","resolvedStart","resolvedEnd","clampedStart","clampedEnd"],"mappings":"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"}
1
+ {"version":3,"file":"index39.js","sources":["../src/components/PhoneNumberInput/normalization.ts"],"sourcesContent":["import type { CountryCode } from \"libphonenumber-js\"\nimport { AsYouType, getCountryCallingCode, validatePhoneNumberLength } from \"libphonenumber-js\"\n\nimport {\n COMMON_IDD_PREFIXES,\n COUNTRY_DIAL_CODES,\n DEFAULT_COUNTRY,\n MAX_DIAL_CODE_LENGTH,\n} from \"./country-options\"\n\n\nexport type LengthIssue = \"TOO_LONG\"\n\nexport function sanitizeDigits(value: string) {\n return value.replace(/\\D/g, \"\")\n}\n\nfunction isDialCodeProgress(digits: string) {\n if (!digits) {\n return true\n }\n\n if (digits.length > MAX_DIAL_CODE_LENGTH) {\n return false\n }\n\n return COUNTRY_DIAL_CODES.some((dial) => dial.startsWith(digits))\n}\n\nconst INVISIBLE_FORMATTING_CHARACTERS =\n /[\\u061C\\u200B-\\u200F\\u202A-\\u202E\\u2066-\\u2069\\uFEFF]/g\n\nfunction stripInvisibleFormatting(value: string) {\n return value.replace(INVISIBLE_FORMATTING_CHARACTERS, \"\")\n}\n\nexport function injectNationalPrefixDisplay(\n international: string,\n dialCode: string,\n options: { force?: boolean } = {}\n) {\n // Preserve a user-typed national trunk (e.g. the French \"0\") purely for display\n // so validation can continue to use the canonical E.164 representation internally.\n const { force = false } = options\n const prefix = `+${dialCode}`\n\n if (!international.startsWith(prefix)) {\n return international\n }\n\n if (!force) {\n return international\n }\n\n const remainder = international.slice(prefix.length).trimStart()\n const alreadyHasTrunk = remainder.startsWith(\"0\")\n\n if (alreadyHasTrunk) {\n return international\n }\n\n if (!remainder) {\n return `${prefix} 0`\n }\n\n const [firstGroup, ...restGroups] = remainder.split(\" \")\n const rebuiltFirstGroup = `0${firstGroup ?? \"\"}`\n const rebuiltRemainder = restGroups.length > 0 ? ` ${restGroups.join(\" \")}` : \"\"\n\n return `${prefix} ${rebuiltFirstGroup}${rebuiltRemainder}`.replace(/\\s\\s+/g, \" \").trimEnd()\n}\n\nconst DETECTED_COUNTRY_OVERRIDES: Partial<Record<CountryCode, CountryCode>> = {\n GG: \"GB\",\n JE: \"GB\",\n IM: \"GB\",\n}\n\nfunction canonicalizeDetectedCountry(candidate: CountryCode | undefined): CountryCode | undefined {\n if (!candidate) {\n return undefined\n }\n return DETECTED_COUNTRY_OVERRIDES[candidate] ?? candidate\n}\n\ntype AsYouTypeNumber = ReturnType<AsYouType[\"getNumber\"]>\n\nfunction inferCountryFromDialCode(\n phoneNumber: AsYouTypeNumber,\n baseCountry: CountryCode | undefined,\n normalizedDigits: string\n): CountryCode | undefined {\n if (!phoneNumber) {\n return undefined\n }\n\n if (!normalizedDigits) {\n return undefined\n }\n\n const nationalDigits = phoneNumber.nationalNumber ?? \"\"\n if (nationalDigits.length < 4) {\n return undefined\n }\n\n const dial = phoneNumber.countryCallingCode\n if (!dial) {\n return undefined\n }\n\n const metadataGetter = (phoneNumber as unknown as { getMetadata?: () => unknown }).getMetadata\n const metadata =\n typeof metadataGetter === \"function\"\n ? (metadataGetter() as {\n country_calling_codes?: Record<string, string[]>\n } | null)\n : null\n\n const candidates = metadata?.country_calling_codes?.[dial]\n if (!candidates || candidates.length === 0) {\n return undefined\n }\n\n const canonicalCandidates: CountryCode[] = []\n for (const candidate of candidates) {\n const canonical = canonicalizeDetectedCountry(candidate as CountryCode)\n if (canonical && !canonicalCandidates.includes(canonical)) {\n canonicalCandidates.push(canonical)\n }\n }\n\n if (canonicalCandidates.length === 0) {\n return undefined\n }\n\n if (baseCountry && canonicalCandidates.includes(baseCountry)) {\n return baseCountry\n }\n\n if (canonicalCandidates.includes(DEFAULT_COUNTRY)) {\n return DEFAULT_COUNTRY\n }\n\n return canonicalCandidates[0]\n}\n\nexport function detectNationalPrefixForDisplay(\n rawDigits: string,\n internationalDigits: string,\n dialCode: string,\n hasExplicitInternationalPrefix: boolean\n) {\n if (!rawDigits) {\n return false\n }\n\n if (!hasExplicitInternationalPrefix) {\n return rawDigits.startsWith(\"0\")\n }\n\n if (!dialCode) {\n return false\n }\n\n if (!rawDigits.startsWith(dialCode)) {\n return false\n }\n\n if (!rawDigits.slice(dialCode.length).startsWith(\"0\")) {\n return false\n }\n\n const rawAfterTrunk = rawDigits.slice(dialCode.length + 1)\n const internationalAfterDial = internationalDigits.startsWith(dialCode)\n ? internationalDigits.slice(dialCode.length)\n : internationalDigits\n\n return rawAfterTrunk === internationalAfterDial\n}\n\nfunction stripIddPrefix(digits: string) {\n for (const prefix of COMMON_IDD_PREFIXES) {\n if (digits.startsWith(prefix)) {\n return digits.slice(prefix.length)\n }\n }\n return digits\n}\n\nexport function normalizeInputValue(\n rawValue: string,\n country: CountryCode | undefined,\n options: {\n allowJustPlus?: boolean\n removeNationalPrefix?: boolean\n previousValue?: string\n } = {}\n) {\n const { allowJustPlus = false, removeNationalPrefix = true, previousValue } = options\n const cleaned = stripInvisibleFormatting(rawValue)\n const trimmed = cleaned.trim()\n\n if (!trimmed) {\n return \"\"\n }\n\n if (trimmed === \"+\") {\n return allowJustPlus ? \"+\" : \"\"\n }\n\n if (trimmed.startsWith(\"+\")) {\n const digits = sanitizeDigits(trimmed)\n if (!digits) {\n return allowJustPlus ? \"+\" : \"\"\n }\n const digitsWithoutIdd = stripIddPrefix(digits)\n if (digitsWithoutIdd !== digits) {\n return digitsWithoutIdd ? `+${digitsWithoutIdd}` : allowJustPlus ? \"+\" : \"\"\n }\n if (removeNationalPrefix && country) {\n const dial = getCountryCallingCode(country)\n if (digits.startsWith(dial) && digits.slice(dial.length).startsWith(\"0\")) {\n const withoutPrefix = digits.slice(dial.length + 1)\n return withoutPrefix ? `+${dial}${withoutPrefix}` : `+${dial}`\n }\n }\n return `+${digits}`\n }\n\n const digitsOnly = sanitizeDigits(trimmed)\n if (!digitsOnly) {\n return \"\"\n }\n\n const digitsWithoutIdd = stripIddPrefix(digitsOnly)\n if (digitsWithoutIdd !== digitsOnly) {\n return digitsWithoutIdd ? `+${digitsWithoutIdd}` : allowJustPlus ? \"+\" : \"\"\n }\n\n const previousNormalized = typeof previousValue === \"string\" ? previousValue : \"\"\n const previousDigits =\n previousNormalized && previousNormalized.startsWith(\"+\")\n ? sanitizeDigits(previousNormalized)\n : \"\"\n\n if (previousDigits && previousDigits.length > digitsOnly.length) {\n if (previousDigits.endsWith(digitsOnly)) {\n const removedPrefixLength = previousDigits.length - digitsOnly.length\n if (removedPrefixLength <= MAX_DIAL_CODE_LENGTH) {\n return `+${digitsOnly}`\n }\n }\n }\n\n if (digitsOnly === \"0\") {\n return \"0\"\n }\n\n if (\n removeNationalPrefix &&\n country &&\n digitsOnly.length > 1 &&\n digitsOnly.startsWith(\"0\") &&\n !digitsOnly.startsWith(\"00\")\n ) {\n const dial = getCountryCallingCode(country)\n const withoutPrefix = digitsOnly.slice(1)\n return withoutPrefix ? `+${dial}${withoutPrefix}` : `+${dial}`\n }\n\n if (!country) {\n return digitsOnly\n }\n\n if (digitsOnly.length <= 4) {\n return `+${digitsOnly}`\n }\n\n const dial = getCountryCallingCode(country)\n return `+${dial}${digitsOnly}`\n}\n\nexport function formatWithAsYouType(value: string, baseCountry?: CountryCode) {\n if (value === \"+\") {\n return {\n international: \"+\",\n national: \"\",\n formatted: \"+\",\n phoneNumber: null,\n detectedCountry: undefined,\n inferredCountry: undefined,\n hasExplicitInternationalPrefix: true,\n }\n }\n\n const hasExplicitInternationalPrefix = /^\\s*\\+/.test(value)\n const formatter = baseCountry ? new AsYouType(baseCountry) : new AsYouType()\n const formatted = formatter.input(value)\n const phoneNumber = formatter.getNumber()\n const digits = sanitizeDigits(value)\n const detectedCountry = canonicalizeDetectedCountry(\n (phoneNumber?.country ?? formatter.country ?? undefined) as CountryCode | undefined\n )\n const inferredCountry =\n detectedCountry ?? !phoneNumber\n ? undefined\n : canonicalizeDetectedCountry(\n inferCountryFromDialCode(phoneNumber, baseCountry, digits)\n )\n\n const international = phoneNumber?.formatInternational() ?? formatted\n const national = phoneNumber?.formatNational() ?? sanitizeDigits(international)\n\n return {\n international,\n national,\n formatted,\n phoneNumber,\n detectedCountry,\n inferredCountry,\n hasExplicitInternationalPrefix,\n }\n}\n\nexport function stripPrefix(value: string, prefix: string) {\n return value.startsWith(prefix) ? value.slice(prefix.length) : value\n}\n\nexport function getLengthIssue(value: string, country: CountryCode | undefined): LengthIssue | null {\n if (!country || !value) {\n return null\n }\n\n try {\n const result = validatePhoneNumberLength(value, country)\n return result === \"TOO_LONG\" ? \"TOO_LONG\" : null\n } catch {\n return null\n }\n}\n\ntype SuggestionState = {\n shouldSuggest: boolean\n query: string\n}\n\nexport function getSuggestionState(\n normalized: string,\n baseCountry: CountryCode | undefined,\n phoneNumber: ReturnType<AsYouType[\"getNumber\"]>,\n options: {\n hasRemovedNationalPrefix?: boolean\n detectedCountry?: CountryCode\n hasExplicitInternationalPrefix?: boolean\n } = {}\n): SuggestionState {\n const {\n hasRemovedNationalPrefix = false,\n detectedCountry,\n hasExplicitInternationalPrefix = false,\n } = options\n\n if (!normalized) {\n return { shouldSuggest: false, query: \"\" }\n }\n\n if (normalized === \"+\") {\n return { shouldSuggest: true, query: \"\" }\n }\n\n const digits = sanitizeDigits(normalized)\n if (!digits) {\n return { shouldSuggest: true, query: \"\" }\n }\n\n if (hasRemovedNationalPrefix) {\n return { shouldSuggest: false, query: \"\" }\n }\n\n if (hasExplicitInternationalPrefix && !detectedCountry) {\n if (!isDialCodeProgress(digits)) {\n return { shouldSuggest: false, query: \"\" }\n }\n return { shouldSuggest: true, query: digits }\n }\n\n let dial = phoneNumber?.countryCallingCode ?? null\n if (!dial) {\n if (baseCountry) {\n const baseDial = getCountryCallingCode(baseCountry)\n if (digits.startsWith(baseDial)) {\n dial = baseDial\n }\n } else if (!hasExplicitInternationalPrefix) {\n return { shouldSuggest: false, query: \"\" }\n }\n }\n\n if (!dial) {\n return { shouldSuggest: true, query: digits }\n }\n\n const nationalDigits = stripPrefix(digits, dial)\n if (nationalDigits.length === 0) {\n return { shouldSuggest: true, query: digits }\n }\n\n return { shouldSuggest: false, query: \"\" }\n}\n\nexport function shouldDisplayExplicitCountrySelection(\n suggestion: SuggestionState,\n options: { detectedCountry?: CountryCode; hasExplicitInternationalPrefix?: boolean }\n) {\n if (suggestion.shouldSuggest) {\n return false\n }\n\n const { hasExplicitInternationalPrefix = false, detectedCountry } = options\n\n if (!hasExplicitInternationalPrefix) {\n return true\n }\n\n return Boolean(detectedCountry)\n}\n"],"names":["sanitizeDigits","value","isDialCodeProgress","digits","MAX_DIAL_CODE_LENGTH","COUNTRY_DIAL_CODES","dial","INVISIBLE_FORMATTING_CHARACTERS","stripInvisibleFormatting","injectNationalPrefixDisplay","international","dialCode","options","force","prefix","remainder","firstGroup","restGroups","rebuiltFirstGroup","rebuiltRemainder","DETECTED_COUNTRY_OVERRIDES","canonicalizeDetectedCountry","candidate","inferCountryFromDialCode","phoneNumber","baseCountry","normalizedDigits","metadataGetter","candidates","canonicalCandidates","canonical","DEFAULT_COUNTRY","detectNationalPrefixForDisplay","rawDigits","internationalDigits","hasExplicitInternationalPrefix","rawAfterTrunk","internationalAfterDial","stripIddPrefix","COMMON_IDD_PREFIXES","normalizeInputValue","rawValue","country","allowJustPlus","removeNationalPrefix","previousValue","trimmed","digitsWithoutIdd","getCountryCallingCode","withoutPrefix","digitsOnly","previousNormalized","previousDigits","formatWithAsYouType","formatter","AsYouType","formatted","detectedCountry","inferredCountry","national","stripPrefix","getLengthIssue","validatePhoneNumberLength","getSuggestionState","normalized","hasRemovedNationalPrefix","baseDial","shouldDisplayExplicitCountrySelection","suggestion"],"mappings":"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"}
package/dist/index40.js CHANGED
@@ -1,102 +1,80 @@
1
- import { j as o } from "./index28.js";
2
- import * as s from "react";
3
- import { cn as C } from "./index2.js";
4
- const S = s.createContext(null);
5
- function y(e, t) {
6
- if (typeof e == "function") {
7
- e(t);
8
- return;
1
+ function c(t) {
2
+ if (!t)
3
+ return !1;
4
+ const e = t.charCodeAt(0);
5
+ return e >= 48 && e <= 57;
6
+ }
7
+ function l(t, e) {
8
+ let n = 0;
9
+ const r = Math.min(e, t.length);
10
+ for (let i = 0; i < r; i += 1)
11
+ c(t[i] ?? "") && (n += 1);
12
+ return n;
13
+ }
14
+ function a(t, e) {
15
+ if (e <= 0)
16
+ return t.startsWith("+") ? Math.min(1, t.length) : 0;
17
+ let n = 0;
18
+ for (let r = 0; r < t.length; r += 1)
19
+ if (c(t[r] ?? "") && (n += 1, n === e))
20
+ return r + 1;
21
+ return t.length;
22
+ }
23
+ function g(t) {
24
+ return !t || c(t) ? !1 : t !== "+";
25
+ }
26
+ function h(t, e) {
27
+ let n = e;
28
+ for (; n > 0; ) {
29
+ const r = t[n - 1] ?? "";
30
+ if (!g(r))
31
+ break;
32
+ n -= 1;
9
33
  }
10
- e && typeof e == "object" && Reflect.set(e, "current", t);
34
+ return n;
11
35
  }
12
- const M = (e) => {
13
- const t = s.useContext(S), a = t?.highlightedValue === e.data.value, { onMouseMove: m, className: f, ...g } = e.innerProps, p = t?.renderOptionLabel ?? ((n) => R(n)), i = s.useRef(null), { innerRef: l } = e, h = s.useCallback(
14
- (n) => {
15
- i.current = n, y(l, n);
16
- },
17
- [l]
18
- );
19
- s.useEffect(() => {
20
- if (!a)
21
- return;
22
- const n = t?.consumeScrollBehavior, v = n ? n() : "smooth", r = i.current;
23
- if (!r)
24
- return;
25
- const c = r.parentElement;
26
- if (!c)
27
- return;
28
- const u = r.offsetTop, b = u + r.offsetHeight, d = c.scrollTop, j = d + c.clientHeight;
29
- u >= d && b <= j || r.scrollIntoView({
30
- block: "nearest",
31
- behavior: v
32
- });
33
- }, [t, a]);
34
- const x = (n) => {
35
- m?.(n), t?.setHighlightedOption(e.data);
36
+ function S(t, e) {
37
+ let n = e;
38
+ for (; n < t.length; ) {
39
+ const r = t[n] ?? "";
40
+ if (!g(r))
41
+ break;
42
+ n += 1;
43
+ }
44
+ return n;
45
+ }
46
+ function m(t) {
47
+ const { value: e } = t, n = t.selectionStart ?? e.length, r = t.selectionEnd ?? n, i = n <= 1 && e.startsWith("+"), o = r <= 1 && e.startsWith("+");
48
+ return {
49
+ selectionStart: n,
50
+ selectionEnd: r,
51
+ startDigits: l(e, n),
52
+ endDigits: l(e, r),
53
+ preserveStartIndex: i,
54
+ preserveEndIndex: o,
55
+ wasAtStart: n === 0,
56
+ wasAtEnd: r === e.length
36
57
  };
37
- return /* @__PURE__ */ o.jsx(
38
- "div",
39
- {
40
- ref: h,
41
- ...g,
42
- onMouseMove: x,
43
- className: C(
44
- "flex cursor-pointer items-center justify-between gap-3 px-3 py-2 text-sm",
45
- f,
46
- a ? "bg-muted text-foreground" : "text-foreground hover:bg-muted"
47
- ),
48
- children: p(e.data)
58
+ }
59
+ function u(t, e) {
60
+ if (t.selectionStart === t.selectionEnd) {
61
+ if (t.wasAtEnd) {
62
+ const f = e.length;
63
+ return { start: f, end: f };
49
64
  }
50
- );
51
- }, O = {
52
- control: () => ({
53
- display: "none"
54
- }),
55
- menu: (e) => ({
56
- ...e,
57
- marginTop: 4,
58
- borderRadius: "var(--radius)",
59
- boxShadow: "0 18px 36px rgba(15, 23, 42, 0.18)",
60
- backgroundColor: "hsl(var(--popover))",
61
- overflow: "hidden",
62
- zIndex: 20
63
- }),
64
- menuList: (e) => ({
65
- ...e,
66
- maxHeight: 240,
67
- padding: 0
68
- }),
69
- option: (e, t) => ({
70
- ...e,
71
- fontSize: "0.875rem",
72
- backgroundColor: t.isFocused ? "hsl(var(--muted))" : t.isSelected ? "hsl(var(--accent))" : "transparent",
73
- color: t.isSelected ? "hsl(var(--accent-foreground))" : "hsl(var(--foreground))",
74
- cursor: "pointer"
75
- }),
76
- noOptionsMessage: (e) => ({
77
- ...e,
78
- fontSize: "0.875rem",
79
- color: "hsl(var(--muted-foreground))"
80
- })
81
- }, H = (e) => /* @__PURE__ */ o.jsx("div", { style: { display: "none" }, children: e.children }), k = () => null;
82
- function R(e) {
83
- return /* @__PURE__ */ o.jsxs(o.Fragment, { children: [
84
- /* @__PURE__ */ o.jsxs("span", { className: "flex min-w-0 items-center gap-2", children: [
85
- e.flag ? /* @__PURE__ */ o.jsx("span", { "aria-hidden": "true", className: "text-lg leading-none", children: e.flag }) : null,
86
- /* @__PURE__ */ o.jsx("span", { className: "truncate", children: e.name })
87
- ] }),
88
- /* @__PURE__ */ o.jsxs("span", { className: "text-xs text-muted-foreground", children: [
89
- "+",
90
- e.dialCode
91
- ] })
92
- ] });
65
+ if (t.wasAtStart)
66
+ return { start: 0, end: 0 };
67
+ }
68
+ const n = t.preserveStartIndex ? Math.min(t.selectionStart, e.length) : a(e, t.startDigits), r = t.preserveEndIndex ? Math.min(t.selectionEnd, e.length) : a(e, t.endDigits);
69
+ let i = n, o = r;
70
+ t.wasAtStart && (i = 0), t.wasAtEnd && (o = e.length), t.selectionStart === t.selectionEnd && (i = o);
71
+ const d = Math.min(Math.max(i, 0), e.length), s = Math.min(Math.max(o, 0), e.length);
72
+ return d > s ? { start: s, end: s } : { start: d, end: s };
93
73
  }
94
74
  export {
95
- H as HiddenControl,
96
- k as NullComponent,
97
- S as SuggestionContext,
98
- M as SuggestionOption,
99
- R as formatCountryOption,
100
- O as suggestionSelectStyles
75
+ m as captureSelectionSnapshot,
76
+ u as resolveSelection,
77
+ h as skipFormattingCharactersLeft,
78
+ S as skipFormattingCharactersRight
101
79
  };
102
80
  //# sourceMappingURL=index40.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index40.js","sources":["../src/components/PhoneNumberInput/suggestions.tsx"],"sourcesContent":["import * as React from \"react\"\nimport type { CountryCode } from \"libphonenumber-js\"\nimport type { ControlProps, OptionProps, StylesConfig } from \"react-select\"\n\nimport { cn } from \"@/lib/utils\"\n\nimport type { CountryOption } from \"./types\"\n\n\nexport type SuggestionContextValue = {\n highlightedValue: CountryCode | null\n setHighlightedOption: (option: CountryOption) => void\n renderOptionLabel: (option: CountryOption) => React.ReactNode\n consumeScrollBehavior: () => ScrollBehavior\n}\n\nexport const SuggestionContext = React.createContext<SuggestionContextValue | null>(null)\n\nfunction assignOptionRef(ref: React.Ref<HTMLDivElement> | undefined, node: HTMLDivElement | null) {\n if (typeof ref === \"function\") {\n ref(node)\n return\n }\n if (ref && typeof ref === \"object\") {\n Reflect.set(ref, \"current\", node)\n }\n}\n\nexport const SuggestionOption = (props: OptionProps<CountryOption, false>) => {\n const context = React.useContext(SuggestionContext)\n const isActive = context?.highlightedValue === props.data.value\n const { onMouseMove, className: receivedClassName, ...restInnerProps } = props.innerProps\n const renderLabel =\n context?.renderOptionLabel ?? ((option: CountryOption) => formatCountryOption(option))\n const optionRef = React.useRef<HTMLDivElement | null>(null)\n const { innerRef } = props\n\n const assignRef = React.useCallback(\n (node: HTMLDivElement | null) => {\n optionRef.current = node\n assignOptionRef(innerRef, node)\n },\n [innerRef]\n )\n\n React.useEffect(() => {\n if (!isActive) {\n return\n }\n\n const consumeScrollBehavior = context?.consumeScrollBehavior\n const behavior = consumeScrollBehavior ? consumeScrollBehavior() : \"smooth\"\n\n const target = optionRef.current\n if (!target) {\n return\n }\n\n const parent = target.parentElement\n if (!parent) {\n return\n }\n\n const top = target.offsetTop\n const bottom = top + target.offsetHeight\n const viewTop = parent.scrollTop\n const viewBottom = viewTop + parent.clientHeight\n\n if (top >= viewTop && bottom <= viewBottom) {\n return\n }\n\n target.scrollIntoView({\n block: \"nearest\",\n behavior,\n })\n }, [context, isActive])\n\n const handleMouseMove = (event: React.MouseEvent<HTMLDivElement>) => {\n onMouseMove?.(event)\n context?.setHighlightedOption(props.data)\n }\n\n return (\n <div\n ref={assignRef}\n {...restInnerProps}\n onMouseMove={handleMouseMove}\n className={cn(\n \"flex cursor-pointer items-center justify-between gap-3 px-3 py-2 text-sm\",\n receivedClassName,\n isActive ? \"bg-muted text-foreground\" : \"text-foreground hover:bg-muted\"\n )}\n >\n {renderLabel(props.data)}\n </div>\n )\n}\n\nexport const suggestionSelectStyles: StylesConfig<CountryOption, false> = {\n control: () => ({\n display: \"none\",\n }),\n menu: (provided) => ({\n ...provided,\n marginTop: 4,\n borderRadius: \"var(--radius)\",\n boxShadow: \"0 18px 36px rgba(15, 23, 42, 0.18)\",\n backgroundColor: \"hsl(var(--popover))\",\n overflow: \"hidden\",\n zIndex: 20,\n }),\n menuList: (provided) => ({\n ...provided,\n maxHeight: 240,\n padding: 0,\n }),\n option: (provided, state) => ({\n ...provided,\n fontSize: \"0.875rem\",\n backgroundColor: state.isFocused\n ? \"hsl(var(--muted))\"\n : state.isSelected\n ? \"hsl(var(--accent))\"\n : \"transparent\",\n color: state.isSelected\n ? \"hsl(var(--accent-foreground))\"\n : \"hsl(var(--foreground))\",\n cursor: \"pointer\",\n }),\n noOptionsMessage: (provided) => ({\n ...provided,\n fontSize: \"0.875rem\",\n color: \"hsl(var(--muted-foreground))\",\n }),\n}\n\nexport const HiddenControl = (props: ControlProps<CountryOption, false>) => (\n <div style={{ display: \"none\" }}>{props.children}</div>\n)\n\nexport const NullComponent = () => null\n\nexport function formatCountryOption(option: CountryOption) {\n return (\n <>\n <span className=\"flex min-w-0 items-center gap-2\">\n {option.flag ? (\n <span aria-hidden=\"true\" className=\"text-lg leading-none\">\n {option.flag}\n </span>\n ) : null}\n <span className=\"truncate\">{option.name}</span>\n </span>\n <span className=\"text-xs text-muted-foreground\">+{option.dialCode}</span>\n </>\n )\n}\n"],"names":["SuggestionContext","React","assignOptionRef","ref","node","SuggestionOption","props","context","isActive","onMouseMove","receivedClassName","restInnerProps","renderLabel","option","formatCountryOption","optionRef","innerRef","assignRef","consumeScrollBehavior","behavior","target","parent","top","bottom","viewTop","viewBottom","handleMouseMove","event","jsx","cn","suggestionSelectStyles","provided","state","HiddenControl","NullComponent","jsxs","Fragment"],"mappings":"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"}
1
+ {"version":3,"file":"index40.js","sources":["../src/components/PhoneNumberInput/selection.ts"],"sourcesContent":["function isDigitCharacter(char: string) {\n if (!char) {\n return false\n }\n const code = char.charCodeAt(0)\n return code >= 48 && code <= 57\n}\n\nfunction countDigitsBefore(value: string, index: number) {\n let count = 0\n const limit = Math.min(index, value.length)\n for (let position = 0; position < limit; position += 1) {\n if (isDigitCharacter(value[position] ?? \"\")) {\n count += 1\n }\n }\n return count\n}\n\nfunction findIndexForDigitCount(value: string, digitCount: number) {\n if (digitCount <= 0) {\n return value.startsWith(\"+\") ? Math.min(1, value.length) : 0\n }\n\n let seen = 0\n for (let index = 0; index < value.length; index += 1) {\n if (isDigitCharacter(value[index] ?? \"\")) {\n seen += 1\n if (seen === digitCount) {\n return index + 1\n }\n }\n }\n\n return value.length\n}\n\nfunction isFormattingCharacter(char: string) {\n if (!char) {\n return false\n }\n if (isDigitCharacter(char)) {\n return false\n }\n return char !== \"+\"\n}\n\nexport function skipFormattingCharactersLeft(value: string, index: number) {\n let position = index\n while (position > 0) {\n const next = value[position - 1] ?? \"\"\n if (!isFormattingCharacter(next)) {\n break\n }\n position -= 1\n }\n return position\n}\n\nexport function skipFormattingCharactersRight(value: string, index: number) {\n let position = index\n while (position < value.length) {\n const next = value[position] ?? \"\"\n if (!isFormattingCharacter(next)) {\n break\n }\n position += 1\n }\n return position\n}\n\ntype SelectionSnapshot = {\n selectionStart: number\n selectionEnd: number\n startDigits: number\n endDigits: number\n preserveStartIndex: boolean\n preserveEndIndex: boolean\n wasAtStart: boolean\n wasAtEnd: boolean\n}\n\nexport function captureSelectionSnapshot(input: HTMLInputElement): SelectionSnapshot {\n const { value } = input\n const selectionStart = input.selectionStart ?? value.length\n const selectionEnd = input.selectionEnd ?? selectionStart\n const preserveStartIndex = selectionStart <= 1 && value.startsWith(\"+\")\n const preserveEndIndex = selectionEnd <= 1 && value.startsWith(\"+\")\n\n return {\n selectionStart,\n selectionEnd,\n startDigits: countDigitsBefore(value, selectionStart),\n endDigits: countDigitsBefore(value, selectionEnd),\n preserveStartIndex,\n preserveEndIndex,\n wasAtStart: selectionStart === 0,\n wasAtEnd: selectionEnd === value.length,\n }\n}\n\nexport function resolveSelection(snapshot: SelectionSnapshot, value: string) {\n if (snapshot.selectionStart === snapshot.selectionEnd) {\n if (snapshot.wasAtEnd) {\n const end = value.length\n return { start: end, end }\n }\n if (snapshot.wasAtStart) {\n return { start: 0, end: 0 }\n }\n }\n\n const start = snapshot.preserveStartIndex\n ? Math.min(snapshot.selectionStart, value.length)\n : findIndexForDigitCount(value, snapshot.startDigits)\n const end = snapshot.preserveEndIndex\n ? Math.min(snapshot.selectionEnd, value.length)\n : findIndexForDigitCount(value, snapshot.endDigits)\n\n let resolvedStart = start\n let resolvedEnd = end\n\n if (snapshot.wasAtStart) {\n resolvedStart = 0\n }\n\n if (snapshot.wasAtEnd) {\n resolvedEnd = value.length\n }\n\n if (snapshot.selectionStart === snapshot.selectionEnd) {\n resolvedStart = resolvedEnd\n }\n\n const clampedStart = Math.min(Math.max(resolvedStart, 0), value.length)\n const clampedEnd = Math.min(Math.max(resolvedEnd, 0), value.length)\n\n if (clampedStart > clampedEnd) {\n return { start: clampedEnd, end: clampedEnd }\n }\n\n return { start: clampedStart, end: clampedEnd }\n}\n\n"],"names":["isDigitCharacter","char","code","countDigitsBefore","value","index","count","limit","position","findIndexForDigitCount","digitCount","seen","isFormattingCharacter","skipFormattingCharactersLeft","next","skipFormattingCharactersRight","captureSelectionSnapshot","input","selectionStart","selectionEnd","preserveStartIndex","preserveEndIndex","resolveSelection","snapshot","end","start","resolvedStart","resolvedEnd","clampedStart","clampedEnd"],"mappings":"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"}
package/dist/index41.js CHANGED
@@ -1,9 +1,102 @@
1
- import t from "./index154.js";
2
- import { getCountryCallingCode as o } from "./index168.js";
3
- function n() {
4
- return t(o, arguments);
1
+ import { j as o } from "./index29.js";
2
+ import * as s from "react";
3
+ import { cn as C } from "./index2.js";
4
+ const S = s.createContext(null);
5
+ function y(e, t) {
6
+ if (typeof e == "function") {
7
+ e(t);
8
+ return;
9
+ }
10
+ e && typeof e == "object" && Reflect.set(e, "current", t);
11
+ }
12
+ const M = (e) => {
13
+ const t = s.useContext(S), a = t?.highlightedValue === e.data.value, { onMouseMove: m, className: f, ...g } = e.innerProps, p = t?.renderOptionLabel ?? ((n) => R(n)), i = s.useRef(null), { innerRef: l } = e, h = s.useCallback(
14
+ (n) => {
15
+ i.current = n, y(l, n);
16
+ },
17
+ [l]
18
+ );
19
+ s.useEffect(() => {
20
+ if (!a)
21
+ return;
22
+ const n = t?.consumeScrollBehavior, v = n ? n() : "smooth", r = i.current;
23
+ if (!r)
24
+ return;
25
+ const c = r.parentElement;
26
+ if (!c)
27
+ return;
28
+ const u = r.offsetTop, b = u + r.offsetHeight, d = c.scrollTop, j = d + c.clientHeight;
29
+ u >= d && b <= j || r.scrollIntoView({
30
+ block: "nearest",
31
+ behavior: v
32
+ });
33
+ }, [t, a]);
34
+ const x = (n) => {
35
+ m?.(n), t?.setHighlightedOption(e.data);
36
+ };
37
+ return /* @__PURE__ */ o.jsx(
38
+ "div",
39
+ {
40
+ ref: h,
41
+ ...g,
42
+ onMouseMove: x,
43
+ className: C(
44
+ "flex cursor-pointer items-center justify-between gap-3 px-3 py-2 text-sm",
45
+ f,
46
+ a ? "bg-muted text-foreground" : "text-foreground hover:bg-muted"
47
+ ),
48
+ children: p(e.data)
49
+ }
50
+ );
51
+ }, O = {
52
+ control: () => ({
53
+ display: "none"
54
+ }),
55
+ menu: (e) => ({
56
+ ...e,
57
+ marginTop: 4,
58
+ borderRadius: "var(--radius)",
59
+ boxShadow: "0 18px 36px rgba(15, 23, 42, 0.18)",
60
+ backgroundColor: "hsl(var(--popover))",
61
+ overflow: "hidden",
62
+ zIndex: 20
63
+ }),
64
+ menuList: (e) => ({
65
+ ...e,
66
+ maxHeight: 240,
67
+ padding: 0
68
+ }),
69
+ option: (e, t) => ({
70
+ ...e,
71
+ fontSize: "0.875rem",
72
+ backgroundColor: t.isFocused ? "hsl(var(--muted))" : t.isSelected ? "hsl(var(--accent))" : "transparent",
73
+ color: t.isSelected ? "hsl(var(--accent-foreground))" : "hsl(var(--foreground))",
74
+ cursor: "pointer"
75
+ }),
76
+ noOptionsMessage: (e) => ({
77
+ ...e,
78
+ fontSize: "0.875rem",
79
+ color: "hsl(var(--muted-foreground))"
80
+ })
81
+ }, H = (e) => /* @__PURE__ */ o.jsx("div", { style: { display: "none" }, children: e.children }), k = () => null;
82
+ function R(e) {
83
+ return /* @__PURE__ */ o.jsxs(o.Fragment, { children: [
84
+ /* @__PURE__ */ o.jsxs("span", { className: "flex min-w-0 items-center gap-2", children: [
85
+ e.flag ? /* @__PURE__ */ o.jsx("span", { "aria-hidden": "true", className: "text-lg leading-none", children: e.flag }) : null,
86
+ /* @__PURE__ */ o.jsx("span", { className: "truncate", children: e.name })
87
+ ] }),
88
+ /* @__PURE__ */ o.jsxs("span", { className: "text-xs text-muted-foreground", children: [
89
+ "+",
90
+ e.dialCode
91
+ ] })
92
+ ] });
5
93
  }
6
94
  export {
7
- n as getCountryCallingCode
95
+ H as HiddenControl,
96
+ k as NullComponent,
97
+ S as SuggestionContext,
98
+ M as SuggestionOption,
99
+ R as formatCountryOption,
100
+ O as suggestionSelectStyles
8
101
  };
9
102
  //# sourceMappingURL=index41.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index41.js","sources":["../../../node_modules/libphonenumber-js/min/exports/getCountryCallingCode.js"],"sourcesContent":["import withMetadataArgument from './withMetadataArgument.js'\r\nimport { getCountryCallingCode as _getCountryCallingCode } from '../../core/index.js'\r\n\r\nexport function getCountryCallingCode() {\r\n\treturn withMetadataArgument(_getCountryCallingCode, arguments)\r\n}"],"names":["getCountryCallingCode","withMetadataArgument","_getCountryCallingCode"],"mappings":";;AAGO,SAASA,IAAwB;AACvC,SAAOC,EAAqBC,GAAwB,SAAS;AAC9D;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index41.js","sources":["../src/components/PhoneNumberInput/suggestions.tsx"],"sourcesContent":["import * as React from \"react\"\nimport type { CountryCode } from \"libphonenumber-js\"\nimport type { ControlProps, OptionProps, StylesConfig } from \"react-select\"\n\nimport { cn } from \"@/lib/utils\"\n\nimport type { CountryOption } from \"./types\"\n\n\nexport type SuggestionContextValue = {\n highlightedValue: CountryCode | null\n setHighlightedOption: (option: CountryOption) => void\n renderOptionLabel: (option: CountryOption) => React.ReactNode\n consumeScrollBehavior: () => ScrollBehavior\n}\n\nexport const SuggestionContext = React.createContext<SuggestionContextValue | null>(null)\n\nfunction assignOptionRef(ref: React.Ref<HTMLDivElement> | undefined, node: HTMLDivElement | null) {\n if (typeof ref === \"function\") {\n ref(node)\n return\n }\n if (ref && typeof ref === \"object\") {\n Reflect.set(ref, \"current\", node)\n }\n}\n\nexport const SuggestionOption = (props: OptionProps<CountryOption, false>) => {\n const context = React.useContext(SuggestionContext)\n const isActive = context?.highlightedValue === props.data.value\n const { onMouseMove, className: receivedClassName, ...restInnerProps } = props.innerProps\n const renderLabel =\n context?.renderOptionLabel ?? ((option: CountryOption) => formatCountryOption(option))\n const optionRef = React.useRef<HTMLDivElement | null>(null)\n const { innerRef } = props\n\n const assignRef = React.useCallback(\n (node: HTMLDivElement | null) => {\n optionRef.current = node\n assignOptionRef(innerRef, node)\n },\n [innerRef]\n )\n\n React.useEffect(() => {\n if (!isActive) {\n return\n }\n\n const consumeScrollBehavior = context?.consumeScrollBehavior\n const behavior = consumeScrollBehavior ? consumeScrollBehavior() : \"smooth\"\n\n const target = optionRef.current\n if (!target) {\n return\n }\n\n const parent = target.parentElement\n if (!parent) {\n return\n }\n\n const top = target.offsetTop\n const bottom = top + target.offsetHeight\n const viewTop = parent.scrollTop\n const viewBottom = viewTop + parent.clientHeight\n\n if (top >= viewTop && bottom <= viewBottom) {\n return\n }\n\n target.scrollIntoView({\n block: \"nearest\",\n behavior,\n })\n }, [context, isActive])\n\n const handleMouseMove = (event: React.MouseEvent<HTMLDivElement>) => {\n onMouseMove?.(event)\n context?.setHighlightedOption(props.data)\n }\n\n return (\n <div\n ref={assignRef}\n {...restInnerProps}\n onMouseMove={handleMouseMove}\n className={cn(\n \"flex cursor-pointer items-center justify-between gap-3 px-3 py-2 text-sm\",\n receivedClassName,\n isActive ? \"bg-muted text-foreground\" : \"text-foreground hover:bg-muted\"\n )}\n >\n {renderLabel(props.data)}\n </div>\n )\n}\n\nexport const suggestionSelectStyles: StylesConfig<CountryOption, false> = {\n control: () => ({\n display: \"none\",\n }),\n menu: (provided) => ({\n ...provided,\n marginTop: 4,\n borderRadius: \"var(--radius)\",\n boxShadow: \"0 18px 36px rgba(15, 23, 42, 0.18)\",\n backgroundColor: \"hsl(var(--popover))\",\n overflow: \"hidden\",\n zIndex: 20,\n }),\n menuList: (provided) => ({\n ...provided,\n maxHeight: 240,\n padding: 0,\n }),\n option: (provided, state) => ({\n ...provided,\n fontSize: \"0.875rem\",\n backgroundColor: state.isFocused\n ? \"hsl(var(--muted))\"\n : state.isSelected\n ? \"hsl(var(--accent))\"\n : \"transparent\",\n color: state.isSelected\n ? \"hsl(var(--accent-foreground))\"\n : \"hsl(var(--foreground))\",\n cursor: \"pointer\",\n }),\n noOptionsMessage: (provided) => ({\n ...provided,\n fontSize: \"0.875rem\",\n color: \"hsl(var(--muted-foreground))\",\n }),\n}\n\nexport const HiddenControl = (props: ControlProps<CountryOption, false>) => (\n <div style={{ display: \"none\" }}>{props.children}</div>\n)\n\nexport const NullComponent = () => null\n\nexport function formatCountryOption(option: CountryOption) {\n return (\n <>\n <span className=\"flex min-w-0 items-center gap-2\">\n {option.flag ? (\n <span aria-hidden=\"true\" className=\"text-lg leading-none\">\n {option.flag}\n </span>\n ) : null}\n <span className=\"truncate\">{option.name}</span>\n </span>\n <span className=\"text-xs text-muted-foreground\">+{option.dialCode}</span>\n </>\n )\n}\n"],"names":["SuggestionContext","React","assignOptionRef","ref","node","SuggestionOption","props","context","isActive","onMouseMove","receivedClassName","restInnerProps","renderLabel","option","formatCountryOption","optionRef","innerRef","assignRef","consumeScrollBehavior","behavior","target","parent","top","bottom","viewTop","viewBottom","handleMouseMove","event","jsx","cn","suggestionSelectStyles","provided","state","HiddenControl","NullComponent","jsxs","Fragment"],"mappings":"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"}