@rpcbase/ui 0.243.0 → 0.245.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 (518) hide show
  1. package/dist/index10.js +2 -2
  2. package/dist/index106.js +1 -1
  3. package/dist/index11.js +2 -2
  4. package/dist/index12.js +3 -3
  5. package/dist/index13.js +2 -2
  6. package/dist/index14.js +2 -2
  7. package/dist/index149.js +14 -5
  8. package/dist/index149.js.map +1 -1
  9. package/dist/index15.js +2 -2
  10. package/dist/index150.js +63 -63
  11. package/dist/index150.js.map +1 -1
  12. package/dist/index151.js +38 -2
  13. package/dist/index151.js.map +1 -1
  14. package/dist/index152.js +13 -385
  15. package/dist/index152.js.map +1 -1
  16. package/dist/index153.js +23 -261
  17. package/dist/index153.js.map +1 -1
  18. package/dist/index154.js +109 -58
  19. package/dist/index154.js.map +1 -1
  20. package/dist/index155.js +13 -47
  21. package/dist/index155.js.map +1 -1
  22. package/dist/index156.js +4 -169
  23. package/dist/index156.js.map +1 -1
  24. package/dist/index157.js +4 -110
  25. package/dist/index157.js.map +1 -1
  26. package/dist/index158.js +5 -25
  27. package/dist/index158.js.map +1 -1
  28. package/dist/index159.js +12 -8
  29. package/dist/index159.js.map +1 -1
  30. package/dist/index16.js +8 -8
  31. package/dist/index160.js +19 -4
  32. package/dist/index160.js.map +1 -1
  33. package/dist/index161.js +11 -6
  34. package/dist/index161.js.map +1 -1
  35. package/dist/index162.js +176 -4
  36. package/dist/index162.js.map +1 -1
  37. package/dist/index163.js +268 -476
  38. package/dist/index163.js.map +1 -1
  39. package/dist/index164.js +4 -189
  40. package/dist/index164.js.map +1 -1
  41. package/dist/index165.js +28 -14
  42. package/dist/index165.js.map +1 -1
  43. package/dist/index166.js +124 -105
  44. package/dist/index166.js.map +1 -1
  45. package/dist/index167.js +63 -262
  46. package/dist/index167.js.map +1 -1
  47. package/dist/index168.js +8 -6
  48. package/dist/index168.js.map +1 -1
  49. package/dist/index169.js +15 -40
  50. package/dist/index169.js.map +1 -1
  51. package/dist/index17.js +1 -1
  52. package/dist/index170.js +30 -4
  53. package/dist/index170.js.map +1 -1
  54. package/dist/index171.js +69 -14
  55. package/dist/index171.js.map +1 -1
  56. package/dist/index172.js +5 -68
  57. package/dist/index172.js.map +1 -1
  58. package/dist/index173.js +66 -35
  59. package/dist/index173.js.map +1 -1
  60. package/dist/index174.js +2 -14
  61. package/dist/index174.js.map +1 -1
  62. package/dist/index175.js +384 -22
  63. package/dist/index175.js.map +1 -1
  64. package/dist/index176.js +258 -108
  65. package/dist/index176.js.map +1 -1
  66. package/dist/index177.js +61 -13
  67. package/dist/index177.js.map +1 -1
  68. package/dist/index178.js +46 -4
  69. package/dist/index178.js.map +1 -1
  70. package/dist/index179.js +170 -4
  71. package/dist/index179.js.map +1 -1
  72. package/dist/index18.js +7 -7
  73. package/dist/index180.js +110 -5
  74. package/dist/index180.js.map +1 -1
  75. package/dist/index181.js +24 -11
  76. package/dist/index181.js.map +1 -1
  77. package/dist/index182.js +8 -20
  78. package/dist/index182.js.map +1 -1
  79. package/dist/index183.js +5 -11
  80. package/dist/index183.js.map +1 -1
  81. package/dist/index184.js +5 -176
  82. package/dist/index184.js.map +1 -1
  83. package/dist/index185.js +4 -279
  84. package/dist/index185.js.map +1 -1
  85. package/dist/index186.js +487 -4
  86. package/dist/index186.js.map +1 -1
  87. package/dist/index187.js +189 -27
  88. package/dist/index187.js.map +1 -1
  89. package/dist/index188.js +13 -126
  90. package/dist/index188.js.map +1 -1
  91. package/dist/index189.js +107 -63
  92. package/dist/index189.js.map +1 -1
  93. package/dist/index19.js +16 -16
  94. package/dist/index190.js +262 -8
  95. package/dist/index190.js.map +1 -1
  96. package/dist/index191.js +7 -16
  97. package/dist/index191.js.map +1 -1
  98. package/dist/index192.js +39 -29
  99. package/dist/index192.js.map +1 -1
  100. package/dist/index193.js +4 -69
  101. package/dist/index193.js.map +1 -1
  102. package/dist/index21.js +1 -1
  103. package/dist/index22.js +2 -2
  104. package/dist/index23.js +1 -1
  105. package/dist/index24.js +1 -1
  106. package/dist/index246.js +1 -1
  107. package/dist/index25.js +1 -1
  108. package/dist/index252.js +1 -1
  109. package/dist/index254.js +58 -146
  110. package/dist/index254.js.map +1 -1
  111. package/dist/index255.js +8 -32
  112. package/dist/index255.js.map +1 -1
  113. package/dist/index256.js +11 -11
  114. package/dist/index256.js.map +1 -1
  115. package/dist/index257.js +7 -48
  116. package/dist/index257.js.map +1 -1
  117. package/dist/index258.js +5 -9
  118. package/dist/index258.js.map +1 -1
  119. package/dist/index259.js +13 -11
  120. package/dist/index259.js.map +1 -1
  121. package/dist/index260.js +3 -43
  122. package/dist/index260.js.map +1 -1
  123. package/dist/index261.js +3 -97
  124. package/dist/index261.js.map +1 -1
  125. package/dist/index262.js +87 -74
  126. package/dist/index262.js.map +1 -1
  127. package/dist/index263.js +16 -104
  128. package/dist/index263.js.map +1 -1
  129. package/dist/index264.js +27 -50
  130. package/dist/index264.js.map +1 -1
  131. package/dist/index265.js +51 -11
  132. package/dist/index265.js.map +1 -1
  133. package/dist/index266.js +5 -4
  134. package/dist/index266.js.map +1 -1
  135. package/dist/index267.js +5 -37
  136. package/dist/index267.js.map +1 -1
  137. package/dist/index268.js +61 -8
  138. package/dist/index268.js.map +1 -1
  139. package/dist/index269.js +61 -130
  140. package/dist/index269.js.map +1 -1
  141. package/dist/index270.js +133 -17
  142. package/dist/index270.js.map +1 -1
  143. package/dist/index271.js +7 -14
  144. package/dist/index271.js.map +1 -1
  145. package/dist/index272.js +5 -4
  146. package/dist/index272.js.map +1 -1
  147. package/dist/index273.js +4 -37
  148. package/dist/index273.js.map +1 -1
  149. package/dist/index274.js +11 -20
  150. package/dist/index274.js.map +1 -1
  151. package/dist/index275.js +21 -8
  152. package/dist/index275.js.map +1 -1
  153. package/dist/index276.js +16 -9
  154. package/dist/index276.js.map +1 -1
  155. package/dist/index277.js +11 -24
  156. package/dist/index277.js.map +1 -1
  157. package/dist/index278.js +8 -29
  158. package/dist/index278.js.map +1 -1
  159. package/dist/index279.js +142 -14
  160. package/dist/index279.js.map +1 -1
  161. package/dist/index28.js +1 -1
  162. package/dist/index280.js +79 -19
  163. package/dist/index280.js.map +1 -1
  164. package/dist/index281.js +60 -65
  165. package/dist/index281.js.map +1 -1
  166. package/dist/index282.js +15 -7
  167. package/dist/index282.js.map +1 -1
  168. package/dist/index283.js +20 -6
  169. package/dist/index283.js.map +1 -1
  170. package/dist/index284.js +6 -11
  171. package/dist/index284.js.map +1 -1
  172. package/dist/index285.js +11 -3
  173. package/dist/index285.js.map +1 -1
  174. package/dist/index286.js +3 -50
  175. package/dist/index286.js.map +1 -1
  176. package/dist/index287.js +51 -4
  177. package/dist/index287.js.map +1 -1
  178. package/dist/index288.js +12 -25
  179. package/dist/index288.js.map +1 -1
  180. package/dist/index289.js +19 -14
  181. package/dist/index289.js.map +1 -1
  182. package/dist/index29.js +3 -56
  183. package/dist/index29.js.map +1 -1
  184. package/dist/index290.js +53 -5
  185. package/dist/index290.js.map +1 -1
  186. package/dist/index291.js +20 -21
  187. package/dist/index291.js.map +1 -1
  188. package/dist/index292.js +41 -53
  189. package/dist/index292.js.map +1 -1
  190. package/dist/index293.js +38 -19
  191. package/dist/index293.js.map +1 -1
  192. package/dist/index294.js +46 -42
  193. package/dist/index294.js.map +1 -1
  194. package/dist/index295.js +19 -38
  195. package/dist/index295.js.map +1 -1
  196. package/dist/index296.js +71 -46
  197. package/dist/index296.js.map +1 -1
  198. package/dist/index297.js +17 -20
  199. package/dist/index297.js.map +1 -1
  200. package/dist/index298.js +3 -70
  201. package/dist/index298.js.map +1 -1
  202. package/dist/index299.js +12 -16
  203. package/dist/index299.js.map +1 -1
  204. package/dist/index3.js +2 -2
  205. package/dist/index30.js +242 -3
  206. package/dist/index30.js.map +1 -1
  207. package/dist/index300.js +18 -3
  208. package/dist/index300.js.map +1 -1
  209. package/dist/index301.js +36 -11
  210. package/dist/index301.js.map +1 -1
  211. package/dist/index302.js +238 -12
  212. package/dist/index302.js.map +1 -1
  213. package/dist/index303.js +249 -15
  214. package/dist/index303.js.map +1 -1
  215. package/dist/index304.js +67 -35
  216. package/dist/index304.js.map +1 -1
  217. package/dist/index305.js +77 -233
  218. package/dist/index305.js.map +1 -1
  219. package/dist/index306.js +3 -252
  220. package/dist/index306.js.map +1 -1
  221. package/dist/index307.js +29 -68
  222. package/dist/index307.js.map +1 -1
  223. package/dist/index308.js +16 -99
  224. package/dist/index308.js.map +1 -1
  225. package/dist/index309.js +33 -82
  226. package/dist/index309.js.map +1 -1
  227. package/dist/index31.js +21 -239
  228. package/dist/index31.js.map +1 -1
  229. package/dist/index310.js +17 -3
  230. package/dist/index310.js.map +1 -1
  231. package/dist/index311.js +3 -29
  232. package/dist/index311.js.map +1 -1
  233. package/dist/index312.js +26 -16
  234. package/dist/index312.js.map +1 -1
  235. package/dist/index313.js +28 -34
  236. package/dist/index313.js.map +1 -1
  237. package/dist/index314.js +4 -18
  238. package/dist/index314.js.map +1 -1
  239. package/dist/index315.js +78 -3
  240. package/dist/index315.js.map +1 -1
  241. package/dist/index316.js +269 -23
  242. package/dist/index316.js.map +1 -1
  243. package/dist/index317.js +10 -27
  244. package/dist/index317.js.map +1 -1
  245. package/dist/index318.js +11 -4
  246. package/dist/index318.js.map +1 -1
  247. package/dist/index319.js +24 -77
  248. package/dist/index319.js.map +1 -1
  249. package/dist/index32.js +4 -23
  250. package/dist/index32.js.map +1 -1
  251. package/dist/index320.js +15 -271
  252. package/dist/index320.js.map +1 -1
  253. package/dist/index321.js +125 -11
  254. package/dist/index321.js.map +1 -1
  255. package/dist/index322.js +5 -10
  256. package/dist/index322.js.map +1 -1
  257. package/dist/index323.js +64 -24
  258. package/dist/index323.js.map +1 -1
  259. package/dist/index324.js +14 -17
  260. package/dist/index324.js.map +1 -1
  261. package/dist/index325.js +7 -125
  262. package/dist/index325.js.map +1 -1
  263. package/dist/index326.js +5 -5
  264. package/dist/index326.js.map +1 -1
  265. package/dist/index327.js +3 -65
  266. package/dist/index327.js.map +1 -1
  267. package/dist/index328.js +10 -13
  268. package/dist/index328.js.map +1 -1
  269. package/dist/index329.js +7 -7
  270. package/dist/index329.js.map +1 -1
  271. package/dist/index33.js +6 -3
  272. package/dist/index33.js.map +1 -1
  273. package/dist/index330.js +399 -5
  274. package/dist/index330.js.map +1 -1
  275. package/dist/index331.js +5 -4
  276. package/dist/index331.js.map +1 -1
  277. package/dist/index332.js +52 -10
  278. package/dist/index332.js.map +1 -1
  279. package/dist/index333.js +10 -6
  280. package/dist/index333.js.map +1 -1
  281. package/dist/index334.js +22 -128
  282. package/dist/index334.js.map +1 -1
  283. package/dist/index335.js +11 -399
  284. package/dist/index335.js.map +1 -1
  285. package/dist/index336.js +155 -5
  286. package/dist/index336.js.map +1 -1
  287. package/dist/index337.js +31 -51
  288. package/dist/index337.js.map +1 -1
  289. package/dist/index338.js +11 -11
  290. package/dist/index338.js.map +1 -1
  291. package/dist/index339.js +45 -23
  292. package/dist/index339.js.map +1 -1
  293. package/dist/index34.js +38 -8
  294. package/dist/index34.js.map +1 -1
  295. package/dist/index340.js +9 -11
  296. package/dist/index340.js.map +1 -1
  297. package/dist/index341.js +11 -8
  298. package/dist/index341.js.map +1 -1
  299. package/dist/index342.js +43 -11
  300. package/dist/index342.js.map +1 -1
  301. package/dist/index343.js +96 -7
  302. package/dist/index343.js.map +1 -1
  303. package/dist/index344.js +84 -11
  304. package/dist/index344.js.map +1 -1
  305. package/dist/index345.js +105 -3
  306. package/dist/index345.js.map +1 -1
  307. package/dist/index346.js +52 -3
  308. package/dist/index346.js.map +1 -1
  309. package/dist/index347.js +10 -16
  310. package/dist/index347.js.map +1 -1
  311. package/dist/index348.js +4 -61
  312. package/dist/index348.js.map +1 -1
  313. package/dist/index349.js +34 -63
  314. package/dist/index349.js.map +1 -1
  315. package/dist/index35.js +74 -35
  316. package/dist/index35.js.map +1 -1
  317. package/dist/index350.js +8 -51
  318. package/dist/index350.js.map +1 -1
  319. package/dist/index351.js +135 -5
  320. package/dist/index351.js.map +1 -1
  321. package/dist/index352.js +17 -8
  322. package/dist/index352.js.map +1 -1
  323. package/dist/index353.js +16 -5
  324. package/dist/index353.js.map +1 -1
  325. package/dist/index354.js +3 -11
  326. package/dist/index354.js.map +1 -1
  327. package/dist/index355.js +34 -19
  328. package/dist/index355.js.map +1 -1
  329. package/dist/index356.js +20 -16
  330. package/dist/index356.js.map +1 -1
  331. package/dist/index357.js +10 -8
  332. package/dist/index357.js.map +1 -1
  333. package/dist/index358.js +8 -144
  334. package/dist/index358.js.map +1 -1
  335. package/dist/index359.js +22 -77
  336. package/dist/index359.js.map +1 -1
  337. package/dist/index36.js +20 -74
  338. package/dist/index36.js.map +1 -1
  339. package/dist/index360.js +28 -61
  340. package/dist/index360.js.map +1 -1
  341. package/dist/index361.js +17 -15
  342. package/dist/index361.js.map +1 -1
  343. package/dist/index363.js +5 -5
  344. package/dist/index365.js +8 -4
  345. package/dist/index365.js.map +1 -1
  346. package/dist/index366.js +27 -21
  347. package/dist/index366.js.map +1 -1
  348. package/dist/index367.js +138 -4
  349. package/dist/index367.js.map +1 -1
  350. package/dist/index368.js +11 -10
  351. package/dist/index368.js.map +1 -1
  352. package/dist/index369.js +46 -5
  353. package/dist/index369.js.map +1 -1
  354. package/dist/index37.js +33 -18
  355. package/dist/index37.js.map +1 -1
  356. package/dist/index370.js +4 -3
  357. package/dist/index370.js.map +1 -1
  358. package/dist/index371.js +20 -19
  359. package/dist/index371.js.map +1 -1
  360. package/dist/index372.js +75 -44
  361. package/dist/index372.js.map +1 -1
  362. package/dist/index373.js +11 -17
  363. package/dist/index373.js.map +1 -1
  364. package/dist/index374.js +4 -5
  365. package/dist/index374.js.map +1 -1
  366. package/dist/index375.js +70 -197
  367. package/dist/index375.js.map +1 -1
  368. package/dist/index376.js +197 -70
  369. package/dist/index376.js.map +1 -1
  370. package/dist/index377.js +66 -118
  371. package/dist/index377.js.map +1 -1
  372. package/dist/index378.js +35 -8
  373. package/dist/index378.js.map +1 -1
  374. package/dist/index379.js +7 -27
  375. package/dist/index379.js.map +1 -1
  376. package/dist/index38.js +26 -36
  377. package/dist/index38.js.map +1 -1
  378. package/dist/index380.js +14 -136
  379. package/dist/index380.js.map +1 -1
  380. package/dist/index381.js +121 -10
  381. package/dist/index381.js.map +1 -1
  382. package/dist/index382.js +4 -47
  383. package/dist/index382.js.map +1 -1
  384. package/dist/index383.js +11 -3
  385. package/dist/index383.js.map +1 -1
  386. package/dist/index384.js +5 -21
  387. package/dist/index384.js.map +1 -1
  388. package/dist/index385.js +3 -76
  389. package/dist/index385.js.map +1 -1
  390. package/dist/index386.js +21 -12
  391. package/dist/index386.js.map +1 -1
  392. package/dist/index387.js +45 -4
  393. package/dist/index387.js.map +1 -1
  394. package/dist/index388.js +16 -70
  395. package/dist/index388.js.map +1 -1
  396. package/dist/index389.js +5 -36
  397. package/dist/index389.js.map +1 -1
  398. package/dist/index39.js +21 -26
  399. package/dist/index39.js.map +1 -1
  400. package/dist/index390.js +5 -7
  401. package/dist/index390.js.map +1 -1
  402. package/dist/index391.js +20 -15
  403. package/dist/index391.js.map +1 -1
  404. package/dist/index399.js +2 -2
  405. package/dist/index4.js +2 -2
  406. package/dist/index40.js +56 -20
  407. package/dist/index40.js.map +1 -1
  408. package/dist/index409.js +3 -3
  409. package/dist/index409.js.map +1 -1
  410. package/dist/index41.js +51 -59
  411. package/dist/index41.js.map +1 -1
  412. package/dist/index410.js +15 -3
  413. package/dist/index410.js.map +1 -1
  414. package/dist/index411.js +488 -11
  415. package/dist/index411.js.map +1 -1
  416. package/dist/index412.js +3 -3
  417. package/dist/index412.js.map +1 -1
  418. package/dist/index413.js +3 -492
  419. package/dist/index413.js.map +1 -1
  420. package/dist/index414.js +5 -68
  421. package/dist/index414.js.map +1 -1
  422. package/dist/index415.js +55 -30
  423. package/dist/index415.js.map +1 -1
  424. package/dist/index416.js +68 -9
  425. package/dist/index416.js.map +1 -1
  426. package/dist/index417.js +26 -148
  427. package/dist/index417.js.map +1 -1
  428. package/dist/index418.js +9 -108
  429. package/dist/index418.js.map +1 -1
  430. package/dist/index419.js +153 -5
  431. package/dist/index419.js.map +1 -1
  432. package/dist/index42.js +21 -50
  433. package/dist/index42.js.map +1 -1
  434. package/dist/index420.js +106 -54
  435. package/dist/index420.js.map +1 -1
  436. package/dist/index421.js +32 -7
  437. package/dist/index421.js.map +1 -1
  438. package/dist/index422.js +8 -2
  439. package/dist/index422.js.map +1 -1
  440. package/dist/index423.js +2 -44
  441. package/dist/index423.js.map +1 -1
  442. package/dist/index424.js +40 -52
  443. package/dist/index424.js.map +1 -1
  444. package/dist/index425.js +55 -7
  445. package/dist/index425.js.map +1 -1
  446. package/dist/index426.js +8 -2
  447. package/dist/index426.js.map +1 -1
  448. package/dist/index427.js +2 -55
  449. package/dist/index427.js.map +1 -1
  450. package/dist/index428.js +52 -53
  451. package/dist/index428.js.map +1 -1
  452. package/dist/index429.js +55 -32
  453. package/dist/index429.js.map +1 -1
  454. package/dist/index43.js +127 -18
  455. package/dist/index43.js.map +1 -1
  456. package/dist/index44.js +39 -122
  457. package/dist/index44.js.map +1 -1
  458. package/dist/index45.js +85 -42
  459. package/dist/index45.js.map +1 -1
  460. package/dist/index46.js +123 -87
  461. package/dist/index46.js.map +1 -1
  462. package/dist/index47.js +5 -126
  463. package/dist/index47.js.map +1 -1
  464. package/dist/index48.js +332 -5
  465. package/dist/index48.js.map +1 -1
  466. package/dist/index49.js +246 -321
  467. package/dist/index49.js.map +1 -1
  468. package/dist/index5.js +2 -2
  469. package/dist/index50.js +23 -254
  470. package/dist/index50.js.map +1 -1
  471. package/dist/index51.js +129 -25
  472. package/dist/index51.js.map +1 -1
  473. package/dist/index52.js +24 -129
  474. package/dist/index52.js.map +1 -1
  475. package/dist/index53.js +19 -22
  476. package/dist/index53.js.map +1 -1
  477. package/dist/index54.js +134 -19
  478. package/dist/index54.js.map +1 -1
  479. package/dist/index55.js +30 -133
  480. package/dist/index55.js.map +1 -1
  481. package/dist/index56.js +24 -30
  482. package/dist/index56.js.map +1 -1
  483. package/dist/index57.js +38 -26
  484. package/dist/index57.js.map +1 -1
  485. package/dist/index58.js +19 -39
  486. package/dist/index58.js.map +1 -1
  487. package/dist/index59.js +133 -18
  488. package/dist/index59.js.map +1 -1
  489. package/dist/index6.js +4 -4
  490. package/dist/index60.js +49 -134
  491. package/dist/index60.js.map +1 -1
  492. package/dist/index61.js +25 -48
  493. package/dist/index61.js.map +1 -1
  494. package/dist/index62.js +57 -28
  495. package/dist/index62.js.map +1 -1
  496. package/dist/index63.js +56 -57
  497. package/dist/index63.js.map +1 -1
  498. package/dist/index64.js +5 -5
  499. package/dist/index64.js.map +1 -1
  500. package/dist/index66.js +22 -10
  501. package/dist/index66.js.map +1 -1
  502. package/dist/index67.js +232 -17
  503. package/dist/index67.js.map +1 -1
  504. package/dist/index68.js +5 -5
  505. package/dist/index68.js.map +1 -1
  506. package/dist/index7.js +11 -11
  507. package/dist/index70.js +10 -22
  508. package/dist/index70.js.map +1 -1
  509. package/dist/index71.js +17 -232
  510. package/dist/index71.js.map +1 -1
  511. package/dist/index76.js +1 -1
  512. package/dist/index77.js +2 -2
  513. package/dist/index77.js.map +1 -1
  514. package/dist/index78.js +2 -2
  515. package/dist/index78.js.map +1 -1
  516. package/dist/index8.js +2 -2
  517. package/dist/index9.js +1 -1
  518. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index429.js","sources":["../node_modules/@base-ui/utils/platform/shared.mjs"],"sourcesContent":["/**\n * Reads `navigator.userAgent` / `navigator.platform` (legacy but universally\n * supported) into a normalized shape. In development, prefers the modern\n * `navigator.userAgentData` API on Chromium to avoid DevTools warnings about\n * the deprecated reads; that branch is dead-code-eliminated in production\n * builds to keep the bundle small.\n *\n * Returns empty/zero values when `navigator` is undefined (SSR), so every\n * derived flag safely evaluates to `false`.\n */\nfunction readRawData() {\n if (typeof navigator === 'undefined') {\n return {\n userAgent: '',\n platform: '',\n maxTouchPoints: 0\n };\n }\n if (process.env.NODE_ENV !== 'production') {\n const uaData = navigator.userAgentData;\n if (uaData && Array.isArray(uaData.brands)) {\n return {\n userAgent: uaData.brands.map(({\n brand,\n version\n }) => `${brand}/${version}`).join(' '),\n platform: uaData.platform ?? navigator.platform ?? '',\n maxTouchPoints: navigator.maxTouchPoints ?? 0\n };\n }\n }\n return {\n userAgent: navigator.userAgent,\n platform: navigator.platform ?? '',\n maxTouchPoints: navigator.maxTouchPoints ?? 0\n };\n}\nconst {\n userAgent,\n platform,\n maxTouchPoints\n} = readRawData();\nexport const lowerUserAgent = userAgent.toLowerCase();\nexport const lowerPlatform = platform.toLowerCase();\nexport { maxTouchPoints };"],"names":["readRawData","uaData","brand","version","userAgent","platform","maxTouchPoints","lowerUserAgent","lowerPlatform"],"mappings":"AAUA,SAASA,IAAc;AACrB,MAAI,OAAO,YAAc;AACvB,WAAO;AAAA,MACL,WAAW;AAAA,MACX,UAAU;AAAA,MACV,gBAAgB;AAAA,IACtB;AAEE,MAAI,QAAQ,IAAI,aAAa,cAAc;AACzC,UAAMC,IAAS,UAAU;AACzB,QAAIA,KAAU,MAAM,QAAQA,EAAO,MAAM;AACvC,aAAO;AAAA,QACL,WAAWA,EAAO,OAAO,IAAI,CAAC;AAAA,UAC5B,OAAAC;AAAA,UACA,SAAAC;AAAA,QACV,MAAc,GAAGD,CAAK,IAAIC,CAAO,EAAE,EAAE,KAAK,GAAG;AAAA,QACrC,UAAUF,EAAO,YAAY,UAAU,YAAY;AAAA,QACnD,gBAAgB,UAAU,kBAAkB;AAAA,MACpD;AAAA,EAEE;AACA,SAAO;AAAA,IACL,WAAW,UAAU;AAAA,IACrB,UAAU,UAAU,YAAY;AAAA,IAChC,gBAAgB,UAAU,kBAAkB;AAAA,EAChD;AACA;AACK,MAAC;AAAA,EACJ,WAAAG;AAAA,EACA,UAAAC;AAAA,EACA,gBAAAC;AACF,IAAIN,EAAW,GACFO,IAAiBH,EAAU,YAAW,GACtCI,IAAgBH,EAAS,YAAW;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index429.js","sources":["../../../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js"],"sourcesContent":["/**\n * @license React\n * use-sync-external-store-shim/with-selector.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n function is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n }\n \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&\n \"function\" ===\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart &&\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());\n var React = require(\"react\"),\n shim = require(\"use-sync-external-store/shim\"),\n objectIs = \"function\" === typeof Object.is ? Object.is : is,\n useSyncExternalStore = shim.useSyncExternalStore,\n useRef = React.useRef,\n useEffect = React.useEffect,\n useMemo = React.useMemo,\n useDebugValue = React.useDebugValue;\n exports.useSyncExternalStoreWithSelector = function (\n subscribe,\n getSnapshot,\n getServerSnapshot,\n selector,\n isEqual\n ) {\n var instRef = useRef(null);\n if (null === instRef.current) {\n var inst = { hasValue: !1, value: null };\n instRef.current = inst;\n } else inst = instRef.current;\n instRef = useMemo(\n function () {\n function memoizedSelector(nextSnapshot) {\n if (!hasMemo) {\n hasMemo = !0;\n memoizedSnapshot = nextSnapshot;\n nextSnapshot = selector(nextSnapshot);\n if (void 0 !== isEqual && inst.hasValue) {\n var currentSelection = inst.value;\n if (isEqual(currentSelection, nextSnapshot))\n return (memoizedSelection = currentSelection);\n }\n return (memoizedSelection = nextSnapshot);\n }\n currentSelection = memoizedSelection;\n if (objectIs(memoizedSnapshot, nextSnapshot))\n return currentSelection;\n var nextSelection = selector(nextSnapshot);\n if (void 0 !== isEqual && isEqual(currentSelection, nextSelection))\n return (memoizedSnapshot = nextSnapshot), currentSelection;\n memoizedSnapshot = nextSnapshot;\n return (memoizedSelection = nextSelection);\n }\n var hasMemo = !1,\n memoizedSnapshot,\n memoizedSelection,\n maybeGetServerSnapshot =\n void 0 === getServerSnapshot ? null : getServerSnapshot;\n return [\n function () {\n return memoizedSelector(getSnapshot());\n },\n null === maybeGetServerSnapshot\n ? void 0\n : function () {\n return memoizedSelector(maybeGetServerSnapshot());\n }\n ];\n },\n [getSnapshot, getServerSnapshot, selector, isEqual]\n );\n var value = useSyncExternalStore(subscribe, instRef[0], instRef[1]);\n useEffect(\n function () {\n inst.hasValue = !0;\n inst.value = value;\n },\n [value]\n );\n useDebugValue(value);\n return value;\n };\n \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&\n \"function\" ===\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());\n })();\n"],"names":["is","x","y","React","require$$0","shim","require$$1","objectIs","useSyncExternalStore","useRef","useEffect","useMemo","useDebugValue","withSelector_development","subscribe","getSnapshot","getServerSnapshot","selector","isEqual","instRef","inst","memoizedSelector","nextSnapshot","hasMemo","memoizedSnapshot","currentSelection","memoizedSelection","nextSelection","maybeGetServerSnapshot","value"],"mappings":";;;;;yBAWiB,QAAQ,IAAI,aAA7B,iBACG,WAAY;AACX,aAASA,EAAGC,GAAGC,GAAG;AAChB,aAAQD,MAAMC,MAAYD,MAAN,KAAW,IAAIA,MAAM,IAAIC,MAAQD,MAAMA,KAAKC,MAAMA;AAAA,IAC5E;AACI,IAAgB,OAAO,iCAAvB,OAEI,OAAO,+BAA+B,+BADxC,cAEA,+BAA+B,4BAA4B,OAAO;AACpE,QAAIC,IAAQC,GACVC,IAAOC,EAAA,GACPC,IAA0B,OAAO,OAAO,MAA7B,aAAkC,OAAO,KAAKP,GACzDQ,IAAuBH,EAAK,sBAC5BI,IAASN,EAAM,QACfO,IAAYP,EAAM,WAClBQ,IAAUR,EAAM,SAChBS,IAAgBT,EAAM;AACxB,IAAAU,qCAA2C,SACzCC,GACAC,GACAC,GACAC,GACAC,GACA;AACA,UAAIC,IAAUV,EAAO,IAAI;AACzB,UAAaU,EAAQ,YAAjB,MAA0B;AAC5B,YAAIC,IAAO,EAAE,UAAU,IAAI,OAAO,KAAI;AACtC,QAAAD,EAAQ,UAAUC;AAAA,MAC1B,MAAa,CAAAA,IAAOD,EAAQ;AACtB,MAAAA,IAAUR;AAAA,QACR,WAAY;AACV,mBAASU,EAAiBC,GAAc;AACtC,gBAAI,CAACC,GAAS;AAIZ,kBAHAA,IAAU,IACVC,IAAmBF,GACnBA,IAAeL,EAASK,CAAY,GACrBJ,MAAX,UAAsBE,EAAK,UAAU;AACvC,oBAAIK,IAAmBL,EAAK;AAC5B,oBAAIF,EAAQO,GAAkBH,CAAY;AACxC,yBAAQI,IAAoBD;AAAA,cAC9C;AACc,qBAAQC,IAAoBJ;AAAA,YAC1C;AAEY,gBADAG,IAAmBC,GACfnB,EAASiB,GAAkBF,CAAY;AACzC,qBAAOG;AACT,gBAAIE,IAAgBV,EAASK,CAAY;AACzC,mBAAeJ,MAAX,UAAsBA,EAAQO,GAAkBE,CAAa,KACvDH,IAAmBF,GAAeG,MAC5CD,IAAmBF,GACXI,IAAoBC;AAAA,UACxC;AACU,cAAIJ,IAAU,IACZC,GACAE,GACAE,IACaZ,MAAX,SAA+B,OAAOA;AAC1C,iBAAO;AAAA,YACL,WAAY;AACV,qBAAOK,EAAiBN,GAAa;AAAA,YACnD;AAAA,YACqBa,MAAT,OACI,SACA,WAAY;AACV,qBAAOP,EAAiBO,GAAwB;AAAA,YAClE;AAAA;QAEA;AAAA,QACQ,CAACb,GAAaC,GAAmBC,GAAUC,CAAO;AAAA;AAEpD,UAAIW,IAAQrB,EAAqBM,GAAWK,EAAQ,CAAC,GAAGA,EAAQ,CAAC,CAAC;AAClE,aAAAT;AAAA,QACE,WAAY;AACV,UAAAU,EAAK,WAAW,IAChBA,EAAK,QAAQS;AAAA,QACvB;AAAA,QACQ,CAACA,CAAK;AAAA,SAERjB,EAAciB,CAAK,GACZA;AAAA,IACb,GACoB,OAAO,iCAAvB,OAEI,OAAO,+BAA+B,8BADxC,cAEA,+BAA+B,2BAA2B,OAAO;AAAA,EACvE,GAAG;;","x_google_ignoreList":[0]}
package/dist/index43.js CHANGED
@@ -1,25 +1,134 @@
1
- const n = {
2
- en: {
3
- lengthTooLong: (e) => e ? `This number looks too long for ${e}.` : "This number looks too long.",
4
- noMatches: "No matching countries",
5
- selectCountryLabel: "Select a country",
6
- selectedCountryLabel: (e) => e ? `${e} flag` : "Selected country"
7
- },
8
- fr: {
9
- lengthTooLong: (e) => e ? `This number looks too long for ${e}.` : "This number looks too long.",
10
- noMatches: "Aucun pays correspondant",
11
- selectCountryLabel: "Select a country",
12
- selectedCountryLabel: (e) => e ? `${e} flag` : "Selected country"
1
+ import { getCountryList as E } from "./index76.js";
2
+ import { getCountryCallingCode as s } from "./index47.js";
3
+ const f = "US", u = E(), c = /* @__PURE__ */ new Map(), m = "__default_locale__", _ = Array.from(new Set(u.map((e) => s(e)))).sort((e, t) => t.length - e.length);
4
+ _.reduce((e, t) => Math.max(e, t.length), 0);
5
+ const O = ["0011", "001", "011", "00", "810"];
6
+ function y(e) {
7
+ return e && u.includes(e) ? e : f;
8
+ }
9
+ function C(e) {
10
+ if (typeof Intl > "u" || typeof Intl.DisplayNames > "u")
11
+ return null;
12
+ try {
13
+ const t = Array.isArray(e) ? e : e ? [e] : void 0;
14
+ return new Intl.DisplayNames(t, {
15
+ type: "region"
16
+ });
17
+ } catch {
18
+ return null;
13
19
  }
14
- };
15
- function a(e, s) {
16
- const t = (Array.isArray(e) ? e : e ? [e] : []).map((o) => o.split("-")[0]?.toLowerCase()).find((o) => o && n[o]);
20
+ }
21
+ function N(e) {
22
+ const t = C(e), r = C("en");
23
+ return u.map((n) => {
24
+ const a = s(n), o = t?.of(n) ?? r?.of(n) ?? n, i = r?.of(n) ?? o, g = T(n), l = Array.from(new Set([o, i, n.toUpperCase(), n.toLowerCase(), ...g].filter(Boolean)));
25
+ return {
26
+ value: n,
27
+ name: o,
28
+ dialCode: a,
29
+ label: `${o} (+${a})`,
30
+ flag: A(n),
31
+ searchableTokens: l,
32
+ normalizedSearchableTokens: l.map((p) => U(p))
33
+ };
34
+ }).sort((n, a) => {
35
+ const o = d(n.value), i = d(a.value);
36
+ return o !== i ? o - i : n.name.localeCompare(a.name);
37
+ });
38
+ }
39
+ function d(e) {
40
+ return e === "US" ? 0 : e === "CA" ? 1 : s(e) === "1" ? 2 : 3;
41
+ }
42
+ function R(e) {
43
+ return e ? Array.isArray(e) ? e.join("\0") : e : m;
44
+ }
45
+ function b(e) {
46
+ if (e !== m) {
47
+ if (e.includes("\0")) {
48
+ const t = e.split("\0").filter(Boolean);
49
+ return t.length === 0 ? void 0 : t.length === 1 ? t[0] ?? void 0 : t;
50
+ }
51
+ return e;
52
+ }
53
+ }
54
+ function L(e, t) {
55
+ const r = c.get(t);
56
+ if (r)
57
+ return r;
58
+ const n = N(e);
59
+ return c.set(t, n), n;
60
+ }
61
+ function v(e) {
17
62
  return {
18
- ...n[t ?? "en"] ?? n.en,
19
- ...s ?? {}
63
+ code: e.value,
64
+ name: e.name,
65
+ dialCode: e.dialCode,
66
+ flag: e.flag
20
67
  };
21
68
  }
