@rpcbase/ui 0.199.0 → 0.200.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 (436) hide show
  1. package/dist/index101.js +52 -606
  2. package/dist/index101.js.map +1 -1
  3. package/dist/index102.js +5 -52
  4. package/dist/index102.js.map +1 -1
  5. package/dist/index103.js +4 -4
  6. package/dist/index103.js.map +1 -1
  7. package/dist/index104.js +15 -4
  8. package/dist/index104.js.map +1 -1
  9. package/dist/index105.js +5 -15
  10. package/dist/index105.js.map +1 -1
  11. package/dist/index106.js +7 -5
  12. package/dist/index106.js.map +1 -1
  13. package/dist/index107.js +15 -6
  14. package/dist/index107.js.map +1 -1
  15. package/dist/index108.js +4 -16
  16. package/dist/index108.js.map +1 -1
  17. package/dist/index109.js +1 -1
  18. package/dist/index109.js.map +1 -1
  19. package/dist/index110.js +5 -4
  20. package/dist/index110.js.map +1 -1
  21. package/dist/index111.js +4 -4
  22. package/dist/index111.js.map +1 -1
  23. package/dist/index112.js +4 -5
  24. package/dist/index112.js.map +1 -1
  25. package/dist/index113.js +2 -2
  26. package/dist/index113.js.map +1 -1
  27. package/dist/index114.js +5 -3
  28. package/dist/index114.js.map +1 -1
  29. package/dist/index115.js +24 -6
  30. package/dist/index115.js.map +1 -1
  31. package/dist/index116.js +6 -24
  32. package/dist/index116.js.map +1 -1
  33. package/dist/index117.js +4 -6
  34. package/dist/index117.js.map +1 -1
  35. package/dist/index118.js +5 -3
  36. package/dist/index118.js.map +1 -1
  37. package/dist/index119.js +5 -6
  38. package/dist/index119.js.map +1 -1
  39. package/dist/index120.js +4 -5
  40. package/dist/index120.js.map +1 -1
  41. package/dist/index121.js +4 -3
  42. package/dist/index121.js.map +1 -1
  43. package/dist/index122.js +4 -5
  44. package/dist/index122.js.map +1 -1
  45. package/dist/index123.js +8 -4
  46. package/dist/index123.js.map +1 -1
  47. package/dist/index124.js +5 -8
  48. package/dist/index124.js.map +1 -1
  49. package/dist/index125.js +4 -5
  50. package/dist/index125.js.map +1 -1
  51. package/dist/index126.js +3 -3
  52. package/dist/index126.js.map +1 -1
  53. package/dist/index127.js +6 -4
  54. package/dist/index127.js.map +1 -1
  55. package/dist/index128.js +145 -6
  56. package/dist/index128.js.map +1 -1
  57. package/dist/index129.js +38 -144
  58. package/dist/index129.js.map +1 -1
  59. package/dist/index130.js +4 -39
  60. package/dist/index130.js.map +1 -1
  61. package/dist/index131.js +7 -4
  62. package/dist/index131.js.map +1 -1
  63. package/dist/index132.js +12 -6
  64. package/dist/index132.js.map +1 -1
  65. package/dist/index133.js +13 -13
  66. package/dist/index133.js.map +1 -1
  67. package/dist/index134.js +7 -13
  68. package/dist/index134.js.map +1 -1
  69. package/dist/index135.js +30 -6
  70. package/dist/index135.js.map +1 -1
  71. package/dist/index136.js +10 -31
  72. package/dist/index136.js.map +1 -1
  73. package/dist/index137.js +10 -10
  74. package/dist/index137.js.map +1 -1
  75. package/dist/index138.js +8 -10
  76. package/dist/index138.js.map +1 -1
  77. package/dist/index139.js +13 -8
  78. package/dist/index139.js.map +1 -1
  79. package/dist/index140.js +101 -13
  80. package/dist/index140.js.map +1 -1
  81. package/dist/index141.js +20 -102
  82. package/dist/index141.js.map +1 -1
  83. package/dist/index142.js +54 -20
  84. package/dist/index142.js.map +1 -1
  85. package/dist/index143.js +70 -51
  86. package/dist/index143.js.map +1 -1
  87. package/dist/index144.js +9 -72
  88. package/dist/index144.js.map +1 -1
  89. package/dist/index145.js +20 -9
  90. package/dist/index145.js.map +1 -1
  91. package/dist/index146.js +16 -20
  92. package/dist/index146.js.map +1 -1
  93. package/dist/index147.js +23 -16
  94. package/dist/index147.js.map +1 -1
  95. package/dist/index148.js +6 -23
  96. package/dist/index148.js.map +1 -1
  97. package/dist/index149.js +5 -6
  98. package/dist/index149.js.map +1 -1
  99. package/dist/index150.js +23 -5
  100. package/dist/index150.js.map +1 -1
  101. package/dist/index151.js +35 -24
  102. package/dist/index151.js.map +1 -1
  103. package/dist/index152.js +16 -35
  104. package/dist/index152.js.map +1 -1
  105. package/dist/index153.js +7 -16
  106. package/dist/index153.js.map +1 -1
  107. package/dist/index154.js +4 -6
  108. package/dist/index154.js.map +1 -1
  109. package/dist/index155.js +4 -4
  110. package/dist/index155.js.map +1 -1
  111. package/dist/index156.js +4 -4
  112. package/dist/index156.js.map +1 -1
  113. package/dist/index157.js +4 -4
  114. package/dist/index157.js.map +1 -1
  115. package/dist/index158.js +3 -4
  116. package/dist/index158.js.map +1 -1
  117. package/dist/index159.js +6 -3
  118. package/dist/index159.js.map +1 -1
  119. package/dist/index160.js +24 -7
  120. package/dist/index160.js.map +1 -1
  121. package/dist/index161.js +8 -24
  122. package/dist/index161.js.map +1 -1
  123. package/dist/index162.js +6 -7
  124. package/dist/index162.js.map +1 -1
  125. package/dist/index163.js +5 -6
  126. package/dist/index163.js.map +1 -1
  127. package/dist/index164.js +3 -5
  128. package/dist/index164.js.map +1 -1
  129. package/dist/index165.js +3 -3
  130. package/dist/index165.js.map +1 -1
  131. package/dist/index166.js +4 -3
  132. package/dist/index166.js.map +1 -1
  133. package/dist/index167.js +3 -4
  134. package/dist/index167.js.map +1 -1
  135. package/dist/index168.js +4 -3
  136. package/dist/index168.js.map +1 -1
  137. package/dist/index169.js +3 -4
  138. package/dist/index169.js.map +1 -1
  139. package/dist/index170.js +3 -3
  140. package/dist/index170.js.map +1 -1
  141. package/dist/index171.js +3 -3
  142. package/dist/index171.js.map +1 -1
  143. package/dist/index172.js +46 -3
  144. package/dist/index172.js.map +1 -1
  145. package/dist/index173.js +1 -1
  146. package/dist/index173.js.map +1 -1
  147. package/dist/index174.js +200 -41
  148. package/dist/index174.js.map +1 -1
  149. package/dist/index175.js +20 -204
  150. package/dist/index175.js.map +1 -1
  151. package/dist/index176.js +25 -22
  152. package/dist/index176.js.map +1 -1
  153. package/dist/index177.js +398 -23
  154. package/dist/index177.js.map +1 -1
  155. package/dist/index178.js +13 -399
  156. package/dist/index178.js.map +1 -1
  157. package/dist/index179.js +154 -13
  158. package/dist/index179.js.map +1 -1
  159. package/dist/index180.js +27 -151
  160. package/dist/index180.js.map +1 -1
  161. package/dist/index181.js +9 -30
  162. package/dist/index181.js.map +1 -1
  163. package/dist/index182.js +48 -9
  164. package/dist/index182.js.map +1 -1
  165. package/dist/index183.js +10 -47
  166. package/dist/index183.js.map +1 -1
  167. package/dist/index184.js +44 -11
  168. package/dist/index184.js.map +1 -1
  169. package/dist/index185.js +91 -40
  170. package/dist/index185.js.map +1 -1
  171. package/dist/index186.js +76 -85
  172. package/dist/index186.js.map +1 -1
  173. package/dist/index187.js +88 -69
  174. package/dist/index187.js.map +1 -1
  175. package/dist/index188.js +39 -92
  176. package/dist/index188.js.map +1 -1
  177. package/dist/index189.js +10 -51
  178. package/dist/index189.js.map +1 -1
  179. package/dist/index190.js +36 -10
  180. package/dist/index190.js.map +1 -1
  181. package/dist/index191.js +8 -37
  182. package/dist/index191.js.map +1 -1
  183. package/dist/index192.js +116 -8
  184. package/dist/index192.js.map +1 -1
  185. package/dist/index193.js +16 -115
  186. package/dist/index193.js.map +1 -1
  187. package/dist/index194.js +15 -17
  188. package/dist/index194.js.map +1 -1
  189. package/dist/index195.js +3 -15
  190. package/dist/index195.js.map +1 -1
  191. package/dist/index196.js +36 -3
  192. package/dist/index196.js.map +1 -1
  193. package/dist/index197.js +19 -35
  194. package/dist/index197.js.map +1 -1
  195. package/dist/index198.js +9 -20
  196. package/dist/index198.js.map +1 -1
  197. package/dist/index199.js +7 -8
  198. package/dist/index199.js.map +1 -1
  199. package/dist/index200.js +19 -8
  200. package/dist/index200.js.map +1 -1
  201. package/dist/index201.js +26 -65
  202. package/dist/index201.js.map +1 -1
  203. package/dist/index202.js +14 -178
  204. package/dist/index202.js.map +1 -1
  205. package/dist/index203.js +599 -40
  206. package/dist/index203.js.map +1 -1
  207. package/dist/index204.js +58 -19
  208. package/dist/index204.js.map +1 -1
  209. package/dist/index205.js +8 -28
  210. package/dist/index205.js.map +1 -1
  211. package/dist/index206.js +65 -15
  212. package/dist/index206.js.map +1 -1
  213. package/dist/index207.js +18 -57
  214. package/dist/index207.js.map +1 -1
  215. package/dist/index208.js +16 -8
  216. package/dist/index208.js.map +1 -1
  217. package/dist/index209.js +4 -65
  218. package/dist/index209.js.map +1 -1
  219. package/dist/index210.js +4 -18
  220. package/dist/index210.js.map +1 -1
  221. package/dist/index211.js +6 -16
  222. package/dist/index211.js.map +1 -1
  223. package/dist/index212.js +4 -5
  224. package/dist/index212.js.map +1 -1
  225. package/dist/index213.js +7 -5
  226. package/dist/index213.js.map +1 -1
  227. package/dist/index214.js +17 -6
  228. package/dist/index214.js.map +1 -1
  229. package/dist/index215.js +5 -4
  230. package/dist/index215.js.map +1 -1
  231. package/dist/index216.js +5 -7
  232. package/dist/index216.js.map +1 -1
  233. package/dist/index217.js +13 -17
  234. package/dist/index217.js.map +1 -1
  235. package/dist/index218.js +10 -5
  236. package/dist/index218.js.map +1 -1
  237. package/dist/index219.js +14 -5
  238. package/dist/index219.js.map +1 -1
  239. package/dist/index220.js +14 -13
  240. package/dist/index220.js.map +1 -1
  241. package/dist/index221.js +5 -10
  242. package/dist/index221.js.map +1 -1
  243. package/dist/index222.js +6 -14
  244. package/dist/index222.js.map +1 -1
  245. package/dist/index223.js +7 -14
  246. package/dist/index223.js.map +1 -1
  247. package/dist/index224.js +6 -5
  248. package/dist/index224.js.map +1 -1
  249. package/dist/index225.js +9 -6
  250. package/dist/index225.js.map +1 -1
  251. package/dist/index226.js +5 -7
  252. package/dist/index226.js.map +1 -1
  253. package/dist/index227.js +5 -6
  254. package/dist/index227.js.map +1 -1
  255. package/dist/index228.js +8 -8
  256. package/dist/index228.js.map +1 -1
  257. package/dist/index229.js +5 -5
  258. package/dist/index229.js.map +1 -1
  259. package/dist/index230.js +5 -5
  260. package/dist/index230.js.map +1 -1
  261. package/dist/index231.js +4 -9
  262. package/dist/index231.js.map +1 -1
  263. package/dist/index232.js +11 -5
  264. package/dist/index232.js.map +1 -1
  265. package/dist/index233.js +10 -5
  266. package/dist/index233.js.map +1 -1
  267. package/dist/index234.js +10 -4
  268. package/dist/index234.js.map +1 -1
  269. package/dist/index235.js +11 -11
  270. package/dist/index235.js.map +1 -1
  271. package/dist/index236.js +11 -10
  272. package/dist/index236.js.map +1 -1
  273. package/dist/index237.js +10 -10
  274. package/dist/index237.js.map +1 -1
  275. package/dist/index238.js +7 -11
  276. package/dist/index238.js.map +1 -1
  277. package/dist/index239.js +6 -11
  278. package/dist/index239.js.map +1 -1
  279. package/dist/index24.js +1 -1
  280. package/dist/index240.js +5 -10
  281. package/dist/index240.js.map +1 -1
  282. package/dist/index241.js +6 -7
  283. package/dist/index241.js.map +1 -1
  284. package/dist/index242.js +7 -6
  285. package/dist/index242.js.map +1 -1
  286. package/dist/index243.js +6 -5
  287. package/dist/index243.js.map +1 -1
  288. package/dist/index244.js +55 -6
  289. package/dist/index244.js.map +1 -1
  290. package/dist/index245.js +16 -7
  291. package/dist/index245.js.map +1 -1
  292. package/dist/index246.js +7 -6
  293. package/dist/index246.js.map +1 -1
  294. package/dist/index247.js +10 -55
  295. package/dist/index247.js.map +1 -1
  296. package/dist/index248.js +9 -15
  297. package/dist/index248.js.map +1 -1
  298. package/dist/index249.js +21 -7
  299. package/dist/index249.js.map +1 -1
  300. package/dist/index250.js +10 -10
  301. package/dist/index250.js.map +1 -1
  302. package/dist/index251.js +9 -10
  303. package/dist/index251.js.map +1 -1
  304. package/dist/index252.js +9 -21
  305. package/dist/index252.js.map +1 -1
  306. package/dist/index253.js +4 -10
  307. package/dist/index253.js.map +1 -1
  308. package/dist/index254.js +5 -9
  309. package/dist/index254.js.map +1 -1
  310. package/dist/index255.js +16 -9
  311. package/dist/index255.js.map +1 -1
  312. package/dist/index256.js +9 -4
  313. package/dist/index256.js.map +1 -1
  314. package/dist/index257.js +18 -5
  315. package/dist/index257.js.map +1 -1
  316. package/dist/index258.js +15 -16
  317. package/dist/index258.js.map +1 -1
  318. package/dist/index259.js +12 -9
  319. package/dist/index259.js.map +1 -1
  320. package/dist/index260.js +29 -18
  321. package/dist/index260.js.map +1 -1
  322. package/dist/index261.js +12 -15
  323. package/dist/index261.js.map +1 -1
  324. package/dist/index262.js +25 -12
  325. package/dist/index262.js.map +1 -1
  326. package/dist/index263.js +5 -29
  327. package/dist/index263.js.map +1 -1
  328. package/dist/index264.js +24 -12
  329. package/dist/index264.js.map +1 -1
  330. package/dist/index265.js +29 -26
  331. package/dist/index265.js.map +1 -1
  332. package/dist/index266.js +5 -6
  333. package/dist/index266.js.map +1 -1
  334. package/dist/index267.js +19 -23
  335. package/dist/index267.js.map +1 -1
  336. package/dist/index268.js +67 -28
  337. package/dist/index268.js.map +1 -1
  338. package/dist/index269.js +181 -5
  339. package/dist/index269.js.map +1 -1
  340. package/dist/index270.js +45 -19
  341. package/dist/index270.js.map +1 -1
  342. package/dist/index275.js +1 -1
  343. package/dist/index277.js +5 -5
  344. package/dist/index278.js +1 -1
  345. package/dist/index289.js +2 -2
  346. package/dist/index292.js +1 -1
  347. package/dist/index293.js +2 -2
  348. package/dist/index295.js +1 -1
  349. package/dist/index296.js +1 -1
  350. package/dist/index297.js +1 -1
  351. package/dist/index298.js +1 -1
  352. package/dist/index299.js +65 -69
  353. package/dist/index299.js.map +1 -1
  354. package/dist/index300.js +68 -8
  355. package/dist/index300.js.map +1 -1
  356. package/dist/index301.js +9 -14
  357. package/dist/index301.js.map +1 -1
  358. package/dist/index302.js +14 -66
  359. package/dist/index302.js.map +1 -1
  360. package/dist/index303.js +65 -64
  361. package/dist/index303.js.map +1 -1
  362. package/dist/index31.js +5 -5
  363. package/dist/index32.js +24 -24
  364. package/dist/index33.js +3 -3
  365. package/dist/index36.js +1 -1
  366. package/dist/index37.js +2 -2
  367. package/dist/index41.js +20 -20
  368. package/dist/index45.js +1 -1
  369. package/dist/index46.js +1 -1
  370. package/dist/index49.js +1 -1
  371. package/dist/index50.js +1 -1
  372. package/dist/index51.js +2 -205
  373. package/dist/index51.js.map +1 -1
  374. package/dist/index52.js +2 -6
  375. package/dist/index52.js.map +1 -1
  376. package/dist/index53.js +5 -7
  377. package/dist/index53.js.map +1 -1
  378. package/dist/index54.js +7 -5
  379. package/dist/index54.js.map +1 -1
  380. package/dist/index55.js +5 -6
  381. package/dist/index55.js.map +1 -1
  382. package/dist/index56.js +3 -33
  383. package/dist/index56.js.map +1 -1
  384. package/dist/index57.js +5 -25
  385. package/dist/index57.js.map +1 -1
  386. package/dist/index58.js +47 -7
  387. package/dist/index58.js.map +1 -1
  388. package/dist/index59.js +26 -11
  389. package/dist/index59.js.map +1 -1
  390. package/dist/index60.js +51 -2
  391. package/dist/index60.js.map +1 -1
  392. package/dist/index61.js +8 -2
  393. package/dist/index61.js.map +1 -1
  394. package/dist/index62.js +14 -3
  395. package/dist/index62.js.map +1 -1
  396. package/dist/index63.js +129 -43
  397. package/dist/index63.js.map +1 -1
  398. package/dist/index64.js +10 -50
  399. package/dist/index64.js.map +1 -1
  400. package/dist/index65.js +216 -7
  401. package/dist/index65.js.map +1 -1
  402. package/dist/index66.js +13 -15
  403. package/dist/index66.js.map +1 -1
  404. package/dist/index67.js +32 -132
  405. package/dist/index67.js.map +1 -1
  406. package/dist/index68.js +46 -10
  407. package/dist/index68.js.map +1 -1
  408. package/dist/index69.js +7 -216
  409. package/dist/index69.js.map +1 -1
  410. package/dist/index70.js +49 -12
  411. package/dist/index70.js.map +1 -1
  412. package/dist/index71.js +4 -47
  413. package/dist/index71.js.map +1 -1
  414. package/dist/index72.js +5 -49
  415. package/dist/index72.js.map +1 -1
  416. package/dist/index73.js +28 -4
  417. package/dist/index73.js.map +1 -1
  418. package/dist/index74.js +50 -6
  419. package/dist/index74.js.map +1 -1
  420. package/dist/index75.js +9 -28
  421. package/dist/index75.js.map +1 -1
  422. package/dist/index76.js +12 -50
  423. package/dist/index76.js.map +1 -1
  424. package/dist/index77.js +2 -9
  425. package/dist/index77.js.map +1 -1
  426. package/dist/index78.js +2 -2
  427. package/dist/index79.js +205 -2
  428. package/dist/index79.js.map +1 -1
  429. package/dist/index81.js +4 -4
  430. package/dist/index86.js +1 -1
  431. package/dist/index87.js +1 -1
  432. package/dist/index94.js +1 -1
  433. package/dist/index95.js +6 -6
  434. package/dist/index97.js +4 -4
  435. package/dist/index99.js +1 -1
  436. package/package.json +1 -1
