@rpcbase/ui 0.220.0 → 0.221.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 (394) hide show
  1. package/dist/index10.js +3 -3
  2. package/dist/index100.js +5 -4
  3. package/dist/index100.js.map +1 -1
  4. package/dist/index101.js +4 -8
  5. package/dist/index101.js.map +1 -1
  6. package/dist/index102.js +8 -5
  7. package/dist/index102.js.map +1 -1
  8. package/dist/index103.js +5 -4
  9. package/dist/index103.js.map +1 -1
  10. package/dist/index104.js +3 -3
  11. package/dist/index104.js.map +1 -1
  12. package/dist/index105.js +4 -6
  13. package/dist/index105.js.map +1 -1
  14. package/dist/index106.js +6 -145
  15. package/dist/index106.js.map +1 -1
  16. package/dist/index107.js +144 -38
  17. package/dist/index107.js.map +1 -1
  18. package/dist/index108.js +39 -4
  19. package/dist/index108.js.map +1 -1
  20. package/dist/index109.js +4 -7
  21. package/dist/index109.js.map +1 -1
  22. package/dist/index11.js +2 -2
  23. package/dist/index110.js +6 -12
  24. package/dist/index110.js.map +1 -1
  25. package/dist/index111.js +13 -13
  26. package/dist/index111.js.map +1 -1
  27. package/dist/index112.js +13 -7
  28. package/dist/index112.js.map +1 -1
  29. package/dist/index113.js +6 -30
  30. package/dist/index113.js.map +1 -1
  31. package/dist/index114.js +31 -10
  32. package/dist/index114.js.map +1 -1
  33. package/dist/index115.js +10 -10
  34. package/dist/index115.js.map +1 -1
  35. package/dist/index116.js +10 -8
  36. package/dist/index116.js.map +1 -1
  37. package/dist/index117.js +8 -13
  38. package/dist/index117.js.map +1 -1
  39. package/dist/index118.js +13 -101
  40. package/dist/index118.js.map +1 -1
  41. package/dist/index119.js +102 -20
  42. package/dist/index119.js.map +1 -1
  43. package/dist/index12.js +3 -3
  44. package/dist/index120.js +20 -54
  45. package/dist/index120.js.map +1 -1
  46. package/dist/index121.js +51 -70
  47. package/dist/index121.js.map +1 -1
  48. package/dist/index122.js +72 -9
  49. package/dist/index122.js.map +1 -1
  50. package/dist/index123.js +9 -20
  51. package/dist/index123.js.map +1 -1
  52. package/dist/index124.js +20 -16
  53. package/dist/index124.js.map +1 -1
  54. package/dist/index125.js +16 -23
  55. package/dist/index125.js.map +1 -1
  56. package/dist/index126.js +23 -6
  57. package/dist/index126.js.map +1 -1
  58. package/dist/index127.js +6 -5
  59. package/dist/index127.js.map +1 -1
  60. package/dist/index128.js +5 -23
  61. package/dist/index128.js.map +1 -1
  62. package/dist/index129.js +24 -35
  63. package/dist/index129.js.map +1 -1
  64. package/dist/index13.js +2 -2
  65. package/dist/index130.js +35 -16
  66. package/dist/index130.js.map +1 -1
  67. package/dist/index131.js +16 -7
  68. package/dist/index131.js.map +1 -1
  69. package/dist/index132.js +6 -4
  70. package/dist/index132.js.map +1 -1
  71. package/dist/index133.js +4 -4
  72. package/dist/index133.js.map +1 -1
  73. package/dist/index134.js +4 -4
  74. package/dist/index134.js.map +1 -1
  75. package/dist/index135.js +4 -4
  76. package/dist/index135.js.map +1 -1
  77. package/dist/index136.js +4 -3
  78. package/dist/index136.js.map +1 -1
  79. package/dist/index137.js +3 -6
  80. package/dist/index137.js.map +1 -1
  81. package/dist/index138.js +7 -24
  82. package/dist/index138.js.map +1 -1
  83. package/dist/index139.js +24 -8
  84. package/dist/index139.js.map +1 -1
  85. package/dist/index14.js +2 -2
  86. package/dist/index140.js +7 -6
  87. package/dist/index140.js.map +1 -1
  88. package/dist/index141.js +6 -5
  89. package/dist/index141.js.map +1 -1
  90. package/dist/index142.js +5 -3
  91. package/dist/index142.js.map +1 -1
  92. package/dist/index143.js +3 -3
  93. package/dist/index143.js.map +1 -1
  94. package/dist/index144.js +3 -4
  95. package/dist/index144.js.map +1 -1
  96. package/dist/index145.js +4 -3
  97. package/dist/index145.js.map +1 -1
  98. package/dist/index146.js +3 -4
  99. package/dist/index146.js.map +1 -1
  100. package/dist/index147.js +4 -3
  101. package/dist/index147.js.map +1 -1
  102. package/dist/index148.js +3 -3
  103. package/dist/index148.js.map +1 -1
  104. package/dist/index149.js +3 -3
  105. package/dist/index149.js.map +1 -1
  106. package/dist/index15.js +2 -2
  107. package/dist/index150.js +3 -46
  108. package/dist/index150.js.map +1 -1
  109. package/dist/index151.js +5 -46
  110. package/dist/index151.js.map +1 -1
  111. package/dist/index152.js +62 -223
  112. package/dist/index152.js.map +1 -1
  113. package/dist/index153.js +2 -22
  114. package/dist/index153.js.map +1 -1
  115. package/dist/index154.js +363 -24
  116. package/dist/index154.js.map +1 -1
  117. package/dist/index155.js +243 -382
  118. package/dist/index155.js.map +1 -1
  119. package/dist/index156.js +60 -5
  120. package/dist/index156.js.map +1 -1
  121. package/dist/index157.js +40 -62
  122. package/dist/index157.js.map +1 -1
  123. package/dist/index158.js +170 -2
  124. package/dist/index158.js.map +1 -1
  125. package/dist/index159.js +102 -356
  126. package/dist/index159.js.map +1 -1
  127. package/dist/index16.js +2 -2
  128. package/dist/index160.js +24 -261
  129. package/dist/index160.js.map +1 -1
  130. package/dist/index161.js +8 -61
  131. package/dist/index161.js.map +1 -1
  132. package/dist/index162.js +4 -46
  133. package/dist/index162.js.map +1 -1
  134. package/dist/index163.js +5 -169
  135. package/dist/index163.js.map +1 -1
  136. package/dist/index164.js +4 -109
  137. package/dist/index164.js.map +1 -1
  138. package/dist/index165.js +466 -24
  139. package/dist/index165.js.map +1 -1
  140. package/dist/index166.js +186 -8
  141. package/dist/index166.js.map +1 -1
  142. package/dist/index167.js +107 -4
  143. package/dist/index167.js.map +1 -1
  144. package/dist/index168.js +262 -5
  145. package/dist/index168.js.map +1 -1
  146. package/dist/index169.js +9 -4
  147. package/dist/index169.js.map +1 -1
  148. package/dist/index17.js +1 -1
  149. package/dist/index170.js +38 -462
  150. package/dist/index170.js.map +1 -1
  151. package/dist/index171.js +4 -185
  152. package/dist/index171.js.map +1 -1
  153. package/dist/index172.js +42 -103
  154. package/dist/index172.js.map +1 -1
  155. package/dist/index173.js +220 -253
  156. package/dist/index173.js.map +1 -1
  157. package/dist/index174.js +22 -10
  158. package/dist/index174.js.map +1 -1
  159. package/dist/index175.js +24 -42
  160. package/dist/index175.js.map +1 -1
  161. package/dist/index176.js +400 -4
  162. package/dist/index176.js.map +1 -1
  163. package/dist/index18.js +7 -7
  164. package/dist/index181.js +1 -1
  165. package/dist/index19.js +3 -3
  166. package/dist/index21.js +1 -1
  167. package/dist/index22.js +2 -2
  168. package/dist/index228.js +1 -1
  169. package/dist/index229.js +1 -1
  170. package/dist/index23.js +1 -1
  171. package/dist/index231.js +1 -1
  172. package/dist/index233.js +1 -1
  173. package/dist/index234.js +1 -1
  174. package/dist/index235.js +4 -4
  175. package/dist/index236.js +2 -2
  176. package/dist/index237.js +12 -23
  177. package/dist/index237.js.map +1 -1
  178. package/dist/index238.js +155 -29
  179. package/dist/index238.js.map +1 -1
  180. package/dist/index239.js +31 -5
  181. package/dist/index239.js.map +1 -1
  182. package/dist/index24.js +1 -1
  183. package/dist/index240.js +9 -13
  184. package/dist/index240.js.map +1 -1
  185. package/dist/index241.js +41 -147
  186. package/dist/index241.js.map +1 -1
  187. package/dist/index242.js +10 -29
  188. package/dist/index242.js.map +1 -1
  189. package/dist/index243.js +44 -9
  190. package/dist/index243.js.map +1 -1
  191. package/dist/index244.js +88 -41
  192. package/dist/index244.js.map +1 -1
  193. package/dist/index245.js +85 -10
  194. package/dist/index245.js.map +1 -1
  195. package/dist/index246.js +102 -41
  196. package/dist/index246.js.map +1 -1
  197. package/dist/index247.js +45 -88
  198. package/dist/index247.js.map +1 -1
  199. package/dist/index248.js +10 -85
  200. package/dist/index248.js.map +1 -1
  201. package/dist/index249.js +28 -96
  202. package/dist/index249.js.map +1 -1
  203. package/dist/index25.js +1 -1
  204. package/dist/index250.js +8 -52
  205. package/dist/index250.js.map +1 -1
  206. package/dist/index251.js +115 -10
  207. package/dist/index251.js.map +1 -1
  208. package/dist/index252.js +16 -36
  209. package/dist/index252.js.map +1 -1
  210. package/dist/index253.js +15 -8
  211. package/dist/index253.js.map +1 -1
  212. package/dist/index254.js +3 -116
  213. package/dist/index254.js.map +1 -1
  214. package/dist/index255.js +35 -16
  215. package/dist/index255.js.map +1 -1
  216. package/dist/index256.js +19 -14
  217. package/dist/index256.js.map +1 -1
  218. package/dist/index257.js +9 -3
  219. package/dist/index257.js.map +1 -1
  220. package/dist/index258.js +8 -36
  221. package/dist/index258.js.map +1 -1
  222. package/dist/index259.js +18 -19
  223. package/dist/index259.js.map +1 -1
  224. package/dist/index260.js +28 -9
  225. package/dist/index260.js.map +1 -1
  226. package/dist/index261.js +15 -7
  227. package/dist/index261.js.map +1 -1
  228. package/dist/index262.js +24 -19
  229. package/dist/index262.js.map +1 -1
  230. package/dist/index263.js +29 -29
  231. package/dist/index263.js.map +1 -1
  232. package/dist/index264.js +5 -17
  233. package/dist/index264.js.map +1 -1
  234. package/dist/index268.js +21 -5
  235. package/dist/index268.js.map +1 -1
  236. package/dist/index269.js +5 -3
  237. package/dist/index269.js.map +1 -1
  238. package/dist/index270.js +3 -24
  239. package/dist/index270.js.map +1 -1
  240. package/dist/index271.js +22 -111
  241. package/dist/index271.js.map +1 -1
  242. package/dist/index272.js +111 -14
  243. package/dist/index272.js.map +1 -1
  244. package/dist/index273.js +14 -528
  245. package/dist/index273.js.map +1 -1
  246. package/dist/index274.js +515 -111
  247. package/dist/index274.js.map +1 -1
  248. package/dist/index275.js +109 -117
  249. package/dist/index275.js.map +1 -1
  250. package/dist/index276.js +133 -20
  251. package/dist/index276.js.map +1 -1
  252. package/dist/index28.js +2 -2
  253. package/dist/index29.js +3 -37
  254. package/dist/index29.js.map +1 -1
  255. package/dist/index294.js +65 -69
  256. package/dist/index294.js.map +1 -1
  257. package/dist/index295.js +68 -8
  258. package/dist/index295.js.map +1 -1
  259. package/dist/index296.js +9 -14
  260. package/dist/index296.js.map +1 -1
  261. package/dist/index297.js +14 -66
  262. package/dist/index297.js.map +1 -1
  263. package/dist/index298.js +65 -64
  264. package/dist/index298.js.map +1 -1
  265. package/dist/index3.js +2 -2
  266. package/dist/index30.js +125 -3
  267. package/dist/index30.js.map +1 -1
  268. package/dist/index31.js +227 -120
  269. package/dist/index31.js.map +1 -1
  270. package/dist/index32.js +21 -229
  271. package/dist/index32.js.map +1 -1
  272. package/dist/index33.js +50 -23
  273. package/dist/index33.js.map +1 -1
  274. package/dist/index34.js +21 -50
  275. package/dist/index34.js.map +1 -1
  276. package/dist/index35.js +126 -18
  277. package/dist/index35.js.map +1 -1
  278. package/dist/index36.js +205 -113
  279. package/dist/index36.js.map +1 -1
  280. package/dist/index37.js +74 -205
  281. package/dist/index37.js.map +1 -1
  282. package/dist/index38.js +115 -87
  283. package/dist/index38.js.map +1 -1
  284. package/dist/index39.js +5 -118
  285. package/dist/index39.js.map +1 -1
  286. package/dist/index4.js +2 -2
  287. package/dist/index40.js +819 -5
  288. package/dist/index40.js.map +1 -1
  289. package/dist/index41.js +56 -819
  290. package/dist/index41.js.map +1 -1
  291. package/dist/index42.js +37 -57
  292. package/dist/index42.js.map +1 -1
  293. package/dist/index45.js +1 -1
  294. package/dist/index46.js +1 -1
  295. package/dist/index5.js +2 -2
  296. package/dist/index51.js +7 -2
  297. package/dist/index51.js.map +1 -1
  298. package/dist/index52.js +34 -2
  299. package/dist/index52.js.map +1 -1
  300. package/dist/index53.js +47 -5
  301. package/dist/index53.js.map +1 -1
  302. package/dist/index54.js +7 -33
  303. package/dist/index54.js.map +1 -1
  304. package/dist/index55.js +11 -48
  305. package/dist/index55.js.map +1 -1
  306. package/dist/index56.js +3 -7
  307. package/dist/index56.js.map +1 -1
  308. package/dist/index57.js +47 -11
  309. package/dist/index57.js.map +1 -1
  310. package/dist/index58.js +50 -3
  311. package/dist/index58.js.map +1 -1
  312. package/dist/index59.js +7 -47
  313. package/dist/index59.js.map +1 -1
  314. package/dist/index6.js +5 -5
  315. package/dist/index60.js +12 -48
  316. package/dist/index60.js.map +1 -1
  317. package/dist/index61.js +133 -7
  318. package/dist/index61.js.map +1 -1
  319. package/dist/index62.js +10 -14
  320. package/dist/index62.js.map +1 -1
  321. package/dist/index63.js +210 -127
  322. package/dist/index63.js.map +1 -1
  323. package/dist/index64.js +12 -10
  324. package/dist/index64.js.map +1 -1
  325. package/dist/index65.js +44 -214
  326. package/dist/index65.js.map +1 -1
  327. package/dist/index66.js +49 -12
  328. package/dist/index66.js.map +1 -1
  329. package/dist/index67.js +4 -47
  330. package/dist/index67.js.map +1 -1
  331. package/dist/index68.js +5 -49
  332. package/dist/index68.js.map +1 -1
  333. package/dist/index69.js +28 -4
  334. package/dist/index69.js.map +1 -1
  335. package/dist/index7.js +2 -2
  336. package/dist/index70.js +50 -6
  337. package/dist/index70.js.map +1 -1
  338. package/dist/index71.js +9 -28
  339. package/dist/index71.js.map +1 -1
  340. package/dist/index72.js +6 -50
  341. package/dist/index72.js.map +1 -1
  342. package/dist/index73.js +8 -9
  343. package/dist/index73.js.map +1 -1
  344. package/dist/index74.js +5 -5
  345. package/dist/index74.js.map +1 -1
  346. package/dist/index75.js +2 -8
  347. package/dist/index75.js.map +1 -1
  348. package/dist/index76.js +2 -6
  349. package/dist/index76.js.map +1 -1
  350. package/dist/index79.js +47 -52
  351. package/dist/index79.js.map +1 -1
  352. package/dist/index8.js +3 -3
  353. package/dist/index80.js +52 -5
  354. package/dist/index80.js.map +1 -1
  355. package/dist/index81.js +4 -4
  356. package/dist/index81.js.map +1 -1
  357. package/dist/index82.js +4 -15
  358. package/dist/index82.js.map +1 -1
  359. package/dist/index83.js +15 -5
  360. package/dist/index83.js.map +1 -1
  361. package/dist/index84.js +5 -7
  362. package/dist/index84.js.map +1 -1
  363. package/dist/index85.js +6 -15
  364. package/dist/index85.js.map +1 -1
  365. package/dist/index86.js +16 -4
  366. package/dist/index86.js.map +1 -1
  367. package/dist/index87.js +1 -1
  368. package/dist/index87.js.map +1 -1
  369. package/dist/index88.js +4 -5
  370. package/dist/index88.js.map +1 -1
  371. package/dist/index89.js +4 -4
  372. package/dist/index89.js.map +1 -1
  373. package/dist/index9.js +1 -1
  374. package/dist/index90.js +5 -4
  375. package/dist/index90.js.map +1 -1
  376. package/dist/index91.js +2 -2
  377. package/dist/index91.js.map +1 -1
  378. package/dist/index92.js +3 -5
  379. package/dist/index92.js.map +1 -1
  380. package/dist/index93.js +6 -24
  381. package/dist/index93.js.map +1 -1
  382. package/dist/index94.js +24 -6
  383. package/dist/index94.js.map +1 -1
  384. package/dist/index95.js +6 -4
  385. package/dist/index95.js.map +1 -1
  386. package/dist/index96.js +3 -5
  387. package/dist/index96.js.map +1 -1
  388. package/dist/index97.js +6 -5
  389. package/dist/index97.js.map +1 -1
  390. package/dist/index98.js +5 -4
  391. package/dist/index98.js.map +1 -1
  392. package/dist/index99.js +3 -4
  393. package/dist/index99.js.map +1 -1
  394. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index34.js","sources":["../../../node_modules/blurhash/dist/esm/index.js"],"sourcesContent":["var q=[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"A\",\"B\",\"C\",\"D\",\"E\",\"F\",\"G\",\"H\",\"I\",\"J\",\"K\",\"L\",\"M\",\"N\",\"O\",\"P\",\"Q\",\"R\",\"S\",\"T\",\"U\",\"V\",\"W\",\"X\",\"Y\",\"Z\",\"a\",\"b\",\"c\",\"d\",\"e\",\"f\",\"g\",\"h\",\"i\",\"j\",\"k\",\"l\",\"m\",\"n\",\"o\",\"p\",\"q\",\"r\",\"s\",\"t\",\"u\",\"v\",\"w\",\"x\",\"y\",\"z\",\"#\",\"$\",\"%\",\"*\",\"+\",\",\",\"-\",\".\",\":\",\";\",\"=\",\"?\",\"@\",\"[\",\"]\",\"^\",\"_\",\"{\",\"|\",\"}\",\"~\"],x=t=>{let e=0;for(let r=0;r<t.length;r++){let n=t[r],l=q.indexOf(n);e=e*83+l}return e},p=(t,e)=>{var r=\"\";for(let n=1;n<=e;n++){let l=Math.floor(t)/Math.pow(83,e-n)%83;r+=q[Math.floor(l)]}return r};var f=t=>{let e=t/255;return e<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)},h=t=>{let e=Math.max(0,Math.min(1,t));return e<=.0031308?Math.trunc(e*12.92*255+.5):Math.trunc((1.055*Math.pow(e,.4166666666666667)-.055)*255+.5)},F=t=>t<0?-1:1,M=(t,e)=>F(t)*Math.pow(Math.abs(t),e);var d=class extends Error{constructor(e){super(e),this.name=\"ValidationError\",this.message=e}};var C=t=>{if(!t||t.length<6)throw new d(\"The blurhash string must be at least 6 characters\");let e=x(t[0]),r=Math.floor(e/9)+1,n=e%9+1;if(t.length!==4+2*n*r)throw new d(`blurhash length mismatch: length is ${t.length} but it should be ${4+2*n*r}`)},N=t=>{try{C(t)}catch(e){return{result:!1,errorReason:e.message}}return{result:!0}},z=t=>{let e=t>>16,r=t>>8&255,n=t&255;return[f(e),f(r),f(n)]},L=(t,e)=>{let r=Math.floor(t/361),n=Math.floor(t/19)%19,l=t%19;return[M((r-9)/9,2)*e,M((n-9)/9,2)*e,M((l-9)/9,2)*e]},U=(t,e,r,n)=>{C(t),n=n|1;let l=x(t[0]),m=Math.floor(l/9)+1,b=l%9+1,i=(x(t[1])+1)/166,u=new Array(b*m);for(let o=0;o<u.length;o++)if(o===0){let a=x(t.substring(2,6));u[o]=z(a)}else{let a=x(t.substring(4+o*2,6+o*2));u[o]=L(a,i*n)}let c=e*4,s=new Uint8ClampedArray(c*r);for(let o=0;o<r;o++)for(let a=0;a<e;a++){let y=0,B=0,R=0;for(let w=0;w<m;w++)for(let P=0;P<b;P++){let G=Math.cos(Math.PI*a*P/e)*Math.cos(Math.PI*o*w/r),T=u[P+w*b];y+=T[0]*G,B+=T[1]*G,R+=T[2]*G}let V=h(y),I=h(B),E=h(R);s[4*a+0+o*c]=V,s[4*a+1+o*c]=I,s[4*a+2+o*c]=E,s[4*a+3+o*c]=255}return s},j=U;var A=4,D=(t,e,r,n)=>{let l=0,m=0,b=0,g=e*A;for(let u=0;u<e;u++){let c=A*u;for(let s=0;s<r;s++){let o=c+s*g,a=n(u,s);l+=a*f(t[o]),m+=a*f(t[o+1]),b+=a*f(t[o+2])}}let i=1/(e*r);return[l*i,m*i,b*i]},$=t=>{let e=h(t[0]),r=h(t[1]),n=h(t[2]);return(e<<16)+(r<<8)+n},H=(t,e)=>{let r=Math.floor(Math.max(0,Math.min(18,Math.floor(M(t[0]/e,.5)*9+9.5)))),n=Math.floor(Math.max(0,Math.min(18,Math.floor(M(t[1]/e,.5)*9+9.5)))),l=Math.floor(Math.max(0,Math.min(18,Math.floor(M(t[2]/e,.5)*9+9.5))));return r*19*19+n*19+l},O=(t,e,r,n,l)=>{if(n<1||n>9||l<1||l>9)throw new d(\"BlurHash must have between 1 and 9 components\");if(e*r*4!==t.length)throw new d(\"Width and height must match the pixels array\");let m=[];for(let s=0;s<l;s++)for(let o=0;o<n;o++){let a=o==0&&s==0?1:2,y=D(t,e,r,(B,R)=>a*Math.cos(Math.PI*o*B/e)*Math.cos(Math.PI*s*R/r));m.push(y)}let b=m[0],g=m.slice(1),i=\"\",u=n-1+(l-1)*9;i+=p(u,1);let c;if(g.length>0){let s=Math.max(...g.map(a=>Math.max(...a))),o=Math.floor(Math.max(0,Math.min(82,Math.floor(s*166-.5))));c=(o+1)/166,i+=p(o,1)}else c=1,i+=p(0,1);return i+=p($(b),4),g.forEach(s=>{i+=p(H(s,c),2)}),i},S=O;export{d as ValidationError,j as decode,S as encode,N as isBlurhashValid};\n//# sourceMappingURL=index.js.map"],"names":["q","x","e","r","n","l","f","h","F","M","d","C","z","L","U","m","b","i","o","a","c","y","B","R","w","P","G","T","V","I","E","j"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index34.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;"}
package/dist/index35.js CHANGED
@@ -1,25 +1,133 @@
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 "./index72.js";
2
+ import { getCountryCallingCode as s } from "./index39.js";
3
+ const c = "US", u = E(), f = /* @__PURE__ */ new Map(), m = "__default_locale__", _ = Array.from(new Set(u.map((e) => s(e)))).sort((e, t) => t.length - e.length), O = _.reduce((e, t) => Math.max(e, t.length), 0), y = ["0011", "001", "011", "00", "810"];
4
+ function R(e) {
5
+ return e && u.includes(e) ? e : c;
6
+ }
7
+ function C(e) {
8
+ if (typeof Intl > "u" || typeof Intl.DisplayNames > "u")
9
+ return null;
10
+ try {
11
+ const t = Array.isArray(e) ? e : e ? [e] : void 0;
12
+ return new Intl.DisplayNames(t, {
13
+ type: "region"
14
+ });
15
+ } catch {
16
+ return null;
13
17
  }
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]);
18
+ }
19
+ function N(e) {
20
+ const t = C(e), r = C("en");
21
+ return u.map((n) => {
22
+ const a = s(n), o = t?.of(n) ?? r?.of(n) ?? n, i = r?.of(n) ?? o, g = D(n), l = Array.from(new Set([o, i, n.toUpperCase(), n.toLowerCase(), ...g].filter(Boolean)));
23
+ return {
24
+ value: n,
25
+ name: o,
26
+ dialCode: a,
27
+ label: `${o} (+${a})`,
28
+ flag: A(n),
29
+ searchableTokens: l,
30
+ normalizedSearchableTokens: l.map((p) => U(p))
31
+ };
32
+ }).sort((n, a) => {
33
+ const o = d(n.value), i = d(a.value);
34
+ return o !== i ? o - i : n.name.localeCompare(a.name);
35
+ });
36
+ }
37
+ function d(e) {
38
+ return e === "US" ? 0 : e === "CA" ? 1 : s(e) === "1" ? 2 : 3;
39
+ }
40
+ function b(e) {
41
+ return e ? Array.isArray(e) ? e.join("\0") : e : m;
42
+ }
43
+ function L(e) {
44
+ if (e !== m) {
45
+ if (e.includes("\0")) {
46
+ const t = e.split("\0").filter(Boolean);
47
+ return t.length === 0 ? void 0 : t.length === 1 ? t[0] ?? void 0 : t;
48
+ }
49
+ return e;
50
+ }
51
+ }
52
+ function v(e, t) {
53
+ const r = f.get(t);
54
+ if (r)
55
+ return r;
56
+ const n = N(e);
57
+ return f.set(t, n), n;
58
+ }
59
+ function F(e) {
17
60
  return {
18
- ...n[t ?? "en"] ?? n.en,
19
- ...s ?? {}
61
+ code: e.value,
62
+ name: e.name,
63
+ dialCode: e.dialCode,
64
+ flag: e.flag
20
65
  };
21
66
  }