69
+ function F(e) {
70
+ return {
71
+ code: e,
72
+ name: e,
73
+ dialCode: s(e),
74
+ flag: A(e)
75
+ };
76
+ }
77
+ function A(e) {
78
+ const t = e?.toUpperCase();
79
+ if (!t || t.length !== 2 || /[^A-Z]/.test(t))
80
+ return "";
81
+ const r = 127397;
82
+ return String.fromCodePoint(t.charCodeAt(0) + r, t.charCodeAt(1) + r);
83
+ }
84
+ const S = /[\u0300-\u036f]/g;
85
+ function h(e) {
86
+ return e.normalize("NFD").replace(S, "");
87
+ }
88
+ function U(e) {
89
+ return h(e).toLowerCase();
90
+ }
91
+ function B(e, t) {
92
+ let r = Number.MAX_SAFE_INTEGER;
93
+ for (const n of e) {
94
+ const a = n.indexOf(t);
95
+ a >= 0 && a < r && (r = a);
96
+ }
97
+ return r === Number.MAX_SAFE_INTEGER ? Number.MAX_SAFE_INTEGER : r;
98
+ }
99
+ function T(e) {
100
+ switch (e) {
101
+ case "US":
102
+ return ["USA", "United States", "America", "United States of America"];
103
+ case "GB":
104
+ return ["UK", "United Kingdom", "Great Britain", "England"];
105
+ case "AE":
106
+ return ["UAE", "United Arab Emirates"];
107
+ case "KR":
108
+ return ["South Korea", "Korea"];
109
+ case "CN":
110
+ return ["China", "PRC"];
111
+ case "CD":
112
+ return ["DRC", "Congo-Kinshasa"];
113
+ case "CG":
114
+ return ["Congo-Brazzaville"];
115
+ case "BR":
116
+ return ["Brazil"];
117
+ default:
118
+ return [];
119
+ }
120
+ }
22
121
  export {
23
- a as resolveMessages
122
+ O as COMMON_IDD_PREFIXES,
123
+ _ as COUNTRY_DIAL_CODES,
124
+ f as DEFAULT_COUNTRY,
125
+ F as buildFallbackSelectedCountry,
126
+ L as getCachedCountryOptions,
127
+ R as getLocaleCacheKey,
128
+ y as getValidCountry,
129
+ U as normalizeSearchValue,
130
+ B as optionMatchIndex,
131
+ b as parseLocaleCacheKey,
132
+ v as toSelectedCountry
24
133
  };