package/dist/index178.js CHANGED
@@ -1,403 +1,17 @@
1
- import { offset as st, shift as rt, flip as ct, size as lt, hide as ft, limitShift as ut, computePosition as ht, arrow as at } from "./index279.js";
2
- import { createCoords as y, round as D, max as E, min as N, rectToClientRect as J, floor as A } from "./index280.js";
3
- import { isElement as v, getDocumentElement as R, getOverflowAncestors as $, getComputedStyle as b, isHTMLElement as C, getWindow as L, isTopLayer as V, getParentNode as S, isLastTraversableNode as z, isTableElement as dt, isContainingBlock as Q, getContainingBlock as gt, getNodeName as _, isOverflowElement as q, getNodeScroll as H, getFrameElement as U, isWebKit as Y } from "./index281.js";
4
- function Z(t) {
5
- const e = b(t);
6
- let o = parseFloat(e.width) || 0, i = parseFloat(e.height) || 0;
7
- const n = C(t), r = n ? t.offsetWidth : o, s = n ? t.offsetHeight : i, c = D(o) !== r || D(i) !== s;
8
- return c && (o = r, i = s), {
9
- width: o,
10
- height: i,
11
- $: c
12
- };
1
+ import h from "./index94.js";
2
+ function L(i, r, u) {
3
+ return s(i, r, void 0, u);
4
+ }
5
+ function s(i, r, u, e) {
6
+ r && (e = new h(e.metadata), e.selectNumberingPlan(r));
7
+ var f = e.type(u), n = f && f.possibleLengths() || e.possibleLengths();
8
+ if (!n)
9
+ return "IS_POSSIBLE";
10
+ var t = i.length, l = n[0];
11
+ return l === t ? "IS_POSSIBLE" : l > t ? "TOO_SHORT" : n[n.length - 1] < t ? "TOO_LONG" : n.indexOf(t, 1) >= 0 ? "IS_POSSIBLE" : "INVALID_LENGTH";
13
12
  }
14
- function X(t) {
15
- return v(t) ? t : t.contextElement;
16
- }
17
- function F(t) {
18
- const e = X(t);
19
- if (!C(e))
20
- return y(1);
21
- const o = e.getBoundingClientRect(), {
22
- width: i,
23
- height: n,
24
- $: r
25
- } = Z(e);
26
- let s = (r ? D(o.width) : o.width) / i, c = (r ? D(o.height) : o.height) / n;
27
- return (!s || !Number.isFinite(s)) && (s = 1), (!c || !Number.isFinite(c)) && (c = 1), {
28
- x: s,
29
- y: c
30
- };
31
- }
32
- const pt = /* @__PURE__ */ y(0);
33
- function tt(t) {
34
- const e = L(t);
35
- return !Y() || !e.visualViewport ? pt : {
36
- x: e.visualViewport.offsetLeft,
37
- y: e.visualViewport.offsetTop
38
- };
39
- }
40
- function mt(t, e, o) {
41
- return e === void 0 && (e = !1), !o || e && o !== L(t) ? !1 : e;
42
- }
43
- function T(t, e, o, i) {
44
- e === void 0 && (e = !1), o === void 0 && (o = !1);
45
- const n = t.getBoundingClientRect(), r = X(t);
46
- let s = y(1);
47
- e && (i ? v(i) && (s = F(i)) : s = F(t));
48
- const c = mt(r, o, i) ? tt(r) : y(0);
49
- let f = (n.left + c.x) / s.x, l = (n.top + c.y) / s.y, u = n.width / s.x, h = n.height / s.y;
50
- if (r) {
51
- const d = L(r), a = i && v(i) ? L(i) : i;
52
- let m = d, p = U(m);
53
- for (; p && i && a !== m; ) {
54
- const w = F(p), g = p.getBoundingClientRect(), x = b(p), O = g.left + (p.clientLeft + parseFloat(x.paddingLeft)) * w.x, W = g.top + (p.clientTop + parseFloat(x.paddingTop)) * w.y;
55
- f *= w.x, l *= w.y, u *= w.x, h *= w.y, f += O, l += W, m = L(p), p = U(m);
56
- }
57
- }
58
- return J({
59
- width: u,
60
- height: h,
61
- x: f,
62
- y: l
63
- });
64
- }
65
- function I(t, e) {
66
- const o = H(t).scrollLeft;
67
- return e ? e.left + o : T(R(t)).left + o;
68
- }
69
- function et(t, e) {
70
- const o = t.getBoundingClientRect(), i = o.left + e.scrollLeft - I(t, o), n = o.top + e.scrollTop;
71
- return {
72
- x: i,
73
- y: n
74
- };
75
- }
76
- function wt(t) {
77
- let {
78
- elements: e,
79
- rect: o,
80
- offsetParent: i,
81
- strategy: n
82
- } = t;
83
- const r = n === "fixed", s = R(i), c = e ? V(e.floating) : !1;
84
- if (i === s || c && r)
85
- return o;
86
- let f = {
87
- scrollLeft: 0,
88
- scrollTop: 0
89
- }, l = y(1);
90
- const u = y(0), h = C(i);
91
- if ((h || !h && !r) && ((_(i) !== "body" || q(s)) && (f = H(i)), C(i))) {
92
- const a = T(i);
93
- l = F(i), u.x = a.x + i.clientLeft, u.y = a.y + i.clientTop;
94
- }
95
- const d = s && !h && !r ? et(s, f) : y(0);
96
- return {
97
- width: o.width * l.x,
98
- height: o.height * l.y,
99
- x: o.x * l.x - f.scrollLeft * l.x + u.x + d.x,
100
- y: o.y * l.y - f.scrollTop * l.y + u.y + d.y
101
- };
102
- }
103
- function yt(t) {
104
- return Array.from(t.getClientRects());
105
- }
106
- function xt(t) {
107
- const e = R(t), o = H(t), i = t.ownerDocument.body, n = E(e.scrollWidth, e.clientWidth, i.scrollWidth, i.clientWidth), r = E(e.scrollHeight, e.clientHeight, i.scrollHeight, i.clientHeight);
108
- let s = -o.scrollLeft + I(t);
109
- const c = -o.scrollTop;
110
- return b(i).direction === "rtl" && (s += E(e.clientWidth, i.clientWidth) - n), {
111
- width: n,
112
- height: r,
113
- x: s,
114
- y: c
115
- };
116
- }
117
- const K = 25;
118
- function vt(t, e) {
119
- const o = L(t), i = R(t), n = o.visualViewport;
120
- let r = i.clientWidth, s = i.clientHeight, c = 0, f = 0;
121
- if (n) {
122
- r = n.width, s = n.height;
123
- const u = Y();
124
- (!u || u && e === "fixed") && (c = n.offsetLeft, f = n.offsetTop);
125
- }
126
- const l = I(i);
127
- if (l <= 0) {
128
- const u = i.ownerDocument, h = u.body, d = getComputedStyle(h), a = u.compatMode === "CSS1Compat" && parseFloat(d.marginLeft) + parseFloat(d.marginRight) || 0, m = Math.abs(i.clientWidth - h.clientWidth - a);
129
- m <= K && (r -= m);
130
- } else l <= K && (r += l);
131
- return {
132
- width: r,
133
- height: s,
134
- x: c,
135
- y: f
136
- };
137
- }
138
- const bt = /* @__PURE__ */ new Set(["absolute", "fixed"]);
139
- function Rt(t, e) {
140
- const o = T(t, !0, e === "fixed"), i = o.top + t.clientTop, n = o.left + t.clientLeft, r = C(t) ? F(t) : y(1), s = t.clientWidth * r.x, c = t.clientHeight * r.y, f = n * r.x, l = i * r.y;
141
- return {
142
- width: s,
143
- height: c,
144
- x: f,
145
- y: l
146
- };
147
- }
148
- function j(t, e, o) {
149
- let i;
150
- if (e === "viewport")
151
- i = vt(t, o);
152
- else if (e === "document")
153
- i = xt(R(t));
154
- else if (v(e))
155
- i = Rt(e, o);
156
- else {
157
- const n = tt(t);
158
- i = {
159
- x: e.x - n.x,
160
- y: e.y - n.y,
161
- width: e.width,
162
- height: e.height
163
- };
164
- }
165
- return J(i);
166
- }
167
- function it(t, e) {
168
- const o = S(t);
169
- return o === e || !v(o) || z(o) ? !1 : b(o).position === "fixed" || it(o, e);
170
- }
171
- function Ct(t, e) {
172
- const o = e.get(t);
173
- if (o)
174
- return o;
175
- let i = $(t, [], !1).filter((c) => v(c) && _(c) !== "body"), n = null;
176
- const r = b(t).position === "fixed";
177
- let s = r ? S(t) : t;
178
- for (; v(s) && !z(s); ) {
179
- const c = b(s), f = Q(s);
180
- !f && c.position === "fixed" && (n = null), (r ? !f && !n : !f && c.position === "static" && !!n && bt.has(n.position) || q(s) && !f && it(t, s)) ? i = i.filter((u) => u !== s) : n = c, s = S(s);
181
- }
182
- return e.set(t, i), i;
183
- }
184
- function Ot(t) {
185
- let {
186
- element: e,
187
- boundary: o,
188
- rootBoundary: i,
189
- strategy: n
190
- } = t;
191
- const s = [...o === "clippingAncestors" ? V(e) ? [] : Ct(e, this._c) : [].concat(o), i], c = s[0], f = s.reduce((l, u) => {
192
- const h = j(e, u, n);
193
- return l.top = E(h.top, l.top), l.right = N(h.right, l.right), l.bottom = N(h.bottom, l.bottom), l.left = E(h.left, l.left), l;
194
- }, j(e, c, n));
195
- return {
196
- width: f.right - f.left,
197
- height: f.bottom - f.top,
198
- x: f.left,
199
- y: f.top
200
- };
201
- }
202
- function Lt(t) {
203
- const {
204
- width: e,
205
- height: o
206
- } = Z(t);
207
- return {
208
- width: e,
209
- height: o
210
- };
211
- }
212
- function Tt(t, e, o) {
213
- const i = C(e), n = R(e), r = o === "fixed", s = T(t, !0, r, e);
214
- let c = {
215
- scrollLeft: 0,
216
- scrollTop: 0
217
- };
218
- const f = y(0);
219
- function l() {
220
- f.x = I(n);
221
- }
222
- if (i || !i && !r)
223
- if ((_(e) !== "body" || q(n)) && (c = H(e)), i) {
224
- const a = T(e, !0, r, e);
225
- f.x = a.x + e.clientLeft, f.y = a.y + e.clientTop;
226
- } else n && l();
227
- r && !i && n && l();
228
- const u = n && !i && !r ? et(n, c) : y(0), h = s.left + c.scrollLeft - f.x - u.x, d = s.top + c.scrollTop - f.y - u.y;
229
- return {
230
- x: h,
231
- y: d,
232
- width: s.width,
233
- height: s.height
234
- };
235
- }
236
- function M(t) {
237
- return b(t).position === "static";
238
- }
239
- function G(t, e) {
240
- if (!C(t) || b(t).position === "fixed")
241
- return null;
242
- if (e)
243
- return e(t);
244
- let o = t.offsetParent;
245
- return R(t) === o && (o = o.ownerDocument.body), o;
246
- }
247
- function ot(t, e) {
248
- const o = L(t);
249
- if (V(t))
250
- return o;
251
- if (!C(t)) {
252
- let n = S(t);
253
- for (; n && !z(n); ) {
254
- if (v(n) && !M(n))
255
- return n;
256
- n = S(n);
257
- }
258
- return o;
259
- }
260
- let i = G(t, e);
261
- for (; i && dt(i) && M(i); )
262
- i = G(i, e);
263
- return i && z(i) && M(i) && !Q(i) ? o : i || gt(t) || o;
264
- }
265
- const Et = async function(t) {
266
- const e = this.getOffsetParent || ot, o = this.getDimensions, i = await o(t.floating);
267
- return {
268
- reference: Tt(t.reference, await e(t.floating), t.strategy),
269
- floating: {
270
- x: 0,
271
- y: 0,
272
- width: i.width,
273
- height: i.height
274
- }
275
- };
276
- };
277
- function Ft(t) {
278
- return b(t).direction === "rtl";
279
- }
280
- const St = {
281
- convertOffsetParentRelativeRectToViewportRelativeRect: wt,
282
- getDocumentElement: R,
283
- getClippingRect: Ot,
284
- getOffsetParent: ot,
285
- getElementRects: Et,
286
- getClientRects: yt,
287
- getDimensions: Lt,
288
- getScale: F,
289
- isElement: v,
290
- isRTL: Ft
291
- };
292
- function nt(t, e) {
293
- return t.x === e.x && t.y === e.y && t.width === e.width && t.height === e.height;
294
- }
295
- function Wt(t, e) {
296
- let o = null, i;
297
- const n = R(t);
298
- function r() {
299
- var c;
300
- clearTimeout(i), (c = o) == null || c.disconnect(), o = null;
301
- }
302
- function s(c, f) {
303
- c === void 0 && (c = !1), f === void 0 && (f = 1), r();
304
- const l = t.getBoundingClientRect(), {
305
- left: u,
306
- top: h,
307
- width: d,
308
- height: a
309
- } = l;
310
- if (c || e(), !d || !a)
311
- return;
312
- const m = A(h), p = A(n.clientWidth - (u + d)), w = A(n.clientHeight - (h + a)), g = A(u), O = {
313
- rootMargin: -m + "px " + -p + "px " + -w + "px " + -g + "px",
314
- threshold: E(0, N(1, f)) || 1
315
- };
316
- let W = !0;
317
- function k(P) {
318
- const B = P[0].intersectionRatio;
319
- if (B !== f) {
320
- if (!W)
321
- return s();
322
- B ? s(!1, B) : i = setTimeout(() => {
323
- s(!1, 1e-7);
324
- }, 1e3);
325
- }
326
- B === 1 && !nt(l, t.getBoundingClientRect()) && s(), W = !1;
327
- }
328
- try {
329
- o = new IntersectionObserver(k, {
330
- ...O,
331
- // Handle <iframe>s
332
- root: n.ownerDocument
333
- });
334
- } catch {
335
- o = new IntersectionObserver(k, O);
336
- }
337
- o.observe(t);
338
- }
339
- return s(!0), r;
340
- }
341
- function zt(t, e, o, i) {
342
- i === void 0 && (i = {});
343
- const {
344
- ancestorScroll: n = !0,
345
- ancestorResize: r = !0,
346
- elementResize: s = typeof ResizeObserver == "function",
347
- layoutShift: c = typeof IntersectionObserver == "function",
348
- animationFrame: f = !1
349
- } = i, l = X(t), u = n || r ? [...l ? $(l) : [], ...$(e)] : [];
350
- u.forEach((g) => {
351
- n && g.addEventListener("scroll", o, {
352
- passive: !0
353
- }), r && g.addEventListener("resize", o);
354
- });
355
- const h = l && c ? Wt(l, o) : null;
356
- let d = -1, a = null;
357
- s && (a = new ResizeObserver((g) => {
358
- let [x] = g;
359
- x && x.target === l && a && (a.unobserve(e), cancelAnimationFrame(d), d = requestAnimationFrame(() => {
360
- var O;
361
- (O = a) == null || O.observe(e);
362
- })), o();
363
- }), l && !f && a.observe(l), a.observe(e));
364
- let m, p = f ? T(t) : null;
365
- f && w();
366
- function w() {
367
- const g = T(t);
368
- p && !nt(p, g) && o(), p = g, m = requestAnimationFrame(w);
369
- }
370
- return o(), () => {
371
- var g;
372
- u.forEach((x) => {
373
- n && x.removeEventListener("scroll", o), r && x.removeEventListener("resize", o);
374
- }), h?.(), (g = a) == null || g.disconnect(), a = null, f && cancelAnimationFrame(m);
375
- };
376
- }
377
- const Ht = st, It = rt, Mt = ct, Nt = lt, $t = ft, Vt = at, _t = ut, qt = (t, e, o) => {
378
- const i = /* @__PURE__ */ new Map(), n = {
379
- platform: St,
380
- ...o
381
- }, r = {
382
- ...n.platform,
383
- _c: i
384
- };
385
- return ht(t, e, {
386
- ...n,
387
- platform: r
388
- });
389
- };
390
13
  export {
391
- Vt as arrow,
392
- zt as autoUpdate,
393
- qt as computePosition,
394
- Mt as flip,
395
- $ as getOverflowAncestors,
396
- $t as hide,
397
- _t as limitShift,
398
- Ht as offset,
399
- St as platform,
400
- It as shift,
401
- Nt as size
14
+ s as checkNumberLengthForType,
15
+ L as default
402
16
  };
403
17
  //# sourceMappingURL=index178.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index178.js","sources":["../../../node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs"],"sourcesContent":["import { rectToClientRect, arrow as arrow$1, autoPlacement as autoPlacement$1, detectOverflow as detectOverflow$1, flip as flip$1, hide as hide$1, inline as inline$1, limitShift as limitShift$1, offset as offset$1, shift as shift$1, size as size$1, computePosition as computePosition$1 } from '@floating-ui/core';\nimport { round, createCoords, max, min, floor } from '@floating-ui/utils';\nimport { getComputedStyle as getComputedStyle$1, isHTMLElement, isElement, getWindow, isWebKit, getFrameElement, getNodeScroll, getDocumentElement, isTopLayer, getNodeName, isOverflowElement, getOverflowAncestors, getParentNode, isLastTraversableNode, isContainingBlock, isTableElement, getContainingBlock } from '@floating-ui/utils/dom';\nexport { getOverflowAncestors } from '@floating-ui/utils/dom';\n\nfunction getCssDimensions(element) {\n const css = getComputedStyle$1(element);\n // In testing environments, the `width` and `height` properties are empty\n // strings for SVG elements, returning NaN. Fallback to `0` in this case.\n let width = parseFloat(css.width) || 0;\n let height = parseFloat(css.height) || 0;\n const hasOffset = isHTMLElement(element);\n const offsetWidth = hasOffset ? element.offsetWidth : width;\n const offsetHeight = hasOffset ? element.offsetHeight : height;\n const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;\n if (shouldFallback) {\n width = offsetWidth;\n height = offsetHeight;\n }\n return {\n width,\n height,\n $: shouldFallback\n };\n}\n\nfunction unwrapElement(element) {\n return !isElement(element) ? element.contextElement : element;\n}\n\nfunction getScale(element) {\n const domElement = unwrapElement(element);\n if (!isHTMLElement(domElement)) {\n return createCoords(1);\n }\n const rect = domElement.getBoundingClientRect();\n const {\n width,\n height,\n $\n } = getCssDimensions(domElement);\n let x = ($ ? round(rect.width) : rect.width) / width;\n let y = ($ ? round(rect.height) : rect.height) / height;\n\n // 0, NaN, or Infinity should always fallback to 1.\n\n if (!x || !Number.isFinite(x)) {\n x = 1;\n }\n if (!y || !Number.isFinite(y)) {\n y = 1;\n }\n return {\n x,\n y\n };\n}\n\nconst noOffsets = /*#__PURE__*/createCoords(0);\nfunction getVisualOffsets(element) {\n const win = getWindow(element);\n if (!isWebKit() || !win.visualViewport) {\n return noOffsets;\n }\n return {\n x: win.visualViewport.offsetLeft,\n y: win.visualViewport.offsetTop\n };\n}\nfunction shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {\n return false;\n }\n return isFixed;\n}\n\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n const clientRect = element.getBoundingClientRect();\n const domElement = unwrapElement(element);\n let scale = createCoords(1);\n if (includeScale) {\n if (offsetParent) {\n if (isElement(offsetParent)) {\n scale = getScale(offsetParent);\n }\n } else {\n scale = getScale(element);\n }\n }\n const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);\n let x = (clientRect.left + visualOffsets.x) / scale.x;\n let y = (clientRect.top + visualOffsets.y) / scale.y;\n let width = clientRect.width / scale.x;\n let height = clientRect.height / scale.y;\n if (domElement) {\n const win = getWindow(domElement);\n const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;\n let currentWin = win;\n let currentIFrame = getFrameElement(currentWin);\n while (currentIFrame && offsetParent && offsetWin !== currentWin) {\n const iframeScale = getScale(currentIFrame);\n const iframeRect = currentIFrame.getBoundingClientRect();\n const css = getComputedStyle$1(currentIFrame);\n const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\n const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;\n x *= iframeScale.x;\n y *= iframeScale.y;\n width *= iframeScale.x;\n height *= iframeScale.y;\n x += left;\n y += top;\n currentWin = getWindow(currentIFrame);\n currentIFrame = getFrameElement(currentWin);\n }\n }\n return rectToClientRect({\n width,\n height,\n x,\n y\n });\n}\n\n// If <html> has a CSS width greater than the viewport, then this will be\n// incorrect for RTL.\nfunction getWindowScrollBarX(element, rect) {\n const leftScroll = getNodeScroll(element).scrollLeft;\n if (!rect) {\n return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;\n }\n return rect.left + leftScroll;\n}\n\nfunction getHTMLOffset(documentElement, scroll) {\n const htmlRect = documentElement.getBoundingClientRect();\n const x = htmlRect.left + scroll.scrollLeft - getWindowScrollBarX(documentElement, htmlRect);\n const y = htmlRect.top + scroll.scrollTop;\n return {\n x,\n y\n };\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n let {\n elements,\n rect,\n offsetParent,\n strategy\n } = _ref;\n const isFixed = strategy === 'fixed';\n const documentElement = getDocumentElement(offsetParent);\n const topLayer = elements ? isTopLayer(elements.floating) : false;\n if (offsetParent === documentElement || topLayer && isFixed) {\n return rect;\n }\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n let scale = createCoords(1);\n const offsets = createCoords(0);\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isHTMLElement(offsetParent)) {\n const offsetRect = getBoundingClientRect(offsetParent);\n scale = getScale(offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n }\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n return {\n width: rect.width * scale.x,\n height: rect.height * scale.y,\n x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,\n y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y\n };\n}\n\nfunction getClientRects(element) {\n return Array.from(element.getClientRects());\n}\n\n// Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable.\nfunction getDocumentRect(element) {\n const html = getDocumentElement(element);\n const scroll = getNodeScroll(element);\n const body = element.ownerDocument.body;\n const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\n const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\n let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n const y = -scroll.scrollTop;\n if (getComputedStyle$1(body).direction === 'rtl') {\n x += max(html.clientWidth, body.clientWidth) - width;\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\n// Safety check: ensure the scrollbar space is reasonable in case this\n// calculation is affected by unusual styles.\n// Most scrollbars leave 15-18px of space.\nconst SCROLLBAR_MAX = 25;\nfunction getViewportRect(element, strategy) {\n const win = getWindow(element);\n const html = getDocumentElement(element);\n const visualViewport = win.visualViewport;\n let width = html.clientWidth;\n let height = html.clientHeight;\n let x = 0;\n let y = 0;\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n const visualViewportBased = isWebKit();\n if (!visualViewportBased || visualViewportBased && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n const windowScrollbarX = getWindowScrollBarX(html);\n // <html> `overflow: hidden` + `scrollbar-gutter: stable` reduces the\n // visual width of the <html> but this is not considered in the size\n // of `html.clientWidth`.\n if (windowScrollbarX <= 0) {\n const doc = html.ownerDocument;\n const body = doc.body;\n const bodyStyles = getComputedStyle(body);\n const bodyMarginInline = doc.compatMode === 'CSS1Compat' ? parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight) || 0 : 0;\n const clippingStableScrollbarWidth = Math.abs(html.clientWidth - body.clientWidth - bodyMarginInline);\n if (clippingStableScrollbarWidth <= SCROLLBAR_MAX) {\n width -= clippingStableScrollbarWidth;\n }\n } else if (windowScrollbarX <= SCROLLBAR_MAX) {\n // If the <body> scrollbar is on the left, the width needs to be extended\n // by the scrollbar amount so there isn't extra space on the right.\n width += windowScrollbarX;\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\nconst absoluteOrFixed = /*#__PURE__*/new Set(['absolute', 'fixed']);\n// Returns the inner client rect, subtracting scrollbars if present.\nfunction getInnerBoundingClientRect(element, strategy) {\n const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');\n const top = clientRect.top + element.clientTop;\n const left = clientRect.left + element.clientLeft;\n const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);\n const width = element.clientWidth * scale.x;\n const height = element.clientHeight * scale.y;\n const x = left * scale.x;\n const y = top * scale.y;\n return {\n width,\n height,\n x,\n y\n };\n}\nfunction getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n let rect;\n if (clippingAncestor === 'viewport') {\n rect = getViewportRect(element, strategy);\n } else if (clippingAncestor === 'document') {\n rect = getDocumentRect(getDocumentElement(element));\n } else if (isElement(clippingAncestor)) {\n rect = getInnerBoundingClientRect(clippingAncestor, strategy);\n } else {\n const visualOffsets = getVisualOffsets(element);\n rect = {\n x: clippingAncestor.x - visualOffsets.x,\n y: clippingAncestor.y - visualOffsets.y,\n width: clippingAncestor.width,\n height: clippingAncestor.height\n };\n }\n return rectToClientRect(rect);\n}\nfunction hasFixedPositionAncestor(element, stopNode) {\n const parentNode = getParentNode(element);\n if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {\n return false;\n }\n return getComputedStyle$1(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);\n}\n\n// A \"clipping ancestor\" is an `overflow` element with the characteristic of\n// clipping (or hiding) child elements. This returns all clipping ancestors\n// of the given element up the tree.\nfunction getClippingElementAncestors(element, cache) {\n const cachedResult = cache.get(element);\n if (cachedResult) {\n return cachedResult;\n }\n let result = getOverflowAncestors(element, [], false).filter(el => isElement(el) && getNodeName(el) !== 'body');\n let currentContainingBlockComputedStyle = null;\n const elementIsFixed = getComputedStyle$1(element).position === 'fixed';\n let currentNode = elementIsFixed ? getParentNode(element) : element;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {\n const computedStyle = getComputedStyle$1(currentNode);\n const currentNodeIsContaining = isContainingBlock(currentNode);\n if (!currentNodeIsContaining && computedStyle.position === 'fixed') {\n currentContainingBlockComputedStyle = null;\n }\n const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && absoluteOrFixed.has(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);\n if (shouldDropCurrentNode) {\n // Drop non-containing blocks.\n result = result.filter(ancestor => ancestor !== currentNode);\n } else {\n // Record last containing block for next iteration.\n currentContainingBlockComputedStyle = computedStyle;\n }\n currentNode = getParentNode(currentNode);\n }\n cache.set(element, result);\n return result;\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping ancestors.\nfunction getClippingRect(_ref) {\n let {\n element,\n boundary,\n rootBoundary,\n strategy\n } = _ref;\n const elementClippingAncestors = boundary === 'clippingAncestors' ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);\n const clippingAncestors = [...elementClippingAncestors, rootBoundary];\n const firstClippingAncestor = clippingAncestors[0];\n const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => {\n const rect = getClientRectFromClippingAncestor(element, clippingAncestor, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromClippingAncestor(element, firstClippingAncestor, strategy));\n return {\n width: clippingRect.right - clippingRect.left,\n height: clippingRect.bottom - clippingRect.top,\n x: clippingRect.left,\n y: clippingRect.top\n };\n}\n\nfunction getDimensions(element) {\n const {\n width,\n height\n } = getCssDimensions(element);\n return {\n width,\n height\n };\n}\n\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n const isFixed = strategy === 'fixed';\n const rect = getBoundingClientRect(element, true, isFixed, offsetParent);\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const offsets = createCoords(0);\n\n // If the <body> scrollbar appears on the left (e.g. RTL systems). Use\n // Firefox with layout.scrollbar.side = 3 in about:config to test this.\n function setLeftRTLScrollbarOffset() {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isOffsetParentAnElement) {\n const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n } else if (documentElement) {\n setLeftRTLScrollbarOffset();\n }\n }\n if (isFixed && !isOffsetParentAnElement && documentElement) {\n setLeftRTLScrollbarOffset();\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;\n const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;\n return {\n x,\n y,\n width: rect.width,\n height: rect.height\n };\n}\n\nfunction isStaticPositioned(element) {\n return getComputedStyle$1(element).position === 'static';\n}\n\nfunction getTrueOffsetParent(element, polyfill) {\n if (!isHTMLElement(element) || getComputedStyle$1(element).position === 'fixed') {\n return null;\n }\n if (polyfill) {\n return polyfill(element);\n }\n let rawOffsetParent = element.offsetParent;\n\n // Firefox returns the <html> element as the offsetParent if it's non-static,\n // while Chrome and Safari return the <body> element. The <body> element must\n // be used to perform the correct calculations even if the <html> element is\n // non-static.\n if (getDocumentElement(element) === rawOffsetParent) {\n rawOffsetParent = rawOffsetParent.ownerDocument.body;\n }\n return rawOffsetParent;\n}\n\n// Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\nfunction getOffsetParent(element, polyfill) {\n const win = getWindow(element);\n if (isTopLayer(element)) {\n return win;\n }\n if (!isHTMLElement(element)) {\n let svgOffsetParent = getParentNode(element);\n while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {\n if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {\n return svgOffsetParent;\n }\n svgOffsetParent = getParentNode(svgOffsetParent);\n }\n return win;\n }\n let offsetParent = getTrueOffsetParent(element, polyfill);\n while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {\n offsetParent = getTrueOffsetParent(offsetParent, polyfill);\n }\n if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {\n return win;\n }\n return offsetParent || getContainingBlock(element) || win;\n}\n\nconst getElementRects = async function (data) {\n const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n const getDimensionsFn = this.getDimensions;\n const floatingDimensions = await getDimensionsFn(data.floating);\n return {\n reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),\n floating: {\n x: 0,\n y: 0,\n width: floatingDimensions.width,\n height: floatingDimensions.height\n }\n };\n};\n\nfunction isRTL(element) {\n return getComputedStyle$1(element).direction === 'rtl';\n}\n\nconst platform = {\n convertOffsetParentRelativeRectToViewportRelativeRect,\n getDocumentElement,\n getClippingRect,\n getOffsetParent,\n getElementRects,\n getClientRects,\n getDimensions,\n getScale,\n isElement,\n isRTL\n};\n\nfunction rectsAreEqual(a, b) {\n return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;\n}\n\n// https://samthor.au/2021/observing-dom/\nfunction observeMove(element, onMove) {\n let io = null;\n let timeoutId;\n const root = getDocumentElement(element);\n function cleanup() {\n var _io;\n clearTimeout(timeoutId);\n (_io = io) == null || _io.disconnect();\n io = null;\n }\n function refresh(skip, threshold) {\n if (skip === void 0) {\n skip = false;\n }\n if (threshold === void 0) {\n threshold = 1;\n }\n cleanup();\n const elementRectForRootMargin = element.getBoundingClientRect();\n const {\n left,\n top,\n width,\n height\n } = elementRectForRootMargin;\n if (!skip) {\n onMove();\n }\n if (!width || !height) {\n return;\n }\n const insetTop = floor(top);\n const insetRight = floor(root.clientWidth - (left + width));\n const insetBottom = floor(root.clientHeight - (top + height));\n const insetLeft = floor(left);\n const rootMargin = -insetTop + \"px \" + -insetRight + \"px \" + -insetBottom + \"px \" + -insetLeft + \"px\";\n const options = {\n rootMargin,\n threshold: max(0, min(1, threshold)) || 1\n };\n let isFirstUpdate = true;\n function handleObserve(entries) {\n const ratio = entries[0].intersectionRatio;\n if (ratio !== threshold) {\n if (!isFirstUpdate) {\n return refresh();\n }\n if (!ratio) {\n // If the reference is clipped, the ratio is 0. Throttle the refresh\n // to prevent an infinite loop of updates.\n timeoutId = setTimeout(() => {\n refresh(false, 1e-7);\n }, 1000);\n } else {\n refresh(false, ratio);\n }\n }\n if (ratio === 1 && !rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {\n // It's possible that even though the ratio is reported as 1, the\n // element is not actually fully within the IntersectionObserver's root\n // area anymore. This can happen under performance constraints. This may\n // be a bug in the browser's IntersectionObserver implementation. To\n // work around this, we compare the element's bounding rect now with\n // what it was at the time we created the IntersectionObserver. If they\n // are not equal then the element moved, so we refresh.\n refresh();\n }\n isFirstUpdate = false;\n }\n\n // Older browsers don't support a `document` as the root and will throw an\n // error.\n try {\n io = new IntersectionObserver(handleObserve, {\n ...options,\n // Handle <iframe>s\n root: root.ownerDocument\n });\n } catch (_e) {\n io = new IntersectionObserver(handleObserve, options);\n }\n io.observe(element);\n }\n refresh(true);\n return cleanup;\n}\n\n/**\n * Automatically updates the position of the floating element when necessary.\n * Should only be called when the floating element is mounted on the DOM or\n * visible on the screen.\n * @returns cleanup function that should be invoked when the floating element is\n * removed from the DOM or hidden from the screen.\n * @see https://floating-ui.com/docs/autoUpdate\n */\nfunction autoUpdate(reference, floating, update, options) {\n if (options === void 0) {\n options = {};\n }\n const {\n ancestorScroll = true,\n ancestorResize = true,\n elementResize = typeof ResizeObserver === 'function',\n layoutShift = typeof IntersectionObserver === 'function',\n animationFrame = false\n } = options;\n const referenceEl = unwrapElement(reference);\n const ancestors = ancestorScroll || ancestorResize ? [...(referenceEl ? getOverflowAncestors(referenceEl) : []), ...getOverflowAncestors(floating)] : [];\n ancestors.forEach(ancestor => {\n ancestorScroll && ancestor.addEventListener('scroll', update, {\n passive: true\n });\n ancestorResize && ancestor.addEventListener('resize', update);\n });\n const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;\n let reobserveFrame = -1;\n let resizeObserver = null;\n if (elementResize) {\n resizeObserver = new ResizeObserver(_ref => {\n let [firstEntry] = _ref;\n if (firstEntry && firstEntry.target === referenceEl && resizeObserver) {\n // Prevent update loops when using the `size` middleware.\n // https://github.com/floating-ui/floating-ui/issues/1740\n resizeObserver.unobserve(floating);\n cancelAnimationFrame(reobserveFrame);\n reobserveFrame = requestAnimationFrame(() => {\n var _resizeObserver;\n (_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);\n });\n }\n update();\n });\n if (referenceEl && !animationFrame) {\n resizeObserver.observe(referenceEl);\n }\n resizeObserver.observe(floating);\n }\n let frameId;\n let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;\n if (animationFrame) {\n frameLoop();\n }\n function frameLoop() {\n const nextRefRect = getBoundingClientRect(reference);\n if (prevRefRect && !rectsAreEqual(prevRefRect, nextRefRect)) {\n update();\n }\n prevRefRect = nextRefRect;\n frameId = requestAnimationFrame(frameLoop);\n }\n update();\n return () => {\n var _resizeObserver2;\n ancestors.forEach(ancestor => {\n ancestorScroll && ancestor.removeEventListener('scroll', update);\n ancestorResize && ancestor.removeEventListener('resize', update);\n });\n cleanupIo == null || cleanupIo();\n (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();\n resizeObserver = null;\n if (animationFrame) {\n cancelAnimationFrame(frameId);\n }\n };\n}\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nconst detectOverflow = detectOverflow$1;\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = offset$1;\n\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = autoPlacement$1;\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = shift$1;\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = flip$1;\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = size$1;\n\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = hide$1;\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = arrow$1;\n\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = inline$1;\n\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = limitShift$1;\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n */\nconst computePosition = (reference, floating, options) => {\n // This caches the expensive `getClippingElementAncestors` function so that\n // multiple lifecycle resets re-use the same result. It only lives for a\n // single call. If other functions become expensive, we can add them as well.\n const cache = new Map();\n const mergedOptions = {\n platform,\n ...options\n };\n const platformWithCache = {\n ...mergedOptions.platform,\n _c: cache\n };\n return computePosition$1(reference, floating, {\n ...mergedOptions,\n platform: platformWithCache\n });\n};\n\nexport { arrow, autoPlacement, autoUpdate, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, platform, shift, size };\n"],"names":["getCssDimensions","element","css","getComputedStyle$1","width","height","hasOffset","isHTMLElement","offsetWidth","offsetHeight","shouldFallback","round","unwrapElement","isElement","getScale","domElement","createCoords","rect","$","x","y","noOffsets","getVisualOffsets","win","getWindow","isWebKit","shouldAddVisualOffsets","isFixed","floatingOffsetParent","getBoundingClientRect","includeScale","isFixedStrategy","offsetParent","clientRect","scale","visualOffsets","offsetWin","currentWin","currentIFrame","getFrameElement","iframeScale","iframeRect","left","top","rectToClientRect","getWindowScrollBarX","leftScroll","getNodeScroll","getDocumentElement","getHTMLOffset","documentElement","scroll","htmlRect","convertOffsetParentRelativeRectToViewportRelativeRect","_ref","elements","strategy","topLayer","isTopLayer","offsets","isOffsetParentAnElement","getNodeName","isOverflowElement","offsetRect","htmlOffset","getClientRects","getDocumentRect","html","body","max","SCROLLBAR_MAX","getViewportRect","visualViewport","visualViewportBased","windowScrollbarX","doc","bodyStyles","bodyMarginInline","clippingStableScrollbarWidth","absoluteOrFixed","getInnerBoundingClientRect","getClientRectFromClippingAncestor","clippingAncestor","hasFixedPositionAncestor","stopNode","parentNode","getParentNode","isLastTraversableNode","getClippingElementAncestors","cache","cachedResult","result","getOverflowAncestors","el","currentContainingBlockComputedStyle","elementIsFixed","currentNode","computedStyle","currentNodeIsContaining","isContainingBlock","ancestor","getClippingRect","boundary","rootBoundary","clippingAncestors","firstClippingAncestor","clippingRect","accRect","min","getDimensions","getRectRelativeToOffsetParent","setLeftRTLScrollbarOffset","isStaticPositioned","getTrueOffsetParent","polyfill","rawOffsetParent","getOffsetParent","svgOffsetParent","isTableElement","getContainingBlock","getElementRects","data","getOffsetParentFn","getDimensionsFn","floatingDimensions","isRTL","platform","rectsAreEqual","a","b","observeMove","onMove","io","timeoutId","root","cleanup","_io","refresh","skip","threshold","elementRectForRootMargin","insetTop","floor","insetRight","insetBottom","insetLeft","options","isFirstUpdate","handleObserve","entries","ratio","autoUpdate","reference","floating","update","ancestorScroll","ancestorResize","elementResize","layoutShift","animationFrame","referenceEl","ancestors","cleanupIo","reobserveFrame","resizeObserver","firstEntry","_resizeObserver","frameId","prevRefRect","frameLoop","nextRefRect","_resizeObserver2","offset","offset$1","shift","shift$1","flip","flip$1","size","size$1","hide","hide$1","arrow","arrow$1","limitShift","limitShift$1","computePosition","mergedOptions","platformWithCache","computePosition$1"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index178.js","sources":["../../../node_modules/libphonenumber-js/es6/helpers/checkNumberLength.js"],"sourcesContent":["import Metadata from '../metadata.js';\nimport mergeArrays from './mergeArrays.js';\nexport default function checkNumberLength(nationalNumber, country, metadata) {\n return checkNumberLengthForType(nationalNumber, country, undefined, metadata);\n}\n\n// Checks whether a number is possible for a certain `country` based on the number length.\n//\n// This function is not supported by metadata generated with ancient versions of\n// `libphonenumber-js` (before version `1.0.18`) which didn't include \"possible lengths\".\n//\n// There was also a known issue with `checkNumberLength()` function:\n// if a number is possible only in a certain `country` among several `countries`\n// that share the same \"country calling code\", that function would check\n// the possibility of the phone number only in the \"main\" `country` for the \"country calling code\"\n// and would not check if it's actually be possible in the speciifc `country`.\n//\n// For example, \"+1310xxxx\" numbers are valid in Canada.\n// However, they are not possible in the US due to being too short.\n// Since Canada and the US share the same country calling code — \"+1\" —\n// `checkNumberLength()` function used to return not \"IS_POSSIBLE\" for \"+1310xxxx\" numbers.\n//\n// In such cases, when using \"/max\" metadata, `isValid()` could output `true`\n// but at the same time `isPossible()` could output `false`, which was contradictory.\n//\n// See https://issuetracker.google.com/issues/335892662 for the discusson in Google's issues.\n//\n// The solution suggested by Google was implemented: an optional `country` argument\n// was added to `checkNumberLength()` function. If present, that `country` will be used\n// to check phone number length for that specific `country` rather than the \"main\" country\n// for the shared \"country calling code\".\n//\nexport function checkNumberLengthForType(nationalNumber, country, type, metadata) {\n // If the exact `country` is specified, it's no necessarily already selected in `metadata`.\n // Most likely, in cases when there're multiple countries corresponding to the same\n // \"country calling code\", the \"main\" country for that \"country calling code\" will be selected.\n if (country) {\n metadata = new Metadata(metadata.metadata);\n metadata.selectNumberingPlan(country);\n }\n var type_info = metadata.type(type);\n\n // There should always be \"<possiblePengths/>\" set for every type element.\n // This is declared in the XML schema.\n // For size efficiency, where a sub-description (e.g. fixed-line)\n // has the same \"<possiblePengths/>\" as the \"general description\", this is missing,\n // so we fall back to the \"general description\". Where no numbers of the type\n // exist at all, there is one possible length (-1) which is guaranteed\n // not to match the length of any real phone number.\n var possible_lengths = type_info && type_info.possibleLengths() || metadata.possibleLengths();\n // let local_lengths = type_info && type.possibleLengthsLocal() || metadata.possibleLengthsLocal()\n\n // Metadata before version `1.0.18` didn't contain `possible_lengths`.\n if (!possible_lengths) {\n return 'IS_POSSIBLE';\n }\n if (type === 'FIXED_LINE_OR_MOBILE') {\n // No such country in metadata.\n /* istanbul ignore next */\n if (!metadata.type('FIXED_LINE')) {\n // The rare case has been encountered where no fixedLine data is available\n // (true for some non-geographic entities), so we just check mobile.\n return checkNumberLengthForType(nationalNumber, country, 'MOBILE', metadata);\n }\n var mobile_type = metadata.type('MOBILE');\n if (mobile_type) {\n // Merge the mobile data in if there was any. \"Concat\" creates a new\n // array, it doesn't edit possible_lengths in place, so we don't need a copy.\n // Note that when adding the possible lengths from mobile, we have\n // to again check they aren't empty since if they are this indicates\n // they are the same as the general desc and should be obtained from there.\n possible_lengths = mergeArrays(possible_lengths, mobile_type.possibleLengths());\n // The current list is sorted; we need to merge in the new list and\n // re-sort (duplicates are okay). Sorting isn't so expensive because\n // the lists are very small.\n\n // if (local_lengths) {\n // \tlocal_lengths = mergeArrays(local_lengths, mobile_type.possibleLengthsLocal())\n // } else {\n // \tlocal_lengths = mobile_type.possibleLengthsLocal()\n // }\n }\n }\n // If the type doesn't exist then return 'INVALID_LENGTH'.\n else if (type && !type_info) {\n return 'INVALID_LENGTH';\n }\n var actual_length = nationalNumber.length;\n\n // In `libphonenumber-js` all \"local-only\" formats are dropped for simplicity.\n // // This is safe because there is never an overlap beween the possible lengths\n // // and the local-only lengths; this is checked at build time.\n // if (local_lengths && local_lengths.indexOf(nationalNumber.length) >= 0)\n // {\n // \treturn 'IS_POSSIBLE_LOCAL_ONLY'\n // }\n\n var minimum_length = possible_lengths[0];\n if (minimum_length === actual_length) {\n return 'IS_POSSIBLE';\n }\n if (minimum_length > actual_length) {\n return 'TOO_SHORT';\n }\n if (possible_lengths[possible_lengths.length - 1] < actual_length) {\n return 'TOO_LONG';\n }\n\n // We skip the first element since we've already checked it.\n return possible_lengths.indexOf(actual_length, 1) >= 0 ? 'IS_POSSIBLE' : 'INVALID_LENGTH';\n}\n//# sourceMappingURL=checkNumberLength.js.map"],"names":["checkNumberLength","nationalNumber","country","metadata","checkNumberLengthForType","type","Metadata","type_info","possible_lengths","actual_length","minimum_length"],"mappings":";AAEe,SAASA,EAAkBC,GAAgBC,GAASC,GAAU;AAC3E,SAAOC,EAAyBH,GAAgBC,GAAS,QAAWC,CAAQ;AAC9E;AA4BO,SAASC,EAAyBH,GAAgBC,GAASG,GAAMF,GAAU;AAIhF,EAAID,MACFC,IAAW,IAAIG,EAASH,EAAS,QAAQ,GACzCA,EAAS,oBAAoBD,CAAO;AAEtC,MAAIK,IAAYJ,EAAS,KAAKE,CAAI,GAS9BG,IAAmBD,KAAaA,EAAU,gBAAe,KAAMJ,EAAS,gBAAe;AAI3F,MAAI,CAACK;AACH,WAAO;AAiCT,MAAIC,IAAgBR,EAAe,QAU/BS,IAAiBF,EAAiB,CAAC;AACvC,SAAIE,MAAmBD,IACd,gBAELC,IAAiBD,IACZ,cAELD,EAAiBA,EAAiB,SAAS,CAAC,IAAIC,IAC3C,aAIFD,EAAiB,QAAQC,GAAe,CAAC,KAAK,IAAI,gBAAgB;AAC3E;","x_google_ignoreList":[0]}