67
+ function M(e) {
68
+ return {
69
+ code: e,
70
+ name: e,
71
+ dialCode: s(e),
72
+ flag: A(e)
73
+ };
74
+ }
75
+ function A(e) {
76
+ const t = e?.toUpperCase();
77
+ if (!t || t.length !== 2 || /[^A-Z]/.test(t))
78
+ return "";
79
+ const r = 127397;
80
+ return String.fromCodePoint(t.charCodeAt(0) + r, t.charCodeAt(1) + r);
81
+ }
82
+ const S = /[\u0300-\u036f]/g;
83
+ function h(e) {
84
+ return e.normalize("NFD").replace(S, "");
85
+ }
86
+ function U(e) {
87
+ return h(e).toLowerCase();
88
+ }
89
+ function B(e, t) {
90
+ let r = Number.MAX_SAFE_INTEGER;
91
+ for (const n of e) {
92
+ const a = n.indexOf(t);
93
+ a >= 0 && a < r && (r = a);
94
+ }
95
+ return r === Number.MAX_SAFE_INTEGER ? Number.MAX_SAFE_INTEGER : r;
96
+ }
97
+ function D(e) {
98
+ switch (e) {
99
+ case "US":
100
+ return ["USA", "United States", "America", "United States of America"];
101
+ case "GB":
102
+ return ["UK", "United Kingdom", "Great Britain", "England"];
103
+ case "AE":
104
+ return ["UAE", "United Arab Emirates"];
105
+ case "KR":
106
+ return ["South Korea", "Korea"];
107
+ case "CN":
108
+ return ["China", "PRC"];
109
+ case "CD":
110
+ return ["DRC", "Congo-Kinshasa"];
111
+ case "CG":
112
+ return ["Congo-Brazzaville"];
113
+ case "BR":
114
+ return ["Brazil"];
115
+ default:
116
+ return [];
117
+ }
118
+ }
22
119
  export {
23
- a as resolveMessages
120
+ y as COMMON_IDD_PREFIXES,
121
+ _ as COUNTRY_DIAL_CODES,
122
+ c as DEFAULT_COUNTRY,
123
+ O as MAX_DIAL_CODE_LENGTH,
124
+ M as buildFallbackSelectedCountry,
125
+ v as getCachedCountryOptions,
126
+ b as getLocaleCacheKey,
127
+ R as getValidCountry,
128
+ U as normalizeSearchValue,
129
+ B as optionMatchIndex,
130
+ L as parseLocaleCacheKey,
131
+ F as toSelectedCountry
24
132
  };