25
134
  //# sourceMappingURL=index43.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index43.js","sources":["../src/components/PhoneNumberInput/messages.ts"],"sourcesContent":["import type { PhoneNumberInputMessages } from \"./types\"\n\n\nconst MESSAGE_DICTIONARY: Record<string, PhoneNumberInputMessages> = {\n en: {\n lengthTooLong: (country) =>\n country ? `This number looks too long for ${country}.` : \"This number looks too long.\",\n noMatches: \"No matching countries\",\n selectCountryLabel: \"Select a country\",\n selectedCountryLabel: (country) => (country ? `${country} flag` : \"Selected country\"),\n },\n fr: {\n lengthTooLong: (country) =>\n country\n ? `This number looks too long for ${country}.`\n : \"This number looks too long.\",\n noMatches: \"Aucun pays correspondant\",\n selectCountryLabel: \"Select a country\",\n selectedCountryLabel: (country) => (country ? `${country} flag` : \"Selected country\"),\n },\n}\n\nexport function resolveMessages(\n locale: string | string[] | undefined,\n overrides?: Partial<PhoneNumberInputMessages>\n): PhoneNumberInputMessages {\n const locales = Array.isArray(locale) ? locale : locale ? [locale] : []\n const preferred = locales\n .map((entry) => entry.split(\"-\")[0]?.toLowerCase())\n .find((code) => code && MESSAGE_DICTIONARY[code])\n const base = MESSAGE_DICTIONARY[preferred ?? \"en\"] ?? MESSAGE_DICTIONARY.en\n return {\n ...base,\n ...(overrides ?? {}),\n }\n}\n\n"],"names":["MESSAGE_DICTIONARY","en","lengthTooLong","country","noMatches","selectCountryLabel","selectedCountryLabel","fr","resolveMessages","locale","overrides","preferred","Array","isArray","map","entry","split","toLowerCase","find","code"],"mappings":"AAGA,MAAMA,IAA+D;AAAA,EACnEC,IAAI;AAAA,IACFC,eAAgBC,CAAAA,MACdA,IAAU,kCAAkCA,CAAO,MAAM;AAAA,IAC3DC,WAAW;AAAA,IACXC,oBAAoB;AAAA,IACpBC,sBAAuBH,CAAAA,MAAaA,IAAU,GAAGA,CAAO,UAAU;AAAA,EAAA;AAAA,EAEpEI,IAAI;AAAA,IACFL,eAAgBC,CAAAA,MACdA,IACI,kCAAkCA,CAAO,MACzC;AAAA,IACNC,WAAW;AAAA,IACXC,oBAAoB;AAAA,IACpBC,sBAAuBH,CAAAA,MAAaA,IAAU,GAAGA,CAAO,UAAU;AAAA,EAAA;AAEtE;AAEO,SAASK,EACdC,GACAC,GAC0B;AAE1B,QAAMC,KADUC,MAAMC,QAAQJ,CAAM,IAAIA,IAASA,IAAS,CAACA,CAAM,IAAI,CAAA,GAElEK,IAAKC,OAAUA,EAAMC,MAAM,GAAG,EAAE,CAAC,GAAGC,YAAAA,CAAa,EACjDC,KAAMC,OAASA,KAAQnB,EAAmBmB,CAAI,CAAC;AAElD,SAAO;AAAA,IACL,GAFWnB,EAAmBW,KAAa,IAAI,KAAKX,EAAmBC;AAAAA,IAGvE,GAAIS,KAAa,CAAA;AAAA,EAAC;AAEtB;"}
