@rpcbase/ui 0.244.0 → 0.245.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (694) hide show
  1. package/dist/index10.js +2 -2
  2. package/dist/index105.js +36 -36
  3. package/dist/index106.js +1 -1
  4. package/dist/index11.js +2 -2
  5. package/dist/index117.js +6 -6
  6. package/dist/index12.js +3 -3
  7. package/dist/index120.js +10 -10
  8. package/dist/index122.js +2 -2
  9. package/dist/index123.js +3 -3
  10. package/dist/index124.js +1 -1
  11. package/dist/index126.js +2 -2
  12. package/dist/index128.js +2 -2
  13. package/dist/index13.js +2 -2
  14. package/dist/index14.js +2 -2
  15. package/dist/index149.js +14 -5
  16. package/dist/index149.js.map +1 -1
  17. package/dist/index15.js +2 -2
  18. package/dist/index150.js +63 -63
  19. package/dist/index150.js.map +1 -1
  20. package/dist/index151.js +38 -2
  21. package/dist/index151.js.map +1 -1
  22. package/dist/index152.js +13 -385
  23. package/dist/index152.js.map +1 -1
  24. package/dist/index153.js +23 -261
  25. package/dist/index153.js.map +1 -1
  26. package/dist/index154.js +109 -58
  27. package/dist/index154.js.map +1 -1
  28. package/dist/index155.js +13 -47
  29. package/dist/index155.js.map +1 -1
  30. package/dist/index156.js +4 -169
  31. package/dist/index156.js.map +1 -1
  32. package/dist/index157.js +4 -110
  33. package/dist/index157.js.map +1 -1
  34. package/dist/index158.js +5 -25
  35. package/dist/index158.js.map +1 -1
  36. package/dist/index159.js +12 -8
  37. package/dist/index159.js.map +1 -1
  38. package/dist/index16.js +8 -8
  39. package/dist/index160.js +19 -4
  40. package/dist/index160.js.map +1 -1
  41. package/dist/index161.js +11 -6
  42. package/dist/index161.js.map +1 -1
  43. package/dist/index162.js +176 -4
  44. package/dist/index162.js.map +1 -1
  45. package/dist/index163.js +268 -476
  46. package/dist/index163.js.map +1 -1
  47. package/dist/index164.js +4 -189
  48. package/dist/index164.js.map +1 -1
  49. package/dist/index165.js +28 -14
  50. package/dist/index165.js.map +1 -1
  51. package/dist/index166.js +124 -105
  52. package/dist/index166.js.map +1 -1
  53. package/dist/index167.js +63 -262
  54. package/dist/index167.js.map +1 -1
  55. package/dist/index168.js +8 -6
  56. package/dist/index168.js.map +1 -1
  57. package/dist/index169.js +15 -40
  58. package/dist/index169.js.map +1 -1
  59. package/dist/index17.js +1 -1
  60. package/dist/index170.js +30 -4
  61. package/dist/index170.js.map +1 -1
  62. package/dist/index171.js +69 -58
  63. package/dist/index171.js.map +1 -1
  64. package/dist/index172.js +5 -8
  65. package/dist/index172.js.map +1 -1
  66. package/dist/index173.js +61 -80
  67. package/dist/index173.js.map +1 -1
  68. package/dist/index174.js +2 -20
  69. package/dist/index174.js.map +1 -1
  70. package/dist/index175.js +383 -14
  71. package/dist/index175.js.map +1 -1
  72. package/dist/index176.js +260 -4
  73. package/dist/index176.js.map +1 -1
  74. package/dist/index177.js +59 -4
  75. package/dist/index177.js.map +1 -1
  76. package/dist/index178.js +46 -6
  77. package/dist/index178.js.map +1 -1
  78. package/dist/index179.js +169 -4
  79. package/dist/index179.js.map +1 -1
  80. package/dist/index18.js +7 -7
  81. package/dist/index180.js +109 -6
  82. package/dist/index180.js.map +1 -1
  83. package/dist/index181.js +24 -16
  84. package/dist/index181.js.map +1 -1
  85. package/dist/index182.js +8 -5
  86. package/dist/index182.js.map +1 -1
  87. package/dist/index183.js +4 -4
  88. package/dist/index183.js.map +1 -1
  89. package/dist/index184.js +5 -12
  90. package/dist/index184.js.map +1 -1
  91. package/dist/index185.js +4 -9
  92. package/dist/index185.js.map +1 -1
  93. package/dist/index186.js +487 -13
  94. package/dist/index186.js.map +1 -1
  95. package/dist/index187.js +189 -13
  96. package/dist/index187.js.map +1 -1
  97. package/dist/index188.js +13 -4
  98. package/dist/index188.js.map +1 -1
  99. package/dist/index189.js +107 -5
  100. package/dist/index189.js.map +1 -1
  101. package/dist/index19.js +16 -16
  102. package/dist/index190.js +262 -6
  103. package/dist/index190.js.map +1 -1
  104. package/dist/index191.js +6 -5
  105. package/dist/index191.js.map +1 -1
  106. package/dist/index192.js +39 -53
  107. package/dist/index192.js.map +1 -1
  108. package/dist/index193.js +4 -8
  109. package/dist/index193.js.map +1 -1
  110. package/dist/index194.js +58 -4
  111. package/dist/index194.js.map +1 -1
  112. package/dist/index195.js +8 -4
  113. package/dist/index195.js.map +1 -1
  114. package/dist/index196.js +87 -8
  115. package/dist/index196.js.map +1 -1
  116. package/dist/index197.js +19 -4
  117. package/dist/index197.js.map +1 -1
  118. package/dist/index198.js +16 -4
  119. package/dist/index198.js.map +1 -1
  120. package/dist/index199.js +5 -3
  121. package/dist/index199.js.map +1 -1
  122. package/dist/index200.js +5 -10
  123. package/dist/index200.js.map +1 -1
  124. package/dist/index201.js +6 -9
  125. package/dist/index201.js.map +1 -1
  126. package/dist/index202.js +4 -9
  127. package/dist/index202.js.map +1 -1
  128. package/dist/index203.js +6 -10
  129. package/dist/index203.js.map +1 -1
  130. package/dist/index204.js +16 -10
  131. package/dist/index204.js.map +1 -1
  132. package/dist/index205.js +4 -9
  133. package/dist/index205.js.map +1 -1
  134. package/dist/index206.js +4 -6
  135. package/dist/index206.js.map +1 -1
  136. package/dist/index207.js +12 -5
  137. package/dist/index207.js.map +1 -1
  138. package/dist/index208.js +9 -4
  139. package/dist/index208.js.map +1 -1
  140. package/dist/index209.js +13 -5
  141. package/dist/index209.js.map +1 -1
  142. package/dist/index21.js +1 -1
  143. package/dist/index210.js +13 -6
  144. package/dist/index210.js.map +1 -1
  145. package/dist/index211.js +4 -5
  146. package/dist/index211.js.map +1 -1
  147. package/dist/index212.js +5 -16
  148. package/dist/index212.js.map +1 -1
  149. package/dist/index213.js +6 -7
  150. package/dist/index213.js.map +1 -1
  151. package/dist/index214.js +5 -10
  152. package/dist/index214.js.map +1 -1
  153. package/dist/index215.js +54 -10
  154. package/dist/index215.js.map +1 -1
  155. package/dist/index216.js +8 -21
  156. package/dist/index216.js.map +1 -1
  157. package/dist/index217.js +4 -8
  158. package/dist/index217.js.map +1 -1
  159. package/dist/index218.js +4 -9
  160. package/dist/index218.js.map +1 -1
  161. package/dist/index219.js +8 -9
  162. package/dist/index219.js.map +1 -1
  163. package/dist/index22.js +2 -2
  164. package/dist/index220.js +4 -4
  165. package/dist/index220.js.map +1 -1
  166. package/dist/index221.js +4 -5
  167. package/dist/index221.js.map +1 -1
  168. package/dist/index222.js +3 -16
  169. package/dist/index222.js.map +1 -1
  170. package/dist/index223.js +10 -9
  171. package/dist/index223.js.map +1 -1
  172. package/dist/index224.js +9 -18
  173. package/dist/index224.js.map +1 -1
  174. package/dist/index225.js +9 -20
  175. package/dist/index225.js.map +1 -1
  176. package/dist/index226.js +10 -12
  177. package/dist/index226.js.map +1 -1
  178. package/dist/index227.js +10 -29
  179. package/dist/index227.js.map +1 -1
  180. package/dist/index228.js +9 -12
  181. package/dist/index228.js.map +1 -1
  182. package/dist/index229.js +6 -25
  183. package/dist/index229.js.map +1 -1
  184. package/dist/index23.js +1 -1
  185. package/dist/index230.js +5 -5
  186. package/dist/index230.js.map +1 -1
  187. package/dist/index231.js +5 -20
  188. package/dist/index231.js.map +1 -1
  189. package/dist/index232.js +5 -66
  190. package/dist/index232.js.map +1 -1
  191. package/dist/index233.js +6 -6
  192. package/dist/index233.js.map +1 -1
  193. package/dist/index234.js +5 -5
  194. package/dist/index234.js.map +1 -1
  195. package/dist/index235.js +16 -11
  196. package/dist/index235.js.map +1 -1
  197. package/dist/index236.js +7 -3
  198. package/dist/index236.js.map +1 -1
  199. package/dist/index237.js +9 -49
  200. package/dist/index237.js.map +1 -1
  201. package/dist/index238.js +11 -4
  202. package/dist/index238.js.map +1 -1
  203. package/dist/index239.js +20 -28
  204. package/dist/index239.js.map +1 -1
  205. package/dist/index24.js +1 -1
  206. package/dist/index240.js +8 -16
  207. package/dist/index240.js.map +1 -1
  208. package/dist/index241.js +9 -5
  209. package/dist/index241.js.map +1 -1
  210. package/dist/index242.js +9 -21
  211. package/dist/index242.js.map +1 -1
  212. package/dist/index243.js +4 -53
  213. package/dist/index243.js.map +1 -1
  214. package/dist/index244.js +5 -20
  215. package/dist/index244.js.map +1 -1
  216. package/dist/index245.js +16 -41
  217. package/dist/index245.js.map +1 -1
  218. package/dist/index246.js +9 -39
  219. package/dist/index246.js.map +1 -1
  220. package/dist/index247.js +19 -46
  221. package/dist/index247.js.map +1 -1
  222. package/dist/index248.js +17 -20
  223. package/dist/index248.js.map +1 -1
  224. package/dist/index249.js +12 -19
  225. package/dist/index249.js.map +1 -1
  226. package/dist/index25.js +1 -1
  227. package/dist/index250.js +28 -19
  228. package/dist/index250.js.map +1 -1
  229. package/dist/index251.js +10 -68
  230. package/dist/index251.js.map +1 -1
  231. package/dist/index252.js +25 -17
  232. package/dist/index252.js.map +1 -1
  233. package/dist/index253.js +5 -3
  234. package/dist/index253.js.map +1 -1
  235. package/dist/index254.js +66 -11
  236. package/dist/index254.js.map +1 -1
  237. package/dist/index255.js +8 -30
  238. package/dist/index255.js.map +1 -1
  239. package/dist/index256.js +11 -13
  240. package/dist/index256.js.map +1 -1
  241. package/dist/index257.js +8 -18
  242. package/dist/index257.js.map +1 -1
  243. package/dist/index258.js +5 -36
  244. package/dist/index258.js.map +1 -1
  245. package/dist/index259.js +12 -68
  246. package/dist/index259.js.map +1 -1
  247. package/dist/index260.js +3 -239
  248. package/dist/index260.js.map +1 -1
  249. package/dist/index261.js +3 -252
  250. package/dist/index261.js.map +1 -1
  251. package/dist/index262.js +96 -65
  252. package/dist/index262.js.map +1 -1
  253. package/dist/index263.js +16 -98
  254. package/dist/index263.js.map +1 -1
  255. package/dist/index264.js +26 -173
  256. package/dist/index264.js.map +1 -1
  257. package/dist/index265.js +47 -79
  258. package/dist/index265.js.map +1 -1
  259. package/dist/index266.js +6 -13
  260. package/dist/index266.js.map +1 -1
  261. package/dist/index267.js +5 -3
  262. package/dist/index267.js.map +1 -1
  263. package/dist/index268.js +60 -28
  264. package/dist/index268.js.map +1 -1
  265. package/dist/index269.js +66 -16
  266. package/dist/index269.js.map +1 -1
  267. package/dist/index270.js +131 -35
  268. package/dist/index270.js.map +1 -1
  269. package/dist/index271.js +8 -34
  270. package/dist/index271.js.map +1 -1
  271. package/dist/index272.js +5 -69
  272. package/dist/index272.js.map +1 -1
  273. package/dist/index273.js +4 -18
  274. package/dist/index273.js.map +1 -1
  275. package/dist/index274.js +11 -3
  276. package/dist/index274.js.map +1 -1
  277. package/dist/index275.js +17 -107
  278. package/dist/index275.js.map +1 -1
  279. package/dist/index276.js +16 -26
  280. package/dist/index276.js.map +1 -1
  281. package/dist/index277.js +11 -28
  282. package/dist/index277.js.map +1 -1
  283. package/dist/index278.js +8 -4
  284. package/dist/index278.js.map +1 -1
  285. package/dist/index279.js +142 -124
  286. package/dist/index279.js.map +1 -1
  287. package/dist/index28.js +1 -1
  288. package/dist/index280.js +79 -4
  289. package/dist/index280.js.map +1 -1
  290. package/dist/index281.js +61 -78
  291. package/dist/index281.js.map +1 -1
  292. package/dist/index282.js +15 -273
  293. package/dist/index282.js.map +1 -1
  294. package/dist/index283.js +20 -12
  295. package/dist/index283.js.map +1 -1
  296. package/dist/index284.js +7 -28
  297. package/dist/index284.js.map +1 -1
  298. package/dist/index285.js +12 -16
  299. package/dist/index285.js.map +1 -1
  300. package/dist/index286.js +3 -10
  301. package/dist/index286.js.map +1 -1
  302. package/dist/index287.js +49 -24
  303. package/dist/index287.js.map +1 -1
  304. package/dist/index288.js +15 -15
  305. package/dist/index288.js.map +1 -1
  306. package/dist/index289.js +21 -125
  307. package/dist/index289.js.map +1 -1
  308. package/dist/index29.js +3 -56
  309. package/dist/index29.js.map +1 -1
  310. package/dist/index290.js +53 -5
  311. package/dist/index290.js.map +1 -1
  312. package/dist/index291.js +19 -64
  313. package/dist/index291.js.map +1 -1
  314. package/dist/index292.js +42 -14
  315. package/dist/index292.js.map +1 -1
  316. package/dist/index293.js +40 -14
  317. package/dist/index293.js.map +1 -1
  318. package/dist/index294.js +46 -8
  319. package/dist/index294.js.map +1 -1
  320. package/dist/index295.js +21 -11
  321. package/dist/index295.js.map +1 -1
  322. package/dist/index296.js +70 -5
  323. package/dist/index296.js.map +1 -1
  324. package/dist/index297.js +17 -3
  325. package/dist/index297.js.map +1 -1
  326. package/dist/index298.js +3 -10
  327. package/dist/index298.js.map +1 -1
  328. package/dist/index299.js +13 -7
  329. package/dist/index299.js.map +1 -1
  330. package/dist/index3.js +2 -2
  331. package/dist/index30.js +242 -3
  332. package/dist/index30.js.map +1 -1
  333. package/dist/index300.js +15 -130
  334. package/dist/index300.js.map +1 -1
  335. package/dist/index301.js +34 -277
  336. package/dist/index301.js.map +1 -1
  337. package/dist/index302.js +229 -389
  338. package/dist/index302.js.map +1 -1
  339. package/dist/index303.js +253 -5
  340. package/dist/index303.js.map +1 -1
  341. package/dist/index304.js +64 -48
  342. package/dist/index304.js.map +1 -1
  343. package/dist/index305.js +83 -11
  344. package/dist/index305.js.map +1 -1
  345. package/dist/index306.js +3 -27
  346. package/dist/index306.js.map +1 -1
  347. package/dist/index307.js +29 -11
  348. package/dist/index307.js.map +1 -1
  349. package/dist/index308.js +16 -4
  350. package/dist/index308.js.map +1 -1
  351. package/dist/index309.js +35 -15
  352. package/dist/index309.js.map +1 -1
  353. package/dist/index31.js +21 -239
  354. package/dist/index31.js.map +1 -1
  355. package/dist/index310.js +18 -4
  356. package/dist/index310.js.map +1 -1
  357. package/dist/index311.js +4 -5
  358. package/dist/index311.js.map +1 -1
  359. package/dist/index312.js +26 -11
  360. package/dist/index312.js.map +1 -1
  361. package/dist/index313.js +28 -63
  362. package/dist/index313.js.map +1 -1
  363. package/dist/index314.js +4 -9
  364. package/dist/index314.js.map +1 -1
  365. package/dist/index315.js +75 -151
  366. package/dist/index315.js.map +1 -1
  367. package/dist/index316.js +270 -30
  368. package/dist/index316.js.map +1 -1
  369. package/dist/index317.js +11 -11
  370. package/dist/index317.js.map +1 -1
  371. package/dist/index318.js +11 -50
  372. package/dist/index318.js.map +1 -1
  373. package/dist/index319.js +24 -8
  374. package/dist/index319.js.map +1 -1
  375. package/dist/index32.js +4 -23
  376. package/dist/index32.js.map +1 -1
  377. package/dist/index320.js +16 -11
  378. package/dist/index320.js.map +1 -1
  379. package/dist/index321.js +124 -42
  380. package/dist/index321.js.map +1 -1
  381. package/dist/index322.js +5 -97
  382. package/dist/index322.js.map +1 -1
  383. package/dist/index323.js +61 -82
  384. package/dist/index323.js.map +1 -1
  385. package/dist/index324.js +12 -104
  386. package/dist/index324.js.map +1 -1
  387. package/dist/index325.js +7 -52
  388. package/dist/index325.js.map +1 -1
  389. package/dist/index326.js +5 -11
  390. package/dist/index326.js.map +1 -1
  391. package/dist/index327.js +3 -4
  392. package/dist/index327.js.map +1 -1
  393. package/dist/index328.js +10 -37
  394. package/dist/index328.js.map +1 -1
  395. package/dist/index329.js +7 -8
  396. package/dist/index329.js.map +1 -1
  397. package/dist/index33.js +6 -3
  398. package/dist/index33.js.map +1 -1
  399. package/dist/index330.js +385 -121
  400. package/dist/index330.js.map +1 -1
  401. package/dist/index331.js +5 -18
  402. package/dist/index331.js.map +1 -1
  403. package/dist/index332.js +51 -14
  404. package/dist/index332.js.map +1 -1
  405. package/dist/index333.js +11 -3
  406. package/dist/index333.js.map +1 -1
  407. package/dist/index334.js +25 -34
  408. package/dist/index334.js.map +1 -1
  409. package/dist/index335.js +11 -20
  410. package/dist/index335.js.map +1 -1
  411. package/dist/index336.js +154 -9
  412. package/dist/index336.js.map +1 -1
  413. package/dist/index337.js +32 -8
  414. package/dist/index337.js.map +1 -1
  415. package/dist/index338.js +11 -24
  416. package/dist/index338.js.map +1 -1
  417. package/dist/index339.js +46 -25
  418. package/dist/index339.js.map +1 -1
  419. package/dist/index34.js +38 -8
  420. package/dist/index34.js.map +1 -1
  421. package/dist/index340.js +9 -16
  422. package/dist/index340.js.map +1 -1
  423. package/dist/index341.js +11 -4
  424. package/dist/index341.js.map +1 -1
  425. package/dist/index342.js +43 -17
  426. package/dist/index342.js.map +1 -1
  427. package/dist/index343.js +97 -12
  428. package/dist/index343.js.map +1 -1
  429. package/dist/index344.js +86 -8
  430. package/dist/index344.js.map +1 -1
  431. package/dist/index345.js +105 -11
  432. package/dist/index345.js.map +1 -1
  433. package/dist/index346.js +51 -7
  434. package/dist/index346.js.map +1 -1
  435. package/dist/index347.js +10 -12
  436. package/dist/index347.js.map +1 -1
  437. package/dist/index348.js +4 -3
  438. package/dist/index348.js.map +1 -1
  439. package/dist/index349.js +37 -3
  440. package/dist/index349.js.map +1 -1
  441. package/dist/index35.js +74 -35
  442. package/dist/index35.js.map +1 -1
  443. package/dist/index350.js +9 -4
  444. package/dist/index350.js.map +1 -1
  445. package/dist/index351.js +136 -15
  446. package/dist/index351.js.map +1 -1
  447. package/dist/index352.js +17 -11
  448. package/dist/index352.js.map +1 -1
  449. package/dist/index353.js +15 -5
  450. package/dist/index353.js.map +1 -1
  451. package/dist/index354.js +4 -5
  452. package/dist/index354.js.map +1 -1
  453. package/dist/index355.js +37 -3
  454. package/dist/index355.js.map +1 -1
  455. package/dist/index356.js +19 -7
  456. package/dist/index356.js.map +1 -1
  457. package/dist/index357.js +9 -51
  458. package/dist/index357.js.map +1 -1
  459. package/dist/index358.js +8 -16
  460. package/dist/index358.js.map +1 -1
  461. package/dist/index359.js +25 -8
  462. package/dist/index359.js.map +1 -1
  463. package/dist/index36.js +20 -74
  464. package/dist/index36.js.map +1 -1
  465. package/dist/index360.js +28 -5
  466. package/dist/index360.js.map +1 -1
  467. package/dist/index361.js +15 -19
  468. package/dist/index361.js.map +1 -1
  469. package/dist/index362.js +5 -45
  470. package/dist/index362.js.map +1 -1
  471. package/dist/index363.js +16 -16
  472. package/dist/index363.js.map +1 -1
  473. package/dist/index364.js +13 -5
  474. package/dist/index364.js.map +1 -1
  475. package/dist/index365.js +7 -199
  476. package/dist/index365.js.map +1 -1
  477. package/dist/index366.js +27 -74
  478. package/dist/index366.js.map +1 -1
  479. package/dist/index367.js +131 -117
  480. package/dist/index367.js.map +1 -1
  481. package/dist/index368.js +10 -15
  482. package/dist/index368.js.map +1 -1
  483. package/dist/index369.js +44 -59
  484. package/dist/index369.js.map +1 -1
  485. package/dist/index37.js +33 -18
  486. package/dist/index37.js.map +1 -1
  487. package/dist/index370.js +3 -66
  488. package/dist/index370.js.map +1 -1
  489. package/dist/index371.js +21 -11
  490. package/dist/index371.js.map +1 -1
  491. package/dist/index372.js +74 -20
  492. package/dist/index372.js.map +1 -1
  493. package/dist/index373.js +12 -145
  494. package/dist/index373.js.map +1 -1
  495. package/dist/index374.js +3 -79
  496. package/dist/index374.js.map +1 -1
  497. package/dist/index375.js +73 -61
  498. package/dist/index375.js.map +1 -1
  499. package/dist/index376.js +200 -4
  500. package/dist/index376.js.map +1 -1
  501. package/dist/index377.js +71 -20
  502. package/dist/index377.js.map +1 -1
  503. package/dist/index378.js +35 -4
  504. package/dist/index378.js.map +1 -1
  505. package/dist/index379.js +7 -5
  506. package/dist/index379.js.map +1 -1
  507. package/dist/index38.js +26 -36
  508. package/dist/index38.js.map +1 -1
  509. package/dist/index380.js +16 -4
  510. package/dist/index380.js.map +1 -1
  511. package/dist/index381.js +123 -15
  512. package/dist/index381.js.map +1 -1
  513. package/dist/index382.js +4 -9
  514. package/dist/index382.js.map +1 -1
  515. package/dist/index383.js +11 -5
  516. package/dist/index383.js.map +1 -1
  517. package/dist/index384.js +5 -4
  518. package/dist/index384.js.map +1 -1
  519. package/dist/index385.js +3 -546
  520. package/dist/index385.js.map +1 -1
  521. package/dist/index386.js +20 -46
  522. package/dist/index386.js.map +1 -1
  523. package/dist/index387.js +45 -18
  524. package/dist/index387.js.map +1 -1
  525. package/dist/index388.js +18 -6
  526. package/dist/index388.js.map +1 -1
  527. package/dist/index389.js +5 -8
  528. package/dist/index389.js.map +1 -1
  529. package/dist/index39.js +21 -26
  530. package/dist/index39.js.map +1 -1
  531. package/dist/index390.js +4 -6
  532. package/dist/index390.js.map +1 -1
  533. package/dist/index391.js +20 -7
  534. package/dist/index391.js.map +1 -1
  535. package/dist/index392.js +4 -11
  536. package/dist/index392.js.map +1 -1
  537. package/dist/index393.js +4 -8
  538. package/dist/index393.js.map +1 -1
  539. package/dist/index394.js +4 -13
  540. package/dist/index394.js.map +1 -1
  541. package/dist/index395.js +16 -3
  542. package/dist/index395.js.map +1 -1
  543. package/dist/index396.js +9 -3
  544. package/dist/index396.js.map +1 -1
  545. package/dist/index397.js +6 -7
  546. package/dist/index397.js.map +1 -1
  547. package/dist/index398.js +4 -12
  548. package/dist/index398.js.map +1 -1
  549. package/dist/index399.js +543 -44
  550. package/dist/index399.js.map +1 -1
  551. package/dist/index4.js +2 -2
  552. package/dist/index40.js +56 -20
  553. package/dist/index40.js.map +1 -1
  554. package/dist/index400.js +44 -135
  555. package/dist/index400.js.map +1 -1
  556. package/dist/index401.js +17 -8
  557. package/dist/index401.js.map +1 -1
  558. package/dist/index402.js +6 -27
  559. package/dist/index402.js.map +1 -1
  560. package/dist/index403.js +7 -3
  561. package/dist/index403.js.map +1 -1
  562. package/dist/index404.js +6 -21
  563. package/dist/index404.js.map +1 -1
  564. package/dist/index405.js +7 -75
  565. package/dist/index405.js.map +1 -1
  566. package/dist/index406.js +12 -12
  567. package/dist/index406.js.map +1 -1
  568. package/dist/index407.js +8 -3
  569. package/dist/index407.js.map +1 -1
  570. package/dist/index408.js +12 -71
  571. package/dist/index408.js.map +1 -1
  572. package/dist/index409.js +3 -36
  573. package/dist/index409.js.map +1 -1
  574. package/dist/index41.js +51 -59
  575. package/dist/index41.js.map +1 -1
  576. package/dist/index410.js +14 -15
  577. package/dist/index410.js.map +1 -1
  578. package/dist/index411.js +491 -4
  579. package/dist/index411.js.map +1 -1
  580. package/dist/index412.js +3 -56
  581. package/dist/index412.js.map +1 -1
  582. package/dist/index413.js +3 -68
  583. package/dist/index413.js.map +1 -1
  584. package/dist/index414.js +5 -31
  585. package/dist/index414.js.map +1 -1
  586. package/dist/index415.js +56 -9
  587. package/dist/index415.js.map +1 -1
  588. package/dist/index416.js +61 -146
  589. package/dist/index416.js.map +1 -1
  590. package/dist/index417.js +26 -103
  591. package/dist/index417.js.map +1 -1
  592. package/dist/index418.js +9 -8
  593. package/dist/index418.js.map +1 -1
  594. package/dist/index419.js +153 -2
  595. package/dist/index419.js.map +1 -1
  596. package/dist/index42.js +21 -50
  597. package/dist/index42.js.map +1 -1
  598. package/dist/index420.js +107 -43
  599. package/dist/index420.js.map +1 -1
  600. package/dist/index421.js +32 -55
  601. package/dist/index421.js.map +1 -1
  602. package/dist/index422.js +6 -6
  603. package/dist/index422.js.map +1 -1
  604. package/dist/index424.js +38 -49
  605. package/dist/index424.js.map +1 -1
  606. package/dist/index425.js +50 -50
  607. package/dist/index425.js.map +1 -1
  608. package/dist/index426.js +8 -3
  609. package/dist/index426.js.map +1 -1
  610. package/dist/index427.js +2 -15
  611. package/dist/index427.js.map +1 -1
  612. package/dist/index428.js +50 -487
  613. package/dist/index428.js.map +1 -1
  614. package/dist/index429.js +55 -32
  615. package/dist/index429.js.map +1 -1
  616. package/dist/index43.js +127 -18
  617. package/dist/index43.js.map +1 -1
  618. package/dist/index430.js +16 -2
  619. package/dist/index430.js.map +1 -1
  620. package/dist/index431.js +29 -2
  621. package/dist/index431.js.map +1 -1
  622. package/dist/index432.js +13 -2
  623. package/dist/index432.js.map +1 -1
  624. package/dist/index433.js +7 -2
  625. package/dist/index433.js.map +1 -1
  626. package/dist/index434.js +2 -16
  627. package/dist/index434.js.map +1 -1
  628. package/dist/index435.js +2 -29
  629. package/dist/index435.js.map +1 -1
  630. package/dist/index436.js +2 -13
  631. package/dist/index436.js.map +1 -1
  632. package/dist/index437.js +2 -7
  633. package/dist/index437.js.map +1 -1
  634. package/dist/index44.js +39 -122
  635. package/dist/index44.js.map +1 -1
  636. package/dist/index45.js +85 -42
  637. package/dist/index45.js.map +1 -1
  638. package/dist/index46.js +123 -87
  639. package/dist/index46.js.map +1 -1
  640. package/dist/index47.js +5 -126
  641. package/dist/index47.js.map +1 -1
  642. package/dist/index48.js +332 -5
  643. package/dist/index48.js.map +1 -1
  644. package/dist/index49.js +246 -321
  645. package/dist/index49.js.map +1 -1
  646. package/dist/index5.js +2 -2
  647. package/dist/index50.js +23 -254
  648. package/dist/index50.js.map +1 -1
  649. package/dist/index51.js +129 -25
  650. package/dist/index51.js.map +1 -1
  651. package/dist/index52.js +24 -129
  652. package/dist/index52.js.map +1 -1
  653. package/dist/index53.js +19 -22
  654. package/dist/index53.js.map +1 -1
  655. package/dist/index54.js +134 -19
  656. package/dist/index54.js.map +1 -1
  657. package/dist/index55.js +30 -133
  658. package/dist/index55.js.map +1 -1
  659. package/dist/index56.js +24 -30
  660. package/dist/index56.js.map +1 -1
  661. package/dist/index57.js +38 -26
  662. package/dist/index57.js.map +1 -1
  663. package/dist/index58.js +19 -39
  664. package/dist/index58.js.map +1 -1
  665. package/dist/index59.js +133 -18
  666. package/dist/index59.js.map +1 -1
  667. package/dist/index6.js +4 -4
  668. package/dist/index60.js +49 -134
  669. package/dist/index60.js.map +1 -1
  670. package/dist/index61.js +25 -48
  671. package/dist/index61.js.map +1 -1
  672. package/dist/index62.js +57 -28
  673. package/dist/index62.js.map +1 -1
  674. package/dist/index63.js +56 -57
  675. package/dist/index63.js.map +1 -1
  676. package/dist/index64.js +5 -5
  677. package/dist/index64.js.map +1 -1
  678. package/dist/index66.js +22 -10
  679. package/dist/index66.js.map +1 -1
  680. package/dist/index67.js +232 -17
  681. package/dist/index67.js.map +1 -1
  682. package/dist/index68.js +5 -5
  683. package/dist/index68.js.map +1 -1
  684. package/dist/index7.js +11 -11
  685. package/dist/index70.js +10 -22
  686. package/dist/index70.js.map +1 -1
  687. package/dist/index71.js +17 -232
  688. package/dist/index71.js.map +1 -1
  689. package/dist/index76.js +1 -1
  690. package/dist/index77.js +2 -2
  691. package/dist/index78.js +2 -2
  692. package/dist/index8.js +2 -2
  693. package/dist/index9.js +1 -1
  694. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index302.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 (isOffsetParentAnElement) {\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\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 && (currentContainingBlockComputedStyle.position === 'absolute' || currentContainingBlockComputedStyle.position === 'fixed') || 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 firstRect = getClientRectFromClippingAncestor(element, clippingAncestors[0], strategy);\n let top = firstRect.top;\n let right = firstRect.right;\n let bottom = firstRect.bottom;\n let left = firstRect.left;\n for (let i = 1; i < clippingAncestors.length; i++) {\n const rect = getClientRectFromClippingAncestor(element, clippingAncestors[i], strategy);\n top = max(rect.top, top);\n right = min(rect.right, right);\n bottom = min(rect.bottom, bottom);\n left = max(rect.left, left);\n }\n return {\n width: right - left,\n height: bottom - top,\n x: left,\n y: 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) : []), ...(floating ? 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 && floating) {\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 if (floating) {\n resizeObserver.observe(floating);\n }\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","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","firstRect","right","bottom","i","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","limitShift","limitShift$1","computePosition","mergedOptions","platformWithCache","computePosition$1"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index302.js","sources":["../../../node_modules/@base-ui/react/floating-ui-react/hooks/useDismiss.mjs"],"sourcesContent":["'use client';\n\n/* eslint-disable no-underscore-dangle */\nimport * as React from 'react';\nimport { addEventListener } from '@base-ui/utils/addEventListener';\nimport { mergeCleanups } from '@base-ui/utils/mergeCleanups';\nimport { ownerDocument } from '@base-ui/utils/owner';\nimport { useStableCallback } from '@base-ui/utils/useStableCallback';\nimport { Timeout, useTimeout } from '@base-ui/utils/useTimeout';\nimport { getComputedStyle, getParentNode, isElement, isHTMLElement, isLastTraversableNode, isShadowRoot } from '@floating-ui/utils/dom';\nimport { platform } from '@base-ui/utils/platform';\nimport { useFloatingTree } from \"../components/FloatingTree.mjs\";\nimport { createChangeEventDetails } from \"../../internals/createBaseUIEventDetails.mjs\";\nimport { REASONS } from \"../../internals/reasons.mjs\";\nimport { createAttribute } from \"../utils/createAttribute.mjs\";\nimport { contains, getTarget, isEventTargetWithin, isRootElement } from \"../utils/element.mjs\";\nimport { isReactEvent } from \"../utils/event.mjs\";\nimport { getNodeChildren } from \"../utils/nodes.mjs\";\nfunction alwaysFalse() {\n return false;\n}\nexport function normalizeProp(normalizable) {\n return {\n escapeKey: typeof normalizable === 'boolean' ? normalizable : normalizable?.escapeKey ?? false,\n outsidePress: typeof normalizable === 'boolean' ? normalizable : normalizable?.outsidePress ?? true\n };\n}\n/**\n * Closes the floating element when a dismissal is requested — by default, when\n * the user presses the `escape` key or outside of the floating element.\n * @see https://floating-ui.com/docs/useDismiss\n */\nexport function useDismiss(context, props = {}) {\n const {\n enabled = true,\n escapeKey = true,\n outsidePress: outsidePressProp = true,\n outsidePressEvent = 'sloppy',\n referencePress = alwaysFalse,\n bubbles,\n externalTree\n } = props;\n const store = 'rootStore' in context ? context.rootStore : context;\n const open = store.useState('open');\n const floatingElement = store.useState('floatingElement');\n const {\n dataRef\n } = store.context;\n const tree = useFloatingTree(externalTree);\n const outsidePressFn = useStableCallback(typeof outsidePressProp === 'function' ? outsidePressProp : () => false);\n const outsidePress = typeof outsidePressProp === 'function' ? outsidePressFn : outsidePressProp;\n const outsidePressEnabled = outsidePress !== false;\n const getOutsidePressEventProp = useStableCallback(() => outsidePressEvent);\n const {\n escapeKey: escapeKeyBubbles,\n outsidePress: outsidePressBubbles\n } = normalizeProp(bubbles);\n const pressStartedInsideRef = React.useRef(false);\n const pressStartPreventedRef = React.useRef(false);\n // Ignore only the very next outside click after dragging from inside to outside.\n const suppressNextOutsideClickRef = React.useRef(false);\n const isComposingRef = React.useRef(false);\n const currentPointerTypeRef = React.useRef('');\n const touchStateRef = React.useRef(null);\n const cancelDismissOnEndTimeout = useTimeout();\n const clearInsideReactTreeTimeout = useTimeout();\n const clearInsideReactTree = useStableCallback(() => {\n clearInsideReactTreeTimeout.clear();\n dataRef.current.insideReactTree = false;\n });\n const hasBlockingChild = useStableCallback(bubbleKey => {\n const nodeId = dataRef.current.floatingContext?.nodeId;\n const children = tree ? getNodeChildren(tree.nodesRef.current, nodeId) : [];\n return children.some(child => child.context?.open && !child.context.dataRef.current[bubbleKey]);\n });\n const isEventWithinOwnElements = useStableCallback(event => {\n return isEventTargetWithin(event, store.select('floatingElement')) || isEventTargetWithin(event, store.select('domReferenceElement'));\n });\n const closeOnReferencePress = useStableCallback(event => {\n if (!referencePress()) {\n return;\n }\n store.setOpen(false, createChangeEventDetails(REASONS.triggerPress, event.nativeEvent));\n });\n const closeOnEscapeKeyDown = useStableCallback(event => {\n if (!open || !enabled || !escapeKey || event.key !== 'Escape') {\n return;\n }\n\n // Wait until IME is settled. Pressing `Escape` while composing should\n // close the compose menu, but not the floating element.\n if (isComposingRef.current) {\n return;\n }\n if (!escapeKeyBubbles && hasBlockingChild('__escapeKeyBubbles')) {\n return;\n }\n const native = isReactEvent(event) ? event.nativeEvent : event;\n const eventDetails = createChangeEventDetails(REASONS.escapeKey, native);\n store.setOpen(false, eventDetails);\n if (!eventDetails.isCanceled) {\n event.preventDefault();\n }\n if (!escapeKeyBubbles && !eventDetails.isPropagationAllowed) {\n event.stopPropagation();\n }\n });\n const markInsideReactTree = useStableCallback(() => {\n dataRef.current.insideReactTree = true;\n clearInsideReactTreeTimeout.start(0, clearInsideReactTree);\n });\n const markPressStartedInsideReactTree = useStableCallback(event => {\n if (!open || !enabled || event.button !== 0) {\n return;\n }\n const target = getTarget(event.nativeEvent);\n\n // Only treat presses that start within the floating DOM subtree as inside.\n // This avoids suppressing parent dismissal when interacting with nested portals.\n if (!contains(store.select('floatingElement'), target)) {\n return;\n }\n if (!pressStartedInsideRef.current) {\n pressStartedInsideRef.current = true;\n pressStartPreventedRef.current = false;\n }\n });\n const markInsidePressStartPrevented = useStableCallback(event => {\n if (!open || !enabled) {\n return;\n }\n if (!(event.defaultPrevented || event.nativeEvent.defaultPrevented)) {\n return;\n }\n if (pressStartedInsideRef.current) {\n pressStartPreventedRef.current = true;\n }\n });\n React.useEffect(() => {\n if (!open || !enabled) {\n return undefined;\n }\n dataRef.current.__escapeKeyBubbles = escapeKeyBubbles;\n dataRef.current.__outsidePressBubbles = outsidePressBubbles;\n const compositionTimeout = new Timeout();\n const preventedPressSuppressionTimeout = new Timeout();\n function handleCompositionStart() {\n compositionTimeout.clear();\n isComposingRef.current = true;\n }\n function handleCompositionEnd() {\n // Safari fires `compositionend` before `keydown`, so we need to wait\n // until the next tick to set `isComposing` to `false`.\n // https://bugs.webkit.org/show_bug.cgi?id=165004\n compositionTimeout.start(\n // 0ms or 1ms don't work in Safari. 5ms appears to consistently work.\n // Only apply to WebKit for the test to remain 0ms.\n platform.engine.webkit ? 5 : 0, () => {\n isComposingRef.current = false;\n });\n }\n function suppressImmediateOutsideClickAfterPreventedStart() {\n suppressNextOutsideClickRef.current = true;\n // Firefox can emit the synthetic outside click in a later task after\n // pointer lock exit, so microtask clearing is too early here.\n preventedPressSuppressionTimeout.start(0, () => {\n suppressNextOutsideClickRef.current = false;\n });\n }\n function resetPressStartState() {\n pressStartedInsideRef.current = false;\n pressStartPreventedRef.current = false;\n }\n function getOutsidePressEvent() {\n const type = currentPointerTypeRef.current;\n const computedType = type === 'pen' || !type ? 'mouse' : type;\n const outsidePressEventValue = getOutsidePressEventProp();\n const resolved = typeof outsidePressEventValue === 'function' ? outsidePressEventValue() : outsidePressEventValue;\n if (typeof resolved === 'string') {\n return resolved;\n }\n return resolved[computedType];\n }\n function shouldIgnoreEvent(event) {\n const computedOutsidePressEvent = getOutsidePressEvent();\n return computedOutsidePressEvent === 'intentional' && event.type !== 'click' || computedOutsidePressEvent === 'sloppy' && event.type === 'click';\n }\n function isEventWithinFloatingTree(event) {\n const nodeId = dataRef.current.floatingContext?.nodeId;\n const targetIsInsideChildren = tree && getNodeChildren(tree.nodesRef.current, nodeId).some(node => isEventTargetWithin(event, node.context?.elements.floating));\n return isEventWithinOwnElements(event) || targetIsInsideChildren;\n }\n function closeOnPressOutside(event) {\n if (shouldIgnoreEvent(event)) {\n // A new press began outside the floating element and its trigger. Clear any\n // leftover drag-out suppression so this press's eventual click can dismiss.\n if (event.type !== 'click' && !isEventWithinOwnElements(event)) {\n preventedPressSuppressionTimeout.clear();\n suppressNextOutsideClickRef.current = false;\n }\n clearInsideReactTree();\n return;\n }\n if (dataRef.current.insideReactTree) {\n clearInsideReactTree();\n return;\n }\n const target = getTarget(event);\n const inertSelector = `[${createAttribute('inert')}]`;\n const targetRoot = isElement(target) ? target.getRootNode() : null;\n const markers = Array.from((isShadowRoot(targetRoot) ? targetRoot : ownerDocument(store.select('floatingElement'))).querySelectorAll(inertSelector));\n const triggers = store.context.triggerElements;\n\n // If another trigger is clicked, don't close the floating element.\n if (target && (triggers.hasElement(target) || triggers.hasMatchingElement(trigger => contains(trigger, target)))) {\n return;\n }\n let targetRootAncestor = isElement(target) ? target : null;\n while (targetRootAncestor && !isLastTraversableNode(targetRootAncestor)) {\n const nextParent = getParentNode(targetRootAncestor);\n if (isLastTraversableNode(nextParent) || !isElement(nextParent)) {\n break;\n }\n targetRootAncestor = nextParent;\n }\n\n // Check if the click occurred on a third-party element injected after the\n // floating element rendered.\n if (markers.length && isElement(target) && !isRootElement(target) &&\n // Clicked on a direct ancestor (e.g. FloatingOverlay).\n !contains(target, store.select('floatingElement')) &&\n // If the target root element contains none of the markers, then the\n // element was injected after the floating element rendered.\n markers.every(marker => !contains(targetRootAncestor, marker))) {\n return;\n }\n\n // Check if the click occurred on the scrollbar\n // Skip for touch events: scrollbars don't receive touch events on most platforms\n if (isHTMLElement(target) && !('touches' in event)) {\n const lastTraversableNode = isLastTraversableNode(target);\n const style = getComputedStyle(target);\n const scrollRe = /auto|scroll/;\n const isScrollableX = lastTraversableNode || scrollRe.test(style.overflowX);\n const isScrollableY = lastTraversableNode || scrollRe.test(style.overflowY);\n const canScrollX = isScrollableX && target.clientWidth > 0 && target.scrollWidth > target.clientWidth;\n const canScrollY = isScrollableY && target.clientHeight > 0 && target.scrollHeight > target.clientHeight;\n const isRTL = style.direction === 'rtl';\n\n // Check click position relative to scrollbar.\n // In some browsers it is possible to change the <body> (or window)\n // scrollbar to the left side, but is very rare and is difficult to\n // check for. Plus, for modal dialogs with backdrops, it is more\n // important that the backdrop is checked but not so much the window.\n const pressedVerticalScrollbar = canScrollY && (isRTL ? event.offsetX <= target.offsetWidth - target.clientWidth : event.offsetX > target.clientWidth);\n const pressedHorizontalScrollbar = canScrollX && event.offsetY > target.clientHeight;\n if (pressedVerticalScrollbar || pressedHorizontalScrollbar) {\n return;\n }\n }\n if (isEventWithinFloatingTree(event)) {\n return;\n }\n\n // In intentional mode, a press that starts inside and ends outside gets\n // one suppressed outside click. Run this after inside-target checks so\n // inside clicks don't consume the one-shot suppression.\n if (getOutsidePressEvent() === 'intentional' && suppressNextOutsideClickRef.current) {\n preventedPressSuppressionTimeout.clear();\n suppressNextOutsideClickRef.current = false;\n return;\n }\n if (typeof outsidePress === 'function' && !outsidePress(event)) {\n return;\n }\n if (hasBlockingChild('__outsidePressBubbles')) {\n return;\n }\n store.setOpen(false, createChangeEventDetails(REASONS.outsidePress, event));\n clearInsideReactTree();\n }\n function handlePointerDown(event) {\n if (getOutsidePressEvent() !== 'sloppy' || event.pointerType === 'touch' || !store.select('open') || !enabled || isEventWithinOwnElements(event)) {\n return;\n }\n closeOnPressOutside(event);\n }\n function handleTouchStart(event) {\n if (getOutsidePressEvent() !== 'sloppy' || !store.select('open') || !enabled || isEventWithinOwnElements(event)) {\n return;\n }\n const touch = event.touches[0];\n if (touch) {\n touchStateRef.current = {\n startTime: Date.now(),\n startX: touch.clientX,\n startY: touch.clientY,\n dismissOnTouchEnd: false,\n dismissOnMouseDown: true\n };\n cancelDismissOnEndTimeout.start(1000, () => {\n if (touchStateRef.current) {\n touchStateRef.current.dismissOnTouchEnd = false;\n touchStateRef.current.dismissOnMouseDown = false;\n }\n });\n }\n }\n function addTargetEventListenerOnce(event, listener) {\n const target = getTarget(event);\n if (!target) {\n return;\n }\n const unsubscribe = addEventListener(target, event.type, () => {\n listener(event);\n unsubscribe();\n });\n }\n function handleTouchStartCapture(event) {\n currentPointerTypeRef.current = 'touch';\n addTargetEventListenerOnce(event, handleTouchStart);\n }\n function closeOnPressOutsideCapture(event) {\n cancelDismissOnEndTimeout.clear();\n if (event.type === 'pointerdown') {\n currentPointerTypeRef.current = event.pointerType;\n }\n if (event.type === 'mousedown' && touchStateRef.current && !touchStateRef.current.dismissOnMouseDown) {\n return;\n }\n addTargetEventListenerOnce(event, targetEvent => {\n if (targetEvent.type === 'pointerdown') {\n handlePointerDown(targetEvent);\n } else {\n closeOnPressOutside(targetEvent);\n }\n });\n }\n function handlePressEndCapture(event) {\n if (!pressStartedInsideRef.current) {\n return;\n }\n const pressStartedInsideDefaultPrevented = pressStartPreventedRef.current;\n resetPressStartState();\n if (getOutsidePressEvent() !== 'intentional') {\n return;\n }\n if (event.type === 'pointercancel') {\n if (pressStartedInsideDefaultPrevented) {\n suppressImmediateOutsideClickAfterPreventedStart();\n }\n return;\n }\n if (isEventWithinFloatingTree(event)) {\n return;\n }\n\n // If pointerdown was prevented, no click may be generated for that\n // interaction. However, Firefox may still emit an immediate click after\n // pointerup (e.g. NumberField scrub with pointer lock), so suppress for\n // one tick to absorb that synthetic click only.\n if (pressStartedInsideDefaultPrevented) {\n suppressImmediateOutsideClickAfterPreventedStart();\n return;\n }\n\n // Avoid suppressing when outsidePress explicitly ignores this target.\n if (typeof outsidePress === 'function' && !outsidePress(event)) {\n return;\n }\n preventedPressSuppressionTimeout.clear();\n suppressNextOutsideClickRef.current = true;\n clearInsideReactTree();\n }\n function handleTouchMove(event) {\n if (getOutsidePressEvent() !== 'sloppy' || !touchStateRef.current || isEventWithinOwnElements(event)) {\n return;\n }\n const touch = event.touches[0];\n if (!touch) {\n return;\n }\n const deltaX = Math.abs(touch.clientX - touchStateRef.current.startX);\n const deltaY = Math.abs(touch.clientY - touchStateRef.current.startY);\n const distance = Math.sqrt(deltaX * deltaX + deltaY * deltaY);\n if (distance > 5) {\n touchStateRef.current.dismissOnTouchEnd = true;\n }\n if (distance > 10) {\n closeOnPressOutside(event);\n cancelDismissOnEndTimeout.clear();\n touchStateRef.current = null;\n }\n }\n function handleTouchMoveCapture(event) {\n addTargetEventListenerOnce(event, handleTouchMove);\n }\n function handleTouchEnd(event) {\n if (getOutsidePressEvent() !== 'sloppy' || !touchStateRef.current || isEventWithinOwnElements(event)) {\n return;\n }\n if (touchStateRef.current.dismissOnTouchEnd) {\n closeOnPressOutside(event);\n }\n cancelDismissOnEndTimeout.clear();\n touchStateRef.current = null;\n }\n function handleTouchEndCapture(event) {\n addTargetEventListenerOnce(event, handleTouchEnd);\n }\n const doc = ownerDocument(floatingElement);\n const unsubscribe = mergeCleanups(escapeKey && mergeCleanups(addEventListener(doc, 'keydown', closeOnEscapeKeyDown), addEventListener(doc, 'compositionstart', handleCompositionStart), addEventListener(doc, 'compositionend', handleCompositionEnd)), outsidePressEnabled && mergeCleanups(addEventListener(doc, 'click', closeOnPressOutsideCapture, true), addEventListener(doc, 'pointerdown', closeOnPressOutsideCapture, true), addEventListener(doc, 'pointerup', handlePressEndCapture, true), addEventListener(doc, 'pointercancel', handlePressEndCapture, true), addEventListener(doc, 'mousedown', closeOnPressOutsideCapture, true), addEventListener(doc, 'mouseup', handlePressEndCapture, true), addEventListener(doc, 'touchstart', handleTouchStartCapture, true), addEventListener(doc, 'touchmove', handleTouchMoveCapture, true), addEventListener(doc, 'touchend', handleTouchEndCapture, true)));\n return () => {\n unsubscribe();\n compositionTimeout.clear();\n preventedPressSuppressionTimeout.clear();\n resetPressStartState();\n suppressNextOutsideClickRef.current = false;\n };\n }, [dataRef, floatingElement, escapeKey, outsidePressEnabled, outsidePress, open, enabled, escapeKeyBubbles, outsidePressBubbles, closeOnEscapeKeyDown, clearInsideReactTree, getOutsidePressEventProp, hasBlockingChild, isEventWithinOwnElements, tree, store, cancelDismissOnEndTimeout]);\n React.useEffect(clearInsideReactTree, [outsidePress, clearInsideReactTree]);\n const reference = React.useMemo(() => ({\n onKeyDown: closeOnEscapeKeyDown,\n onPointerDown: closeOnReferencePress,\n onClick: closeOnReferencePress\n }), [closeOnEscapeKeyDown, closeOnReferencePress]);\n const floating = React.useMemo(() => ({\n onKeyDown: closeOnEscapeKeyDown,\n // `onMouseDown` may be blocked if `event.preventDefault()` is called in\n // `onPointerDown`, such as with <NumberField.ScrubArea>.\n // See https://github.com/mui/base-ui/pull/3379\n onPointerDown: markInsidePressStartPrevented,\n onMouseDown: markInsidePressStartPrevented,\n onClickCapture: markInsideReactTree,\n onMouseDownCapture(event) {\n markInsideReactTree();\n markPressStartedInsideReactTree(event);\n },\n onPointerDownCapture(event) {\n markInsideReactTree();\n markPressStartedInsideReactTree(event);\n },\n onMouseUpCapture: markInsideReactTree,\n onTouchEndCapture: markInsideReactTree,\n onTouchMoveCapture: markInsideReactTree\n }), [closeOnEscapeKeyDown, markInsideReactTree, markPressStartedInsideReactTree, markInsidePressStartPrevented]);\n return React.useMemo(() => enabled ? {\n reference,\n floating,\n trigger: reference\n } : {}, [enabled, reference, floating]);\n}"],"names":["alwaysFalse","normalizeProp","normalizable","useDismiss","context","props","enabled","escapeKey","outsidePressProp","outsidePressEvent","referencePress","bubbles","externalTree","store","open","floatingElement","dataRef","tree","useFloatingTree","outsidePressFn","useStableCallback","outsidePress","outsidePressEnabled","getOutsidePressEventProp","escapeKeyBubbles","outsidePressBubbles","pressStartedInsideRef","React","pressStartPreventedRef","suppressNextOutsideClickRef","isComposingRef","currentPointerTypeRef","touchStateRef","cancelDismissOnEndTimeout","useTimeout","clearInsideReactTreeTimeout","clearInsideReactTree","hasBlockingChild","bubbleKey","nodeId","getNodeChildren","child","isEventWithinOwnElements","event","isEventTargetWithin","closeOnReferencePress","createChangeEventDetails","REASONS.triggerPress","closeOnEscapeKeyDown","native","isReactEvent","eventDetails","REASONS.escapeKey","markInsideReactTree","markPressStartedInsideReactTree","target","getTarget","contains","markInsidePressStartPrevented","compositionTimeout","Timeout","preventedPressSuppressionTimeout","handleCompositionStart","handleCompositionEnd","platform.engine.webkit","suppressImmediateOutsideClickAfterPreventedStart","resetPressStartState","getOutsidePressEvent","type","computedType","outsidePressEventValue","resolved","shouldIgnoreEvent","computedOutsidePressEvent","isEventWithinFloatingTree","targetIsInsideChildren","node","closeOnPressOutside","inertSelector","createAttribute","targetRoot","isElement","markers","isShadowRoot","ownerDocument","triggers","trigger","targetRootAncestor","isLastTraversableNode","nextParent","getParentNode","isRootElement","marker","isHTMLElement","lastTraversableNode","style","getComputedStyle","scrollRe","isScrollableX","isScrollableY","canScrollX","canScrollY","isRTL","pressedVerticalScrollbar","pressedHorizontalScrollbar","REASONS.outsidePress","handlePointerDown","handleTouchStart","touch","addTargetEventListenerOnce","listener","unsubscribe","addEventListener","handleTouchStartCapture","closeOnPressOutsideCapture","targetEvent","handlePressEndCapture","pressStartedInsideDefaultPrevented","handleTouchMove","deltaX","deltaY","distance","handleTouchMoveCapture","handleTouchEnd","handleTouchEndCapture","doc","mergeCleanups","reference","floating"],"mappings":"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","x_google_ignoreList":[0]}