25
133
  //# sourceMappingURL=index35.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index35.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":"index35.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","MAX_DIAL_CODE_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/index36.js CHANGED
@@ -1,133 +1,225 @@
1
- import { getCountryList as E } from "./index74.js";
2
- import { getCountryCallingCode as s } from "./index40.js";
3
- const c = "US", u = E(), f = /* @__PURE__ */ new Map(), m = "__default_locale__", _ = Array.from(new Set(u.map((e) => s(e)))).sort((e, t) => t.length - e.length), O = _.reduce((e, t) => Math.max(e, t.length), 0), y = ["0011", "001", "011", "00", "810"];
4
- function R(e) {
5
- return e && u.includes(e) ? e : c;
1
+ import { MAX_DIAL_CODE_LENGTH as W, COMMON_IDD_PREFIXES as $, DEFAULT_COUNTRY as x, COUNTRY_DIAL_CODES as C } from "./index35.js";
2
+ import { getCountryCallingCode as p } from "./index39.js";
3
+ import { AsYouType as I } from "./index73.js";
4
+ import { validatePhoneNumberLength as D } from "./index74.js";
5
+ function g(t) {
6
+ return t.replace(/\D/g, "");
6
7
  }
7
- function C(e) {
8
- if (typeof Intl > "u" || typeof Intl.DisplayNames > "u")
9
- return null;
10
- try {
11
- const t = Array.isArray(e) ? e : e ? [e] : void 0;
12
- return new Intl.DisplayNames(t, {
13
- type: "region"
14
- });
15
- } catch {
16
- return null;
17
- }
8
+ function P(t) {
9
+ return t ? t.length > W ? !1 : C.some((e) => e.startsWith(t)) : !0;
18
10
  }
19
- function N(e) {
20
- const t = C(e), r = C("en");
21
- return u.map((n) => {
22
- const a = s(n), o = t?.of(n) ?? r?.of(n) ?? n, i = r?.of(n) ?? o, g = D(n), l = Array.from(new Set([o, i, n.toUpperCase(), n.toLowerCase(), ...g].filter(Boolean)));
23
- return {
24
- value: n,
25
- name: o,
26
- dialCode: a,
27
- label: `${o} (+${a})`,
28
- flag: A(n),
29
- searchableTokens: l,
30
- normalizedSearchableTokens: l.map((p) => U(p))
31
- };
32
- }).sort((n, a) => {
33
- const o = d(n.value), i = d(a.value);
34
- return o !== i ? o - i : n.name.localeCompare(a.name);
35
- });
11
+ const N = /[\u061C\u200B-\u200F\u202A-\u202E\u2066-\u2069\uFEFF]/g;
12
+ function T(t) {
13
+ return t.replace(N, "");
36
14
  }
37
- function d(e) {
38
- return e === "US" ? 0 : e === "CA" ? 1 : s(e) === "1" ? 2 : 3;
15
+ function q(t, e, s = {}) {
16
+ const {
17
+ force: u = !1
18
+ } = s, o = `+${e}`;
19
+ if (!t.startsWith(o) || !u)
20
+ return t;
21
+ const i = t.slice(o.length).trimStart();
22
+ if (i.startsWith("0"))
23
+ return t;
24
+ if (!i)
25
+ return `${o} 0`;
26
+ const [n, ...r] = i.split(" "), f = `0${n ?? ""}`, l = r.length > 0 ? ` ${r.join(" ")}` : "";
27
+ return `${o} ${f}${l}`.replace(/\s\s+/g, " ").trimEnd();
39
28
  }
40
- function b(e) {
41
- return e ? Array.isArray(e) ? e.join("\0") : e : m;
29
+ const O = {
30
+ GG: "GB",
31
+ JE: "GB",
32
+ IM: "GB"
33
+ };
34
+ function y(t) {
35
+ if (t)
36
+ return O[t] ?? t;
42
37
  }
43
- function L(e) {
44
- if (e !== m) {
45
- if (e.includes("\0")) {
46
- const t = e.split("\0").filter(Boolean);
47
- return t.length === 0 ? void 0 : t.length === 1 ? t[0] ?? void 0 : t;
48
- }
49
- return e;
38
+ function _(t, e, s) {
39
+ if (!t || !s || (t.nationalNumber ?? "").length < 4)
40
+ return;
41
+ const o = t.countryCallingCode;
42
+ if (!o)
43
+ return;
44
+ const i = t.getMetadata, n = (typeof i == "function" ? i() : null)?.country_calling_codes?.[o];
45
+ if (!n || n.length === 0)
46
+ return;
47
+ const r = [];
48
+ for (const f of n) {
49
+ const l = y(f);
50
+ l && !r.includes(l) && r.push(l);
50
51
  }
52
+ if (r.length !== 0)
53
+ return e && r.includes(e) ? e : r.includes(x) ? x : r[0];
51
54
  }
52
- function v(e, t) {
53
- const r = f.get(t);
54
- if (r)
55
- return r;
56
- const n = N(e);
57
- return f.set(t, n), n;
55
+ function B(t, e, s, u) {
56
+ if (!t)
57
+ return !1;
58
+ if (!u)
59
+ return t.startsWith("0");
60
+ if (!s || !t.startsWith(s) || !t.slice(s.length).startsWith("0"))
61
+ return !1;
62
+ const o = t.slice(s.length + 1), i = e.startsWith(s) ? e.slice(s.length) : e;
63
+ return o === i;
58
64
  }
59
- function F(e) {
60
- return {
61
- code: e.value,
62
- name: e.name,
63
- dialCode: e.dialCode,
64
- flag: e.flag
65
- };
65
+ function S(t) {
66
+ for (const e of $)
67
+ if (t.startsWith(e))
68
+ return t.slice(e.length);
69
+ return t;
66
70
  }
67
- function M(e) {
68
- return {
69
- code: e,
70
- name: e,
71
- dialCode: s(e),
72
- flag: A(e)
73
- };
74
- }
75
- function A(e) {
76
- const t = e?.toUpperCase();
77
- if (!t || t.length !== 2 || /[^A-Z]/.test(t))
71
+ function M(t, e, s = {}) {
72
+ const {
73
+ allowJustPlus: u = !1,
74
+ removeNationalPrefix: o = !0,
75
+ previousValue: i
76
+ } = s, n = T(t).trim();
77
+ if (!n)
78
78
  return "";
79
- const r = 127397;
80
- return String.fromCodePoint(t.charCodeAt(0) + r, t.charCodeAt(1) + r);
79
+ if (n === "+")
80
+ return u ? "+" : "";
81
+ if (n.startsWith("+")) {
82
+ const a = g(n);
83
+ if (!a)
84
+ return u ? "+" : "";
85
+ const d = S(a);
86
+ if (d !== a)
87
+ return d ? `+${d}` : u ? "+" : "";
88
+ if (o && e) {
89
+ const h = p(e);
90
+ if (a.startsWith(h) && a.slice(h.length).startsWith("0")) {
91
+ const E = a.slice(h.length + 1);
92
+ return E ? `+${h}${E}` : `+${h}`;
93
+ }
94
+ }
95
+ return `+${a}`;
96
+ }
97
+ const r = g(n);
98
+ if (!r)
99
+ return "";
100
+ const f = S(r);
101
+ if (f !== r)
102
+ return f ? `+${f}` : u ? "+" : "";
103
+ const l = typeof i == "string" ? i : "", m = l && l.startsWith("+") ? g(l) : "";
104
+ if (m && m.length > r.length && m.endsWith(r) && m.length - r.length <= W)
105
+ return `+${r}`;
106
+ if (r === "0")
107
+ return "0";
108
+ if (o && e && r.length > 1 && r.startsWith("0") && !r.startsWith("00")) {
109
+ const a = p(e), d = r.slice(1);
110
+ return d ? `+${a}${d}` : `+${a}`;
111
+ }
112
+ return e ? r.length <= 4 ? `+${r}` : `+${p(e)}${r}` : r;
81
113
  }
82
- const S = /[\u0300-\u036f]/g;
83
- function h(e) {
84
- return e.normalize("NFD").replace(S, "");
114
+ function Y(t, e) {
115
+ if (t === "+")
116
+ return {
117
+ international: "+",
118
+ national: "",
119
+ formatted: "+",
120
+ phoneNumber: null,
121
+ detectedCountry: void 0,
122
+ inferredCountry: void 0,
123
+ hasExplicitInternationalPrefix: !0
124
+ };
125
+ const s = /^\s*\+/.test(t), u = e ? new I(e) : new I(), o = u.input(t), i = u.getNumber(), c = g(t), n = y(i?.country ?? u.country ?? void 0), r = n ?? !i ? void 0 : y(_(i, e, c)), f = i?.formatInternational() ?? o, l = i?.formatNational() ?? g(f);
126
+ return {
127
+ international: f,
128
+ national: l,
129
+ formatted: o,
130
+ phoneNumber: i,
131
+ detectedCountry: n,
132
+ inferredCountry: r,
133
+ hasExplicitInternationalPrefix: s
134
+ };
85
135
  }
86
- function U(e) {
87
- return h(e).toLowerCase();
136
+ function v(t, e) {
137
+ return t.startsWith(e) ? t.slice(e.length) : t;
88
138
  }
89
- function B(e, t) {
90
- let r = Number.MAX_SAFE_INTEGER;
91
- for (const n of e) {
92
- const a = n.indexOf(t);
93
- a >= 0 && a < r && (r = a);
139
+ function H(t, e) {
140
+ if (!e || !t)
141
+ return null;
142
+ try {
143
+ return D(t, e) === "TOO_LONG" ? "TOO_LONG" : null;
144
+ } catch {
145
+ return null;
94
146
  }
95
- return r === Number.MAX_SAFE_INTEGER ? Number.MAX_SAFE_INTEGER : r;
96
147
  }
97
- function D(e) {
98
- switch (e) {
99
- case "US":
100
- return ["USA", "United States", "America", "United States of America"];
101
- case "GB":
102
- return ["UK", "United Kingdom", "Great Britain", "England"];
103
- case "AE":
104
- return ["UAE", "United Arab Emirates"];
105
- case "KR":
106
- return ["South Korea", "Korea"];
107
- case "CN":
108
- return ["China", "PRC"];
109
- case "CD":
110
- return ["DRC", "Congo-Kinshasa"];
111
- case "CG":
112
- return ["Congo-Brazzaville"];
113
- case "BR":
114
- return ["Brazil"];
115
- default:
116
- return [];
148
+ function U(t, e, s, u = {}) {
149
+ const {
150
+ hasRemovedNationalPrefix: o = !1,
151
+ detectedCountry: i,
152
+ hasExplicitInternationalPrefix: c = !1
153
+ } = u;
154
+ if (!t)
155
+ return {
156
+ shouldSuggest: !1,
157
+ query: ""
158
+ };
159
+ if (t === "+")
160
+ return {
161
+ shouldSuggest: !0,
162
+ query: ""
163
+ };
164
+ const n = g(t);
165
+ if (!n)
166
+ return {
167
+ shouldSuggest: !0,
168
+ query: ""
169
+ };
170
+ if (o)
171
+ return {
172
+ shouldSuggest: !1,
173
+ query: ""
174
+ };
175
+ if (c && !i)
176
+ return P(n) ? {
177
+ shouldSuggest: !0,
178
+ query: n
179
+ } : {
180
+ shouldSuggest: !1,
181
+ query: ""
182
+ };
183
+ let r = s?.countryCallingCode ?? null;
184
+ if (!r) {
185
+ if (e) {
186
+ const l = p(e);
187
+ n.startsWith(l) && (r = l);
188
+ } else if (!c)
189
+ return {
190
+ shouldSuggest: !1,
191
+ query: ""
192
+ };
117
193
  }
194
+ return r ? v(n, r).length === 0 ? {
195
+ shouldSuggest: !0,
196
+ query: n
197
+ } : {
198
+ shouldSuggest: !1,
199
+ query: ""
200
+ } : {
201
+ shouldSuggest: !0,
202
+ query: n
203
+ };
204
+ }
205
+ function V(t, e) {
206
+ if (t.shouldSuggest)
207
+ return !1;
208
+ const {
209
+ hasExplicitInternationalPrefix: s = !1,
210
+ detectedCountry: u
211
+ } = e;
212
+ return s ? !!u : !0;
118
213
  }
119
214
  export {
120
- y as COMMON_IDD_PREFIXES,
121
- _ as COUNTRY_DIAL_CODES,
122
- c as DEFAULT_COUNTRY,
123
- O as MAX_DIAL_CODE_LENGTH,
124
- M as buildFallbackSelectedCountry,
125
- v as getCachedCountryOptions,
126
- b as getLocaleCacheKey,
127
- R as getValidCountry,
128
- U as normalizeSearchValue,
129
- B as optionMatchIndex,
130
- L as parseLocaleCacheKey,
131
- F as toSelectedCountry
215
+ B as detectNationalPrefixForDisplay,
216
+ Y as formatWithAsYouType,
217
+ H as getLengthIssue,
218
+ U as getSuggestionState,
219
+ q as injectNationalPrefixDisplay,
220
+ M as normalizeInputValue,
221
+ g as sanitizeDigits,
222
+ V as shouldDisplayExplicitCountrySelection,
223
+ v as stripPrefix
132
224
  };
133
225
  //# sourceMappingURL=index36.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index36.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","MAX_DIAL_CODE_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":"index36.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","replace","isDialCodeProgress","digits","length","MAX_DIAL_CODE_LENGTH","COUNTRY_DIAL_CODES","some","dial","startsWith","INVISIBLE_FORMATTING_CHARACTERS","stripInvisibleFormatting","injectNationalPrefixDisplay","international","dialCode","options","force","prefix","remainder","slice","trimStart","firstGroup","restGroups","split","rebuiltFirstGroup","rebuiltRemainder","join","trimEnd","DETECTED_COUNTRY_OVERRIDES","GG","JE","IM","canonicalizeDetectedCountry","candidate","inferCountryFromDialCode","phoneNumber","baseCountry","normalizedDigits","nationalNumber","countryCallingCode","metadataGetter","getMetadata","candidates","country_calling_codes","canonicalCandidates","canonical","includes","push","DEFAULT_COUNTRY","detectNationalPrefixForDisplay","rawDigits","internationalDigits","hasExplicitInternationalPrefix","rawAfterTrunk","internationalAfterDial","stripIddPrefix","COMMON_IDD_PREFIXES","normalizeInputValue","rawValue","country","allowJustPlus","removeNationalPrefix","previousValue","trimmed","trim","digitsWithoutIdd","getCountryCallingCode","withoutPrefix","digitsOnly","previousNormalized","previousDigits","endsWith","formatWithAsYouType","national","formatted","detectedCountry","undefined","inferredCountry","test","formatter","AsYouType","input","getNumber","formatInternational","formatNational","stripPrefix","getLengthIssue","validatePhoneNumberLength","getSuggestionState","normalized","hasRemovedNationalPrefix","shouldSuggest","query","baseDial","shouldDisplayExplicitCountrySelection","suggestion","Boolean"],"mappings":"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"}