1
+ {"version":3,"file":"index43.js","sources":["../src/components/PhoneNumberInput/country-options.ts"],"sourcesContent":["import type { CountryCode } from \"libphonenumber-js\"\nimport { getCountryCallingCode } from \"libphonenumber-js\"\n\nimport type { CountryOption, PhoneNumberSelectedCountry } from \"./types\"\nimport { getCountryList } from \"./countries\"\n\n\nexport const DEFAULT_COUNTRY: CountryCode = \"US\"\nconst COUNTRY_OPTIONS = getCountryList()\n\nconst COUNTRY_OPTIONS_CACHE = new Map<string, CountryOption[]>()\nconst DEFAULT_LOCALE_CACHE_KEY = \"__default_locale__\"\nexport const COUNTRY_DIAL_CODES = Array.from(\n new Set(COUNTRY_OPTIONS.map((code) => getCountryCallingCode(code)))\n).sort((a, b) => b.length - a.length)\nexport const MAX_DIAL_CODE_LENGTH = COUNTRY_DIAL_CODES.reduce(\n (max, dial) => Math.max(max, dial.length),\n 0\n)\nexport const COMMON_IDD_PREFIXES = [\"0011\", \"001\", \"011\", \"00\", \"810\"]\n\nexport function getValidCountry(input: CountryCode | undefined) {\n if (!input) {\n return DEFAULT_COUNTRY\n }\n\n return COUNTRY_OPTIONS.includes(input) ? input : DEFAULT_COUNTRY\n}\n\nfunction createDisplayNames(locale?: string | string[]) {\n if (typeof Intl === \"undefined\" || typeof Intl.DisplayNames === \"undefined\") {\n return null\n }\n\n try {\n const locales = Array.isArray(locale) ? locale : locale ? [locale] : undefined\n return new Intl.DisplayNames(locales, { type: \"region\" })\n } catch {\n return null\n }\n}\n\nfunction buildCountryOptions(locale?: string | string[]) {\n const displayNames = createDisplayNames(locale)\n const englishDisplayNames = createDisplayNames(\"en\")\n\n return COUNTRY_OPTIONS\n .map((country) => {\n const dialCode = getCountryCallingCode(country)\n const localizedName = displayNames?.of(country) ?? englishDisplayNames?.of(country) ?? country\n const englishName = englishDisplayNames?.of(country) ?? localizedName\n const aliasTokens = getCountryAliases(country)\n const searchableTokens = Array.from(\n new Set(\n [localizedName, englishName, country.toUpperCase(), country.toLowerCase(), ...aliasTokens].filter(\n Boolean\n )\n )\n ) as string[]\n return {\n value: country,\n name: localizedName,\n dialCode,\n label: `${localizedName} (+${dialCode})`,\n flag: countryCodeToFlagEmoji(country),\n searchableTokens,\n normalizedSearchableTokens: searchableTokens.map((token) => normalizeSearchValue(token)),\n }\n })\n .sort((a, b) => {\n const priorityA = getCountryPriority(a.value)\n const priorityB = getCountryPriority(b.value)\n if (priorityA !== priorityB) {\n return priorityA - priorityB\n }\n return a.name.localeCompare(b.name)\n })\n}\n\nfunction getCountryPriority(code: CountryCode) {\n if (code === \"US\") return 0\n if (code === \"CA\") return 1\n if (getCountryCallingCode(code) === \"1\") return 2\n return 3\n}\n\nexport function getLocaleCacheKey(locale?: string | string[]) {\n if (!locale) {\n return DEFAULT_LOCALE_CACHE_KEY\n }\n if (Array.isArray(locale)) {\n return locale.join(\"\\u0000\")\n }\n return locale\n}\n\nexport function parseLocaleCacheKey(cacheKey: string): string | string[] | undefined {\n if (cacheKey === DEFAULT_LOCALE_CACHE_KEY) {\n return undefined\n }\n\n if (cacheKey.includes(\"\\u0000\")) {\n const parts = cacheKey.split(\"\\u0000\").filter(Boolean)\n if (parts.length === 0) {\n return undefined\n }\n if (parts.length === 1) {\n return parts[0] ?? undefined\n }\n return parts\n }\n\n return cacheKey\n}\n\nexport function getCachedCountryOptions(locale: string | string[] | undefined, cacheKey: string) {\n const cached = COUNTRY_OPTIONS_CACHE.get(cacheKey)\n if (cached) {\n return cached\n }\n const built = buildCountryOptions(locale)\n COUNTRY_OPTIONS_CACHE.set(cacheKey, built)\n return built\n}\n\nexport function toSelectedCountry(option: CountryOption): PhoneNumberSelectedCountry {\n return {\n code: option.value,\n name: option.name,\n dialCode: option.dialCode,\n flag: option.flag,\n }\n}\n\nexport function buildFallbackSelectedCountry(country: CountryCode): PhoneNumberSelectedCountry {\n return {\n code: country,\n name: country,\n dialCode: getCountryCallingCode(country),\n flag: countryCodeToFlagEmoji(country),\n }\n}\n\nfunction countryCodeToFlagEmoji(country: CountryCode) {\n const upper = country?.toUpperCase()\n\n if (!upper || upper.length !== 2 || /[^A-Z]/.test(upper)) {\n return \"\"\n }\n\n const base = 127397\n return String.fromCodePoint(\n upper.charCodeAt(0) + base,\n upper.charCodeAt(1) + base\n )\n}\n\nconst DIACRITICS_REGEX = /[\\u0300-\\u036f]/g\n\nfunction stripDiacritics(value: string) {\n return value.normalize(\"NFD\").replace(DIACRITICS_REGEX, \"\")\n}\n\nexport function normalizeSearchValue(value: string) {\n return stripDiacritics(value).toLowerCase()\n}\n\nexport function optionMatchIndex(tokens: string[], query: string) {\n let best = Number.MAX_SAFE_INTEGER\n for (const token of tokens) {\n const index = token.indexOf(query)\n if (index >= 0 && index < best) {\n best = index\n }\n }\n return best === Number.MAX_SAFE_INTEGER ? Number.MAX_SAFE_INTEGER : best\n}\n\nfunction getCountryAliases(code: CountryCode): string[] {\n switch (code) {\n case \"US\":\n return [\"USA\", \"United States\", \"America\", \"United States of America\"]\n case \"GB\":\n return [\"UK\", \"United Kingdom\", \"Great Britain\", \"England\"]\n case \"AE\":\n return [\"UAE\", \"United Arab Emirates\"]\n case \"KR\":\n return [\"South Korea\", \"Korea\"]\n case \"CN\":\n return [\"China\", \"PRC\"]\n case \"CD\":\n return [\"DRC\", \"Congo-Kinshasa\"]\n case \"CG\":\n return [\"Congo-Brazzaville\"]\n case \"BR\":\n return [\"Brazil\"]\n default:\n return []\n }\n}\n\n"],"names":["DEFAULT_COUNTRY","COUNTRY_OPTIONS","getCountryList","COUNTRY_OPTIONS_CACHE","Map","DEFAULT_LOCALE_CACHE_KEY","COUNTRY_DIAL_CODES","Array","from","Set","map","code","getCountryCallingCode","sort","a","b","length","reduce","max","dial","Math","COMMON_IDD_PREFIXES","getValidCountry","input","includes","createDisplayNames","locale","Intl","DisplayNames","locales","isArray","undefined","type","buildCountryOptions","displayNames","englishDisplayNames","country","dialCode","localizedName","of","englishName","aliasTokens","getCountryAliases","searchableTokens","toUpperCase","toLowerCase","filter","Boolean","value","name","label","flag","countryCodeToFlagEmoji","normalizedSearchableTokens","token","normalizeSearchValue","priorityA","getCountryPriority","priorityB","localeCompare","getLocaleCacheKey","join","parseLocaleCacheKey","cacheKey","parts","split","getCachedCountryOptions","cached","get","built","set","toSelectedCountry","option","buildFallbackSelectedCountry","upper","test","base","String","fromCodePoint","charCodeAt","DIACRITICS_REGEX","stripDiacritics","normalize","replace","optionMatchIndex","tokens","query","best","Number","MAX_SAFE_INTEGER","index","indexOf"],"mappings":"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"}
package/dist/index44.js CHANGED
@@ -1,134 +1,51 @@
1
- import { getCountryList as E } from "./index76.js";
2
- import { getCountryCallingCode as s } from "./index48.js";
3
- const f = "US", u = E(), c = /* @__PURE__ */ new Map(), m = "__default_locale__", _ = Array.from(new Set(u.map((e) => s(e)))).sort((e, t) => t.length - e.length);
4
- _.reduce((e, t) => Math.max(e, t.length), 0);
5
- const O = ["0011", "001", "011", "00", "810"];
6
- function y(e) {
7
- return e && u.includes(e) ? e : f;
8
- }
9
- function C(e) {
10
- if (typeof Intl > "u" || typeof Intl.DisplayNames > "u")
11
- return null;
12
- try {
13
- const t = Array.isArray(e) ? e : e ? [e] : void 0;
14
- return new Intl.DisplayNames(t, {
15
- type: "region"
16
- });
17
- } catch {
18
- return null;
19
- }
1
+ import { AsYouType as u } from "./index77.js";
2
+ import { validatePhoneNumberLength as a } from "./index78.js";
3
+ function l(t) {
4
+ return t.replace(/\D/g, "");
5
+ }
6
+ const f = {
7
+ GG: "GB",
8
+ JE: "GB",
9
+ IM: "GB"
10
+ };
11
+ function m(t) {
12
+ if (t)
13
+ return f[t] ?? t;
20
14
  }
21
- function N(e) {
22
- const t = C(e), r = C("en");
23
- return u.map((n) => {
24
- const a = s(n), o = t?.of(n) ?? r?.of(n) ?? n, i = r?.of(n) ?? o, g = T(n), l = Array.from(new Set([o, i, n.toUpperCase(), n.toLowerCase(), ...g].filter(Boolean)));
15
+ function N(t, n) {
16
+ if (t === "+")
25
17
  return {
26
- value: n,
27
- name: o,
28
- dialCode: a,
29
- label: `${o} (+${a})`,
30
- flag: A(n),
31
- searchableTokens: l,
32
- normalizedSearchableTokens: l.map((p) => U(p))
18
+ international: "+",
19
+ national: "",
20
+ formatted: "+",
21
+ phoneNumber: null,
22
+ detectedCountry: void 0
33
23
  };
34
- }).sort((n, a) => {
35
- const o = d(n.value), i = d(a.value);
36
- return o !== i ? o - i : n.name.localeCompare(a.name);
37
- });
38
- }
39
- function d(e) {
40
- return e === "US" ? 0 : e === "CA" ? 1 : s(e) === "1" ? 2 : 3;
41
- }
42
- function R(e) {
43
- return e ? Array.isArray(e) ? e.join("\0") : e : m;
44
- }
45
- function b(e) {
46
- if (e !== m) {
47
- if (e.includes("\0")) {
48
- const t = e.split("\0").filter(Boolean);
49
- return t.length === 0 ? void 0 : t.length === 1 ? t[0] ?? void 0 : t;
50
- }
51
- return e;
52
- }
53
- }
54
- function L(e, t) {
55
- const r = c.get(t);
56
- if (r)
57
- return r;
58
- const n = N(e);
59
- return c.set(t, n), n;
60
- }
61
- function v(e) {
62
- return {
63
- code: e.value,
64
- name: e.name,
65
- dialCode: e.dialCode,
66
- flag: e.flag
67
- };
68
- }
69
- function F(e) {
24
+ const r = n ? new u(n) : new u(), o = r.input(t), e = r.getNumber(), c = m(e?.country ?? r.country ?? void 0), i = e?.formatInternational() ?? o, s = e?.formatNational() ?? l(i);
70
25
  return {
71
- code: e,
72
- name: e,
73
- dialCode: s(e),
74
- flag: A(e)
26
+ international: i,
27
+ national: s,
28
+ formatted: o,
29
+ phoneNumber: e,
30
+ detectedCountry: c
75
31
  };
76
32
  }
77
- function A(e) {
78
- const t = e?.toUpperCase();
79
- if (!t || t.length !== 2 || /[^A-Z]/.test(t))
80
- return "";
81
- const r = 127397;
82
- return String.fromCodePoint(t.charCodeAt(0) + r, t.charCodeAt(1) + r);
83
- }
84
- const S = /[\u0300-\u036f]/g;
85
- function h(e) {
86
- return e.normalize("NFD").replace(S, "");
87
- }
88
- function U(e) {
89
- return h(e).toLowerCase();
33
+ function O(t, n) {
34
+ return t.startsWith(n) ? t.slice(n.length) : t;
90
35
  }
91
- function B(e, t) {
92
- let r = Number.MAX_SAFE_INTEGER;
93
- for (const n of e) {
94
- const a = n.indexOf(t);
95
- a >= 0 && a < r && (r = a);
96
- }
97
- return r === Number.MAX_SAFE_INTEGER ? Number.MAX_SAFE_INTEGER : r;
98
- }
99
- function T(e) {
100
- switch (e) {
101
- case "US":
102
- return ["USA", "United States", "America", "United States of America"];
103
- case "GB":
104
- return ["UK", "United Kingdom", "Great Britain", "England"];
105
- case "AE":
106
- return ["UAE", "United Arab Emirates"];
107
- case "KR":
108
- return ["South Korea", "Korea"];
109
- case "CN":
110
- return ["China", "PRC"];
111
- case "CD":
112
- return ["DRC", "Congo-Kinshasa"];
113
- case "CG":
114
- return ["Congo-Brazzaville"];
115
- case "BR":
116
- return ["Brazil"];
117
- default:
118
- return [];
36
+ function d(t, n) {
37
+ if (!n || !t)
38
+ return null;
39
+ try {
40
+ return a(t, n) === "TOO_LONG" ? "TOO_LONG" : null;
41
+ } catch {
42
+ return null;
119
43
  }
120
44
  }
121
45
  export {
122
- O as COMMON_IDD_PREFIXES,
123
- _ as COUNTRY_DIAL_CODES,
124
- f as DEFAULT_COUNTRY,
125
- F as buildFallbackSelectedCountry,
126
- L as getCachedCountryOptions,
127
- R as getLocaleCacheKey,
128
- y as getValidCountry,
129
- U as normalizeSearchValue,
130
- B as optionMatchIndex,
131
- b as parseLocaleCacheKey,
132
- v as toSelectedCountry
46
+ N as formatWithAsYouType,
47
+ d as getLengthIssue,
48
+ l as sanitizeDigits,
49
+ O as stripPrefix
133
50
  };
134
51
  //# sourceMappingURL=index44.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index44.js","sources":["../src/components/PhoneNumberInput/country-options.ts"],"sourcesContent":["import type { CountryCode } from \"libphonenumber-js\"\nimport { getCountryCallingCode } from \"libphonenumber-js\"\n\nimport type { CountryOption, PhoneNumberSelectedCountry } from \"./types\"\nimport { getCountryList } from \"./countries\"\n\n\nexport const DEFAULT_COUNTRY: CountryCode = \"US\"\nconst COUNTRY_OPTIONS = getCountryList()\n\nconst COUNTRY_OPTIONS_CACHE = new Map<string, CountryOption[]>()\nconst DEFAULT_LOCALE_CACHE_KEY = \"__default_locale__\"\nexport const COUNTRY_DIAL_CODES = Array.from(\n new Set(COUNTRY_OPTIONS.map((code) => getCountryCallingCode(code)))\n).sort((a, b) => b.length - a.length)\nexport const MAX_DIAL_CODE_LENGTH = COUNTRY_DIAL_CODES.reduce(\n (max, dial) => Math.max(max, dial.length),\n 0\n)\nexport const COMMON_IDD_PREFIXES = [\"0011\", \"001\", \"011\", \"00\", \"810\"]\n\nexport function getValidCountry(input: CountryCode | undefined) {\n if (!input) {\n return DEFAULT_COUNTRY\n }\n\n return COUNTRY_OPTIONS.includes(input) ? input : DEFAULT_COUNTRY\n}\n\nfunction createDisplayNames(locale?: string | string[]) {\n if (typeof Intl === \"undefined\" || typeof Intl.DisplayNames === \"undefined\") {\n return null\n }\n\n try {\n const locales = Array.isArray(locale) ? locale : locale ? [locale] : undefined\n return new Intl.DisplayNames(locales, { type: \"region\" })\n } catch {\n return null\n }\n}\n\nfunction buildCountryOptions(locale?: string | string[]) {\n const displayNames = createDisplayNames(locale)\n const englishDisplayNames = createDisplayNames(\"en\")\n\n return COUNTRY_OPTIONS\n .map((country) => {\n const dialCode = getCountryCallingCode(country)\n const localizedName = displayNames?.of(country) ?? englishDisplayNames?.of(country) ?? country\n const englishName = englishDisplayNames?.of(country) ?? localizedName\n const aliasTokens = getCountryAliases(country)\n const searchableTokens = Array.from(\n new Set(\n [localizedName, englishName, country.toUpperCase(), country.toLowerCase(), ...aliasTokens].filter(\n Boolean\n )\n )\n ) as string[]\n return {\n value: country,\n name: localizedName,\n dialCode,\n label: `${localizedName} (+${dialCode})`,\n flag: countryCodeToFlagEmoji(country),\n searchableTokens,\n normalizedSearchableTokens: searchableTokens.map((token) => normalizeSearchValue(token)),\n }\n })\n .sort((a, b) => {\n const priorityA = getCountryPriority(a.value)\n const priorityB = getCountryPriority(b.value)\n if (priorityA !== priorityB) {\n return priorityA - priorityB\n }\n return a.name.localeCompare(b.name)\n })\n}\n\nfunction getCountryPriority(code: CountryCode) {\n if (code === \"US\") return 0\n if (code === \"CA\") return 1\n if (getCountryCallingCode(code) === \"1\") return 2\n return 3\n}\n\nexport function getLocaleCacheKey(locale?: string | string[]) {\n if (!locale) {\n return DEFAULT_LOCALE_CACHE_KEY\n }\n if (Array.isArray(locale)) {\n return locale.join(\"\\u0000\")\n }\n return locale\n}\n\nexport function parseLocaleCacheKey(cacheKey: string): string | string[] | undefined {\n if (cacheKey === DEFAULT_LOCALE_CACHE_KEY) {\n return undefined\n }\n\n if (cacheKey.includes(\"\\u0000\")) {\n const parts = cacheKey.split(\"\\u0000\").filter(Boolean)\n if (parts.length === 0) {\n return undefined\n }\n if (parts.length === 1) {\n return parts[0] ?? undefined\n }\n return parts\n }\n\n return cacheKey\n}\n\nexport function getCachedCountryOptions(locale: string | string[] | undefined, cacheKey: string) {\n const cached = COUNTRY_OPTIONS_CACHE.get(cacheKey)\n if (cached) {\n return cached\n }\n const built = buildCountryOptions(locale)\n COUNTRY_OPTIONS_CACHE.set(cacheKey, built)\n return built\n}\n\nexport function toSelectedCountry(option: CountryOption): PhoneNumberSelectedCountry {\n return {\n code: option.value,\n name: option.name,\n dialCode: option.dialCode,\n flag: option.flag,\n }\n}\n\nexport function buildFallbackSelectedCountry(country: CountryCode): PhoneNumberSelectedCountry {\n return {\n code: country,\n name: country,\n dialCode: getCountryCallingCode(country),\n flag: countryCodeToFlagEmoji(country),\n }\n}\n\nfunction countryCodeToFlagEmoji(country: CountryCode) {\n const upper = country?.toUpperCase()\n\n if (!upper || upper.length !== 2 || /[^A-Z]/.test(upper)) {\n return \"\"\n }\n\n const base = 127397\n return String.fromCodePoint(\n upper.charCodeAt(0) + base,\n upper.charCodeAt(1) + base\n )\n}\n\nconst DIACRITICS_REGEX = /[\\u0300-\\u036f]/g\n\nfunction stripDiacritics(value: string) {\n return value.normalize(\"NFD\").replace(DIACRITICS_REGEX, \"\")\n}\n\nexport function normalizeSearchValue(value: string) {\n return stripDiacritics(value).toLowerCase()\n}\n\nexport function optionMatchIndex(tokens: string[], query: string) {\n let best = Number.MAX_SAFE_INTEGER\n for (const token of tokens) {\n const index = token.indexOf(query)\n if (index >= 0 && index < best) {\n best = index\n }\n }\n return best === Number.MAX_SAFE_INTEGER ? Number.MAX_SAFE_INTEGER : best\n}\n\nfunction getCountryAliases(code: CountryCode): string[] {\n switch (code) {\n case \"US\":\n return [\"USA\", \"United States\", \"America\", \"United States of America\"]\n case \"GB\":\n return [\"UK\", \"United Kingdom\", \"Great Britain\", \"England\"]\n case \"AE\":\n return [\"UAE\", \"United Arab Emirates\"]\n case \"KR\":\n return [\"South Korea\", \"Korea\"]\n case \"CN\":\n return [\"China\", \"PRC\"]\n case \"CD\":\n return [\"DRC\", \"Congo-Kinshasa\"]\n case \"CG\":\n return [\"Congo-Brazzaville\"]\n case \"BR\":\n return [\"Brazil\"]\n default:\n return []\n }\n}\n\n"],"names":["DEFAULT_COUNTRY","COUNTRY_OPTIONS","getCountryList","COUNTRY_OPTIONS_CACHE","Map","DEFAULT_LOCALE_CACHE_KEY","COUNTRY_DIAL_CODES","Array","from","Set","map","code","getCountryCallingCode","sort","a","b","length","reduce","max","dial","Math","COMMON_IDD_PREFIXES","getValidCountry","input","includes","createDisplayNames","locale","Intl","DisplayNames","locales","isArray","undefined","type","buildCountryOptions","displayNames","englishDisplayNames","country","dialCode","localizedName","of","englishName","aliasTokens","getCountryAliases","searchableTokens","toUpperCase","toLowerCase","filter","Boolean","value","name","label","flag","countryCodeToFlagEmoji","normalizedSearchableTokens","token","normalizeSearchValue","priorityA","getCountryPriority","priorityB","localeCompare","getLocaleCacheKey","join","parseLocaleCacheKey","cacheKey","parts","split","getCachedCountryOptions","cached","get","built","set","toSelectedCountry","option","buildFallbackSelectedCountry","upper","test","base","String","fromCodePoint","charCodeAt","DIACRITICS_REGEX","stripDiacritics","normalize","replace","optionMatchIndex","tokens","query","best","Number","MAX_SAFE_INTEGER","index","indexOf"],"mappings":"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"}
1
+ {"version":3,"file":"index44.js","sources":["../src/components/PhoneNumberInput/normalization.ts"],"sourcesContent":["import type { CountryCode } from \"libphonenumber-js\"\nimport { AsYouType, validatePhoneNumberLength } from \"libphonenumber-js\"\n\n\nexport type LengthIssue = \"TOO_LONG\"\n\nexport function sanitizeDigits(value: string) {\n return value.replace(/\\D/g, \"\")\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\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 }\n }\n\n const formatter = baseCountry ? new AsYouType(baseCountry) : new AsYouType()\n const formatted = formatter.input(value)\n const phoneNumber = formatter.getNumber()\n const detectedCountry = canonicalizeDetectedCountry(\n (phoneNumber?.country ?? formatter.country ?? undefined) as CountryCode | undefined\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 }\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"],"names":["sanitizeDigits","value","replace","DETECTED_COUNTRY_OVERRIDES","GG","JE","IM","canonicalizeDetectedCountry","candidate","formatWithAsYouType","baseCountry","international","national","formatted","phoneNumber","detectedCountry","undefined","formatter","AsYouType","input","getNumber","country","formatInternational","formatNational","stripPrefix","prefix","startsWith","slice","length","getLengthIssue","validatePhoneNumberLength"],"mappings":";;AAMO,SAASA,EAAeC,GAAe;AAC5C,SAAOA,EAAMC,QAAQ,OAAO,EAAE;AAChC;AAEA,MAAMC,IAAwE;AAAA,EAC5EC,IAAI;AAAA,EACJC,IAAI;AAAA,EACJC,IAAI;AACN;AAEA,SAASC,EAA4BC,GAA6D;AAChG,MAAKA;AAGL,WAAOL,EAA2BK,CAAS,KAAKA;AAClD;AAEO,SAASC,EAAoBR,GAAeS,GAA2B;AAC5E,MAAIT,MAAU;AACZ,WAAO;AAAA,MACLU,eAAe;AAAA,MACfC,UAAU;AAAA,MACVC,WAAW;AAAA,MACXC,aAAa;AAAA,MACbC,iBAAiBC;AAAAA,IAAAA;AAIrB,QAAMC,IAAYP,IAAc,IAAIQ,EAAUR,CAAW,IAAI,IAAIQ,EAAAA,GAC3DL,IAAYI,EAAUE,MAAMlB,CAAK,GACjCa,IAAcG,EAAUG,UAAAA,GACxBL,IAAkBR,EACrBO,GAAaO,WAAWJ,EAAUI,WAAWL,MAChD,GACML,IAAgBG,GAAaQ,oBAAAA,KAAyBT,GACtDD,IAAWE,GAAaS,eAAAA,KAAoBvB,EAAeW,CAAa;AAE9E,SAAO;AAAA,IACLA,eAAAA;AAAAA,IACAC,UAAAA;AAAAA,IACAC,WAAAA;AAAAA,IACAC,aAAAA;AAAAA,IACAC,iBAAAA;AAAAA,EAAAA;AAEJ;AAEO,SAASS,EAAYvB,GAAewB,GAAgB;AACzD,SAAOxB,EAAMyB,WAAWD,CAAM,IAAIxB,EAAM0B,MAAMF,EAAOG,MAAM,IAAI3B;AACjE;AAEO,SAAS4B,EAAe5B,GAAeoB,GAAsD;AAClG,MAAI,CAACA,KAAW,CAACpB;AACf,WAAO;AAGT,MAAI;AAEF,WADe6B,EAA0B7B,GAAOoB,CAAO,MACrC,aAAa,aAAa;AAAA,EAC9C,QAAQ;AACN,WAAO;AAAA,EACT;AACF;"}
package/dist/index45.js CHANGED
@@ -1,51 +1,94 @@
1
- import { AsYouType as u } from "./index77.js";
2
- import { validatePhoneNumberLength as a } from "./index78.js";
3
- function l(t) {
4
- return t.replace(/\D/g, "");
5
- }
6
- const f = {
7
- GG: "GB",
8
- JE: "GB",
9
- IM: "GB"
10
- };
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;
33
+ }
34
+ return n;
35
+ }
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
+ }
11
46
  function m(t) {
12
- if (t)
13
- return f[t] ?? t;
14
- }
15
- function N(t, n) {
16
- if (t === "+")
17
- return {
18
- international: "+",
19
- national: "",
20
- formatted: "+",
21
- phoneNumber: null,
22
- detectedCountry: void 0
23
- };
24
- const r = n ? new u(n) : new u(), o = r.input(t), e = r.getNumber(), c = m(e?.country ?? r.country ?? void 0), i = e?.formatInternational() ?? o, s = e?.formatNational() ?? l(i);
47
+ const {
48
+ value: e
49
+ } = t, n = t.selectionStart ?? e.length, r = t.selectionEnd ?? n, i = n <= 1 && e.startsWith("+"), o = r <= 1 && e.startsWith("+");
25
50
  return {
26
- international: i,
27
- national: s,
28
- formatted: o,
29
- phoneNumber: e,
30
- detectedCountry: c
51
+ selectionStart: n,
52
+ selectionEnd: r,
53
+ startDigits: l(e, n),
54
+ endDigits: l(e, r),
55
+ preserveStartIndex: i,
56
+ preserveEndIndex: o,
57
+ wasAtStart: n === 0,
58
+ wasAtEnd: r === e.length
31
59
  };
32
60
  }
33
- function O(t, n) {
34
- return t.startsWith(n) ? t.slice(n.length) : t;
35
- }
36
- function d(t, n) {
37
- if (!n || !t)
38
- return null;
39
- try {
40
- return a(t, n) === "TOO_LONG" ? "TOO_LONG" : null;
41
- } catch {
42
- return null;
61
+ function u(t, e) {
62
+ if (t.selectionStart === t.selectionEnd) {
63
+ if (t.wasAtEnd) {
64
+ const f = e.length;
65
+ return {
66
+ start: f,
67
+ end: f
68
+ };
69
+ }
70
+ if (t.wasAtStart)
71
+ return {
72
+ start: 0,
73
+ end: 0
74
+ };
43
75
  }
76
+ 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);
77
+ let i = n, o = r;
78
+ t.wasAtStart && (i = 0), t.wasAtEnd && (o = e.length), t.selectionStart === t.selectionEnd && (i = o);
79
+ const d = Math.min(Math.max(i, 0), e.length), s = Math.min(Math.max(o, 0), e.length);
80
+ return d > s ? {
81
+ start: s,
82
+ end: s
83
+ } : {
84
+ start: d,
85
+ end: s
86
+ };
44
87
  }
45
88
  export {
46
- N as formatWithAsYouType,
47
- d as getLengthIssue,
48
- l as sanitizeDigits,
49
- O as stripPrefix
89
+ m as captureSelectionSnapshot,
90
+ u as resolveSelection,
91
+ h as skipFormattingCharactersLeft,
92
+ S as skipFormattingCharactersRight
50
93
  };
51
94
  //# sourceMappingURL=index45.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index45.js","sources":["../src/components/PhoneNumberInput/normalization.ts"],"sourcesContent":["import type { CountryCode } from \"libphonenumber-js\"\nimport { AsYouType, validatePhoneNumberLength } from \"libphonenumber-js\"\n\n\nexport type LengthIssue = \"TOO_LONG\"\n\nexport function sanitizeDigits(value: string) {\n return value.replace(/\\D/g, \"\")\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\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 }\n }\n\n const formatter = baseCountry ? new AsYouType(baseCountry) : new AsYouType()\n const formatted = formatter.input(value)\n const phoneNumber = formatter.getNumber()\n const detectedCountry = canonicalizeDetectedCountry(\n (phoneNumber?.country ?? formatter.country ?? undefined) as CountryCode | undefined\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 }\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"],"names":["sanitizeDigits","value","replace","DETECTED_COUNTRY_OVERRIDES","GG","JE","IM","canonicalizeDetectedCountry","candidate","formatWithAsYouType","baseCountry","international","national","formatted","phoneNumber","detectedCountry","undefined","formatter","AsYouType","input","getNumber","country","formatInternational","formatNational","stripPrefix","prefix","startsWith","slice","length","getLengthIssue","validatePhoneNumberLength"],"mappings":";;AAMO,SAASA,EAAeC,GAAe;AAC5C,SAAOA,EAAMC,QAAQ,OAAO,EAAE;AAChC;AAEA,MAAMC,IAAwE;AAAA,EAC5EC,IAAI;AAAA,EACJC,IAAI;AAAA,EACJC,IAAI;AACN;AAEA,SAASC,EAA4BC,GAA6D;AAChG,MAAKA;AAGL,WAAOL,EAA2BK,CAAS,KAAKA;AAClD;AAEO,SAASC,EAAoBR,GAAeS,GAA2B;AAC5E,MAAIT,MAAU;AACZ,WAAO;AAAA,MACLU,eAAe;AAAA,MACfC,UAAU;AAAA,MACVC,WAAW;AAAA,MACXC,aAAa;AAAA,MACbC,iBAAiBC;AAAAA,IAAAA;AAIrB,QAAMC,IAAYP,IAAc,IAAIQ,EAAUR,CAAW,IAAI,IAAIQ,EAAAA,GAC3DL,IAAYI,EAAUE,MAAMlB,CAAK,GACjCa,IAAcG,EAAUG,UAAAA,GACxBL,IAAkBR,EACrBO,GAAaO,WAAWJ,EAAUI,WAAWL,MAChD,GACML,IAAgBG,GAAaQ,oBAAAA,KAAyBT,GACtDD,IAAWE,GAAaS,eAAAA,KAAoBvB,EAAeW,CAAa;AAE9E,SAAO;AAAA,IACLA,eAAAA;AAAAA,IACAC,UAAAA;AAAAA,IACAC,WAAAA;AAAAA,IACAC,aAAAA;AAAAA,IACAC,iBAAAA;AAAAA,EAAAA;AAEJ;AAEO,SAASS,EAAYvB,GAAewB,GAAgB;AACzD,SAAOxB,EAAMyB,WAAWD,CAAM,IAAIxB,EAAM0B,MAAMF,EAAOG,MAAM,IAAI3B;AACjE;AAEO,SAAS4B,EAAe5B,GAAeoB,GAAsD;AAClG,MAAI,CAACA,KAAW,CAACpB;AACf,WAAO;AAGT,MAAI;AAEF,WADe6B,EAA0B7B,GAAOoB,CAAO,MACrC,aAAa,aAAa;AAAA,EAC9C,QAAQ;AACN,WAAO;AAAA,EACT;AACF;"}
1
+ {"version":3,"file":"index45.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","charCodeAt","countDigitsBefore","value","index","count","limit","Math","min","length","position","findIndexForDigitCount","digitCount","startsWith","seen","isFormattingCharacter","skipFormattingCharactersLeft","next","skipFormattingCharactersRight","captureSelectionSnapshot","input","selectionStart","selectionEnd","preserveStartIndex","preserveEndIndex","startDigits","endDigits","wasAtStart","wasAtEnd","resolveSelection","snapshot","end","start","resolvedStart","resolvedEnd","clampedStart","max","clampedEnd"],"mappings":"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"}