@rpcbase/ui 0.245.0 → 0.246.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 (448) hide show
  1. package/dist/index149.js +5 -14
  2. package/dist/index149.js.map +1 -1
  3. package/dist/index150.js +63 -63
  4. package/dist/index150.js.map +1 -1
  5. package/dist/index151.js +2 -38
  6. package/dist/index151.js.map +1 -1
  7. package/dist/index152.js +385 -13
  8. package/dist/index152.js.map +1 -1
  9. package/dist/index153.js +261 -23
  10. package/dist/index153.js.map +1 -1
  11. package/dist/index154.js +58 -109
  12. package/dist/index154.js.map +1 -1
  13. package/dist/index155.js +47 -13
  14. package/dist/index155.js.map +1 -1
  15. package/dist/index156.js +169 -4
  16. package/dist/index156.js.map +1 -1
  17. package/dist/index157.js +110 -4
  18. package/dist/index157.js.map +1 -1
  19. package/dist/index158.js +25 -5
  20. package/dist/index158.js.map +1 -1
  21. package/dist/index159.js +8 -12
  22. package/dist/index159.js.map +1 -1
  23. package/dist/index160.js +4 -19
  24. package/dist/index160.js.map +1 -1
  25. package/dist/index161.js +6 -11
  26. package/dist/index161.js.map +1 -1
  27. package/dist/index162.js +4 -176
  28. package/dist/index162.js.map +1 -1
  29. package/dist/index163.js +476 -268
  30. package/dist/index163.js.map +1 -1
  31. package/dist/index164.js +189 -4
  32. package/dist/index164.js.map +1 -1
  33. package/dist/index165.js +14 -28
  34. package/dist/index165.js.map +1 -1
  35. package/dist/index166.js +105 -124
  36. package/dist/index166.js.map +1 -1
  37. package/dist/index167.js +262 -63
  38. package/dist/index167.js.map +1 -1
  39. package/dist/index168.js +6 -8
  40. package/dist/index168.js.map +1 -1
  41. package/dist/index169.js +40 -15
  42. package/dist/index169.js.map +1 -1
  43. package/dist/index170.js +4 -30
  44. package/dist/index170.js.map +1 -1
  45. package/dist/index171.js +14 -69
  46. package/dist/index171.js.map +1 -1
  47. package/dist/index172.js +68 -5
  48. package/dist/index172.js.map +1 -1
  49. package/dist/index173.js +35 -66
  50. package/dist/index173.js.map +1 -1
  51. package/dist/index174.js +14 -2
  52. package/dist/index174.js.map +1 -1
  53. package/dist/index175.js +22 -384
  54. package/dist/index175.js.map +1 -1
  55. package/dist/index176.js +108 -258
  56. package/dist/index176.js.map +1 -1
  57. package/dist/index177.js +13 -61
  58. package/dist/index177.js.map +1 -1
  59. package/dist/index178.js +4 -46
  60. package/dist/index178.js.map +1 -1
  61. package/dist/index179.js +4 -170
  62. package/dist/index179.js.map +1 -1
  63. package/dist/index180.js +5 -110
  64. package/dist/index180.js.map +1 -1
  65. package/dist/index181.js +11 -24
  66. package/dist/index181.js.map +1 -1
  67. package/dist/index182.js +20 -8
  68. package/dist/index182.js.map +1 -1
  69. package/dist/index183.js +11 -5
  70. package/dist/index183.js.map +1 -1
  71. package/dist/index184.js +176 -5
  72. package/dist/index184.js.map +1 -1
  73. package/dist/index185.js +279 -4
  74. package/dist/index185.js.map +1 -1
  75. package/dist/index186.js +4 -487
  76. package/dist/index186.js.map +1 -1
  77. package/dist/index187.js +27 -189
  78. package/dist/index187.js.map +1 -1
  79. package/dist/index188.js +126 -13
  80. package/dist/index188.js.map +1 -1
  81. package/dist/index189.js +63 -107
  82. package/dist/index189.js.map +1 -1
  83. package/dist/index190.js +8 -262
  84. package/dist/index190.js.map +1 -1
  85. package/dist/index191.js +16 -7
  86. package/dist/index191.js.map +1 -1
  87. package/dist/index192.js +29 -39
  88. package/dist/index192.js.map +1 -1
  89. package/dist/index193.js +69 -4
  90. package/dist/index193.js.map +1 -1
  91. package/dist/index254.js +20 -67
  92. package/dist/index254.js.map +1 -1
  93. package/dist/index255.js +66 -8
  94. package/dist/index255.js.map +1 -1
  95. package/dist/index256.js +6 -11
  96. package/dist/index256.js.map +1 -1
  97. package/dist/index257.js +5 -8
  98. package/dist/index257.js.map +1 -1
  99. package/dist/index258.js +11 -5
  100. package/dist/index258.js.map +1 -1
  101. package/dist/index259.js +3 -13
  102. package/dist/index259.js.map +1 -1
  103. package/dist/index260.js +50 -3
  104. package/dist/index260.js.map +1 -1
  105. package/dist/index261.js +4 -4
  106. package/dist/index261.js.map +1 -1
  107. package/dist/index262.js +27 -97
  108. package/dist/index262.js.map +1 -1
  109. package/dist/index263.js +15 -16
  110. package/dist/index263.js.map +1 -1
  111. package/dist/index264.js +5 -29
  112. package/dist/index264.js.map +1 -1
  113. package/dist/index265.js +21 -51
  114. package/dist/index265.js.map +1 -1
  115. package/dist/index266.js +53 -5
  116. package/dist/index266.js.map +1 -1
  117. package/dist/index267.js +20 -5
  118. package/dist/index267.js.map +1 -1
  119. package/dist/index268.js +39 -59
  120. package/dist/index268.js.map +1 -1
  121. package/dist/index269.js +36 -63
  122. package/dist/index269.js.map +1 -1
  123. package/dist/index270.js +46 -134
  124. package/dist/index270.js.map +1 -1
  125. package/dist/index271.js +19 -7
  126. package/dist/index271.js.map +1 -1
  127. package/dist/index272.js +71 -5
  128. package/dist/index272.js.map +1 -1
  129. package/dist/index273.js +18 -4
  130. package/dist/index273.js.map +1 -1
  131. package/dist/index274.js +3 -11
  132. package/dist/index274.js.map +1 -1
  133. package/dist/index275.js +11 -21
  134. package/dist/index275.js.map +1 -1
  135. package/dist/index276.js +13 -16
  136. package/dist/index276.js.map +1 -1
  137. package/dist/index277.js +17 -10
  138. package/dist/index277.js.map +1 -1
  139. package/dist/index278.js +37 -8
  140. package/dist/index278.js.map +1 -1
  141. package/dist/index279.js +237 -142
  142. package/dist/index279.js.map +1 -1
  143. package/dist/index28.js +1 -1
  144. package/dist/index280.js +249 -76
  145. package/dist/index280.js.map +1 -1
  146. package/dist/index281.js +68 -61
  147. package/dist/index281.js.map +1 -1
  148. package/dist/index282.js +100 -15
  149. package/dist/index282.js.map +1 -1
  150. package/dist/index283.js +84 -20
  151. package/dist/index283.js.map +1 -1
  152. package/dist/index284.js +3 -6
  153. package/dist/index284.js.map +1 -1
  154. package/dist/index285.js +29 -11
  155. package/dist/index285.js.map +1 -1
  156. package/dist/index286.js +16 -3
  157. package/dist/index286.js.map +1 -1
  158. package/dist/index287.js +34 -50
  159. package/dist/index287.js.map +1 -1
  160. package/dist/index288.js +16 -15
  161. package/dist/index288.js.map +1 -1
  162. package/dist/index289.js +3 -21
  163. package/dist/index289.js.map +1 -1
  164. package/dist/index29.js +1 -1
  165. package/dist/index290.js +26 -53
  166. package/dist/index290.js.map +1 -1
  167. package/dist/index291.js +28 -20
  168. package/dist/index291.js.map +1 -1
  169. package/dist/index292.js +4 -42
  170. package/dist/index292.js.map +1 -1
  171. package/dist/index293.js +73 -34
  172. package/dist/index293.js.map +1 -1
  173. package/dist/index294.js +273 -46
  174. package/dist/index294.js.map +1 -1
  175. package/dist/index295.js +11 -20
  176. package/dist/index295.js.map +1 -1
  177. package/dist/index296.js +11 -71
  178. package/dist/index296.js.map +1 -1
  179. package/dist/index297.js +25 -17
  180. package/dist/index297.js.map +1 -1
  181. package/dist/index298.js +16 -3
  182. package/dist/index298.js.map +1 -1
  183. package/dist/index299.js +124 -12
  184. package/dist/index299.js.map +1 -1
  185. package/dist/index300.js +5 -18
  186. package/dist/index300.js.map +1 -1
  187. package/dist/index301.js +64 -35
  188. package/dist/index301.js.map +1 -1
  189. package/dist/index302.js +14 -240
  190. package/dist/index302.js.map +1 -1
  191. package/dist/index303.js +7 -252
  192. package/dist/index303.js.map +1 -1
  193. package/dist/index304.js +5 -68
  194. package/dist/index304.js.map +1 -1
  195. package/dist/index305.js +3 -83
  196. package/dist/index305.js.map +1 -1
  197. package/dist/index306.js +10 -3
  198. package/dist/index306.js.map +1 -1
  199. package/dist/index307.js +7 -29
  200. package/dist/index307.js.map +1 -1
  201. package/dist/index308.js +133 -16
  202. package/dist/index308.js.map +1 -1
  203. package/dist/index309.js +397 -32
  204. package/dist/index309.js.map +1 -1
  205. package/dist/index310.js +5 -18
  206. package/dist/index310.js.map +1 -1
  207. package/dist/index311.js +52 -3
  208. package/dist/index311.js.map +1 -1
  209. package/dist/index312.js +11 -26
  210. package/dist/index312.js.map +1 -1
  211. package/dist/index313.js +25 -26
  212. package/dist/index313.js.map +1 -1
  213. package/dist/index314.js +12 -4
  214. package/dist/index314.js.map +1 -1
  215. package/dist/index315.js +151 -75
  216. package/dist/index315.js.map +1 -1
  217. package/dist/index316.js +30 -270
  218. package/dist/index316.js.map +1 -1
  219. package/dist/index317.js +11 -11
  220. package/dist/index317.js.map +1 -1
  221. package/dist/index318.js +50 -11
  222. package/dist/index318.js.map +1 -1
  223. package/dist/index319.js +8 -24
  224. package/dist/index319.js.map +1 -1
  225. package/dist/index320.js +11 -16
  226. package/dist/index320.js.map +1 -1
  227. package/dist/index321.js +42 -124
  228. package/dist/index321.js.map +1 -1
  229. package/dist/index322.js +97 -5
  230. package/dist/index322.js.map +1 -1
  231. package/dist/index323.js +82 -61
  232. package/dist/index323.js.map +1 -1
  233. package/dist/index324.js +104 -12
  234. package/dist/index324.js.map +1 -1
  235. package/dist/index325.js +52 -7
  236. package/dist/index325.js.map +1 -1
  237. package/dist/index326.js +11 -5
  238. package/dist/index326.js.map +1 -1
  239. package/dist/index327.js +4 -3
  240. package/dist/index327.js.map +1 -1
  241. package/dist/index328.js +37 -10
  242. package/dist/index328.js.map +1 -1
  243. package/dist/index329.js +8 -7
  244. package/dist/index329.js.map +1 -1
  245. package/dist/index33.js +2 -2
  246. package/dist/index330.js +121 -385
  247. package/dist/index330.js.map +1 -1
  248. package/dist/index331.js +18 -5
  249. package/dist/index331.js.map +1 -1
  250. package/dist/index332.js +14 -51
  251. package/dist/index332.js.map +1 -1
  252. package/dist/index333.js +3 -11
  253. package/dist/index333.js.map +1 -1
  254. package/dist/index334.js +34 -25
  255. package/dist/index334.js.map +1 -1
  256. package/dist/index335.js +20 -11
  257. package/dist/index335.js.map +1 -1
  258. package/dist/index336.js +9 -154
  259. package/dist/index336.js.map +1 -1
  260. package/dist/index337.js +8 -32
  261. package/dist/index337.js.map +1 -1
  262. package/dist/index338.js +24 -11
  263. package/dist/index338.js.map +1 -1
  264. package/dist/index339.js +25 -46
  265. package/dist/index339.js.map +1 -1
  266. package/dist/index34.js +5 -5
  267. package/dist/index340.js +16 -9
  268. package/dist/index340.js.map +1 -1
  269. package/dist/index341.js +8 -11
  270. package/dist/index341.js.map +1 -1
  271. package/dist/index342.js +11 -43
  272. package/dist/index342.js.map +1 -1
  273. package/dist/index343.js +7 -96
  274. package/dist/index343.js.map +1 -1
  275. package/dist/index344.js +11 -84
  276. package/dist/index344.js.map +1 -1
  277. package/dist/index345.js +3 -105
  278. package/dist/index345.js.map +1 -1
  279. package/dist/index346.js +3 -52
  280. package/dist/index346.js.map +1 -1
  281. package/dist/index347.js +16 -10
  282. package/dist/index347.js.map +1 -1
  283. package/dist/index348.js +51 -4
  284. package/dist/index348.js.map +1 -1
  285. package/dist/index349.js +5 -37
  286. package/dist/index349.js.map +1 -1
  287. package/dist/index35.js +11 -11
  288. package/dist/index350.js +61 -8
  289. package/dist/index350.js.map +1 -1
  290. package/dist/index351.js +61 -130
  291. package/dist/index351.js.map +1 -1
  292. package/dist/index352.js +8 -17
  293. package/dist/index352.js.map +1 -1
  294. package/dist/index353.js +5 -16
  295. package/dist/index353.js.map +1 -1
  296. package/dist/index354.js +11 -3
  297. package/dist/index354.js.map +1 -1
  298. package/dist/index355.js +19 -34
  299. package/dist/index355.js.map +1 -1
  300. package/dist/index356.js +16 -20
  301. package/dist/index356.js.map +1 -1
  302. package/dist/index357.js +8 -10
  303. package/dist/index357.js.map +1 -1
  304. package/dist/index358.js +144 -8
  305. package/dist/index358.js.map +1 -1
  306. package/dist/index359.js +77 -22
  307. package/dist/index359.js.map +1 -1
  308. package/dist/index36.js +3 -3
  309. package/dist/index360.js +61 -28
  310. package/dist/index360.js.map +1 -1
  311. package/dist/index361.js +15 -17
  312. package/dist/index361.js.map +1 -1
  313. package/dist/index365.js +11 -8
  314. package/dist/index365.js.map +1 -1
  315. package/dist/index366.js +4 -27
  316. package/dist/index366.js.map +1 -1
  317. package/dist/index367.js +5 -137
  318. package/dist/index367.js.map +1 -1
  319. package/dist/index368.js +3 -13
  320. package/dist/index368.js.map +1 -1
  321. package/dist/index369.js +20 -46
  322. package/dist/index369.js.map +1 -1
  323. package/dist/index37.js +4 -4
  324. package/dist/index370.js +45 -4
  325. package/dist/index370.js.map +1 -1
  326. package/dist/index371.js +17 -21
  327. package/dist/index371.js.map +1 -1
  328. package/dist/index372.js +4 -75
  329. package/dist/index372.js.map +1 -1
  330. package/dist/index373.js +200 -11
  331. package/dist/index373.js.map +1 -1
  332. package/dist/index374.js +73 -3
  333. package/dist/index374.js.map +1 -1
  334. package/dist/index375.js +122 -72
  335. package/dist/index375.js.map +1 -1
  336. package/dist/index376.js +4 -200
  337. package/dist/index376.js.map +1 -1
  338. package/dist/index377.js +20 -71
  339. package/dist/index377.js.map +1 -1
  340. package/dist/index378.js +8 -35
  341. package/dist/index378.js.map +1 -1
  342. package/dist/index379.js +27 -7
  343. package/dist/index379.js.map +1 -1
  344. package/dist/index38.js +5 -5
  345. package/dist/index380.js +136 -14
  346. package/dist/index380.js.map +1 -1
  347. package/dist/index381.js +10 -121
  348. package/dist/index381.js.map +1 -1
  349. package/dist/index382.js +47 -4
  350. package/dist/index382.js.map +1 -1
  351. package/dist/index383.js +3 -11
  352. package/dist/index383.js.map +1 -1
  353. package/dist/index384.js +21 -5
  354. package/dist/index384.js.map +1 -1
  355. package/dist/index385.js +76 -3
  356. package/dist/index385.js.map +1 -1
  357. package/dist/index386.js +12 -21
  358. package/dist/index386.js.map +1 -1
  359. package/dist/index387.js +4 -45
  360. package/dist/index387.js.map +1 -1
  361. package/dist/index388.js +70 -16
  362. package/dist/index388.js.map +1 -1
  363. package/dist/index389.js +36 -5
  364. package/dist/index389.js.map +1 -1
  365. package/dist/index39.js +3 -3
  366. package/dist/index390.js +7 -5
  367. package/dist/index390.js.map +1 -1
  368. package/dist/index391.js +15 -20
  369. package/dist/index391.js.map +1 -1
  370. package/dist/index40.js +10 -10
  371. package/dist/index409.js +3 -3
  372. package/dist/index409.js.map +1 -1
  373. package/dist/index410.js +3 -15
  374. package/dist/index410.js.map +1 -1
  375. package/dist/index411.js +3 -492
  376. package/dist/index411.js.map +1 -1
  377. package/dist/index412.js +15 -3
  378. package/dist/index412.js.map +1 -1
  379. package/dist/index413.js +492 -3
  380. package/dist/index413.js.map +1 -1
  381. package/dist/index417.js +1 -1
  382. package/dist/index419.js +1 -1
  383. package/dist/index420.js +2 -2
  384. package/dist/index421.js +7 -32
  385. package/dist/index421.js.map +1 -1
  386. package/dist/index422.js +2 -8
  387. package/dist/index422.js.map +1 -1
  388. package/dist/index423.js +44 -2
  389. package/dist/index423.js.map +1 -1
  390. package/dist/index424.js +52 -40
  391. package/dist/index424.js.map +1 -1
  392. package/dist/index425.js +7 -55
  393. package/dist/index425.js.map +1 -1
  394. package/dist/index426.js +2 -8
  395. package/dist/index426.js.map +1 -1
  396. package/dist/index427.js +55 -2
  397. package/dist/index427.js.map +1 -1
  398. package/dist/index428.js +53 -52
  399. package/dist/index428.js.map +1 -1
  400. package/dist/index429.js +32 -55
  401. package/dist/index429.js.map +1 -1
  402. package/dist/index430.js +2 -16
  403. package/dist/index430.js.map +1 -1
  404. package/dist/index431.js +2 -29
  405. package/dist/index431.js.map +1 -1
  406. package/dist/index432.js +2 -13
  407. package/dist/index432.js.map +1 -1
  408. package/dist/index433.js +2 -7
  409. package/dist/index433.js.map +1 -1
  410. package/dist/index434.js +16 -2
  411. package/dist/index434.js.map +1 -1
  412. package/dist/index435.js +29 -2
  413. package/dist/index435.js.map +1 -1
  414. package/dist/index436.js +13 -2
  415. package/dist/index436.js.map +1 -1
  416. package/dist/index437.js +7 -2
  417. package/dist/index437.js.map +1 -1
  418. package/dist/index47.js +2 -2
  419. package/dist/index48.js +36 -36
  420. package/dist/index49.js +29 -29
  421. package/dist/index50.js +2 -2
  422. package/dist/index51.js +12 -12
  423. package/dist/index52.js +4 -4
  424. package/dist/index53.js +1 -1
  425. package/dist/index54.js +21 -21
  426. package/dist/index55.js +5 -5
  427. package/dist/index56.js +5 -5
  428. package/dist/index57.js +8 -8
  429. package/dist/index58.js +5 -5
  430. package/dist/index59.js +17 -17
  431. package/dist/index60.js +5 -5
  432. package/dist/index61.js +3 -3
  433. package/dist/index64.js +5 -5
  434. package/dist/index64.js.map +1 -1
  435. package/dist/index66.js +10 -22
  436. package/dist/index66.js.map +1 -1
  437. package/dist/index67.js +17 -232
  438. package/dist/index67.js.map +1 -1
  439. package/dist/index68.js +5 -5
  440. package/dist/index68.js.map +1 -1
  441. package/dist/index70.js +22 -10
  442. package/dist/index70.js.map +1 -1
  443. package/dist/index71.js +232 -17
  444. package/dist/index71.js.map +1 -1
  445. package/dist/index76.js +1 -1
  446. package/dist/index77.js +2 -2
  447. package/dist/index78.js +2 -2
  448. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index351.js","sources":["../../../node_modules/libphonenumber-js/es6/parse.js"],"sourcesContent":["// This is a port of Google Android `libphonenumber`'s\n// `phonenumberutil.js` of December 31th, 2018.\n//\n// https://github.com/googlei18n/libphonenumber/commits/master/javascript/i18n/phonenumbers/phonenumberutil.js\n\nimport { VALID_DIGITS, PLUS_CHARS, MIN_LENGTH_FOR_NSN, MAX_LENGTH_FOR_NSN } from './constants.js';\nimport ParseError from './ParseError.js';\nimport Metadata from './metadata.js';\nimport isViablePhoneNumber, { isViablePhoneNumberStart } from './helpers/isViablePhoneNumber.js';\nimport extractExtension from './helpers/extension/extractExtension.js';\nimport parseIncompletePhoneNumber from './parseIncompletePhoneNumber.js';\nimport getCountryCallingCode from './getCountryCallingCode.js';\nimport { isPossibleNumber } from './isPossible.js';\n// import { parseRFC3966 } from './helpers/RFC3966.js'\nimport PhoneNumber from './PhoneNumber.js';\nimport matchesEntirely from './helpers/matchesEntirely.js';\nimport extractCountryCallingCode from './helpers/extractCountryCallingCode.js';\nimport extractNationalNumber from './helpers/extractNationalNumber.js';\n// import stripIddPrefix from './helpers/stripIddPrefix.js'\nimport getCountryByCallingCode from './helpers/getCountryByCallingCode.js';\nimport extractFormattedPhoneNumberFromPossibleRfc3966NumberUri from './helpers/extractFormattedPhoneNumberFromPossibleRfc3966NumberUri.js';\n\n// We don't allow input strings for parsing to be longer than 250 chars.\n// This prevents malicious input from consuming CPU.\nvar MAX_INPUT_STRING_LENGTH = 250;\n\n// This consists of the plus symbol, digits, and arabic-indic digits.\nvar PHONE_NUMBER_START_PATTERN = new RegExp('[' + PLUS_CHARS + VALID_DIGITS + ']');\n\n// Regular expression of trailing characters that we want to remove.\n// A trailing `#` is sometimes used when writing phone numbers with extensions in US.\n// Example: \"+1 (645) 123 1234-910#\" number has extension \"910\".\nvar AFTER_PHONE_NUMBER_END_PATTERN = new RegExp('[^' + VALID_DIGITS + '#' + ']+$');\nvar USE_NON_GEOGRAPHIC_COUNTRY_CODE = false;\n\n// Examples:\n//\n// ```js\n// parse('8 (800) 555-35-35', 'RU')\n// parse('8 (800) 555-35-35', 'RU', metadata)\n// parse('8 (800) 555-35-35', { country: { default: 'RU' } })\n// parse('8 (800) 555-35-35', { country: { default: 'RU' } }, metadata)\n// parse('+7 800 555 35 35')\n// parse('+7 800 555 35 35', metadata)\n// ```\n//\n\n/**\r\n * Parses a phone number.\r\n *\r\n * parse('123456789', { defaultCountry: 'RU', v2: true }, metadata)\r\n * parse('123456789', { defaultCountry: 'RU' }, metadata)\r\n * parse('123456789', undefined, metadata)\r\n *\r\n * @param {string} input\r\n * @param {object} [options]\r\n * @param {object} metadataJson\r\n * @return {object|PhoneNumber?} If `options.v2: true` flag is passed, it returns a `PhoneNumber?` instance. Otherwise, returns an object of shape `{ phone: '...', country: '...' }` (or just `{}` if no phone number was parsed).\r\n */\nexport default function parse(text, options, metadataJson) {\n // If assigning the `{}` default value is moved to the arguments above,\n // code coverage would decrease for some weird reason.\n options = options || {};\n var metadata = new Metadata(metadataJson);\n\n // Validate `defaultCountry`.\n if (options.defaultCountry && !metadata.hasCountry(options.defaultCountry)) {\n if (options.v2) {\n throw new ParseError('INVALID_COUNTRY');\n }\n throw new Error(\"Unknown country: \".concat(options.defaultCountry));\n }\n\n // Parse the phone number.\n var _parseInput = parseInput(text, options.v2, options.extract),\n formattedPhoneNumber = _parseInput.number,\n ext = _parseInput.ext,\n error = _parseInput.error;\n\n // If the phone number is not viable then return nothing.\n if (!formattedPhoneNumber) {\n if (options.v2) {\n if (error === 'TOO_SHORT') {\n throw new ParseError('TOO_SHORT');\n }\n throw new ParseError('NOT_A_NUMBER');\n }\n return {};\n }\n var _parsePhoneNumber = parsePhoneNumber(formattedPhoneNumber, options.defaultCountry, options.defaultCallingCode,\n // If `country` is returned, its numbering plan will also be selected in `metadata`.\n // Otherwise, if `countryCallingCode` is returned, its numbering plan will also be selected in `metadata`.\n // Otherwise, if neither `country` nor `countryCallingCode` are returned, no numbering plan will be selected in `metadata`.\n metadata),\n country = _parsePhoneNumber.country,\n nationalNumber = _parsePhoneNumber.nationalNumber,\n countryCallingCode = _parsePhoneNumber.countryCallingCode,\n countryCallingCodeSource = _parsePhoneNumber.countryCallingCodeSource,\n carrierCode = _parsePhoneNumber.carrierCode;\n if (!metadata.hasSelectedNumberingPlan()) {\n if (options.v2) {\n throw new ParseError('INVALID_COUNTRY');\n }\n return {};\n }\n\n // Validate national (significant) number length.\n if (!nationalNumber || nationalNumber.length < MIN_LENGTH_FOR_NSN) {\n // Won't throw here because the regexp already demands length > 1.\n /* istanbul ignore if */\n if (options.v2) {\n throw new ParseError('TOO_SHORT');\n }\n // Google's demo just throws an error in this case.\n return {};\n }\n\n // Validate national (significant) number length.\n //\n // A sidenote:\n //\n // They say that sometimes national (significant) numbers\n // can be longer than `MAX_LENGTH_FOR_NSN` (e.g. in Germany).\n // https://github.com/googlei18n/libphonenumber/blob/7e1748645552da39c4e1ba731e47969d97bdb539/resources/phonenumber.proto#L36\n // Such numbers will just be discarded.\n //\n if (nationalNumber.length > MAX_LENGTH_FOR_NSN) {\n if (options.v2) {\n throw new ParseError('TOO_LONG');\n }\n // Google's demo just throws an error in this case.\n return {};\n }\n if (options.v2) {\n var phoneNumber = new PhoneNumber(countryCallingCode, nationalNumber, metadata.metadata);\n if (country) {\n phoneNumber.country = country;\n }\n if (carrierCode) {\n phoneNumber.carrierCode = carrierCode;\n }\n if (ext) {\n phoneNumber.ext = ext;\n }\n phoneNumber.__countryCallingCodeSource = countryCallingCodeSource;\n return phoneNumber;\n }\n\n // Check if national phone number pattern matches the number.\n // National number pattern is different for each country,\n // even for those ones which are part of the \"NANPA\" group.\n var valid = (options.extended ? metadata.hasSelectedNumberingPlan() : country) ? matchesEntirely(nationalNumber, metadata.nationalNumberPattern()) : false;\n if (!options.extended) {\n return valid ? result(country, nationalNumber, ext) : {};\n }\n\n // isInternational: countryCallingCode !== undefined\n\n return {\n country: country,\n countryCallingCode: countryCallingCode,\n carrierCode: carrierCode,\n valid: valid,\n possible: valid ? true : options.extended === true && metadata.possibleLengths() && isPossibleNumber(nationalNumber, metadata) ? true : false,\n phone: nationalNumber,\n ext: ext\n };\n}\n\n/**\r\n * Extracts a formatted phone number from text.\r\n * Doesn't guarantee that the extracted phone number\r\n * is a valid phone number (for example, doesn't validate its length).\r\n * @param {string} text\r\n * @param {boolean} [extract] — If `false`, then will parse the entire `text` as a phone number.\r\n * @param {boolean} [throwOnError] — By default, it won't throw if the text is too long.\r\n * @return {string}\r\n * @example\r\n * // Returns \"(213) 373-4253\".\r\n * extractFormattedPhoneNumber(\"Call (213) 373-4253 for assistance.\")\r\n */\nfunction _extractFormattedPhoneNumber(text, extract, throwOnError) {\n if (!text) {\n return;\n }\n if (text.length > MAX_INPUT_STRING_LENGTH) {\n if (throwOnError) {\n throw new ParseError('TOO_LONG');\n }\n return;\n }\n if (extract === false) {\n return text;\n }\n // Attempt to extract a possible number from the string passed in\n var startsAt = text.search(PHONE_NUMBER_START_PATTERN);\n if (startsAt < 0) {\n return;\n }\n return text\n // Trim everything to the left of the phone number\n .slice(startsAt)\n // Remove trailing non-numerical characters\n .replace(AFTER_PHONE_NUMBER_END_PATTERN, '');\n}\n\n/**\r\n * @param {string} text - Input.\r\n * @param {boolean} v2 - Legacy API functions don't pass `v2: true` flag.\r\n * @param {boolean} [extract] - Whether to extract a phone number from `text`, or attempt to parse the entire text as a phone number.\r\n * @return {object} `{ ?number, ?ext }`.\r\n */\nfunction parseInput(text, v2, extract) {\n // // Parse RFC 3966 phone number URI.\n // if (text && text.indexOf('tel:') === 0) {\n // \treturn parseRFC3966(text)\n // }\n // let number = extractFormattedPhoneNumber(text, extract, v2)\n var number = extractFormattedPhoneNumberFromPossibleRfc3966NumberUri(text, {\n extractFormattedPhoneNumber: function extractFormattedPhoneNumber(text) {\n return _extractFormattedPhoneNumber(text, extract, v2);\n }\n });\n // If the phone number is not viable, then abort.\n if (!number) {\n return {};\n }\n if (!isViablePhoneNumber(number)) {\n if (isViablePhoneNumberStart(number)) {\n return {\n error: 'TOO_SHORT'\n };\n }\n return {};\n }\n // Attempt to parse extension first, since it doesn't require region-specific\n // data and we want to have the non-normalised number here.\n var withExtensionStripped = extractExtension(number);\n if (withExtensionStripped.ext) {\n return withExtensionStripped;\n }\n return {\n number: number\n };\n}\n\n/**\r\n * Creates `parse()` result object.\r\n */\nfunction result(country, nationalNumber, ext) {\n var result = {\n country: country,\n phone: nationalNumber\n };\n if (ext) {\n result.ext = ext;\n }\n return result;\n}\n\n/**\r\n * Parses a viable phone number.\r\n * @param {string} formattedPhoneNumber — Example: \"(213) 373-4253\".\r\n * @param {string} [defaultCountry]\r\n * @param {string} [defaultCallingCode]\r\n * @param {Metadata} metadata — Metadata instance with no pre-selected numbering plan. If `country` is returned, its numbering plan will also be selected in `metadata`. Otherwise, if `countryCallingCode` is returned, its numbering plan will also be selected in `metadata`. Otherwise, if neither `country` nor `countryCallingCode` are returned, no numbering plan will be selected in `metadata`.\r\n * @return {object} Returns `{ country: string?, countryCallingCode: string?, nationalNumber: string? }`.\r\n */\nfunction parsePhoneNumber(formattedPhoneNumber, defaultCountry, defaultCallingCode, metadata) {\n // Attempt to extract a calling code from a phone number.\n // * If the phone number is found to be \"international\":\n // * It will attempt to identify the calling code part of it and whether that part is complete and valid.\n // * If the calling code part is complete and valid, it will return two properties:\n // that calling code part (without `+`) and the rest of the digits.\n // * Otherwise, i.e. if the calling code part is incomplete or invalid,\n // it will return an empty object.\n // * Otherwise, i.e. if the phone number is national, there's no callind code to extract\n // so it will just return the originally-passed `number` string as the only property.\n var _extractCountryCallin = extractCountryCallingCode(parseIncompletePhoneNumber(formattedPhoneNumber), undefined,\n // `defaultCountry` and `defaultCallingCode` are only used to detect\n // if it's an \"international\" phone number or not. They won't be used\n // to derive the resulting `countryCallingCode` from them, or anything like that.\n defaultCountry, defaultCallingCode, metadata.metadata),\n countryCallingCodeSource = _extractCountryCallin.countryCallingCodeSource,\n countryCallingCode = _extractCountryCallin.countryCallingCode,\n number = _extractCountryCallin.number;\n\n // The exact country of the phone number\n var country;\n\n // If `formattedPhoneNumber` is passed in \"international\" format,\n // choose a country by `countryCallingCode`.\n if (countryCallingCode) {\n metadata.selectNumberingPlan(countryCallingCode);\n }\n // Else, if `formattedPhoneNumber` is passed in \"national\" format,\n // then `number` is defined and `countryCallingCode` is `undefined`.\n else if (number && (defaultCountry || defaultCallingCode)) {\n if (defaultCountry) {\n country = defaultCountry;\n metadata.selectNumberingPlan(defaultCountry);\n countryCallingCode = metadata.numberingPlan.callingCode();\n } else {\n metadata.selectNumberingPlan(defaultCallingCode);\n countryCallingCode = defaultCallingCode;\n /* istanbul ignore if */\n if (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {\n if (metadata.isNonGeographicCallingCode(countryCallingCode)) {\n country = '001';\n }\n }\n }\n } else return {};\n\n // At this point, `country` could be `undefined` but `countryCallingCode` is always defined.\n //\n // Also, if `country` is defined, its numbering plan is selected in `metadata`.\n // Otherwise, the numering plan for the `countryCallingCode` is selected in `metadata`.\n\n if (!number) {\n return {\n countryCallingCodeSource: countryCallingCodeSource,\n countryCallingCode: countryCallingCode\n };\n }\n var _extractNationalNumbe = extractNationalNumber(parseIncompletePhoneNumber(number), undefined, metadata),\n nationalNumber = _extractNationalNumbe.nationalNumber,\n carrierCode = _extractNationalNumbe.carrierCode;\n\n // Sometimes there are several countries\n // corresponding to the same country phone code\n // (e.g. NANPA countries all having `1` country phone code).\n // Therefore, to reliably determine the exact country,\n // national (significant) number should have been parsed first.\n //\n // When `metadata.json` is generated, all \"ambiguous\" country phone codes\n // get their countries populated with the full set of\n // \"phone number type\" regular expressions.\n //\n var exactCountry = getCountryByCallingCode(countryCallingCode, {\n nationalNumber: nationalNumber,\n metadata: metadata\n });\n if (exactCountry) {\n country = exactCountry;\n /* istanbul ignore if */\n if (exactCountry === '001') {\n // Can't happen with `USE_NON_GEOGRAPHIC_COUNTRY_CODE` being `false`.\n // If `USE_NON_GEOGRAPHIC_COUNTRY_CODE` is set to `true` for some reason,\n // then remove the \"istanbul ignore if\".\n } else {\n metadata.selectNumberingPlan(country);\n }\n }\n return {\n country: country,\n countryCallingCode: countryCallingCode,\n countryCallingCodeSource: countryCallingCodeSource,\n nationalNumber: nationalNumber,\n carrierCode: carrierCode\n };\n}\n//# sourceMappingURL=parse.js.map"],"names":["MAX_INPUT_STRING_LENGTH","PHONE_NUMBER_START_PATTERN","PLUS_CHARS","VALID_DIGITS","AFTER_PHONE_NUMBER_END_PATTERN","parse","text","options","metadataJson","metadata","Metadata","ParseError","_parseInput","parseInput","formattedPhoneNumber","ext","error","_parsePhoneNumber","parsePhoneNumber","country","nationalNumber","countryCallingCode","countryCallingCodeSource","carrierCode","MIN_LENGTH_FOR_NSN","MAX_LENGTH_FOR_NSN","phoneNumber","PhoneNumber","valid","matchesEntirely","isPossibleNumber","result","_extractFormattedPhoneNumber","extract","throwOnError","startsAt","v2","number","extractFormattedPhoneNumberFromPossibleRfc3966NumberUri","isViablePhoneNumber","isViablePhoneNumberStart","withExtensionStripped","extractExtension","defaultCountry","defaultCallingCode","_extractCountryCallin","extractCountryCallingCode","parseIncompletePhoneNumber","_extractNationalNumbe","extractNationalNumber","exactCountry","getCountryByCallingCode"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index351.js","sources":["../../../node_modules/@base-ui/react/dialog/store/DialogStore.mjs"],"sourcesContent":["import * as React from 'react';\nimport { createSelector, ReactStore } from '@base-ui/utils/store';\nimport { createPopupFloatingRootContext, createInitialPopupStoreState, popupStoreSelectors, PopupTriggerMap, setPopupOpenState, usePopupStore } from \"../../utils/popups/index.mjs\";\nconst selectors = {\n ...popupStoreSelectors,\n modal: createSelector(state => state.modal),\n nested: createSelector(state => state.nested),\n nestedOpenDialogCount: createSelector(state => state.nestedOpenDialogCount),\n nestedOpenDrawerCount: createSelector(state => state.nestedOpenDrawerCount),\n disablePointerDismissal: createSelector(state => state.disablePointerDismissal),\n openMethod: createSelector(state => state.openMethod),\n descriptionElementId: createSelector(state => state.descriptionElementId),\n titleElementId: createSelector(state => state.titleElementId),\n viewportElement: createSelector(state => state.viewportElement),\n role: createSelector(state => state.role)\n};\nexport class DialogStore extends ReactStore {\n constructor(initialState, floatingId, nested = false) {\n const triggerElements = new PopupTriggerMap();\n const state = createInitialState(initialState);\n state.floatingRootContext = createPopupFloatingRootContext(triggerElements, floatingId, nested);\n super(state, {\n popupRef: /*#__PURE__*/React.createRef(),\n backdropRef: /*#__PURE__*/React.createRef(),\n internalBackdropRef: /*#__PURE__*/React.createRef(),\n outsidePressEnabledRef: {\n current: true\n },\n triggerElements,\n onOpenChange: undefined,\n onOpenChangeComplete: undefined\n }, selectors);\n }\n setOpen = (nextOpen, eventDetails) => {\n eventDetails.preventUnmountOnClose = () => {\n this.set('preventUnmountingOnClose', true);\n };\n if (!nextOpen && eventDetails.trigger == null && this.state.activeTriggerId != null) {\n // When closing the dialog, pass the old trigger to the onOpenChange event\n // so it's not reset too early (potentially causing focus issues in controlled scenarios).\n eventDetails.trigger = this.state.activeTriggerElement ?? undefined;\n }\n this.context.onOpenChange?.(nextOpen, eventDetails);\n if (eventDetails.isCanceled) {\n return;\n }\n this.state.floatingRootContext.dispatchOpenChange(nextOpen, eventDetails);\n const updatedState = {\n open: nextOpen\n };\n setPopupOpenState(updatedState, nextOpen, eventDetails.trigger);\n this.update(updatedState);\n };\n static useStore(externalStore, initialState) {\n /* eslint-disable react-hooks/rules-of-hooks */\n const store = usePopupStore(externalStore, (floatingId, nested) => new DialogStore(initialState, floatingId, nested), true).store;\n /* eslint-enable react-hooks/rules-of-hooks */\n\n return store;\n }\n}\nfunction createInitialState(initialState = {}) {\n return {\n ...createInitialPopupStoreState(),\n modal: true,\n disablePointerDismissal: false,\n popupElement: null,\n viewportElement: null,\n descriptionElementId: undefined,\n titleElementId: undefined,\n openMethod: null,\n nested: false,\n nestedOpenDialogCount: 0,\n nestedOpenDrawerCount: 0,\n role: 'dialog',\n ...initialState\n };\n}"],"names":["selectors","popupStoreSelectors","createSelector","state","DialogStore","ReactStore","initialState","floatingId","nested","triggerElements","PopupTriggerMap","createInitialState","createPopupFloatingRootContext","React","nextOpen","eventDetails","updatedState","setPopupOpenState","externalStore","usePopupStore","createInitialPopupStoreState"],"mappings":";;;;;;AAGA,MAAMA,IAAY;AAAA,EAChB,GAAGC;AAAA,EACH,OAAOC,EAAe,CAAAC,MAASA,EAAM,KAAK;AAAA,EAC1C,QAAQD,EAAe,CAAAC,MAASA,EAAM,MAAM;AAAA,EAC5C,uBAAuBD,EAAe,CAAAC,MAASA,EAAM,qBAAqB;AAAA,EAC1E,uBAAuBD,EAAe,CAAAC,MAASA,EAAM,qBAAqB;AAAA,EAC1E,yBAAyBD,EAAe,CAAAC,MAASA,EAAM,uBAAuB;AAAA,EAC9E,YAAYD,EAAe,CAAAC,MAASA,EAAM,UAAU;AAAA,EACpD,sBAAsBD,EAAe,CAAAC,MAASA,EAAM,oBAAoB;AAAA,EACxE,gBAAgBD,EAAe,CAAAC,MAASA,EAAM,cAAc;AAAA,EAC5D,iBAAiBD,EAAe,CAAAC,MAASA,EAAM,eAAe;AAAA,EAC9D,MAAMD,EAAe,CAAAC,MAASA,EAAM,IAAI;AAC1C;AACO,MAAMC,UAAoBC,EAAW;AAAA,EAC1C,YAAYC,GAAcC,GAAYC,IAAS,IAAO;AACpD,UAAMC,IAAkB,IAAIC,EAAe,GACrCP,IAAQQ,EAAmBL,CAAY;AAC7C,IAAAH,EAAM,sBAAsBS,EAA+BH,GAAiBF,GAAYC,CAAM,GAC9F,MAAML,GAAO;AAAA,MACX,UAAuB,gBAAAU,EAAM,UAAS;AAAA,MACtC,aAA0B,gBAAAA,EAAM,UAAS;AAAA,MACzC,qBAAkC,gBAAAA,EAAM,UAAS;AAAA,MACjD,wBAAwB;AAAA,QACtB,SAAS;AAAA,MACjB;AAAA,MACM,iBAAAJ;AAAA,MACA,cAAc;AAAA,MACd,sBAAsB;AAAA,IAC5B,GAAOT,CAAS;AAAA,EACd;AAAA,EACA,UAAU,CAACc,GAAUC,MAAiB;AAUpC,QATAA,EAAa,wBAAwB,MAAM;AACzC,WAAK,IAAI,4BAA4B,EAAI;AAAA,IAC3C,GACI,CAACD,KAAYC,EAAa,WAAW,QAAQ,KAAK,MAAM,mBAAmB,SAG7EA,EAAa,UAAU,KAAK,MAAM,wBAAwB,SAE5D,KAAK,QAAQ,eAAeD,GAAUC,CAAY,GAC9CA,EAAa;AACf;AAEF,SAAK,MAAM,oBAAoB,mBAAmBD,GAAUC,CAAY;AACxE,UAAMC,IAAe;AAAA,MACnB,MAAMF;AAAA,IACZ;AACI,IAAAG,EAAkBD,GAAcF,GAAUC,EAAa,OAAO,GAC9D,KAAK,OAAOC,CAAY;AAAA,EAC1B;AAAA,EACA,OAAO,SAASE,GAAeZ,GAAc;AAK3C,WAHca,EAAcD,GAAe,CAACX,GAAYC,MAAW,IAAIJ,EAAYE,GAAcC,GAAYC,CAAM,GAAG,EAAI,EAAE;AAAA,EAI9H;AACF;AACA,SAASG,EAAmBL,IAAe,IAAI;AAC7C,SAAO;AAAA,IACL,GAAGc,EAA4B;AAAA,IAC/B,OAAO;AAAA,IACP,yBAAyB;AAAA,IACzB,cAAc;AAAA,IACd,iBAAiB;AAAA,IACjB,sBAAsB;AAAA,IACtB,gBAAgB;AAAA,IAChB,YAAY;AAAA,IACZ,QAAQ;AAAA,IACR,uBAAuB;AAAA,IACvB,uBAAuB;AAAA,IACvB,MAAM;AAAA,IACN,GAAGd;AAAA,EACP;AACA;","x_google_ignoreList":[0]}
