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