package/dist/index303.js CHANGED
@@ -1,8 +1,256 @@
1
- import { lowerUserAgent as e } from "./index429.js";
2
- const o = typeof CSS < "u" && !!CSS.supports?.("-webkit-backdrop-filter:none");
3
- !o && e.includes("firefox");
4
- !o && e.includes("chrom");
1
+ import * as f from "react";
2
+ import { useAnimationFrame as Me } from "./index323.js";
3
+ import { useIsoLayoutEffect as T } from "./index273.js";
4
+ import { ownerDocument as be } from "./index306.js";
5
+ import { useStableCallback as S } from "./index264.js";
6
+ import { useValueAsRef as k } from "./index288.js";
7
+ import { isHTMLElement as Pe } from "./index270.js";
8
+ import { createChangeEventDetails as ce } from "./index153.js";
9
+ import { useFloatingParentNodeId as ze, useFloatingTree as We } from "./index373.js";
10
+ import { isIndexOutOfListBounds as Fe, getMinListIndex as ie, getMaxListIndex as ve, findNonDisabledListIndex as G } from "./index369.js";
11
+ import { ARROW_LEFT as B, ARROW_RIGHT as Q, ARROW_UP as Se, ARROW_DOWN as le } from "./index379.js";
12
+ import { getFloatingFocusElement as _e, isTypeableCombobox as qe } from "./index312.js";
13
+ import { enqueueFocus as He } from "./index371.js";
14
+ import { stopEvent as P, isVirtualClick as Ge, isVirtualPointerEvent as $e } from "./index334.js";
15
+ import { activeElement as ue, contains as se, getTarget as Be } from "./index313.js";
16
+ import { listNavigation as Te, focusOut as Qe } from "./index155.js";
17
+ const Ue = "Escape";
18
+ function U(c, d, n) {
19
+ switch (c) {
20
+ case "vertical":
21
+ return d;
22
+ case "horizontal":
23
+ return n;
24
+ default:
25
+ return d || n;
26
+ }
27
+ }
28
+ function $(c, d) {
29
+ return U(d, c === Se || c === le, c === B || c === Q);
30
+ }
31
+ function ae(c, d, n) {
32
+ return U(d, c === le, n ? c === B : c === Q) || c === "Enter" || c === " " || c === "";
33
+ }
34
+ function je(c, d, n) {
35
+ return U(d, n ? c === B : c === Q, c === le);
36
+ }
37
+ function Je(c, d, n, p) {
38
+ const K = n ? c === Q : c === B, R = c === Se;
39
+ return d === "both" || d === "horizontal" && p ? c === Ue : U(d, K, R);
40
+ }
41
+ function dr(c, d) {
42
+ const {
43
+ listRef: n,
44
+ activeIndex: p,
45
+ onNavigate: K = () => {
46
+ },
47
+ enabled: R = !0,
48
+ selectedIndex: L = null,
49
+ allowEscape: j = !1,
50
+ loopFocus: V = !1,
51
+ nested: w = !1,
52
+ rtl: O = !1,
53
+ virtual: s = !1,
54
+ focusItemOnOpen: y = "auto",
55
+ focusItemOnHover: J = !0,
56
+ openOnArrowKeyDown: X = !0,
57
+ disabledIndices: x = void 0,
58
+ orientation: a = "vertical",
59
+ parentOrientation: Ke,
60
+ id: fe,
61
+ resetOnPointerLeave: Le = !0,
62
+ externalTree: Ce,
63
+ grid: Y
64
+ } = d, de = Y != null;
65
+ process.env.NODE_ENV !== "production" && (j && (V || console.warn("`useListNavigation` looping must be enabled to allow escaping."), s || console.warn("`useListNavigation` must be virtual to allow escaping.")), a === "vertical" && de && console.warn("In grid list navigation mode, the `orientation` should", 'be either "horizontal" or "both".'));
66
+ const g = "rootStore" in c ? c.rootStore : c, m = g.useState("open"), E = g.useState("floatingElement"), I = g.useState("domReferenceElement"), me = g.context.dataRef, De = _e(E), Z = qe(I), C = k(De), ee = ze(), F = We(Ce), M = f.useRef(y), o = f.useRef(L ?? -1), b = f.useRef(null), v = f.useRef(!0), u = S((e) => {
67
+ K(o.current === -1 ? null : o.current, e);
68
+ }), D = f.useRef(!!E), pe = f.useRef(m), h = f.useRef(!1), z = f.useRef(!1), re = f.useRef(null), Ne = k(x), W = k(m), N = k(L), ge = k(Le), Ae = Me(), Re = Me(), te = S(() => {
69
+ function e(i) {
70
+ s ? F?.events.emit("virtualfocus", i) : re.current = He(i, {
71
+ sync: h.current,
72
+ preventScroll: !0
73
+ });
74
+ }
75
+ const r = n.current[o.current], l = z.current;
76
+ r && e(r), (h.current ? (i) => i() : (i) => Ae.request(i))(() => {
77
+ const i = n.current[o.current] || r;
78
+ if (!i)
79
+ return;
80
+ r || e(i), // eslint-disable-next-line @typescript-eslint/no-use-before-define
81
+ oe && (l || !v.current) && i.scrollIntoView?.({
82
+ block: "nearest",
83
+ inline: "nearest"
84
+ });
85
+ });
86
+ });
87
+ T(() => {
88
+ me.current.orientation = a;
89
+ }, [me, a]), T(() => {
90
+ R && (m && E ? (o.current = L ?? -1, M.current && L != null && (z.current = !0, u())) : D.current && (o.current = -1, u()));
91
+ }, [R, m, E, L, u]), T(() => {
92
+ if (R) {
93
+ if (!m) {
94
+ h.current = !1;
95
+ return;
96
+ }
97
+ if (E)
98
+ if (p == null) {
99
+ if (h.current = !1, N.current != null)
100
+ return;
101
+ if (D.current && (o.current = -1, te()), (!pe.current || !D.current) && M.current && (b.current != null || M.current === !0 && b.current == null)) {
102
+ let e = 0;
103
+ const r = () => {
104
+ n.current[0] == null ? (e < 2 && (e ? (t) => Re.request(t) : queueMicrotask)(r), e += 1) : (o.current = b.current == null || ae(b.current, a, O) || w ? ie(n) : ve(n), b.current = null, u());
105
+ };
106
+ r();
107
+ }
108
+ } else Fe(n.current, p) || (o.current = p, te(), z.current = !1);
109
+ }
110
+ }, [R, m, E, p, N, w, n, a, O, u, te, Re]), T(() => {
111
+ if (!R || E || !F || s || !D.current)
112
+ return;
113
+ const e = F.nodesRef.current, r = e.find((i) => i.id === ee)?.context?.elements.floating, l = ue(be(I ?? r ?? null)), t = e.some((i) => i.context && se(i.context.elements.floating, l));
114
+ r && !t && v.current && r.focus({
115
+ preventScroll: !0
116
+ });
117
+ }, [R, E, I, F, ee, s]), T(() => {
118
+ pe.current = m, D.current = !!E;
119
+ }), T(() => {
120
+ m || (b.current = null, M.current = y);
121
+ }, [m, y]);
122
+ const he = p != null, ne = S((e) => {
123
+ if (!W.current)
124
+ return;
125
+ const r = n.current.indexOf(e.currentTarget);
126
+ r !== -1 && (o.current !== r || p !== r) && (o.current = r, u(e));
127
+ }), _ = S(() => Ke ?? F?.nodesRef.current.find((e) => e.id === ee)?.context?.dataRef?.current.orientation), Ee = S(() => ie(n, Ne.current)), A = S((e) => {
128
+ if (v.current = !1, h.current = !0, e.which === 229 || !W.current && e.currentTarget === C.current)
129
+ return;
130
+ if (w && Je(e.key, a, O, de)) {
131
+ $(e.key, _()) || P(e), g.setOpen(!1, ce(Te, e.nativeEvent)), Pe(I) && (s ? F?.events.emit("virtualfocus", I) : I.focus());
132
+ return;
133
+ }
134
+ const r = o.current, l = ie(n, x), t = ve(n, x);
135
+ if (Z || (e.key === "Home" && (P(e), o.current = l, u(e)), e.key === "End" && (P(e), o.current = t, u(e))), Y != null) {
136
+ const i = Y(e, o.current, n, a, V, O, x, l, t);
137
+ if (i != null && (o.current = i, u(e)), a === "both")
138
+ return;
139
+ }
140
+ if ($(e.key, a)) {
141
+ if (P(e), m && !s && ue(e.currentTarget.ownerDocument) === e.currentTarget) {
142
+ o.current = ae(e.key, a, O) ? l : t, u(e);
143
+ return;
144
+ }
145
+ ae(e.key, a, O) ? V ? r >= t ? j && r !== n.current.length ? o.current = -1 : (h.current = !1, o.current = l) : o.current = G(n.current, {
146
+ startingIndex: r,
147
+ disabledIndices: x
148
+ }) : o.current = Math.min(t, G(n.current, {
149
+ startingIndex: r,
150
+ disabledIndices: x
151
+ })) : V ? r <= l ? j && r !== -1 ? o.current = n.current.length : (h.current = !1, o.current = t) : o.current = G(n.current, {
152
+ startingIndex: r,
153
+ decrement: !0,
154
+ disabledIndices: x
155
+ }) : o.current = Math.max(l, G(n.current, {
156
+ startingIndex: r,
157
+ decrement: !0,
158
+ disabledIndices: x
159
+ })), Fe(n.current, o.current) && (o.current = -1), u(e);
160
+ }
161
+ }), oe = f.useMemo(() => ({
162
+ onFocus(r) {
163
+ h.current = !0, ne(r);
164
+ },
165
+ onClick: ({
166
+ currentTarget: r
167
+ }) => r.focus({
168
+ preventScroll: !0
169
+ }),
170
+ // Safari
171
+ onMouseMove(r) {
172
+ h.current = !0, z.current = !1, J && ne(r);
173
+ },
174
+ onPointerLeave(r) {
175
+ if (!W.current || !v.current || r.pointerType === "touch")
176
+ return;
177
+ h.current = !0;
178
+ const l = r.relatedTarget;
179
+ if (!(!J || n.current.includes(l)) && ge.current && (re.current?.(), re.current = null, o.current = -1, u(r), !s)) {
180
+ const t = C.current, i = ue(be(t));
181
+ t && se(t, i) && t.focus({
182
+ preventScroll: !0
183
+ });
184
+ }
185
+ }
186
+ }), [ne, W, C, J, n, u, ge, s]), q = f.useMemo(() => s && m && he && {
187
+ "aria-activedescendant": `${fe}-${p}`
188
+ }, [s, m, he, fe, p]), Ie = f.useMemo(() => ({
189
+ "aria-orientation": a === "both" ? void 0 : a,
190
+ ...Z ? {} : q,
191
+ onKeyDown(e) {
192
+ if (e.key === "Tab" && e.shiftKey && m && !s) {
193
+ const r = Be(e.nativeEvent);
194
+ if (r && !se(C.current, r))
195
+ return;
196
+ P(e), g.setOpen(!1, ce(Qe, e.nativeEvent)), Pe(I) && I.focus();
197
+ return;
198
+ }
199
+ A(e);
200
+ },
201
+ onPointerMove() {
202
+ v.current = !0;
203
+ }
204
+ }), [q, A, C, a, Z, g, m, s, I]), H = f.useMemo(() => {
205
+ function e(t) {
206
+ g.setOpen(!0, ce(Te, t.nativeEvent, t.currentTarget));
207
+ }
208
+ function r(t) {
209
+ y === "auto" && Ge(t.nativeEvent) && (M.current = !s);
210
+ }
211
+ function l(t) {
212
+ M.current = y, y === "auto" && $e(t.nativeEvent) && (M.current = !0);
213
+ }
214
+ return {
215
+ onKeyDown(t) {
216
+ const i = g.select("open");
217
+ v.current = !1;
218
+ const xe = t.key.startsWith("Arrow"), we = je(t.key, _(), O), ye = $(t.key, a), ke = (w ? we : ye) || t.key === "Enter" || t.key.trim() === "";
219
+ if (s && i)
220
+ return A(t);
221
+ if (!(!i && !X && xe)) {
222
+ if (ke) {
223
+ const Ve = $(t.key, _());
224
+ b.current = w && Ve ? null : t.key;
225
+ }
226
+ if (w) {
227
+ we && (P(t), i ? (o.current = Ee(), u(t)) : e(t));
228
+ return;
229
+ }
230
+ ye && (N.current != null && (o.current = N.current), P(t), !i && X ? e(t) : A(t), i && u(t));
231
+ }
232
+ },
233
+ onFocus(t) {
234
+ g.select("open") && !s && (o.current = -1, u(t));
235
+ },
236
+ onPointerDown: l,
237
+ onPointerEnter: l,
238
+ onMouseDown: r,
239
+ onClick: r
240
+ };
241
+ }, [A, y, Ee, w, u, g, X, a, _, O, N, s]), Oe = f.useMemo(() => ({
242
+ ...q,
243
+ ...H
244
+ }), [q, H]);
245
+ return f.useMemo(() => R ? {
246
+ reference: Oe,
247
+ floating: Ie,
248
+ item: oe,
249
+ trigger: H
250
+ } : {}, [R, Oe, Ie, H, oe]);
251
+ }
5
252
  export {
6
- o as webkit
253
+ Ue as ESCAPE,
254
+ dr as useListNavigation
7
255
  };