package/dist/index352.js CHANGED
@@ -1,21 +1,12 @@
1
- import { MIN_LENGTH_FOR_NSN as e, VALID_DIGITS as _, PLUS_CHARS as t, VALID_PUNCTUATION as E } from "./index182.js";
2
- import r from "./index358.js";
3
- var n = "[" + _ + "]{" + e + "}", I = "[" + t + "]{0,1}(?:[" + E + "]*[" + _ + "]){3,}[" + E + _ + "]*", P = new RegExp("^[" + t + "]{0,1}(?:[" + E + "]*[" + _ + "]){1,2}$", "i"), R = I + // Phone number extensions
4
- "(?:" + r() + ")?", T = new RegExp(
5
- // Either a short two-digit-only phone number
6
- "^" + n + "$|^" + R + "$",
7
- "i"
8
- );
9
- function A(N) {
10
- return N.length >= e && T.test(N);
11
- }
12
- function o(N) {
13
- return P.test(N);
1
+ let o;
2
+ process.env.NODE_ENV !== "production" && (o = /* @__PURE__ */ new Set());
3
+ function s(...r) {
4
+ if (process.env.NODE_ENV !== "production") {
5
+ const e = r.join(" ");
6
+ o.has(e) || (o.add(e), console.error(`Base UI: ${e}`));
7
+ }
14
8
  }
15
9
  export {
16
- I as VALID_PHONE_NUMBER,
17
- R as VALID_PHONE_NUMBER_WITH_EXTENSION,
18
- A as default,
19
- o as isViablePhoneNumberStart
10
+ s as error
20
11
  };
21
12
  //# sourceMappingURL=index352.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index352.js","sources":["../../../node_modules/libphonenumber-js/es6/helpers/isViablePhoneNumber.js"],"sourcesContent":["import { MIN_LENGTH_FOR_NSN, VALID_DIGITS, VALID_PUNCTUATION, PLUS_CHARS } from '../constants.js';\nimport createExtensionPattern from './extension/createExtensionPattern.js';\n\n// Regular expression of viable phone numbers. This is location independent.\n// Checks we have at least three leading digits, and only valid punctuation,\n// alpha characters and digits in the phone number. Does not include extension\n// data. The symbol 'x' is allowed here as valid punctuation since it is often\n// used as a placeholder for carrier codes, for example in Brazilian phone\n// numbers. We also allow multiple '+' characters at the start.\n//\n// Corresponds to the following:\n// [digits]{minLengthNsn}|\n// plus_sign*\n// (([punctuation]|[star])*[digits]){3,}([punctuation]|[star]|[digits]|[alpha])*\n//\n// The first reg-ex is to allow short numbers (two digits long) to be parsed if\n// they are entered as \"15\" etc, but only if there is no punctuation in them.\n// The second expression restricts the number of digits to three or more, but\n// then allows them to be in international form, and to have alpha-characters\n// and punctuation. We split up the two reg-exes here and combine them when\n// creating the reg-ex VALID_PHONE_NUMBER_PATTERN itself so we can prefix it\n// with ^ and append $ to each branch.\n//\n// \"Note VALID_PUNCTUATION starts with a -,\n// so must be the first in the range\" (c) Google devs.\n// (wtf did they mean by saying that; probably nothing)\n//\nvar MIN_LENGTH_PHONE_NUMBER_PATTERN = '[' + VALID_DIGITS + ']{' + MIN_LENGTH_FOR_NSN + '}';\n//\n// And this is the second reg-exp:\n// (see MIN_LENGTH_PHONE_NUMBER_PATTERN for a full description of this reg-exp)\n//\nexport var VALID_PHONE_NUMBER = '[' + PLUS_CHARS + ']{0,1}' + '(?:' + '[' + VALID_PUNCTUATION + ']*' + '[' + VALID_DIGITS + ']' + '){3,}' + '[' + VALID_PUNCTUATION + VALID_DIGITS + ']*';\n\n// This regular expression isn't present in Google's `libphonenumber`\n// and is only used to determine whether the phone number being input\n// is too short for it to even consider it a \"valid\" number.\n// This is just a way to differentiate between a really invalid phone\n// number like \"abcde\" and a valid phone number that a user has just\n// started inputting, like \"+1\" or \"1\": both these cases would be\n// considered `NOT_A_NUMBER` by Google's `libphonenumber`, but this\n// library can provide a more detailed error message — whether it's\n// really \"not a number\", or is it just a start of a valid phone number.\nvar VALID_PHONE_NUMBER_START_REG_EXP = new RegExp('^' + '[' + PLUS_CHARS + ']{0,1}' + '(?:' + '[' + VALID_PUNCTUATION + ']*' + '[' + VALID_DIGITS + ']' + '){1,2}' + '$', 'i');\nexport var VALID_PHONE_NUMBER_WITH_EXTENSION = VALID_PHONE_NUMBER +\n// Phone number extensions\n'(?:' + createExtensionPattern() + ')?';\n\n// The combined regular expression for valid phone numbers:\n//\nvar VALID_PHONE_NUMBER_PATTERN = new RegExp(\n// Either a short two-digit-only phone number\n'^' + MIN_LENGTH_PHONE_NUMBER_PATTERN + '$' + '|' +\n// Or a longer fully parsed phone number (min 3 characters)\n'^' + VALID_PHONE_NUMBER_WITH_EXTENSION + '$', 'i');\n\n// Checks to see if the string of characters could possibly be a phone number at\n// all. At the moment, checks to see that the string begins with at least 2\n// digits, ignoring any punctuation commonly found in phone numbers. This method\n// does not require the number to be normalized in advance - but does assume\n// that leading non-number symbols have been removed, such as by the method\n// `extract_possible_number`.\n//\nexport default function isViablePhoneNumber(number) {\n return number.length >= MIN_LENGTH_FOR_NSN && VALID_PHONE_NUMBER_PATTERN.test(number);\n}\n\n// This is just a way to differentiate between a really invalid phone\n// number like \"abcde\" and a valid phone number that a user has just\n// started inputting, like \"+1\" or \"1\": both these cases would be\n// considered `NOT_A_NUMBER` by Google's `libphonenumber`, but this\n// library can provide a more detailed error message — whether it's\n// really \"not a number\", or is it just a start of a valid phone number.\nexport function isViablePhoneNumberStart(number) {\n return VALID_PHONE_NUMBER_START_REG_EXP.test(number);\n}\n//# sourceMappingURL=isViablePhoneNumber.js.map"],"names":["MIN_LENGTH_PHONE_NUMBER_PATTERN","VALID_DIGITS","MIN_LENGTH_FOR_NSN","VALID_PHONE_NUMBER","PLUS_CHARS","VALID_PUNCTUATION","VALID_PHONE_NUMBER_START_REG_EXP","VALID_PHONE_NUMBER_WITH_EXTENSION","createExtensionPattern","VALID_PHONE_NUMBER_PATTERN","isViablePhoneNumber","number","isViablePhoneNumberStart"],"mappings":";;AA2BA,IAAIA,IAAkC,MAAMC,IAAe,OAAOC,IAAqB,KAK5EC,IAAqB,MAAMC,IAAa,eAAyBC,IAAoB,QAAaJ,IAAe,YAAsBI,IAAoBJ,IAAe,MAWjLK,IAAmC,IAAI,OAAO,OAAYF,IAAa,eAAyBC,IAAoB,QAAaJ,IAAe,YAAsB,GAAG,GAClKM,IAAoCJ;AAE/C,QAAQK,EAAsB,IAAK,MAI/BC,IAA6B,IAAI;AAAA;AAAA,EAErC,MAAMT,IAAkC,QAElCO,IAAoC;AAAA,EAAK;AAAG;AASnC,SAASG,EAAoBC,GAAQ;AAClD,SAAOA,EAAO,UAAUT,KAAsBO,EAA2B,KAAKE,CAAM;AACtF;AAQO,SAASC,EAAyBD,GAAQ;AAC/C,SAAOL,EAAiC,KAAKK,CAAM;AACrD;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index352.js","sources":["../../../node_modules/@base-ui/utils/error.mjs"],"sourcesContent":["let set;\nif (process.env.NODE_ENV !== 'production') {\n set = new Set();\n}\nexport function error(...messages) {\n if (process.env.NODE_ENV !== 'production') {\n const messageKey = messages.join(' ');\n if (!set.has(messageKey)) {\n set.add(messageKey);\n console.error(`Base UI: ${messageKey}`);\n }\n }\n}\nexport function reset() {\n set?.clear();\n}"],"names":["set","error","messages","messageKey"],"mappings":"AAAA,IAAIA;AACA,QAAQ,IAAI,aAAa,iBAC3BA,IAAM,oBAAI,IAAG;AAER,SAASC,KAASC,GAAU;AACjC,MAAI,QAAQ,IAAI,aAAa,cAAc;AACzC,UAAMC,IAAaD,EAAS,KAAK,GAAG;AACpC,IAAKF,EAAI,IAAIG,CAAU,MACrBH,EAAI,IAAIG,CAAU,GAClB,QAAQ,MAAM,YAAYA,CAAU,EAAE;AAAA,EAE1C;AACF;","x_google_ignoreList":[0]}
package/dist/index353.js CHANGED
@@ -1,19 +1,8 @@
1
- import o from "./index358.js";
2
- var n = new RegExp("(?:" + o() + ")$", "i");
3
- function c(e) {
4
- var a = e.search(n);
5
- if (a < 0)
6
- return {};
7
- for (var i = e.slice(0, a), r = e.match(n), t = 1; t < r.length; ) {
8
- if (r[t])
9
- return {
10
- number: i,
11
- ext: r[t]
12
- };
13
- t++;
14
- }
15
- }
1
+ import * as t from "react";
2
+ const a = {
3
+ ...t
4
+ };
16
5
  export {
17
- c as default
6
+ a as SafeReact
18
7
  };
19
8
  //# sourceMappingURL=index353.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index353.js","sources":["../../../node_modules/libphonenumber-js/es6/helpers/extension/extractExtension.js"],"sourcesContent":["import createExtensionPattern from './createExtensionPattern.js';\n\n// Regexp of all known extension prefixes used by different regions followed by\n// 1 or more valid digits, for use when parsing.\nvar EXTN_PATTERN = new RegExp('(?:' + createExtensionPattern() + ')$', 'i');\n\n// Strips any extension (as in, the part of the number dialled after the call is\n// connected, usually indicated with extn, ext, x or similar) from the end of\n// the number, and returns it.\nexport default function extractExtension(number) {\n var start = number.search(EXTN_PATTERN);\n if (start < 0) {\n return {};\n }\n // If we find a potential extension, and the number preceding this is a viable\n // number, we assume it is an extension.\n var numberWithoutExtension = number.slice(0, start);\n var matches = number.match(EXTN_PATTERN);\n var i = 1;\n while (i < matches.length) {\n if (matches[i]) {\n return {\n number: numberWithoutExtension,\n ext: matches[i]\n };\n }\n i++;\n }\n}\n//# sourceMappingURL=extractExtension.js.map"],"names":["EXTN_PATTERN","createExtensionPattern","extractExtension","number","start","numberWithoutExtension","matches","i"],"mappings":";AAIA,IAAIA,IAAe,IAAI,OAAO,QAAQC,EAAsB,IAAK,MAAM,GAAG;AAK3D,SAASC,EAAiBC,GAAQ;AAC/C,MAAIC,IAAQD,EAAO,OAAOH,CAAY;AACtC,MAAII,IAAQ;AACV,WAAO,CAAA;AAOT,WAHIC,IAAyBF,EAAO,MAAM,GAAGC,CAAK,GAC9CE,IAAUH,EAAO,MAAMH,CAAY,GACnCO,IAAI,GACDA,IAAID,EAAQ,UAAQ;AACzB,QAAIA,EAAQC,CAAC;AACX,aAAO;AAAA,QACL,QAAQF;AAAA,QACR,KAAKC,EAAQC,CAAC;AAAA,MACtB;AAEI,IAAAA;AAAA,EACF;AACF;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index353.js","sources":["../../../node_modules/@base-ui/utils/safeReact.mjs"],"sourcesContent":["import * as React from 'react';\n\n/**\n * A clone of the React namespace for reading APIs that may be missing in older\n * supported React versions. Bundlers can rewrite direct `React.someNewApi`\n * reads into named imports, which breaks React 17. Reading from this cloned\n * object keeps those lookups optional.\n *\n * @see https://github.com/mui/material-ui/issues/41190#issuecomment-2040873379\n */\nexport const SafeReact = {\n ...React\n};"],"names":["SafeReact","React"],"mappings":";AAUY,MAACA,IAAY;AAAA,EACvB,GAAGC;AACL;","x_google_ignoreList":[0]}
package/dist/index354.js CHANGED
@@ -1,7 +1,15 @@
1
- function r(e, n) {
2
- return e = e || "", new RegExp("^(?:" + n + ")$").test(e);
1
+ import n from "./index190.js";
2
+ import * as t from "react";
3
+ const e = /* @__PURE__ */ t.createContext(void 0);
4
+ process.env.NODE_ENV !== "production" && (e.displayName = "CompositeRootContext");
5
+ function r(s = !1) {
6
+ const o = t.useContext(e);
7
+ if (o === void 0 && !s)
8
+ throw new Error(process.env.NODE_ENV !== "production" ? "Base UI: CompositeRootContext is missing. Composite parts must be placed within <Composite.Root>." : n(16));
9
+ return o;
3
10
  }
4
11
  export {
5
- r as default
12
+ e as CompositeRootContext,
13
+ r as useCompositeRootContext
6
14
  };
7
15
  //# sourceMappingURL=index354.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index354.js","sources":["../../../node_modules/libphonenumber-js/es6/helpers/matchesEntirely.js"],"sourcesContent":["/**\r\n * Checks whether the entire input sequence can be matched\r\n * against the regular expression.\r\n * @return {boolean}\r\n */\nexport default function matchesEntirely(text, regularExpressionText) {\n // If the assigning of the `''` default value is moved to the arguments above,\n // the code coverage would decrease for some weird reason.\n text = text || '';\n return new RegExp('^(?:' + regularExpressionText + ')$').test(text);\n}\n//# sourceMappingURL=matchesEntirely.js.map"],"names":["matchesEntirely","text","regularExpressionText"],"mappings":"AAKe,SAASA,EAAgBC,GAAMC,GAAuB;AAGnE,SAAAD,IAAOA,KAAQ,IACR,IAAI,OAAO,SAASC,IAAwB,IAAI,EAAE,KAAKD,CAAI;AACpE;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index354.js","sources":["../../../node_modules/@base-ui/react/internals/composite/root/CompositeRootContext.mjs"],"sourcesContent":["'use client';\n\nimport _formatErrorMessage from \"@base-ui/utils/formatErrorMessage\";\nimport * as React from 'react';\nexport const CompositeRootContext = /*#__PURE__*/React.createContext(undefined);\nif (process.env.NODE_ENV !== \"production\") CompositeRootContext.displayName = \"CompositeRootContext\";\nexport function useCompositeRootContext(optional = false) {\n const context = React.useContext(CompositeRootContext);\n if (context === undefined && !optional) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? 'Base UI: CompositeRootContext is missing. Composite parts must be placed within <Composite.Root>.' : _formatErrorMessage(16));\n }\n return context;\n}"],"names":["CompositeRootContext","React","useCompositeRootContext","optional","context","_formatErrorMessage"],"mappings":";;AAIY,MAACA,IAAoC,gBAAAC,EAAM,cAAc,MAAS;AAC1E,QAAQ,IAAI,aAAa,iBAAcD,EAAqB,cAAc;AACvE,SAASE,EAAwBC,IAAW,IAAO;AACxD,QAAMC,IAAUH,EAAM,WAAWD,CAAoB;AACrD,MAAII,MAAY,UAAa,CAACD;AAC5B,UAAM,IAAI,MAAM,QAAQ,IAAI,aAAa,eAAe,sGAAsGE,EAAoB,EAAE,CAAC;AAEvL,SAAOD;AACT;","x_google_ignoreList":[0]}
package/dist/index355.js CHANGED
@@ -1,40 +1,25 @@
1
- import l from "./index360.js";
2
- import o from "./index354.js";
3
- import u from "./index188.js";
4
- import N from "./index191.js";
5
- function g(e, n, r) {
6
- var i = l(e, r), a = i.carrierCode, t = i.nationalNumber;
7
- if (t !== e) {
8
- if (!m(e, t, r))
9
- return {
10
- nationalNumber: e
11
- };
12
- if (r.numberingPlan.possibleLengths() && (n || (n = N(r.numberingPlan.callingCode(), {
13
- nationalNumber: t,
14
- metadata: r
15
- })), !f(t, n, r)))
16
- return {
17
- nationalNumber: e
18
- };
19
- }
1
+ import * as r from "react";
2
+ function f(l) {
3
+ const {
4
+ focusableWhenDisabled: e,
5
+ disabled: o,
6
+ composite: t = !1,
7
+ tabIndex: i = 0,
8
+ isNativeButton: s
9
+ } = l, n = t && e !== !1, b = t && e === !1;
20
10
  return {
21
- nationalNumber: t,
22
- carrierCode: a
11
+ props: r.useMemo(() => {
12
+ const a = {
13
+ // allow Tabbing away from focusableWhenDisabled elements
14
+ onKeyDown(d) {
15
+ o && e && d.key !== "Tab" && d.preventDefault();
16
+ }
17
+ };
18
+ return t || (a.tabIndex = i, !s && o && (a.tabIndex = e ? i : -1)), (s && (e || n) || !s && o) && (a["aria-disabled"] = o), s && (!e || b) && (a.disabled = o), a;
19
+ }, [t, o, e, n, b, s, i])
23
20
  };
24
21
  }
25
- function m(e, n, r) {
26
- return !(o(e, r.nationalNumberPattern()) && !o(n, r.nationalNumberPattern()));
27
- }
28
- function f(e, n, r) {
29
- switch (u(e, n, r)) {
30
- case "TOO_SHORT":
31
- case "INVALID_LENGTH":
32
- return !1;
33
- default:
34
- return !0;
35
- }
36
- }
37
22
  export {
38
- g as default
23
+ f as useFocusableWhenDisabled
39
24
  };
40
25
  //# sourceMappingURL=index355.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index355.js","sources":["../../../node_modules/libphonenumber-js/es6/helpers/extractNationalNumber.js"],"sourcesContent":["import extractNationalNumberFromPossiblyIncompleteNumber from './extractNationalNumberFromPossiblyIncompleteNumber.js';\nimport matchesEntirely from './matchesEntirely.js';\nimport checkNumberLength from './checkNumberLength.js';\nimport getCountryByCallingCode from './getCountryByCallingCode.js';\n\n/**\r\n * Strips national prefix and carrier code from a complete phone number.\r\n * The difference from the non-\"FromCompleteNumber\" function is that\r\n * it won't extract national prefix if the resultant number is too short\r\n * to be a complete number for the selected phone numbering plan.\r\n * @param {string} number — Complete phone number digits.\r\n * @param {string?} country — Specific country to use instead of the one that is pre-selected in the metadata instance.\r\n * @param {Metadata} metadata — Metadata instance with a selected numbering plan.\r\n * @return {object} `{ nationalNumber: string, carrierCode: string? }`.\r\n */\nexport default function extractNationalNumber(number, country, metadata) {\n // Parsing national prefixes and carrier codes\n // is only required for local phone numbers\n // but some people don't understand that\n // and sometimes write international phone numbers\n // with national prefixes (or maybe even carrier codes).\n // http://ucken.blogspot.ru/2016/03/trunk-prefixes-in-skype4b.html\n // Google's original library forgives such mistakes\n // and so does this library, because it has been requested:\n // https://github.com/catamphetamine/libphonenumber-js/issues/127\n var _extractNationalNumbe = extractNationalNumberFromPossiblyIncompleteNumber(number, metadata),\n carrierCode = _extractNationalNumbe.carrierCode,\n nationalNumber = _extractNationalNumbe.nationalNumber;\n if (nationalNumber !== number) {\n if (!shouldHaveExtractedNationalPrefix(number, nationalNumber, metadata)) {\n // Don't strip the national prefix.\n return {\n nationalNumber: number\n };\n }\n // Check the national (significant) number length after extracting national prefix and carrier code.\n // Legacy generated metadata (before `1.0.18`) didn't support the \"possible lengths\" feature,\n // so this `if` will only be executed with newer metadata.\n if (metadata.numberingPlan.possibleLengths()) {\n // If an exact `country` is not specified, attempt to detect it from the assumed national number.\n if (!country) {\n country = getCountryByCallingCode(metadata.numberingPlan.callingCode(), {\n nationalNumber: nationalNumber,\n metadata: metadata\n });\n }\n\n // The number remaining after stripping the national prefix and carrier code\n // should be long enough to have a possible length for the country.\n // Otherwise, don't strip the national prefix and carrier code,\n // since the original number could be a valid number.\n // This check has been copy-pasted \"as is\" from Google's original library:\n // https://github.com/google/libphonenumber/blob/876268eb1ad6cdc1b7b5bef17fc5e43052702d57/java/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberUtil.java#L3236-L3250\n // It doesn't check for the \"possibility\" of the original `number`.\n // I guess it's fine not checking that one. It works as is anyway.\n if (!isPossibleIncompleteNationalNumber(nationalNumber, country, metadata)) {\n // Don't strip the national prefix.\n return {\n nationalNumber: number\n };\n }\n }\n }\n return {\n nationalNumber: nationalNumber,\n carrierCode: carrierCode\n };\n}\n\n// In some countries, the same digit could be a national prefix\n// or a leading digit of a valid phone number.\n// For example, in Russia, national prefix is `8`,\n// and also `800 555 35 35` is a valid number\n// in which `8` is not a national prefix, but the first digit\n// of a national (significant) number.\n// Same's with Belarus:\n// `82004910060` is a valid national (significant) number,\n// but `2004910060` is not.\n// To support such cases (to prevent the code from always stripping\n// national prefix), a condition is imposed: a national prefix\n// is not extracted when the original number is \"viable\" and the\n// resultant number is not, a \"viable\" national number being the one\n// that matches `national_number_pattern`.\nfunction shouldHaveExtractedNationalPrefix(nationalNumberBefore, nationalNumberAfter, metadata) {\n // The equivalent in Google's code is:\n // https://github.com/google/libphonenumber/blob/e326fa1fc4283bb05eb35cb3c15c18f98a31af33/java/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberUtil.java#L2969-L3004\n if (matchesEntirely(nationalNumberBefore, metadata.nationalNumberPattern()) && !matchesEntirely(nationalNumberAfter, metadata.nationalNumberPattern())) {\n return false;\n }\n // This \"is possible\" national number (length) check has been commented out\n // because it's superceded by the (effectively) same check done in the\n // `extractNationalNumber()` function after it calls `shouldHaveExtractedNationalPrefix()`.\n // In other words, why run the same check twice if it could only be run once.\n // // Check the national (significant) number length after extracting national prefix and carrier code.\n // // Fixes a minor \"weird behavior\" bug: https://gitlab.com/catamphetamine/libphonenumber-js/-/issues/57\n // // (Legacy generated metadata (before `1.0.18`) didn't support the \"possible lengths\" feature).\n // if (metadata.possibleLengths()) {\n // \tif (isPossibleIncompleteNationalNumber(nationalNumberBefore, metadata) &&\n // \t\t!isPossibleIncompleteNationalNumber(nationalNumberAfter, metadata)) {\n // \t\treturn false\n // \t}\n // }\n return true;\n}\n\n/**\r\n * Tells if a given incomplete national number is possible or not.\r\n * @param {string} nationalNumber\r\n * @param {string?} country — Specific country rather than the one that is pre-selected in the metadata instance.\r\n * @param {Metadata} metadata — Metadata instance with a selected numbering plan.\r\n * @returns {boolean}\r\n */\nfunction isPossibleIncompleteNationalNumber(nationalNumber, country, metadata) {\n switch (checkNumberLength(nationalNumber, country, metadata)) {\n case 'TOO_SHORT':\n case 'INVALID_LENGTH':\n // This library ignores \"local-only\" phone numbers (for simplicity).\n // See the readme for more info on what are \"local-only\" phone numbers.\n // case 'IS_POSSIBLE_LOCAL_ONLY':\n return false;\n default:\n return true;\n }\n}\n//# sourceMappingURL=extractNationalNumber.js.map"],"names":["extractNationalNumber","number","country","metadata","_extractNationalNumbe","extractNationalNumberFromPossiblyIncompleteNumber","carrierCode","nationalNumber","shouldHaveExtractedNationalPrefix","getCountryByCallingCode","isPossibleIncompleteNationalNumber","nationalNumberBefore","nationalNumberAfter","matchesEntirely","checkNumberLength"],"mappings":";;;;AAee,SAASA,EAAsBC,GAAQC,GAASC,GAAU;AAUvE,MAAIC,IAAwBC,EAAkDJ,GAAQE,CAAQ,GAC5FG,IAAcF,EAAsB,aACpCG,IAAiBH,EAAsB;AACzC,MAAIG,MAAmBN,GAAQ;AAC7B,QAAI,CAACO,EAAkCP,GAAQM,GAAgBJ,CAAQ;AAErE,aAAO;AAAA,QACL,gBAAgBF;AAAA,MACxB;AAKI,QAAIE,EAAS,cAAc,sBAEpBD,MACHA,IAAUO,EAAwBN,EAAS,cAAc,YAAW,GAAI;AAAA,MACtE,gBAAgBI;AAAA,MAChB,UAAUJ;AAAA,IACpB,CAAS,IAWC,CAACO,EAAmCH,GAAgBL,GAASC,CAAQ;AAEvE,aAAO;AAAA,QACL,gBAAgBF;AAAA,MAC1B;AAAA,EAGE;AACA,SAAO;AAAA,IACL,gBAAgBM;AAAA,IAChB,aAAaD;AAAA,EACjB;AACA;AAgBA,SAASE,EAAkCG,GAAsBC,GAAqBT,GAAU;AAG9F,SAAI,EAAAU,EAAgBF,GAAsBR,EAAS,sBAAqB,CAAE,KAAK,CAACU,EAAgBD,GAAqBT,EAAS,sBAAqB,CAAE;AAiBvJ;AASA,SAASO,EAAmCH,GAAgBL,GAASC,GAAU;AAC7E,UAAQW,EAAkBP,GAAgBL,GAASC,CAAQ,GAAC;AAAA,IAC1D,KAAK;AAAA,IACL,KAAK;AAIH,aAAO;AAAA,IACT;AACE,aAAO;AAAA,EACb;AACA;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index355.js","sources":["../../../node_modules/@base-ui/react/utils/useFocusableWhenDisabled.mjs"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nexport function useFocusableWhenDisabled(parameters) {\n const {\n focusableWhenDisabled,\n disabled,\n composite = false,\n tabIndex: tabIndexProp = 0,\n isNativeButton\n } = parameters;\n const isFocusableComposite = composite && focusableWhenDisabled !== false;\n const isNonFocusableComposite = composite && focusableWhenDisabled === false;\n\n // we can't explicitly assign `undefined` to any of these props because it\n // would otherwise prevent subsequently merged props from setting them\n const props = React.useMemo(() => {\n const additionalProps = {\n // allow Tabbing away from focusableWhenDisabled elements\n onKeyDown(event) {\n if (disabled && focusableWhenDisabled && event.key !== 'Tab') {\n event.preventDefault();\n }\n }\n };\n if (!composite) {\n additionalProps.tabIndex = tabIndexProp;\n if (!isNativeButton && disabled) {\n additionalProps.tabIndex = focusableWhenDisabled ? tabIndexProp : -1;\n }\n }\n if (isNativeButton && (focusableWhenDisabled || isFocusableComposite) || !isNativeButton && disabled) {\n additionalProps['aria-disabled'] = disabled;\n }\n if (isNativeButton && (!focusableWhenDisabled || isNonFocusableComposite)) {\n additionalProps.disabled = disabled;\n }\n return additionalProps;\n }, [composite, disabled, focusableWhenDisabled, isFocusableComposite, isNonFocusableComposite, isNativeButton, tabIndexProp]);\n return {\n props\n };\n}"],"names":["useFocusableWhenDisabled","parameters","focusableWhenDisabled","disabled","composite","tabIndexProp","isNativeButton","isFocusableComposite","isNonFocusableComposite","React","additionalProps","event"],"mappings":";AAGO,SAASA,EAAyBC,GAAY;AACnD,QAAM;AAAA,IACJ,uBAAAC;AAAA,IACA,UAAAC;AAAA,IACA,WAAAC,IAAY;AAAA,IACZ,UAAUC,IAAe;AAAA,IACzB,gBAAAC;AAAA,EACJ,IAAML,GACEM,IAAuBH,KAAaF,MAA0B,IAC9DM,IAA0BJ,KAAaF,MAA0B;AA2BvE,SAAO;AAAA,IACL,OAxBYO,EAAM,QAAQ,MAAM;AAChC,YAAMC,IAAkB;AAAA;AAAA,QAEtB,UAAUC,GAAO;AACf,UAAIR,KAAYD,KAAyBS,EAAM,QAAQ,SACrDA,EAAM,eAAc;AAAA,QAExB;AAAA,MACN;AACI,aAAKP,MACHM,EAAgB,WAAWL,GACvB,CAACC,KAAkBH,MACrBO,EAAgB,WAAWR,IAAwBG,IAAe,OAGlEC,MAAmBJ,KAAyBK,MAAyB,CAACD,KAAkBH,OAC1FO,EAAgB,eAAe,IAAIP,IAEjCG,MAAmB,CAACJ,KAAyBM,OAC/CE,EAAgB,WAAWP,IAEtBO;AAAA,IACT,GAAG,CAACN,GAAWD,GAAUD,GAAuBK,GAAsBC,GAAyBF,GAAgBD,CAAY,CAAC;AAAA,EAG9H;AACA;","x_google_ignoreList":[0]}
package/dist/index356.js CHANGED
@@ -1,24 +1,20 @@
1
- import s, { isPhoneContextValid as x, PLUS_SIGN as F, RFC3966_PREFIX_ as a, RFC3966_PHONE_CONTEXT_ as d, RFC3966_ISDN_SUBADDRESS_ as m } from "./index391.js";
2
- import v from "./index344.js";
3
- function S(r, _) {
4
- var f = _.extractFormattedPhoneNumber, e = s(r);
5
- if (!x(e))
6
- throw new v("NOT_A_NUMBER");
7
- var t;
8
- if (e === null)
9
- t = f(r) || "";
10
- else {
11
- t = "", e.charAt(0) === F && (t += e);
12
- var n = r.indexOf(a), o;
13
- n >= 0 ? o = n + a.length : o = 0;
14
- var h = r.indexOf(d);
15
- t += r.substring(o, h);
16
- }
17
- var i = t.indexOf(m);
18
- if (i > 0 && (t = t.substring(0, i)), t !== "")
19
- return t;
1
+ import * as e from "react";
2
+ function t(i) {
3
+ const o = e.useRef(""), n = e.useCallback((r) => {
4
+ r.defaultPrevented || (o.current = r.pointerType, i(r, r.pointerType));
5
+ }, [i]);
6
+ return {
7
+ onClick: e.useCallback((r) => {
8
+ if (r.detail === 0) {
9
+ i(r, "keyboard");
10
+ return;
11
+ }
12
+ "pointerType" in r ? i(r, r.pointerType) : i(r, o.current), o.current = "";
13
+ }, [i]),
14
+ onPointerDown: n
15
+ };
20
16
  }
21
17
  export {
22
- S as default
18
+ t as useEnhancedClickHandler
23
19
  };
24
20
  //# sourceMappingURL=index356.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index356.js","sources":["../../../node_modules/libphonenumber-js/es6/helpers/extractFormattedPhoneNumberFromPossibleRfc3966NumberUri.js"],"sourcesContent":["import extractPhoneContext, { isPhoneContextValid, PLUS_SIGN, RFC3966_PREFIX_, RFC3966_PHONE_CONTEXT_, RFC3966_ISDN_SUBADDRESS_ } from './extractPhoneContext.js';\nimport ParseError from '../ParseError.js';\n\n/**\r\n * @param {string} numberToParse\r\n * @param {string} nationalNumber\r\n * @return {}\r\n */\nexport default function extractFormattedPhoneNumberFromPossibleRfc3966NumberUri(numberToParse, _ref) {\n var extractFormattedPhoneNumber = _ref.extractFormattedPhoneNumber;\n var phoneContext = extractPhoneContext(numberToParse);\n if (!isPhoneContextValid(phoneContext)) {\n throw new ParseError('NOT_A_NUMBER');\n }\n var phoneNumberString;\n if (phoneContext === null) {\n // Extract a possible number from the string passed in.\n // (this strips leading characters that could not be the start of a phone number)\n phoneNumberString = extractFormattedPhoneNumber(numberToParse) || '';\n } else {\n phoneNumberString = '';\n\n // If the phone context contains a phone number prefix, we need to capture\n // it, whereas domains will be ignored.\n if (phoneContext.charAt(0) === PLUS_SIGN) {\n phoneNumberString += phoneContext;\n }\n\n // Now append everything between the \"tel:\" prefix and the phone-context.\n // This should include the national number, an optional extension or\n // isdn-subaddress component. Note we also handle the case when \"tel:\" is\n // missing, as we have seen in some of the phone number inputs.\n // In that case, we append everything from the beginning.\n var indexOfRfc3966Prefix = numberToParse.indexOf(RFC3966_PREFIX_);\n var indexOfNationalNumber;\n // RFC 3966 \"tel:\" prefix is preset at this stage because\n // `isPhoneContextValid()` requires it to be present.\n /* istanbul ignore else */\n if (indexOfRfc3966Prefix >= 0) {\n indexOfNationalNumber = indexOfRfc3966Prefix + RFC3966_PREFIX_.length;\n } else {\n indexOfNationalNumber = 0;\n }\n var indexOfPhoneContext = numberToParse.indexOf(RFC3966_PHONE_CONTEXT_);\n phoneNumberString += numberToParse.substring(indexOfNationalNumber, indexOfPhoneContext);\n }\n\n // Delete the isdn-subaddress and everything after it if it is present.\n // Note extension won't appear at the same time with isdn-subaddress\n // according to paragraph 5.3 of the RFC3966 spec.\n var indexOfIsdn = phoneNumberString.indexOf(RFC3966_ISDN_SUBADDRESS_);\n if (indexOfIsdn > 0) {\n phoneNumberString = phoneNumberString.substring(0, indexOfIsdn);\n }\n // If both phone context and isdn-subaddress are absent but other\n // parameters are present, the parameters are left in nationalNumber.\n // This is because we are concerned about deleting content from a potential\n // number string when there is no strong evidence that the number is\n // actually written in RFC3966.\n\n if (phoneNumberString !== '') {\n return phoneNumberString;\n }\n}\n//# sourceMappingURL=extractFormattedPhoneNumberFromPossibleRfc3966NumberUri.js.map"],"names":["extractFormattedPhoneNumberFromPossibleRfc3966NumberUri","numberToParse","_ref","extractFormattedPhoneNumber","phoneContext","extractPhoneContext","isPhoneContextValid","ParseError","phoneNumberString","PLUS_SIGN","indexOfRfc3966Prefix","RFC3966_PREFIX_","indexOfNationalNumber","indexOfPhoneContext","RFC3966_PHONE_CONTEXT_","indexOfIsdn","RFC3966_ISDN_SUBADDRESS_"],"mappings":";;AAQe,SAASA,EAAwDC,GAAeC,GAAM;AACnG,MAAIC,IAA8BD,EAAK,6BACnCE,IAAeC,EAAoBJ,CAAa;AACpD,MAAI,CAACK,EAAoBF,CAAY;AACnC,UAAM,IAAIG,EAAW,cAAc;AAErC,MAAIC;AACJ,MAAIJ,MAAiB;AAGnB,IAAAI,IAAoBL,EAA4BF,CAAa,KAAK;AAAA,OAC7D;AACL,IAAAO,IAAoB,IAIhBJ,EAAa,OAAO,CAAC,MAAMK,MAC7BD,KAAqBJ;AAQvB,QAAIM,IAAuBT,EAAc,QAAQU,CAAe,GAC5DC;AAIJ,IAAIF,KAAwB,IAC1BE,IAAwBF,IAAuBC,EAAgB,SAE/DC,IAAwB;AAE1B,QAAIC,IAAsBZ,EAAc,QAAQa,CAAsB;AACtE,IAAAN,KAAqBP,EAAc,UAAUW,GAAuBC,CAAmB;AAAA,EACzF;AAKA,MAAIE,IAAcP,EAAkB,QAAQQ,CAAwB;AAUpE,MATID,IAAc,MAChBP,IAAoBA,EAAkB,UAAU,GAAGO,CAAW,IAQ5DP,MAAsB;AACxB,WAAOA;AAEX;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index356.js","sources":["../../../node_modules/@base-ui/utils/useEnhancedClickHandler.mjs"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\n/**\n * Provides a cross-browser way to determine the type of the pointer used to click.\n * Safari and Firefox do not provide the PointerEvent to the click handler (they use MouseEvent) yet.\n * Additionally, this implementation detects if the click was triggered by the keyboard.\n *\n * @param handler The function to be called when the button is clicked. The first parameter is the original event and the second parameter is the pointer type.\n */\nexport function useEnhancedClickHandler(handler) {\n const lastClickInteractionTypeRef = React.useRef('');\n const handlePointerDown = React.useCallback(event => {\n if (event.defaultPrevented) {\n return;\n }\n lastClickInteractionTypeRef.current = event.pointerType;\n handler(event, event.pointerType);\n }, [handler]);\n const handleClick = React.useCallback(event => {\n // event.detail has the number of clicks performed on the element. 0 means it was triggered by the keyboard.\n if (event.detail === 0) {\n handler(event, 'keyboard');\n return;\n }\n if ('pointerType' in event) {\n // Chrome and Edge correctly use PointerEvent\n handler(event, event.pointerType);\n } else {\n handler(event, lastClickInteractionTypeRef.current);\n }\n lastClickInteractionTypeRef.current = '';\n }, [handler]);\n return {\n onClick: handleClick,\n onPointerDown: handlePointerDown\n };\n}"],"names":["useEnhancedClickHandler","handler","lastClickInteractionTypeRef","React","handlePointerDown","event"],"mappings":";AAUO,SAASA,EAAwBC,GAAS;AAC/C,QAAMC,IAA8BC,EAAM,OAAO,EAAE,GAC7CC,IAAoBD,EAAM,YAAY,CAAAE,MAAS;AACnD,IAAIA,EAAM,qBAGVH,EAA4B,UAAUG,EAAM,aAC5CJ,EAAQI,GAAOA,EAAM,WAAW;AAAA,EAClC,GAAG,CAACJ,CAAO,CAAC;AAeZ,SAAO;AAAA,IACL,SAfkBE,EAAM,YAAY,CAAAE,MAAS;AAE7C,UAAIA,EAAM,WAAW,GAAG;AACtB,QAAAJ,EAAQI,GAAO,UAAU;AACzB;AAAA,MACF;AACA,MAAI,iBAAiBA,IAEnBJ,EAAQI,GAAOA,EAAM,WAAW,IAEhCJ,EAAQI,GAAOH,EAA4B,OAAO,GAEpDA,EAA4B,UAAU;AAAA,IACxC,GAAG,CAACD,CAAO,CAAC;AAAA,IAGV,eAAeG;AAAA,EACnB;AACA;","x_google_ignoreList":[0]}
package/dist/index357.js CHANGED
@@ -1,13 +1,11 @@
1
- import f from "./index186.js";
2
- var u = /^[\d]+(?:[~\u2053\u223C\uFF5E][\d]+)?$/;
3
- function D(t, r, a) {
4
- var e = new f(a);
5
- if (e.selectNumberingPlan(t || r), e.defaultIDDPrefix())
6
- return e.defaultIDDPrefix();
7
- if (u.test(e.IDDPrefix()))
8
- return e.IDDPrefix();
9
- }
1
+ import { lowerPlatform as t, lowerUserAgent as n, maxTouchPoints as i } from "./index429.js";
2
+ const s = /^i(os$|p)/.test(t) || t === "macintel" && i > 1, o = "android", c = t === o || n.includes(o), r = !s && t.startsWith("mac");
3
+ t.startsWith("win");
4
+ const e = r || s;
10
5
  export {
11
- D as default
6
+ c as android,
7
+ e as apple,
8
+ s as ios,
9
+ r as mac
12
10
  };
13
11
  //# sourceMappingURL=index357.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index357.js","sources":["../../../node_modules/libphonenumber-js/es6/helpers/getIddPrefix.js"],"sourcesContent":["import Metadata from '../metadata.js';\n\n/**\r\n * Pattern that makes it easy to distinguish whether a region has a single\r\n * international dialing prefix or not. If a region has a single international\r\n * prefix (e.g. 011 in USA), it will be represented as a string that contains\r\n * a sequence of ASCII digits, and possibly a tilde, which signals waiting for\r\n * the tone. If there are multiple available international prefixes in a\r\n * region, they will be represented as a regex string that always contains one\r\n * or more characters that are not ASCII digits or a tilde.\r\n */\nvar SINGLE_IDD_PREFIX_REG_EXP = /^[\\d]+(?:[~\\u2053\\u223C\\uFF5E][\\d]+)?$/;\n\n// If the `country` supports IDD calling, it returns a preferred IDD prefix.\n// If the `country` doesn't support IDD calling, it returns `undefined`.\nexport default function getIddPrefix(country, callingCode, metadata) {\n var countryMetadata = new Metadata(metadata);\n countryMetadata.selectNumberingPlan(country || callingCode);\n if (countryMetadata.defaultIDDPrefix()) {\n return countryMetadata.defaultIDDPrefix();\n }\n if (SINGLE_IDD_PREFIX_REG_EXP.test(countryMetadata.IDDPrefix())) {\n return countryMetadata.IDDPrefix();\n }\n}\n//# sourceMappingURL=getIddPrefix.js.map"],"names":["SINGLE_IDD_PREFIX_REG_EXP","getIddPrefix","country","callingCode","metadata","countryMetadata","Metadata"],"mappings":";AAWA,IAAIA,IAA4B;AAIjB,SAASC,EAAaC,GAASC,GAAaC,GAAU;AACnE,MAAIC,IAAkB,IAAIC,EAASF,CAAQ;AAE3C,MADAC,EAAgB,oBAAoBH,KAAWC,CAAW,GACtDE,EAAgB;AAClB,WAAOA,EAAgB,iBAAgB;AAEzC,MAAIL,EAA0B,KAAKK,EAAgB,UAAS,CAAE;AAC5D,WAAOA,EAAgB,UAAS;AAEpC;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index357.js","sources":["../../../node_modules/@base-ui/utils/platform/os.mjs"],"sourcesContent":["import { lowerUserAgent, lowerPlatform, maxTouchPoints } from \"./shared.mjs\";\n\n// iPadOS 13+ reports `MacIntel` for `navigator.platform`; disambiguated via\n// `maxTouchPoints` so iPad is classified as iOS, not macOS.\n// https://github.com/mui/base-ui/issues/1309\n/** iPhone, iPad (including iPadOS 13+ reporting as macOS), iPod. */\nexport const ios = /^i(os$|p)/.test(lowerPlatform) || lowerPlatform === 'macintel' && maxTouchPoints > 1;\n\n/** Android phones, tablets, and embedded Android browsers. */\nconst ANDROID_STRING = 'android';\nexport const android = lowerPlatform === ANDROID_STRING || lowerUserAgent.includes(ANDROID_STRING);\n\n/** macOS desktop. Excludes iPadOS, which reports as `MacIntel`. */\nexport const mac = !ios && lowerPlatform.startsWith('mac');\n\n/** Windows desktop. */\nexport const windows = lowerPlatform.startsWith('win');\n\n/** Linux desktop (including Chrome OS). */\nexport const linux = !android && /^(linux|chrome os)/.test(lowerPlatform);\n\n/** Any Apple OS (`mac || ios`). */\nexport const apple = mac || ios;"],"names":["ios","lowerPlatform","maxTouchPoints","ANDROID_STRING","android","lowerUserAgent","mac","apple"],"mappings":";AAMY,MAACA,IAAM,YAAY,KAAKC,CAAa,KAAKA,MAAkB,cAAcC,IAAiB,GAGjGC,IAAiB,WACVC,IAAUH,MAAkBE,KAAkBE,EAAe,SAASF,CAAc,GAGpFG,IAAM,CAACN,KAAOC,EAAc,WAAW,KAAK;AAGlCA,EAAc,WAAW,KAAK;AAMzC,MAACM,IAAQD,KAAON;","x_google_ignoreList":[0]}
package/dist/index358.js CHANGED
@@ -1,12 +1,148 @@
1
- import { VALID_DIGITS as A } from "./index182.js";
2
- var g = ";ext=", t = function(a) {
3
- return "([".concat(A, "]{1,").concat(a, "})");
4
- };
5
- function D(x) {
6
- var a = "20", o = "15", i = "9", F = "6", n = "[  \\t,]*", e = "[:\\..]?[  \\t,-]*", r = "#?", s = "(?:e?xt(?:ensi(?:ó?|ó))?n?|e?xtn?|доб|anexo)", E = "(?:[xx##~~]|int|int)", l = "[- ]+", u = "[  \\t]*", v = "(?:,{2}|;)", b = g + t(a), m = n + s + e + t(a) + r, p = n + E + e + t(i) + r, L = l + t(F) + "#", f = u + v + e + t(o) + r, c = u + "(?:,)+" + e + t(i) + r;
7
- return b + "|" + m + "|" + p + "|" + L + "|" + f + "|" + c;
1
+ import * as c from "react";
2
+ import { Store as l } from "./index283.js";
3
+ import { useStore as a } from "./index277.js";
4
+ import { useStableCallback as f } from "./index262.js";
5
+ import { useIsoLayoutEffect as u } from "./index261.js";
6
+ import { NOOP as d } from "./index264.js";
7
+ class g extends l {
8
+ /**
9
+ * Creates a new ReactStore instance.
10
+ *
11
+ * @param state Initial state of the store.
12
+ * @param context Non-reactive context values.
13
+ * @param selectors Optional selectors for use with `useState`.
14
+ */
15
+ constructor(e, t = {}, s) {
16
+ super(e), this.context = t, this.selectors = s;
17
+ }
18
+ /**
19
+ * Non-reactive values such as refs, callbacks, etc.
20
+ */
21
+ /**
22
+ * Synchronizes a single external value into the store.
23
+ *
24
+ * Note that the while the value in `state` is updated immediately, the value returned
25
+ * by `useState` is updated before the next render (similarly to React's `useState`).
26
+ */
27
+ useSyncedValue(e, t) {
28
+ c.useDebugValue(e);
29
+ const s = this;
30
+ u(() => {
31
+ s.state[e] !== t && s.set(e, t);
32
+ }, [s, e, t]);
33
+ }
34
+ /**
35
+ * Synchronizes a single external value into the store and
36
+ * cleans it up (sets to `undefined`) on unmount.
37
+ *
38
+ * Note that the while the value in `state` is updated immediately, the value returned
39
+ * by `useState` is updated before the next render (similarly to React's `useState`).
40
+ */
41
+ useSyncedValueWithCleanup(e, t) {
42
+ const s = this;
43
+ u(() => (s.state[e] !== t && s.set(e, t), () => {
44
+ s.set(e, void 0);
45
+ }), [s, e, t]);
46
+ }
47
+ /**
48
+ * Synchronizes multiple external values into the store.
49
+ *
50
+ * Note that the while the values in `state` are updated immediately, the values returned
51
+ * by `useState` are updated before the next render (similarly to React's `useState`).
52
+ */
53
+ useSyncedValues(e) {
54
+ const t = this;
55
+ if (process.env.NODE_ENV !== "production") {
56
+ c.useDebugValue(e, (r) => Object.keys(r));
57
+ const o = c.useRef(Object.keys(e)).current, n = Object.keys(e);
58
+ (o.length !== n.length || o.some((r, i) => r !== n[i])) && console.error("ReactStore.useSyncedValues expects the same prop keys on every render. Keys should be stable.");
59
+ }
60
+ const s = Object.values(e);
61
+ u(() => {
62
+ t.update(e);
63
+ }, [t, ...s]);
64
+ }
65
+ /**
66
+ * Registers a controllable prop pair (`controlled`, `defaultValue`) for a specific key. If `controlled`
67
+ * is non-undefined, the store's state at `key` is updated to match `controlled`.
68
+ */
69
+ useControlledProp(e, t) {
70
+ c.useDebugValue(e);
71
+ const s = this, o = t !== void 0;
72
+ if (u(() => {
73
+ o && !Object.is(s.state[e], t) && s.setState({
74
+ ...s.state,
75
+ [e]: t
76
+ });
77
+ }, [s, e, t, o]), process.env.NODE_ENV !== "production") {
78
+ const n = this.controlledValues ??= /* @__PURE__ */ new Map();
79
+ n.has(e) || n.set(e, o);
80
+ const r = n.get(e);
81
+ r !== void 0 && r !== o && console.error(`A component is changing the ${o ? "" : "un"}controlled state of ${e.toString()} to be ${o ? "un" : ""}controlled. Elements should not switch from uncontrolled to controlled (or vice versa).`);
82
+ }
83
+ }
84
+ /** Gets the current value from the store using a selector with the provided key.
85
+ *
86
+ * @param key Key of the selector to use.
87
+ */
88
+ select(e, t, s, o) {
89
+ const n = this.selectors[e];
90
+ return n(this.state, t, s, o);
91
+ }
92
+ /**
93
+ * Returns a value from the store's state using a selector function.
94
+ * Used to subscribe to specific parts of the state.
95
+ * This methods causes a rerender whenever the selected state changes.
96
+ *
97
+ * @param key Key of the selector to use.
98
+ */
99
+ useState(e, t, s, o) {
100
+ return c.useDebugValue(e), a(this, this.selectors[e], t, s, o);
101
+ }
102
+ /**
103
+ * Wraps a function with `useStableCallback` to ensure it has a stable reference
104
+ * and assigns it to the context.
105
+ *
106
+ * @param key Key of the event callback. Must be a function in the context.
107
+ * @param fn Function to assign.
108
+ */
109
+ useContextCallback(e, t) {
110
+ c.useDebugValue(e);
111
+ const s = f(t ?? d);
112
+ this.context[e] = s;
113
+ }
114
+ /**
115
+ * Returns a stable setter function for a specific key in the store's state.
116
+ * It's commonly used to pass as a ref callback to React elements.
117
+ *
118
+ * @param key Key of the state to set.
119
+ */
120
+ useStateSetter(e) {
121
+ const t = c.useRef(void 0);
122
+ return t.current === void 0 && (t.current = (s) => {
123
+ this.set(e, s);
124
+ }), t.current;
125
+ }
126
+ /**
127
+ * Observes changes derived from the store's selectors and calls the listener when the selected value changes.
128
+ *
129
+ * @param key Key of the selector to observe.
130
+ * @param listener Listener function called when the selector result changes.
131
+ */
132
+ observe(e, t) {
133
+ let s;
134
+ typeof e == "function" ? s = e : s = this.selectors[e];
135
+ let o = s(this.state);
136
+ return t(o, o, this), this.subscribe((n) => {
137
+ const r = s(n);
138
+ if (!Object.is(o, r)) {
139
+ const i = o;
140
+ o = r, t(r, i, this);
141
+ }
142
+ });
143
+ }
8
144
  }
9
145
  export {
10
- D as default
146
+ g as ReactStore
11
147
  };
12
148
  //# sourceMappingURL=index358.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index358.js","sources":["../../../node_modules/libphonenumber-js/es6/helpers/extension/createExtensionPattern.js"],"sourcesContent":["import { VALID_DIGITS } from '../../constants.js';\n\n// The RFC 3966 format for extensions.\nvar RFC3966_EXTN_PREFIX = ';ext=';\n\n/**\r\n * Helper method for constructing regular expressions for parsing. Creates\r\n * an expression that captures up to max_length digits.\r\n * @return {string} RegEx pattern to capture extension digits.\r\n */\nvar getExtensionDigitsPattern = function getExtensionDigitsPattern(maxLength) {\n return \"([\".concat(VALID_DIGITS, \"]{1,\").concat(maxLength, \"})\");\n};\n\n/**\r\n * Helper initialiser method to create the regular-expression pattern to match\r\n * extensions.\r\n * Copy-pasted from Google's `libphonenumber`:\r\n * https://github.com/google/libphonenumber/blob/55b2646ec9393f4d3d6661b9c82ef9e258e8b829/javascript/i18n/phonenumbers/phonenumberutil.js#L759-L766\r\n * @return {string} RegEx pattern to capture extensions.\r\n */\nexport default function createExtensionPattern(purpose) {\n // We cap the maximum length of an extension based on the ambiguity of the way\n // the extension is prefixed. As per ITU, the officially allowed length for\n // extensions is actually 40, but we don't support this since we haven't seen real\n // examples and this introduces many false interpretations as the extension labels\n // are not standardized.\n /** @type {string} */\n var extLimitAfterExplicitLabel = '20';\n /** @type {string} */\n var extLimitAfterLikelyLabel = '15';\n /** @type {string} */\n var extLimitAfterAmbiguousChar = '9';\n /** @type {string} */\n var extLimitWhenNotSure = '6';\n\n /** @type {string} */\n var possibleSeparatorsBetweenNumberAndExtLabel = \"[ \\xA0\\\\t,]*\";\n // Optional full stop (.) or colon, followed by zero or more spaces/tabs/commas.\n /** @type {string} */\n var possibleCharsAfterExtLabel = \"[:\\\\.\\uFF0E]?[ \\xA0\\\\t,-]*\";\n /** @type {string} */\n var optionalExtnSuffix = \"#?\";\n\n // Here the extension is called out in more explicit way, i.e mentioning it obvious\n // patterns like \"ext.\".\n /** @type {string} */\n var explicitExtLabels = \"(?:e?xt(?:ensi(?:o\\u0301?|\\xF3))?n?|\\uFF45?\\uFF58\\uFF54\\uFF4E?|\\u0434\\u043E\\u0431|anexo)\";\n // One-character symbols that can be used to indicate an extension, and less\n // commonly used or more ambiguous extension labels.\n /** @type {string} */\n var ambiguousExtLabels = \"(?:[x\\uFF58#\\uFF03~\\uFF5E]|int|\\uFF49\\uFF4E\\uFF54)\";\n // When extension is not separated clearly.\n /** @type {string} */\n var ambiguousSeparator = \"[- ]+\";\n // This is the same as possibleSeparatorsBetweenNumberAndExtLabel, but not matching\n // comma as extension label may have it.\n /** @type {string} */\n var possibleSeparatorsNumberExtLabelNoComma = \"[ \\xA0\\\\t]*\";\n // \",,\" is commonly used for auto dialling the extension when connected. First\n // comma is matched through possibleSeparatorsBetweenNumberAndExtLabel, so we do\n // not repeat it here. Semi-colon works in Iphone and Android also to pop up a\n // button with the extension number following.\n /** @type {string} */\n var autoDiallingAndExtLabelsFound = \"(?:,{2}|;)\";\n\n /** @type {string} */\n var rfcExtn = RFC3966_EXTN_PREFIX + getExtensionDigitsPattern(extLimitAfterExplicitLabel);\n /** @type {string} */\n var explicitExtn = possibleSeparatorsBetweenNumberAndExtLabel + explicitExtLabels + possibleCharsAfterExtLabel + getExtensionDigitsPattern(extLimitAfterExplicitLabel) + optionalExtnSuffix;\n /** @type {string} */\n var ambiguousExtn = possibleSeparatorsBetweenNumberAndExtLabel + ambiguousExtLabels + possibleCharsAfterExtLabel + getExtensionDigitsPattern(extLimitAfterAmbiguousChar) + optionalExtnSuffix;\n /** @type {string} */\n var americanStyleExtnWithSuffix = ambiguousSeparator + getExtensionDigitsPattern(extLimitWhenNotSure) + \"#\";\n\n /** @type {string} */\n var autoDiallingExtn = possibleSeparatorsNumberExtLabelNoComma + autoDiallingAndExtLabelsFound + possibleCharsAfterExtLabel + getExtensionDigitsPattern(extLimitAfterLikelyLabel) + optionalExtnSuffix;\n /** @type {string} */\n var onlyCommasExtn = possibleSeparatorsNumberExtLabelNoComma + \"(?:,)+\" + possibleCharsAfterExtLabel + getExtensionDigitsPattern(extLimitAfterAmbiguousChar) + optionalExtnSuffix;\n\n // The first regular expression covers RFC 3966 format, where the extension is added\n // using \";ext=\". The second more generic where extension is mentioned with explicit\n // labels like \"ext:\". In both the above cases we allow more numbers in extension than\n // any other extension labels. The third one captures when single character extension\n // labels or less commonly used labels are used. In such cases we capture fewer\n // extension digits in order to reduce the chance of falsely interpreting two\n // numbers beside each other as a number + extension. The fourth one covers the\n // special case of American numbers where the extension is written with a hash\n // at the end, such as \"- 503#\". The fifth one is exclusively for extension\n // autodialling formats which are used when dialling and in this case we accept longer\n // extensions. The last one is more liberal on the number of commas that acts as\n // extension labels, so we have a strict cap on the number of digits in such extensions.\n return rfcExtn + \"|\" + explicitExtn + \"|\" + ambiguousExtn + \"|\" + americanStyleExtnWithSuffix + \"|\" + autoDiallingExtn + \"|\" + onlyCommasExtn;\n}\n//# sourceMappingURL=createExtensionPattern.js.map"],"names":["RFC3966_EXTN_PREFIX","getExtensionDigitsPattern","maxLength","VALID_DIGITS","createExtensionPattern","purpose","extLimitAfterExplicitLabel","extLimitAfterLikelyLabel","extLimitAfterAmbiguousChar","extLimitWhenNotSure","possibleSeparatorsBetweenNumberAndExtLabel","possibleCharsAfterExtLabel","optionalExtnSuffix","explicitExtLabels","ambiguousExtLabels","ambiguousSeparator","possibleSeparatorsNumberExtLabelNoComma","autoDiallingAndExtLabelsFound","rfcExtn","explicitExtn","ambiguousExtn","americanStyleExtnWithSuffix","autoDiallingExtn","onlyCommasExtn"],"mappings":";AAGA,IAAIA,IAAsB,SAOtBC,IAA4B,SAAmCC,GAAW;AAC5E,SAAO,KAAK,OAAOC,GAAc,MAAM,EAAE,OAAOD,GAAW,IAAI;AACjE;AASe,SAASE,EAAuBC,GAAS;AAOtD,MAAIC,IAA6B,MAE7BC,IAA2B,MAE3BC,IAA6B,KAE7BC,IAAsB,KAGtBC,IAA6C,aAG7CC,IAA6B,sBAE7BC,IAAqB,MAKrBC,IAAoB,iDAIpBC,IAAqB,wBAGrBC,IAAqB,SAIrBC,IAA0C,YAM1CC,IAAgC,cAGhCC,IAAUlB,IAAsBC,EAA0BK,CAA0B,GAEpFa,IAAeT,IAA6CG,IAAoBF,IAA6BV,EAA0BK,CAA0B,IAAIM,GAErKQ,IAAgBV,IAA6CI,IAAqBH,IAA6BV,EAA0BO,CAA0B,IAAII,GAEvKS,IAA8BN,IAAqBd,EAA0BQ,CAAmB,IAAI,KAGpGa,IAAmBN,IAA0CC,IAAgCN,IAA6BV,EAA0BM,CAAwB,IAAIK,GAEhLW,IAAiBP,IAA0C,WAAWL,IAA6BV,EAA0BO,CAA0B,IAAII;AAc/J,SAAOM,IAAU,MAAMC,IAAe,MAAMC,IAAgB,MAAMC,IAA8B,MAAMC,IAAmB,MAAMC;AACjI;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index358.js","sources":["../../../node_modules/@base-ui/utils/store/ReactStore.mjs"],"sourcesContent":["/* False positives - ESLint thinks we're calling a hook from a class component. */\n/* eslint-disable react-hooks/rules-of-hooks */\n'use client';\n\nimport * as React from 'react';\nimport { Store } from \"./Store.mjs\";\nimport { useStore } from \"./useStore.mjs\";\nimport { useStableCallback } from \"../useStableCallback.mjs\";\nimport { useIsoLayoutEffect } from \"../useIsoLayoutEffect.mjs\";\nimport { NOOP } from \"../empty.mjs\";\n\n/**\n * A Store that supports controlled state keys, non-reactive values and provides utility methods for React.\n */\nexport class ReactStore extends Store {\n /**\n * Creates a new ReactStore instance.\n *\n * @param state Initial state of the store.\n * @param context Non-reactive context values.\n * @param selectors Optional selectors for use with `useState`.\n */\n constructor(state, context = {}, selectors) {\n super(state);\n this.context = context;\n this.selectors = selectors;\n }\n\n /**\n * Non-reactive values such as refs, callbacks, etc.\n */\n\n /**\n * Synchronizes a single external value into the store.\n *\n * Note that the while the value in `state` is updated immediately, the value returned\n * by `useState` is updated before the next render (similarly to React's `useState`).\n */\n useSyncedValue(key, value) {\n React.useDebugValue(key);\n // eslint-disable-next-line consistent-this\n const store = this;\n useIsoLayoutEffect(() => {\n if (store.state[key] !== value) {\n store.set(key, value);\n }\n }, [store, key, value]);\n }\n\n /**\n * Synchronizes a single external value into the store and\n * cleans it up (sets to `undefined`) on unmount.\n *\n * Note that the while the value in `state` is updated immediately, the value returned\n * by `useState` is updated before the next render (similarly to React's `useState`).\n */\n useSyncedValueWithCleanup(key, value) {\n // eslint-disable-next-line consistent-this\n const store = this;\n useIsoLayoutEffect(() => {\n if (store.state[key] !== value) {\n store.set(key, value);\n }\n return () => {\n store.set(key, undefined);\n };\n }, [store, key, value]);\n }\n\n /**\n * Synchronizes multiple external values into the store.\n *\n * Note that the while the values in `state` are updated immediately, the values returned\n * by `useState` are updated before the next render (similarly to React's `useState`).\n */\n useSyncedValues(statePart) {\n // eslint-disable-next-line consistent-this\n const store = this;\n if (process.env.NODE_ENV !== 'production') {\n // Check that an object with the same shape is passed on every render\n React.useDebugValue(statePart, p => Object.keys(p));\n const keys = React.useRef(Object.keys(statePart)).current;\n const nextKeys = Object.keys(statePart);\n if (keys.length !== nextKeys.length || keys.some((key, index) => key !== nextKeys[index])) {\n console.error('ReactStore.useSyncedValues expects the same prop keys on every render. Keys should be stable.');\n }\n }\n const dependencies = Object.values(statePart);\n useIsoLayoutEffect(() => {\n store.update(statePart);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [store, ...dependencies]);\n }\n\n /**\n * Registers a controllable prop pair (`controlled`, `defaultValue`) for a specific key. If `controlled`\n * is non-undefined, the store's state at `key` is updated to match `controlled`.\n */\n useControlledProp(key, controlled) {\n React.useDebugValue(key);\n // eslint-disable-next-line consistent-this\n const store = this;\n const isControlled = controlled !== undefined;\n useIsoLayoutEffect(() => {\n if (isControlled && !Object.is(store.state[key], controlled)) {\n // Set the internal state to match the controlled value.\n store.setState({\n ...store.state,\n [key]: controlled\n });\n }\n }, [store, key, controlled, isControlled]);\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line\n const cache = this.controlledValues ??= new Map();\n if (!cache.has(key)) {\n cache.set(key, isControlled);\n }\n const previouslyControlled = cache.get(key);\n if (previouslyControlled !== undefined && previouslyControlled !== isControlled) {\n console.error(`A component is changing the ${isControlled ? '' : 'un'}controlled state of ${key.toString()} to be ${isControlled ? 'un' : ''}controlled. Elements should not switch from uncontrolled to controlled (or vice versa).`);\n }\n }\n }\n\n /** Gets the current value from the store using a selector with the provided key.\n *\n * @param key Key of the selector to use.\n */\n\n select(key, a1, a2, a3) {\n const selector = this.selectors[key];\n return selector(this.state, a1, a2, a3);\n }\n\n /**\n * Returns a value from the store's state using a selector function.\n * Used to subscribe to specific parts of the state.\n * This methods causes a rerender whenever the selected state changes.\n *\n * @param key Key of the selector to use.\n */\n\n useState(key, a1, a2, a3) {\n React.useDebugValue(key);\n return useStore(this, this.selectors[key], a1, a2, a3);\n }\n\n /**\n * Wraps a function with `useStableCallback` to ensure it has a stable reference\n * and assigns it to the context.\n *\n * @param key Key of the event callback. Must be a function in the context.\n * @param fn Function to assign.\n */\n useContextCallback(key, fn) {\n React.useDebugValue(key);\n const stableFunction = useStableCallback(fn ?? NOOP);\n this.context[key] = stableFunction;\n }\n\n /**\n * Returns a stable setter function for a specific key in the store's state.\n * It's commonly used to pass as a ref callback to React elements.\n *\n * @param key Key of the state to set.\n */\n useStateSetter(key) {\n const ref = React.useRef(undefined);\n if (ref.current === undefined) {\n ref.current = value => {\n this.set(key, value);\n };\n }\n return ref.current;\n }\n\n /**\n * Observes changes derived from the store's selectors and calls the listener when the selected value changes.\n *\n * @param key Key of the selector to observe.\n * @param listener Listener function called when the selector result changes.\n */\n\n observe(selector, listener) {\n let selectFn;\n if (typeof selector === 'function') {\n selectFn = selector;\n } else {\n selectFn = this.selectors[selector];\n }\n let prevValue = selectFn(this.state);\n listener(prevValue, prevValue, this);\n return this.subscribe(nextState => {\n const nextValue = selectFn(nextState);\n if (!Object.is(prevValue, nextValue)) {\n const oldValue = prevValue;\n prevValue = nextValue;\n listener(nextValue, oldValue, this);\n }\n });\n }\n}"],"names":["ReactStore","Store","state","context","selectors","key","value","React","store","useIsoLayoutEffect","statePart","p","keys","nextKeys","index","dependencies","controlled","isControlled","cache","previouslyControlled","a1","a2","a3","selector","useStore","fn","stableFunction","useStableCallback","NOOP","ref","listener","selectFn","prevValue","nextState","nextValue","oldValue"],"mappings":"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","x_google_ignoreList":[0]}