8
256
  //# sourceMappingURL=index303.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index303.js","sources":["../../../node_modules/@base-ui/utils/platform/engine.mjs"],"sourcesContent":["import { lowerUserAgent } from \"./shared.mjs\";\n\n// WebKit (Safari, all iOS browsers, GNOME Web). Distinguished from Blink by\n// the legacy `-webkit-backdrop-filter` name — Blink forked from WebKit in 2013\n// and only ships the unprefixed `backdrop-filter`.\n/** WebKit: Safari, all iOS browsers, GNOME Web. Excludes Blink. */\nexport const webkit = typeof CSS !== 'undefined' && !!CSS.supports?.('-webkit-backdrop-filter:none');\n\n// Anchored to `!webkit` so engines are mutually exclusive by construction.\n// Firefox-on-iOS uses WebKit (its UA marker is `FxiOS/`, not `Firefox/`); the\n// `!webkit` prefix also defends against future iOS-browser UA changes that\n// might inject `Firefox` into a WebKit-based UA.\n/** Gecko: Firefox. */\nexport const gecko = !webkit && lowerUserAgent.includes('firefox');\n\n// All Chromium-based browsers ship `Chrome/` or `Chromium/` in their UA — both\n// share the `chrom` prefix, so a single substring check covers Chrome, Edge,\n// Opera, Brave, etc. Chrome-on-iOS uses `CriOS/` and stays WebKit. The positive\n// UA check also makes this SSR-safe — an empty UA matches nothing.\n/** Blink: Chrome, Edge, Opera, Brave, and other Chromium-based browsers. */\nexport const blink = !webkit && lowerUserAgent.includes('chrom');"],"names":["webkit","lowerUserAgent"],"mappings":";AAMY,MAACA,IAAS,OAAO,MAAQ,OAAe,CAAC,CAAC,IAAI,WAAW,8BAA8B;AAO9E,CAACA,KAAUC,EAAe,SAAS,SAAS;AAO5C,CAACD,KAAUC,EAAe,SAAS,OAAO;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index303.js","sources":["../../../node_modules/@base-ui/react/floating-ui-react/hooks/useListNavigation.mjs"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { useAnimationFrame } from '@base-ui/utils/useAnimationFrame';\nimport { useIsoLayoutEffect } from '@base-ui/utils/useIsoLayoutEffect';\nimport { ownerDocument } from '@base-ui/utils/owner';\nimport { useStableCallback } from '@base-ui/utils/useStableCallback';\nimport { useValueAsRef } from '@base-ui/utils/useValueAsRef';\nimport { isHTMLElement } from '@floating-ui/utils/dom';\nimport { createChangeEventDetails } from \"../../internals/createBaseUIEventDetails.mjs\";\nimport { REASONS } from \"../../internals/reasons.mjs\";\nimport { useFloatingParentNodeId, useFloatingTree } from \"../components/FloatingTree.mjs\";\nimport { findNonDisabledListIndex, getMaxListIndex, getMinListIndex, isIndexOutOfListBounds } from \"../utils/composite.mjs\";\nimport { ARROW_DOWN, ARROW_LEFT, ARROW_RIGHT, ARROW_UP } from \"../utils/constants.mjs\";\nimport { activeElement, contains, getFloatingFocusElement, getTarget, isTypeableCombobox } from \"../utils/element.mjs\";\nimport { enqueueFocus } from \"../utils/enqueueFocus.mjs\";\nimport { isVirtualClick, isVirtualPointerEvent, stopEvent } from \"../utils/event.mjs\";\nexport const ESCAPE = 'Escape';\nfunction doSwitch(orientation, vertical, horizontal) {\n switch (orientation) {\n case 'vertical':\n return vertical;\n case 'horizontal':\n return horizontal;\n default:\n return vertical || horizontal;\n }\n}\nfunction isMainOrientationKey(key, orientation) {\n const vertical = key === ARROW_UP || key === ARROW_DOWN;\n const horizontal = key === ARROW_LEFT || key === ARROW_RIGHT;\n return doSwitch(orientation, vertical, horizontal);\n}\nfunction isMainOrientationToEndKey(key, orientation, rtl) {\n const vertical = key === ARROW_DOWN;\n const horizontal = rtl ? key === ARROW_LEFT : key === ARROW_RIGHT;\n return doSwitch(orientation, vertical, horizontal) || key === 'Enter' || key === ' ' || key === '';\n}\nfunction isCrossOrientationOpenKey(key, orientation, rtl) {\n const vertical = rtl ? key === ARROW_LEFT : key === ARROW_RIGHT;\n const horizontal = key === ARROW_DOWN;\n return doSwitch(orientation, vertical, horizontal);\n}\nfunction isCrossOrientationCloseKey(key, orientation, rtl, grid) {\n const vertical = rtl ? key === ARROW_RIGHT : key === ARROW_LEFT;\n const horizontal = key === ARROW_UP;\n if (orientation === 'both' || orientation === 'horizontal' && grid) {\n return key === ESCAPE;\n }\n return doSwitch(orientation, vertical, horizontal);\n}\n/**\n * Adds arrow key-based navigation of a list of items, either using real DOM\n * focus or virtual focus.\n * @see https://floating-ui.com/docs/useListNavigation\n */\nexport function useListNavigation(context, props) {\n const {\n listRef,\n activeIndex,\n onNavigate: onNavigateProp = () => {},\n enabled = true,\n selectedIndex = null,\n allowEscape = false,\n loopFocus = false,\n nested = false,\n rtl = false,\n virtual = false,\n focusItemOnOpen = 'auto',\n focusItemOnHover = true,\n openOnArrowKeyDown = true,\n disabledIndices = undefined,\n orientation = 'vertical',\n parentOrientation,\n id,\n resetOnPointerLeave = true,\n externalTree,\n grid: navigateGrid\n } = props;\n const isGrid = navigateGrid != null;\n if (process.env.NODE_ENV !== 'production') {\n if (allowEscape) {\n if (!loopFocus) {\n console.warn('`useListNavigation` looping must be enabled to allow escaping.');\n }\n if (!virtual) {\n console.warn('`useListNavigation` must be virtual to allow escaping.');\n }\n }\n if (orientation === 'vertical' && isGrid) {\n console.warn('In grid list navigation mode, the `orientation` should', 'be either \"horizontal\" or \"both\".');\n }\n }\n const store = 'rootStore' in context ? context.rootStore : context;\n const open = store.useState('open');\n const floatingElement = store.useState('floatingElement');\n const domReferenceElement = store.useState('domReferenceElement');\n const dataRef = store.context.dataRef;\n const floatingFocusElement = getFloatingFocusElement(floatingElement);\n const typeableComboboxReference = isTypeableCombobox(domReferenceElement);\n const floatingFocusElementRef = useValueAsRef(floatingFocusElement);\n const parentId = useFloatingParentNodeId();\n const tree = useFloatingTree(externalTree);\n const focusItemOnOpenRef = React.useRef(focusItemOnOpen);\n const indexRef = React.useRef(selectedIndex ?? -1);\n const keyRef = React.useRef(null);\n const isPointerModalityRef = React.useRef(true);\n const onNavigate = useStableCallback(event => {\n onNavigateProp(indexRef.current === -1 ? null : indexRef.current, event);\n });\n const previousMountedRef = React.useRef(!!floatingElement);\n const previousOpenRef = React.useRef(open);\n const forceSyncFocusRef = React.useRef(false);\n const forceScrollIntoViewRef = React.useRef(false);\n const cancelQueuedFocusRef = React.useRef(null);\n const disabledIndicesRef = useValueAsRef(disabledIndices);\n const latestOpenRef = useValueAsRef(open);\n const selectedIndexRef = useValueAsRef(selectedIndex);\n const resetOnPointerLeaveRef = useValueAsRef(resetOnPointerLeave);\n const focusFrame = useAnimationFrame();\n const waitForListPopulatedFrame = useAnimationFrame();\n const focusItem = useStableCallback(() => {\n function runFocus(item) {\n if (virtual) {\n tree?.events.emit('virtualfocus', item);\n } else {\n cancelQueuedFocusRef.current = enqueueFocus(item, {\n sync: forceSyncFocusRef.current,\n preventScroll: true\n });\n }\n }\n const initialItem = listRef.current[indexRef.current];\n const forceScrollIntoView = forceScrollIntoViewRef.current;\n if (initialItem) {\n runFocus(initialItem);\n }\n const scheduler = forceSyncFocusRef.current ? callback => callback() : callback => focusFrame.request(callback);\n scheduler(() => {\n const waitedItem = listRef.current[indexRef.current] || initialItem;\n if (!waitedItem) {\n return;\n }\n if (!initialItem) {\n runFocus(waitedItem);\n }\n const shouldScrollIntoView =\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n item && (forceScrollIntoView || !isPointerModalityRef.current);\n if (shouldScrollIntoView) {\n // JSDOM doesn't support `.scrollIntoView()` but it's widely supported\n // by all browsers.\n waitedItem.scrollIntoView?.({\n block: 'nearest',\n inline: 'nearest'\n });\n }\n });\n });\n useIsoLayoutEffect(() => {\n dataRef.current.orientation = orientation;\n }, [dataRef, orientation]);\n\n // Sync `selectedIndex` to be the `activeIndex` upon opening the floating\n // element. Also, reset `activeIndex` upon closing the floating element.\n useIsoLayoutEffect(() => {\n if (!enabled) {\n return;\n }\n if (open && floatingElement) {\n indexRef.current = selectedIndex ?? -1;\n if (focusItemOnOpenRef.current && selectedIndex != null) {\n // Regardless of the pointer modality, we want to ensure the selected\n // item comes into view when the floating element is opened.\n forceScrollIntoViewRef.current = true;\n onNavigate();\n }\n } else if (previousMountedRef.current) {\n // Reset the active index when the list is no longer open and mounted (closing or\n // unmounting). `onNavigate` is a stable callback that always forwards to the latest\n // `onNavigate` prop.\n indexRef.current = -1;\n onNavigate();\n }\n }, [enabled, open, floatingElement, selectedIndex, onNavigate]);\n\n // Sync `activeIndex` to be the focused item while the floating element is\n // open.\n useIsoLayoutEffect(() => {\n if (!enabled) {\n return;\n }\n if (!open) {\n forceSyncFocusRef.current = false;\n return;\n }\n if (!floatingElement) {\n return;\n }\n if (activeIndex == null) {\n forceSyncFocusRef.current = false;\n if (selectedIndexRef.current != null) {\n return;\n }\n\n // Reset while the floating element was open (e.g. the list changed).\n if (previousMountedRef.current) {\n indexRef.current = -1;\n focusItem();\n }\n\n // Initial sync.\n if ((!previousOpenRef.current || !previousMountedRef.current) && focusItemOnOpenRef.current && (keyRef.current != null || focusItemOnOpenRef.current === true && keyRef.current == null)) {\n let runs = 0;\n const waitForListPopulated = () => {\n if (listRef.current[0] == null) {\n // Avoid letting the browser paint if possible on the first try,\n // otherwise use rAF. Don't try more than twice, since something\n // is wrong otherwise.\n if (runs < 2) {\n const scheduler = runs ? callback => waitForListPopulatedFrame.request(callback) : queueMicrotask;\n scheduler(waitForListPopulated);\n }\n runs += 1;\n } else {\n // Initially focus the first non-disabled item. `disabledIndices` is deliberately\n // omitted here so attribute-disabled items (`disabled`/`aria-disabled`) are skipped\n // on open even when the consumer passes an empty `disabledIndices` array. Passing it\n // would regress that behavior (see mui/base-ui#2604).\n indexRef.current = keyRef.current == null || isMainOrientationToEndKey(keyRef.current, orientation, rtl) || nested ? getMinListIndex(listRef) : getMaxListIndex(listRef);\n keyRef.current = null;\n onNavigate();\n }\n };\n waitForListPopulated();\n }\n } else if (!isIndexOutOfListBounds(listRef.current, activeIndex)) {\n indexRef.current = activeIndex;\n focusItem();\n forceScrollIntoViewRef.current = false;\n }\n }, [enabled, open, floatingElement, activeIndex, selectedIndexRef, nested, listRef, orientation, rtl, onNavigate, focusItem, waitForListPopulatedFrame]);\n\n // Ensure the parent floating element has focus when a nested child closes\n // to allow arrow key navigation to work after the pointer leaves the child.\n useIsoLayoutEffect(() => {\n if (!enabled || floatingElement || !tree || virtual || !previousMountedRef.current) {\n return;\n }\n const nodes = tree.nodesRef.current;\n const parent = nodes.find(node => node.id === parentId)?.context?.elements.floating;\n // `floatingElement` is null here (see the guard above), so resolve the owner document from an\n // in-DOM element for realm-safety (shadow DOM/iframes): the reference element, falling back to\n // the parent floating element when the reference is virtual (`domReferenceElement` is null).\n const activeEl = activeElement(ownerDocument(domReferenceElement ?? parent ?? null));\n const treeContainsActiveEl = nodes.some(node => node.context && contains(node.context.elements.floating, activeEl));\n if (parent && !treeContainsActiveEl && isPointerModalityRef.current) {\n parent.focus({\n preventScroll: true\n });\n }\n }, [enabled, floatingElement, domReferenceElement, tree, parentId, virtual]);\n useIsoLayoutEffect(() => {\n previousOpenRef.current = open;\n previousMountedRef.current = !!floatingElement;\n });\n useIsoLayoutEffect(() => {\n if (!open) {\n keyRef.current = null;\n focusItemOnOpenRef.current = focusItemOnOpen;\n }\n }, [open, focusItemOnOpen]);\n const hasActiveIndex = activeIndex != null;\n const syncCurrentTarget = useStableCallback(event => {\n if (!latestOpenRef.current) {\n return;\n }\n const index = listRef.current.indexOf(event.currentTarget);\n if (index !== -1 && (indexRef.current !== index || activeIndex !== index)) {\n indexRef.current = index;\n onNavigate(event);\n }\n });\n const getParentOrientation = useStableCallback(() => {\n return parentOrientation ?? tree?.nodesRef.current.find(node => node.id === parentId)?.context?.dataRef?.current.orientation;\n });\n const getMinEnabledIndex = useStableCallback(() => {\n return getMinListIndex(listRef, disabledIndicesRef.current);\n });\n const commonOnKeyDown = useStableCallback(event => {\n isPointerModalityRef.current = false;\n forceSyncFocusRef.current = true;\n\n // When composing a character, Chrome fires ArrowDown twice. Firefox/Safari\n // don't appear to suffer from this. `event.isComposing` is avoided due to\n // Safari not supporting it properly (although it's not needed in the first\n // place for Safari, just avoiding any possible issues).\n if (event.which === 229) {\n return;\n }\n\n // If the floating element is animating out, ignore navigation. Otherwise,\n // the `activeIndex` gets set to 0 despite not being open so the next time\n // the user ArrowDowns, the first item won't be focused.\n if (!latestOpenRef.current && event.currentTarget === floatingFocusElementRef.current) {\n return;\n }\n if (nested && isCrossOrientationCloseKey(event.key, orientation, rtl, isGrid)) {\n // If the nested list's close key is also the parent navigation key,\n // let the parent navigate. Otherwise, stop propagating the event.\n if (!isMainOrientationKey(event.key, getParentOrientation())) {\n stopEvent(event);\n }\n store.setOpen(false, createChangeEventDetails(REASONS.listNavigation, event.nativeEvent));\n if (isHTMLElement(domReferenceElement)) {\n if (virtual) {\n tree?.events.emit('virtualfocus', domReferenceElement);\n } else {\n domReferenceElement.focus();\n }\n }\n return;\n }\n const currentIndex = indexRef.current;\n const minIndex = getMinListIndex(listRef, disabledIndices);\n const maxIndex = getMaxListIndex(listRef, disabledIndices);\n if (!typeableComboboxReference) {\n if (event.key === 'Home') {\n stopEvent(event);\n indexRef.current = minIndex;\n onNavigate(event);\n }\n if (event.key === 'End') {\n stopEvent(event);\n indexRef.current = maxIndex;\n onNavigate(event);\n }\n }\n\n // Grid navigation is injected by grid-capable consumers so non-grid\n // consumers (menu, select) tree-shake the grid helpers out.\n if (navigateGrid != null) {\n const index = navigateGrid(event, indexRef.current, listRef, orientation, loopFocus, rtl, disabledIndices, minIndex, maxIndex);\n if (index != null) {\n indexRef.current = index;\n onNavigate(event);\n }\n if (orientation === 'both') {\n return;\n }\n }\n if (isMainOrientationKey(event.key, orientation)) {\n stopEvent(event);\n\n // Reset the index if no item is focused.\n if (open && !virtual && activeElement(event.currentTarget.ownerDocument) === event.currentTarget) {\n indexRef.current = isMainOrientationToEndKey(event.key, orientation, rtl) ? minIndex : maxIndex;\n onNavigate(event);\n return;\n }\n if (isMainOrientationToEndKey(event.key, orientation, rtl)) {\n if (loopFocus) {\n if (currentIndex >= maxIndex) {\n if (allowEscape && currentIndex !== listRef.current.length) {\n indexRef.current = -1;\n } else {\n // Give time for virtualizers to update the listRef.\n forceSyncFocusRef.current = false;\n indexRef.current = minIndex;\n }\n } else {\n indexRef.current = findNonDisabledListIndex(listRef.current, {\n startingIndex: currentIndex,\n disabledIndices\n });\n }\n } else {\n indexRef.current = Math.min(maxIndex, findNonDisabledListIndex(listRef.current, {\n startingIndex: currentIndex,\n disabledIndices\n }));\n }\n } else if (loopFocus) {\n if (currentIndex <= minIndex) {\n if (allowEscape && currentIndex !== -1) {\n indexRef.current = listRef.current.length;\n } else {\n // Give time for virtualizers to update the listRef.\n forceSyncFocusRef.current = false;\n indexRef.current = maxIndex;\n }\n } else {\n indexRef.current = findNonDisabledListIndex(listRef.current, {\n startingIndex: currentIndex,\n decrement: true,\n disabledIndices\n });\n }\n } else {\n indexRef.current = Math.max(minIndex, findNonDisabledListIndex(listRef.current, {\n startingIndex: currentIndex,\n decrement: true,\n disabledIndices\n }));\n }\n if (isIndexOutOfListBounds(listRef.current, indexRef.current)) {\n indexRef.current = -1;\n }\n onNavigate(event);\n }\n });\n const item = React.useMemo(() => {\n const itemProps = {\n onFocus(event) {\n forceSyncFocusRef.current = true;\n syncCurrentTarget(event);\n },\n onClick: ({\n currentTarget\n }) => currentTarget.focus({\n preventScroll: true\n }),\n // Safari\n onMouseMove(event) {\n forceSyncFocusRef.current = true;\n forceScrollIntoViewRef.current = false;\n if (focusItemOnHover) {\n syncCurrentTarget(event);\n }\n },\n onPointerLeave(event) {\n if (!latestOpenRef.current || !isPointerModalityRef.current || event.pointerType === 'touch') {\n return;\n }\n forceSyncFocusRef.current = true;\n const relatedTarget = event.relatedTarget;\n if (!focusItemOnHover || listRef.current.includes(relatedTarget)) {\n return;\n }\n if (!resetOnPointerLeaveRef.current) {\n return;\n }\n cancelQueuedFocusRef.current?.();\n cancelQueuedFocusRef.current = null;\n indexRef.current = -1;\n onNavigate(event);\n if (!virtual) {\n const floatingFocusEl = floatingFocusElementRef.current;\n const activeEl = activeElement(ownerDocument(floatingFocusEl));\n if (floatingFocusEl && contains(floatingFocusEl, activeEl)) {\n floatingFocusEl.focus({\n preventScroll: true\n });\n }\n }\n }\n };\n return itemProps;\n }, [syncCurrentTarget, latestOpenRef, floatingFocusElementRef, focusItemOnHover, listRef, onNavigate, resetOnPointerLeaveRef, virtual]);\n const ariaActiveDescendantProp = React.useMemo(() => {\n return virtual && open && hasActiveIndex && {\n 'aria-activedescendant': `${id}-${activeIndex}`\n };\n }, [virtual, open, hasActiveIndex, id, activeIndex]);\n const floating = React.useMemo(() => {\n return {\n 'aria-orientation': orientation === 'both' ? undefined : orientation,\n ...(!typeableComboboxReference ? ariaActiveDescendantProp : {}),\n onKeyDown(event) {\n // Close submenu on Shift+Tab\n if (event.key === 'Tab' && event.shiftKey && open && !virtual) {\n // If the event originated from within a nested element (e.g., a Dialog opened from\n // within the menu), don't close the menu. The nested element has its own focus\n // management and should handle the Tab key.\n const target = getTarget(event.nativeEvent);\n if (target && !contains(floatingFocusElementRef.current, target)) {\n return;\n }\n stopEvent(event);\n store.setOpen(false, createChangeEventDetails(REASONS.focusOut, event.nativeEvent));\n if (isHTMLElement(domReferenceElement)) {\n domReferenceElement.focus();\n }\n return;\n }\n commonOnKeyDown(event);\n },\n onPointerMove() {\n isPointerModalityRef.current = true;\n }\n };\n }, [ariaActiveDescendantProp, commonOnKeyDown, floatingFocusElementRef, orientation, typeableComboboxReference, store, open, virtual, domReferenceElement]);\n const trigger = React.useMemo(() => {\n function openOnNavigationKeyDown(event) {\n store.setOpen(true, createChangeEventDetails(REASONS.listNavigation, event.nativeEvent, event.currentTarget));\n }\n function checkVirtualMouse(event) {\n if (focusItemOnOpen === 'auto' && isVirtualClick(event.nativeEvent)) {\n focusItemOnOpenRef.current = !virtual;\n }\n }\n function checkVirtualPointer(event) {\n // `pointerdown` fires first, reset the state then perform the checks.\n focusItemOnOpenRef.current = focusItemOnOpen;\n if (focusItemOnOpen === 'auto' && isVirtualPointerEvent(event.nativeEvent)) {\n focusItemOnOpenRef.current = true;\n }\n }\n return {\n onKeyDown(event) {\n // non-reactive open state (to prevent re-creation of the handler)\n const currentOpen = store.select('open');\n isPointerModalityRef.current = false;\n const isArrowKey = event.key.startsWith('Arrow');\n const isParentCrossOpenKey = isCrossOrientationOpenKey(event.key, getParentOrientation(), rtl);\n const isMainKey = isMainOrientationKey(event.key, orientation);\n const isNavigationKey = (nested ? isParentCrossOpenKey : isMainKey) || event.key === 'Enter' || event.key.trim() === '';\n if (virtual && currentOpen) {\n return commonOnKeyDown(event);\n }\n\n // If a floating element should not open on arrow key down, avoid\n // setting `activeIndex` while it's closed.\n if (!currentOpen && !openOnArrowKeyDown && isArrowKey) {\n return undefined;\n }\n if (isNavigationKey) {\n const isParentMainKey = isMainOrientationKey(event.key, getParentOrientation());\n keyRef.current = nested && isParentMainKey ? null : event.key;\n }\n if (nested) {\n if (isParentCrossOpenKey) {\n stopEvent(event);\n if (currentOpen) {\n indexRef.current = getMinEnabledIndex();\n onNavigate(event);\n } else {\n openOnNavigationKeyDown(event);\n }\n }\n return undefined;\n }\n if (isMainKey) {\n if (selectedIndexRef.current != null) {\n indexRef.current = selectedIndexRef.current;\n }\n stopEvent(event);\n if (!currentOpen && openOnArrowKeyDown) {\n openOnNavigationKeyDown(event);\n } else {\n commonOnKeyDown(event);\n }\n if (currentOpen) {\n onNavigate(event);\n }\n }\n return undefined;\n },\n onFocus(event) {\n if (store.select('open') && !virtual) {\n indexRef.current = -1;\n onNavigate(event);\n }\n },\n onPointerDown: checkVirtualPointer,\n onPointerEnter: checkVirtualPointer,\n onMouseDown: checkVirtualMouse,\n onClick: checkVirtualMouse\n };\n }, [commonOnKeyDown, focusItemOnOpen, getMinEnabledIndex, nested, onNavigate, store, openOnArrowKeyDown, orientation, getParentOrientation, rtl, selectedIndexRef, virtual]);\n const reference = React.useMemo(() => {\n return {\n ...ariaActiveDescendantProp,\n ...trigger\n };\n }, [ariaActiveDescendantProp, trigger]);\n return React.useMemo(() => enabled ? {\n reference,\n floating,\n item,\n trigger\n } : {}, [enabled, reference, floating, trigger, item]);\n}"],"names":["ESCAPE","doSwitch","orientation","vertical","horizontal","isMainOrientationKey","key","ARROW_UP","ARROW_DOWN","ARROW_LEFT","ARROW_RIGHT","isMainOrientationToEndKey","rtl","isCrossOrientationOpenKey","isCrossOrientationCloseKey","grid","useListNavigation","context","props","listRef","activeIndex","onNavigateProp","enabled","selectedIndex","allowEscape","loopFocus","nested","virtual","focusItemOnOpen","focusItemOnHover","openOnArrowKeyDown","disabledIndices","parentOrientation","id","resetOnPointerLeave","externalTree","navigateGrid","isGrid","store","open","floatingElement","domReferenceElement","dataRef","floatingFocusElement","getFloatingFocusElement","typeableComboboxReference","isTypeableCombobox","floatingFocusElementRef","useValueAsRef","parentId","useFloatingParentNodeId","tree","useFloatingTree","focusItemOnOpenRef","React","indexRef","keyRef","isPointerModalityRef","onNavigate","useStableCallback","event","previousMountedRef","previousOpenRef","forceSyncFocusRef","forceScrollIntoViewRef","cancelQueuedFocusRef","disabledIndicesRef","latestOpenRef","selectedIndexRef","resetOnPointerLeaveRef","focusFrame","useAnimationFrame","waitForListPopulatedFrame","focusItem","runFocus","item","enqueueFocus","initialItem","forceScrollIntoView","callback","waitedItem","useIsoLayoutEffect","runs","waitForListPopulated","getMinListIndex","getMaxListIndex","isIndexOutOfListBounds","nodes","parent","node","activeEl","activeElement","ownerDocument","treeContainsActiveEl","contains","hasActiveIndex","syncCurrentTarget","index","getParentOrientation","getMinEnabledIndex","commonOnKeyDown","stopEvent","createChangeEventDetails","REASONS.listNavigation","isHTMLElement","currentIndex","minIndex","maxIndex","findNonDisabledListIndex","currentTarget","relatedTarget","floatingFocusEl","ariaActiveDescendantProp","floating","target","getTarget","REASONS.focusOut","trigger","openOnNavigationKeyDown","checkVirtualMouse","isVirtualClick","checkVirtualPointer","isVirtualPointerEvent","currentOpen","isArrowKey","isParentCrossOpenKey","isMainKey","isNavigationKey","isParentMainKey","reference"],"mappings":"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","x_google_ignoreList":[0]}