@rpcbase/ui 0.244.0 → 0.246.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (565) 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/index15.js +2 -2
  16. package/dist/index16.js +8 -8
  17. package/dist/index17.js +1 -1
  18. package/dist/index171.js +14 -58
  19. package/dist/index171.js.map +1 -1
  20. package/dist/index172.js +68 -8
  21. package/dist/index172.js.map +1 -1
  22. package/dist/index173.js +37 -87
  23. package/dist/index173.js.map +1 -1
  24. package/dist/index174.js +13 -19
  25. package/dist/index174.js.map +1 -1
  26. package/dist/index175.js +23 -16
  27. package/dist/index175.js.map +1 -1
  28. package/dist/index176.js +111 -5
  29. package/dist/index176.js.map +1 -1
  30. package/dist/index177.js +13 -6
  31. package/dist/index177.js.map +1 -1
  32. package/dist/index178.js +4 -6
  33. package/dist/index178.js.map +1 -1
  34. package/dist/index179.js +4 -5
  35. package/dist/index179.js.map +1 -1
  36. package/dist/index18.js +7 -7
  37. package/dist/index180.js +5 -7
  38. package/dist/index180.js.map +1 -1
  39. package/dist/index181.js +11 -16
  40. package/dist/index181.js.map +1 -1
  41. package/dist/index182.js +19 -4
  42. package/dist/index182.js.map +1 -1
  43. package/dist/index183.js +11 -5
  44. package/dist/index183.js.map +1 -1
  45. package/dist/index184.js +176 -12
  46. package/dist/index184.js.map +1 -1
  47. package/dist/index185.js +279 -9
  48. package/dist/index185.js.map +1 -1
  49. package/dist/index186.js +4 -13
  50. package/dist/index186.js.map +1 -1
  51. package/dist/index187.js +28 -14
  52. package/dist/index187.js.map +1 -1
  53. package/dist/index188.js +126 -4
  54. package/dist/index188.js.map +1 -1
  55. package/dist/index189.js +63 -5
  56. package/dist/index189.js.map +1 -1
  57. package/dist/index19.js +16 -16
  58. package/dist/index190.js +8 -6
  59. package/dist/index190.js.map +1 -1
  60. package/dist/index191.js +16 -6
  61. package/dist/index191.js.map +1 -1
  62. package/dist/index192.js +29 -53
  63. package/dist/index192.js.map +1 -1
  64. package/dist/index193.js +69 -8
  65. package/dist/index193.js.map +1 -1
  66. package/dist/index194.js +58 -4
  67. package/dist/index194.js.map +1 -1
  68. package/dist/index195.js +8 -4
  69. package/dist/index195.js.map +1 -1
  70. package/dist/index196.js +87 -8
  71. package/dist/index196.js.map +1 -1
  72. package/dist/index197.js +19 -4
  73. package/dist/index197.js.map +1 -1
  74. package/dist/index198.js +16 -4
  75. package/dist/index198.js.map +1 -1
  76. package/dist/index199.js +5 -3
  77. package/dist/index199.js.map +1 -1
  78. package/dist/index200.js +5 -10
  79. package/dist/index200.js.map +1 -1
  80. package/dist/index201.js +6 -9
  81. package/dist/index201.js.map +1 -1
  82. package/dist/index202.js +4 -9
  83. package/dist/index202.js.map +1 -1
  84. package/dist/index203.js +6 -10
  85. package/dist/index203.js.map +1 -1
  86. package/dist/index204.js +16 -10
  87. package/dist/index204.js.map +1 -1
  88. package/dist/index205.js +4 -9
  89. package/dist/index205.js.map +1 -1
  90. package/dist/index206.js +4 -6
  91. package/dist/index206.js.map +1 -1
  92. package/dist/index207.js +12 -5
  93. package/dist/index207.js.map +1 -1
  94. package/dist/index208.js +9 -4
  95. package/dist/index208.js.map +1 -1
  96. package/dist/index209.js +13 -5
  97. package/dist/index209.js.map +1 -1
  98. package/dist/index21.js +1 -1
  99. package/dist/index210.js +13 -6
  100. package/dist/index210.js.map +1 -1
  101. package/dist/index211.js +4 -5
  102. package/dist/index211.js.map +1 -1
  103. package/dist/index212.js +5 -16
  104. package/dist/index212.js.map +1 -1
  105. package/dist/index213.js +6 -7
  106. package/dist/index213.js.map +1 -1
  107. package/dist/index214.js +5 -10
  108. package/dist/index214.js.map +1 -1
  109. package/dist/index215.js +54 -10
  110. package/dist/index215.js.map +1 -1
  111. package/dist/index216.js +8 -21
  112. package/dist/index216.js.map +1 -1
  113. package/dist/index217.js +4 -8
  114. package/dist/index217.js.map +1 -1
  115. package/dist/index218.js +4 -9
  116. package/dist/index218.js.map +1 -1
  117. package/dist/index219.js +8 -9
  118. package/dist/index219.js.map +1 -1
  119. package/dist/index22.js +2 -2
  120. package/dist/index220.js +4 -4
  121. package/dist/index220.js.map +1 -1
  122. package/dist/index221.js +4 -5
  123. package/dist/index221.js.map +1 -1
  124. package/dist/index222.js +3 -16
  125. package/dist/index222.js.map +1 -1
  126. package/dist/index223.js +10 -9
  127. package/dist/index223.js.map +1 -1
  128. package/dist/index224.js +9 -18
  129. package/dist/index224.js.map +1 -1
  130. package/dist/index225.js +9 -20
  131. package/dist/index225.js.map +1 -1
  132. package/dist/index226.js +10 -12
  133. package/dist/index226.js.map +1 -1
  134. package/dist/index227.js +10 -29
  135. package/dist/index227.js.map +1 -1
  136. package/dist/index228.js +9 -12
  137. package/dist/index228.js.map +1 -1
  138. package/dist/index229.js +6 -25
  139. package/dist/index229.js.map +1 -1
  140. package/dist/index23.js +1 -1
  141. package/dist/index230.js +5 -5
  142. package/dist/index230.js.map +1 -1
  143. package/dist/index231.js +5 -20
  144. package/dist/index231.js.map +1 -1
  145. package/dist/index232.js +5 -66
  146. package/dist/index232.js.map +1 -1
  147. package/dist/index233.js +6 -6
  148. package/dist/index233.js.map +1 -1
  149. package/dist/index234.js +5 -5
  150. package/dist/index234.js.map +1 -1
  151. package/dist/index235.js +16 -11
  152. package/dist/index235.js.map +1 -1
  153. package/dist/index236.js +7 -3
  154. package/dist/index236.js.map +1 -1
  155. package/dist/index237.js +9 -49
  156. package/dist/index237.js.map +1 -1
  157. package/dist/index238.js +11 -4
  158. package/dist/index238.js.map +1 -1
  159. package/dist/index239.js +20 -28
  160. package/dist/index239.js.map +1 -1
  161. package/dist/index24.js +1 -1
  162. package/dist/index240.js +8 -16
  163. package/dist/index240.js.map +1 -1
  164. package/dist/index241.js +9 -5
  165. package/dist/index241.js.map +1 -1
  166. package/dist/index242.js +9 -21
  167. package/dist/index242.js.map +1 -1
  168. package/dist/index243.js +4 -53
  169. package/dist/index243.js.map +1 -1
  170. package/dist/index244.js +5 -20
  171. package/dist/index244.js.map +1 -1
  172. package/dist/index245.js +16 -41
  173. package/dist/index245.js.map +1 -1
  174. package/dist/index246.js +9 -39
  175. package/dist/index246.js.map +1 -1
  176. package/dist/index247.js +19 -46
  177. package/dist/index247.js.map +1 -1
  178. package/dist/index248.js +17 -20
  179. package/dist/index248.js.map +1 -1
  180. package/dist/index249.js +12 -19
  181. package/dist/index249.js.map +1 -1
  182. package/dist/index25.js +1 -1
  183. package/dist/index250.js +28 -19
  184. package/dist/index250.js.map +1 -1
  185. package/dist/index251.js +10 -68
  186. package/dist/index251.js.map +1 -1
  187. package/dist/index252.js +25 -17
  188. package/dist/index252.js.map +1 -1
  189. package/dist/index253.js +5 -3
  190. package/dist/index253.js.map +1 -1
  191. package/dist/index254.js +20 -12
  192. package/dist/index254.js.map +1 -1
  193. package/dist/index255.js +65 -29
  194. package/dist/index255.js.map +1 -1
  195. package/dist/index256.js +6 -13
  196. package/dist/index256.js.map +1 -1
  197. package/dist/index257.js +5 -18
  198. package/dist/index257.js.map +1 -1
  199. package/dist/index258.js +11 -36
  200. package/dist/index258.js.map +1 -1
  201. package/dist/index259.js +3 -69
  202. package/dist/index259.js.map +1 -1
  203. package/dist/index260.js +47 -236
  204. package/dist/index260.js.map +1 -1
  205. package/dist/index261.js +4 -253
  206. package/dist/index261.js.map +1 -1
  207. package/dist/index262.js +28 -67
  208. package/dist/index262.js.map +1 -1
  209. package/dist/index263.js +14 -97
  210. package/dist/index263.js.map +1 -1
  211. package/dist/index264.js +5 -176
  212. package/dist/index264.js.map +1 -1
  213. package/dist/index265.js +21 -83
  214. package/dist/index265.js.map +1 -1
  215. package/dist/index266.js +54 -13
  216. package/dist/index266.js.map +1 -1
  217. package/dist/index267.js +20 -3
  218. package/dist/index267.js.map +1 -1
  219. package/dist/index268.js +41 -29
  220. package/dist/index268.js.map +1 -1
  221. package/dist/index269.js +39 -16
  222. package/dist/index269.js.map +1 -1
  223. package/dist/index270.js +45 -37
  224. package/dist/index270.js.map +1 -1
  225. package/dist/index271.js +20 -34
  226. package/dist/index271.js.map +1 -1
  227. package/dist/index272.js +64 -62
  228. package/dist/index272.js.map +1 -1
  229. package/dist/index273.js +17 -17
  230. package/dist/index273.js.map +1 -1
  231. package/dist/index274.js +3 -3
  232. package/dist/index274.js.map +1 -1
  233. package/dist/index275.js +11 -111
  234. package/dist/index275.js.map +1 -1
  235. package/dist/index276.js +12 -25
  236. package/dist/index276.js.map +1 -1
  237. package/dist/index277.js +16 -26
  238. package/dist/index277.js.map +1 -1
  239. package/dist/index278.js +37 -4
  240. package/dist/index278.js.map +1 -1
  241. package/dist/index279.js +231 -118
  242. package/dist/index279.js.map +1 -1
  243. package/dist/index28.js +2 -2
  244. package/dist/index280.js +252 -4
  245. package/dist/index280.js.map +1 -1
  246. package/dist/index281.js +63 -73
  247. package/dist/index281.js.map +1 -1
  248. package/dist/index282.js +93 -266
  249. package/dist/index282.js.map +1 -1
  250. package/dist/index283.js +83 -11
  251. package/dist/index283.js.map +1 -1
  252. package/dist/index284.js +4 -28
  253. package/dist/index284.js.map +1 -1
  254. package/dist/index285.js +29 -15
  255. package/dist/index285.js.map +1 -1
  256. package/dist/index286.js +16 -10
  257. package/dist/index286.js.map +1 -1
  258. package/dist/index287.js +35 -26
  259. package/dist/index287.js.map +1 -1
  260. package/dist/index288.js +17 -16
  261. package/dist/index288.js.map +1 -1
  262. package/dist/index289.js +3 -125
  263. package/dist/index289.js.map +1 -1
  264. package/dist/index29.js +3 -56
  265. package/dist/index29.js.map +1 -1
  266. package/dist/index290.js +26 -5
  267. package/dist/index290.js.map +1 -1
  268. package/dist/index291.js +25 -62
  269. package/dist/index291.js.map +1 -1
  270. package/dist/index292.js +4 -14
  271. package/dist/index292.js.map +1 -1
  272. package/dist/index293.js +79 -14
  273. package/dist/index293.js.map +1 -1
  274. package/dist/index294.js +272 -7
  275. package/dist/index294.js.map +1 -1
  276. package/dist/index295.js +12 -11
  277. package/dist/index295.js.map +1 -1
  278. package/dist/index296.js +10 -5
  279. package/dist/index296.js.map +1 -1
  280. package/dist/index297.js +25 -3
  281. package/dist/index297.js.map +1 -1
  282. package/dist/index298.js +15 -9
  283. package/dist/index298.js.map +1 -1
  284. package/dist/index299.js +125 -7
  285. package/dist/index299.js.map +1 -1
  286. package/dist/index3.js +2 -2
  287. package/dist/index30.js +242 -3
  288. package/dist/index30.js.map +1 -1
  289. package/dist/index300.js +4 -132
  290. package/dist/index300.js.map +1 -1
  291. package/dist/index301.js +63 -277
  292. package/dist/index301.js.map +1 -1
  293. package/dist/index302.js +12 -398
  294. package/dist/index302.js.map +1 -1
  295. package/dist/index303.js +8 -5
  296. package/dist/index303.js.map +1 -1
  297. package/dist/index304.js +5 -52
  298. package/dist/index304.js.map +1 -1
  299. package/dist/index305.js +3 -11
  300. package/dist/index305.js.map +1 -1
  301. package/dist/index306.js +10 -27
  302. package/dist/index306.js.map +1 -1
  303. package/dist/index307.js +6 -10
  304. package/dist/index307.js.map +1 -1
  305. package/dist/index308.js +133 -4
  306. package/dist/index308.js.map +1 -1
  307. package/dist/index309.js +399 -14
  308. package/dist/index309.js.map +1 -1
  309. package/dist/index31.js +21 -239
  310. package/dist/index31.js.map +1 -1
  311. package/dist/index310.js +5 -4
  312. package/dist/index310.js.map +1 -1
  313. package/dist/index311.js +52 -4
  314. package/dist/index311.js.map +1 -1
  315. package/dist/index312.js +10 -10
  316. package/dist/index312.js.map +1 -1
  317. package/dist/index313.js +27 -63
  318. package/dist/index313.js.map +1 -1
  319. package/dist/index314.js +11 -8
  320. package/dist/index314.js.map +1 -1
  321. package/dist/index32.js +4 -23
  322. package/dist/index32.js.map +1 -1
  323. package/dist/index33.js +6 -3
  324. package/dist/index33.js.map +1 -1
  325. package/dist/index34.js +38 -8
  326. package/dist/index34.js.map +1 -1
  327. package/dist/index341.js +8 -4
  328. package/dist/index341.js.map +1 -1
  329. package/dist/index342.js +12 -18
  330. package/dist/index342.js.map +1 -1
  331. package/dist/index343.js +8 -12
  332. package/dist/index343.js.map +1 -1
  333. package/dist/index344.js +13 -8
  334. package/dist/index344.js.map +1 -1
  335. package/dist/index345.js +3 -11
  336. package/dist/index345.js.map +1 -1
  337. package/dist/index346.js +3 -8
  338. package/dist/index346.js.map +1 -1
  339. package/dist/index347.js +16 -12
  340. package/dist/index347.js.map +1 -1
  341. package/dist/index348.js +51 -3
  342. package/dist/index348.js.map +1 -1
  343. package/dist/index349.js +5 -3
  344. package/dist/index349.js.map +1 -1
  345. package/dist/index35.js +74 -35
  346. package/dist/index35.js.map +1 -1
  347. package/dist/index350.js +62 -4
  348. package/dist/index350.js.map +1 -1
  349. package/dist/index351.js +66 -14
  350. package/dist/index351.js.map +1 -1
  351. package/dist/index352.js +7 -10
  352. package/dist/index352.js.map +1 -1
  353. package/dist/index353.js +5 -6
  354. package/dist/index353.js.map +1 -1
  355. package/dist/index354.js +11 -4
  356. package/dist/index354.js.map +1 -1
  357. package/dist/index355.js +22 -3
  358. package/dist/index355.js.map +1 -1
  359. package/dist/index356.js +16 -8
  360. package/dist/index356.js.map +1 -1
  361. package/dist/index357.js +8 -52
  362. package/dist/index357.js.map +1 -1
  363. package/dist/index358.js +143 -15
  364. package/dist/index358.js.map +1 -1
  365. package/dist/index359.js +80 -8
  366. package/dist/index359.js.map +1 -1
  367. package/dist/index36.js +20 -74
  368. package/dist/index36.js.map +1 -1
  369. package/dist/index360.js +61 -5
  370. package/dist/index360.js.map +1 -1
  371. package/dist/index361.js +15 -21
  372. package/dist/index361.js.map +1 -1
  373. package/dist/index362.js +5 -45
  374. package/dist/index362.js.map +1 -1
  375. package/dist/index363.js +16 -16
  376. package/dist/index363.js.map +1 -1
  377. package/dist/index364.js +13 -5
  378. package/dist/index364.js.map +1 -1
  379. package/dist/index365.js +10 -199
  380. package/dist/index365.js.map +1 -1
  381. package/dist/index366.js +4 -74
  382. package/dist/index366.js.map +1 -1
  383. package/dist/index367.js +5 -123
  384. package/dist/index367.js.map +1 -1
  385. package/dist/index368.js +3 -18
  386. package/dist/index368.js.map +1 -1
  387. package/dist/index369.js +20 -61
  388. package/dist/index369.js.map +1 -1
  389. package/dist/index37.js +33 -18
  390. package/dist/index37.js.map +1 -1
  391. package/dist/index370.js +42 -64
  392. package/dist/index370.js.map +1 -1
  393. package/dist/index371.js +18 -12
  394. package/dist/index371.js.map +1 -1
  395. package/dist/index372.js +5 -22
  396. package/dist/index372.js.map +1 -1
  397. package/dist/index373.js +196 -140
  398. package/dist/index373.js.map +1 -1
  399. package/dist/index374.js +73 -79
  400. package/dist/index374.js.map +1 -1
  401. package/dist/index375.js +117 -55
  402. package/dist/index375.js.map +1 -1
  403. package/dist/index378.js +8 -4
  404. package/dist/index378.js.map +1 -1
  405. package/dist/index379.js +27 -5
  406. package/dist/index379.js.map +1 -1
  407. package/dist/index38.js +26 -36
  408. package/dist/index38.js.map +1 -1
  409. package/dist/index380.js +138 -4
  410. package/dist/index380.js.map +1 -1
  411. package/dist/index381.js +12 -15
  412. package/dist/index381.js.map +1 -1
  413. package/dist/index382.js +46 -8
  414. package/dist/index382.js.map +1 -1
  415. package/dist/index383.js +3 -5
  416. package/dist/index383.js.map +1 -1
  417. package/dist/index384.js +21 -4
  418. package/dist/index384.js.map +1 -1
  419. package/dist/index385.js +72 -542
  420. package/dist/index385.js.map +1 -1
  421. package/dist/index386.js +11 -46
  422. package/dist/index386.js.map +1 -1
  423. package/dist/index387.js +3 -17
  424. package/dist/index387.js.map +1 -1
  425. package/dist/index388.js +71 -5
  426. package/dist/index388.js.map +1 -1
  427. package/dist/index389.js +35 -7
  428. package/dist/index389.js.map +1 -1
  429. package/dist/index39.js +21 -26
  430. package/dist/index39.js.map +1 -1
  431. package/dist/index390.js +7 -7
  432. package/dist/index390.js.map +1 -1
  433. package/dist/index391.js +15 -7
  434. package/dist/index391.js.map +1 -1
  435. package/dist/index392.js +4 -11
  436. package/dist/index392.js.map +1 -1
  437. package/dist/index393.js +4 -8
  438. package/dist/index393.js.map +1 -1
  439. package/dist/index394.js +4 -13
  440. package/dist/index394.js.map +1 -1
  441. package/dist/index395.js +16 -3
  442. package/dist/index395.js.map +1 -1
  443. package/dist/index396.js +9 -3
  444. package/dist/index396.js.map +1 -1
  445. package/dist/index397.js +6 -7
  446. package/dist/index397.js.map +1 -1
  447. package/dist/index398.js +4 -12
  448. package/dist/index398.js.map +1 -1
  449. package/dist/index399.js +543 -44
  450. package/dist/index399.js.map +1 -1
  451. package/dist/index4.js +2 -2
  452. package/dist/index40.js +56 -20
  453. package/dist/index40.js.map +1 -1
  454. package/dist/index400.js +44 -135
  455. package/dist/index400.js.map +1 -1
  456. package/dist/index401.js +17 -8
  457. package/dist/index401.js.map +1 -1
  458. package/dist/index402.js +6 -27
  459. package/dist/index402.js.map +1 -1
  460. package/dist/index403.js +7 -3
  461. package/dist/index403.js.map +1 -1
  462. package/dist/index404.js +6 -21
  463. package/dist/index404.js.map +1 -1
  464. package/dist/index405.js +7 -75
  465. package/dist/index405.js.map +1 -1
  466. package/dist/index406.js +12 -12
  467. package/dist/index406.js.map +1 -1
  468. package/dist/index407.js +8 -3
  469. package/dist/index407.js.map +1 -1
  470. package/dist/index408.js +12 -71
  471. package/dist/index408.js.map +1 -1
  472. package/dist/index409.js +3 -36
  473. package/dist/index409.js.map +1 -1
  474. package/dist/index41.js +51 -59
  475. package/dist/index41.js.map +1 -1
  476. package/dist/index410.js +3 -16
  477. package/dist/index410.js.map +1 -1
  478. package/dist/index411.js +3 -5
  479. package/dist/index411.js.map +1 -1
  480. package/dist/index412.js +14 -55
  481. package/dist/index412.js.map +1 -1
  482. package/dist/index413.js +490 -66
  483. package/dist/index413.js.map +1 -1
  484. package/dist/index414.js +5 -31
  485. package/dist/index414.js.map +1 -1
  486. package/dist/index415.js +56 -9
  487. package/dist/index415.js.map +1 -1
  488. package/dist/index416.js +61 -146
  489. package/dist/index416.js.map +1 -1
  490. package/dist/index417.js +26 -103
  491. package/dist/index417.js.map +1 -1
  492. package/dist/index418.js +9 -8
  493. package/dist/index418.js.map +1 -1
  494. package/dist/index419.js +153 -2
  495. package/dist/index419.js.map +1 -1
  496. package/dist/index42.js +21 -50
  497. package/dist/index42.js.map +1 -1
  498. package/dist/index420.js +107 -43
  499. package/dist/index420.js.map +1 -1
  500. package/dist/index421.js +7 -55
  501. package/dist/index421.js.map +1 -1
  502. package/dist/index422.js +2 -8
  503. package/dist/index422.js.map +1 -1
  504. package/dist/index423.js +44 -2
  505. package/dist/index423.js.map +1 -1
  506. package/dist/index424.js +55 -54
  507. package/dist/index424.js.map +1 -1
  508. package/dist/index425.js +7 -55
  509. package/dist/index425.js.map +1 -1
  510. package/dist/index426.js +2 -3
  511. package/dist/index426.js.map +1 -1
  512. package/dist/index427.js +54 -14
  513. package/dist/index427.js.map +1 -1
  514. package/dist/index428.js +51 -487
  515. package/dist/index428.js.map +1 -1
  516. package/dist/index43.js +127 -18
  517. package/dist/index43.js.map +1 -1
  518. package/dist/index430.js +2 -2
  519. package/dist/index432.js +2 -2
  520. package/dist/index44.js +39 -122
  521. package/dist/index44.js.map +1 -1
  522. package/dist/index45.js +85 -42
  523. package/dist/index45.js.map +1 -1
  524. package/dist/index46.js +123 -87
  525. package/dist/index46.js.map +1 -1
  526. package/dist/index47.js +5 -126
  527. package/dist/index47.js.map +1 -1
  528. package/dist/index48.js +332 -5
  529. package/dist/index48.js.map +1 -1
  530. package/dist/index49.js +246 -321
  531. package/dist/index49.js.map +1 -1
  532. package/dist/index5.js +2 -2
  533. package/dist/index50.js +23 -254
  534. package/dist/index50.js.map +1 -1
  535. package/dist/index51.js +129 -25
  536. package/dist/index51.js.map +1 -1
  537. package/dist/index52.js +24 -129
  538. package/dist/index52.js.map +1 -1
  539. package/dist/index53.js +19 -22
  540. package/dist/index53.js.map +1 -1
  541. package/dist/index54.js +134 -19
  542. package/dist/index54.js.map +1 -1
  543. package/dist/index55.js +30 -133
  544. package/dist/index55.js.map +1 -1
  545. package/dist/index56.js +24 -30
  546. package/dist/index56.js.map +1 -1
  547. package/dist/index57.js +38 -26
  548. package/dist/index57.js.map +1 -1
  549. package/dist/index58.js +19 -39
  550. package/dist/index58.js.map +1 -1
  551. package/dist/index59.js +133 -18
  552. package/dist/index59.js.map +1 -1
  553. package/dist/index6.js +4 -4
  554. package/dist/index60.js +49 -134
  555. package/dist/index60.js.map +1 -1
  556. package/dist/index61.js +25 -48
  557. package/dist/index61.js.map +1 -1
  558. package/dist/index62.js +57 -28
  559. package/dist/index62.js.map +1 -1
  560. package/dist/index63.js +56 -57
  561. package/dist/index63.js.map +1 -1
  562. package/dist/index7.js +11 -11
  563. package/dist/index8.js +2 -2
  564. package/dist/index9.js +1 -1
  565. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index261.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":";;;;;;;;;;;;;;;;AAiBY,MAACA,KAAS;AACtB,SAASC,EAASC,GAAaC,GAAUC,GAAY;AACnD,UAAQF,GAAW;AAAA,IACjB,KAAK;AACH,aAAOC;AAAA,IACT,KAAK;AACH,aAAOC;AAAA,IACT;AACE,aAAOD,KAAYC;AAAA,EACzB;AACA;AACA,SAASC,EAAqBC,GAAKJ,GAAa;AAG9C,SAAOD,EAASC,GAFCI,MAAQC,MAAYD,MAAQE,IAC1BF,MAAQG,KAAcH,MAAQI,CACA;AACnD;AACA,SAASC,GAA0BL,GAAKJ,GAAaU,GAAK;AAGxD,SAAOX,EAASC,GAFCI,MAAQE,IACNI,IAAMN,MAAQG,IAAaH,MAAQI,CACL,KAAKJ,MAAQ,WAAWA,MAAQ,OAAOA,MAAQ;AAClG;AACA,SAASO,GAA0BP,GAAKJ,GAAaU,GAAK;AAGxD,SAAOX,EAASC,GAFCU,IAAMN,MAAQG,IAAaH,MAAQI,GACjCJ,MAAQE,EACsB;AACnD;AACA,SAASM,GAA2BR,GAAKJ,GAAaU,GAAKG,GAAM;AAC/D,QAAMZ,IAAWS,IAAMN,MAAQI,IAAcJ,MAAQG,GAC/CL,IAAaE,MAAQC;AAC3B,SAAIL,MAAgB,UAAUA,MAAgB,gBAAgBa,IACrDT,MAAQN,KAEVC,EAASC,GAAaC,GAAUC,CAAU;AACnD;AAMO,SAASY,GAAkBC,GAASC,GAAO;AAChD,QAAM;AAAA,IACJ,SAAAC;AAAA,IACA,aAAAC;AAAA,IACA,YAAYC,IAAiB,MAAM;AAAA,IAAC;AAAA,IACpC,SAAAC,IAAU;AAAA,IACV,eAAAC,IAAgB;AAAA,IAChB,aAAAC,IAAc;AAAA,IACd,WAAAC,IAAY;AAAA,IACZ,QAAAC,IAAS;AAAA,IACT,KAAAd,IAAM;AAAA,IACN,SAAAe,IAAU;AAAA,IACV,iBAAAC,IAAkB;AAAA,IAClB,kBAAAC,IAAmB;AAAA,IACnB,oBAAAC,IAAqB;AAAA,IACrB,iBAAAC,IAAkB;AAAA,IAClB,aAAA7B,IAAc;AAAA,IACd,mBAAA8B;AAAA,IACA,IAAAC;AAAA,IACA,qBAAAC,KAAsB;AAAA,IACtB,cAAAC;AAAA,IACA,MAAMC;AAAA,EACV,IAAMlB,GACEmB,KAASD,KAAgB;AAC/B,EAAI,QAAQ,IAAI,aAAa,iBACvBZ,MACGC,KACH,QAAQ,KAAK,gEAAgE,GAE1EE,KACH,QAAQ,KAAK,wDAAwD,IAGrEzB,MAAgB,cAAcmC,MAChC,QAAQ,KAAK,0DAA0D,mCAAmC;AAG9G,QAAMC,IAAQ,eAAerB,IAAUA,EAAQ,YAAYA,GACrDsB,IAAOD,EAAM,SAAS,MAAM,GAC5BE,IAAkBF,EAAM,SAAS,iBAAiB,GAClDG,IAAsBH,EAAM,SAAS,qBAAqB,GAC1DI,KAAUJ,EAAM,QAAQ,SACxBK,KAAuBC,GAAwBJ,CAAe,GAC9DK,IAA4BC,GAAmBL,CAAmB,GAClEM,IAA0BC,EAAcL,EAAoB,GAC5DM,KAAWC,GAAuB,GAClCC,IAAOC,GAAgBjB,EAAY,GACnCkB,IAAqBC,EAAM,OAAO1B,CAAe,GACjD2B,IAAWD,EAAM,OAAO/B,KAAiB,EAAE,GAC3CiC,IAASF,EAAM,OAAO,IAAI,GAC1BG,IAAuBH,EAAM,OAAO,EAAI,GACxCI,IAAaC,EAAkB,CAAAC,MAAS;AAC5C,IAAAvC,EAAekC,EAAS,YAAY,KAAK,OAAOA,EAAS,SAASK,CAAK;AAAA,EACzE,CAAC,GACKC,IAAqBP,EAAM,OAAO,CAAC,CAACd,CAAe,GACnDsB,KAAkBR,EAAM,OAAOf,CAAI,GACnCwB,IAAoBT,EAAM,OAAO,EAAK,GACtCU,IAAyBV,EAAM,OAAO,EAAK,GAC3CW,KAAuBX,EAAM,OAAO,IAAI,GACxCY,KAAqBlB,EAAcjB,CAAe,GAClDoC,IAAgBnB,EAAcT,CAAI,GAClC6B,IAAmBpB,EAAczB,CAAa,GAC9C8C,KAAyBrB,EAAcd,EAAmB,GAC1DoC,KAAaC,GAAiB,GAC9BC,KAA4BD,GAAiB,GAC7CE,KAAYd,EAAkB,MAAM;AACxC,aAASe,EAASC,GAAM;AACtB,MAAIhD,IACFwB,GAAM,OAAO,KAAK,gBAAgBwB,CAAI,IAEtCV,GAAqB,UAAUW,GAAaD,GAAM;AAAA,QAChD,MAAMZ,EAAkB;AAAA,QACxB,eAAe;AAAA,MACzB,CAAS;AAAA,IAEL;AACA,UAAMc,IAAc1D,EAAQ,QAAQoC,EAAS,OAAO,GAC9CuB,IAAsBd,EAAuB;AACnD,IAAIa,KACFH,EAASG,CAAW,IAEJd,EAAkB,UAAU,CAAAgB,MAAYA,EAAQ,IAAK,CAAAA,MAAYT,GAAW,QAAQS,CAAQ,GACpG,MAAM;AACd,YAAMC,IAAa7D,EAAQ,QAAQoC,EAAS,OAAO,KAAKsB;AACxD,UAAI,CAACG;AACH;AAEF,MAAKH,KACHH,EAASM,CAAU;AAAA,MAIrBL,OAASG,KAAuB,CAACrB,EAAqB,YAIpDuB,EAAW,iBAAiB;AAAA,QAC1B,OAAO;AAAA,QACP,QAAQ;AAAA,MAClB,CAAS;AAAA,IAEL,CAAC;AAAA,EACH,CAAC;AACD,EAAAC,EAAmB,MAAM;AACvB,IAAAvC,GAAQ,QAAQ,cAAcxC;AAAA,EAChC,GAAG,CAACwC,IAASxC,CAAW,CAAC,GAIzB+E,EAAmB,MAAM;AACvB,IAAK3D,MAGDiB,KAAQC,KACVe,EAAS,UAAUhC,KAAiB,IAChC8B,EAAmB,WAAW9B,KAAiB,SAGjDyC,EAAuB,UAAU,IACjCN,EAAU,MAEHG,EAAmB,YAI5BN,EAAS,UAAU,IACnBG,EAAU;AAAA,EAEd,GAAG,CAACpC,GAASiB,GAAMC,GAAiBjB,GAAemC,CAAU,CAAC,GAI9DuB,EAAmB,MAAM;AACvB,QAAK3D,GAGL;AAAA,UAAI,CAACiB,GAAM;AACT,QAAAwB,EAAkB,UAAU;AAC5B;AAAA,MACF;AACA,UAAKvB;AAGL,YAAIpB,KAAe,MAAM;AAEvB,cADA2C,EAAkB,UAAU,IACxBK,EAAiB,WAAW;AAC9B;AAUF,cANIP,EAAmB,YACrBN,EAAS,UAAU,IACnBkB,GAAS,KAIN,CAACX,GAAgB,WAAW,CAACD,EAAmB,YAAYR,EAAmB,YAAYG,EAAO,WAAW,QAAQH,EAAmB,YAAY,MAAQG,EAAO,WAAW,OAAO;AACxL,gBAAI0B,IAAO;AACX,kBAAMC,IAAuB,MAAM;AACjC,cAAIhE,EAAQ,QAAQ,CAAC,KAAK,QAIpB+D,IAAO,MACSA,IAAO,CAAAH,MAAYP,GAA0B,QAAQO,CAAQ,IAAI,gBACzEI,CAAoB,GAEhCD,KAAQ,MAMR3B,EAAS,UAAUC,EAAO,WAAW,QAAQ7C,GAA0B6C,EAAO,SAAStD,GAAaU,CAAG,KAAKc,IAAS0D,GAAgBjE,CAAO,IAAIkE,GAAgBlE,CAAO,GACvKqC,EAAO,UAAU,MACjBE,EAAU;AAAA,YAEd;AACA,YAAAyB,EAAoB;AAAA,UACtB;AAAA,QACF,MAAO,CAAKG,GAAuBnE,EAAQ,SAASC,CAAW,MAC7DmC,EAAS,UAAUnC,GACnBqD,GAAS,GACTT,EAAuB,UAAU;AAAA;AAAA,EAErC,GAAG,CAAC1C,GAASiB,GAAMC,GAAiBpB,GAAagD,GAAkB1C,GAAQP,GAASjB,GAAaU,GAAK8C,GAAYe,IAAWD,EAAyB,CAAC,GAIvJS,EAAmB,MAAM;AACvB,QAAI,CAAC3D,KAAWkB,KAAmB,CAACW,KAAQxB,KAAW,CAACkC,EAAmB;AACzE;AAEF,UAAM0B,IAAQpC,EAAK,SAAS,SACtBqC,IAASD,EAAM,KAAK,CAAAE,MAAQA,EAAK,OAAOxC,EAAQ,GAAG,SAAS,SAAS,UAIrEyC,IAAWC,GAAcC,GAAcnD,KAAuB+C,KAAU,IAAI,CAAC,GAC7EK,IAAuBN,EAAM,KAAK,CAAAE,MAAQA,EAAK,WAAWK,GAASL,EAAK,QAAQ,SAAS,UAAUC,CAAQ,CAAC;AAClH,IAAIF,KAAU,CAACK,KAAwBpC,EAAqB,WAC1D+B,EAAO,MAAM;AAAA,MACX,eAAe;AAAA,IACvB,CAAO;AAAA,EAEL,GAAG,CAAClE,GAASkB,GAAiBC,GAAqBU,GAAMF,IAAUtB,CAAO,CAAC,GAC3EsD,EAAmB,MAAM;AACvB,IAAAnB,GAAgB,UAAUvB,GAC1BsB,EAAmB,UAAU,CAAC,CAACrB;AAAA,EACjC,CAAC,GACDyC,EAAmB,MAAM;AACvB,IAAK1C,MACHiB,EAAO,UAAU,MACjBH,EAAmB,UAAUzB;AAAA,EAEjC,GAAG,CAACW,GAAMX,CAAe,CAAC;AAC1B,QAAMmE,KAAiB3E,KAAe,MAChC4E,KAAoBrC,EAAkB,CAAAC,MAAS;AACnD,QAAI,CAACO,EAAc;AACjB;AAEF,UAAM8B,IAAQ9E,EAAQ,QAAQ,QAAQyC,EAAM,aAAa;AACzD,IAAIqC,MAAU,OAAO1C,EAAS,YAAY0C,KAAS7E,MAAgB6E,OACjE1C,EAAS,UAAU0C,GACnBvC,EAAWE,CAAK;AAAA,EAEpB,CAAC,GACKsC,IAAuBvC,EAAkB,MACtC3B,MAAqBmB,GAAM,SAAS,QAAQ,KAAK,CAAAsC,MAAQA,EAAK,OAAOxC,EAAQ,GAAG,SAAS,SAAS,QAAQ,WAClH,GACKkD,KAAqBxC,EAAkB,MACpCyB,GAAgBjE,GAAS+C,GAAmB,OAAO,CAC3D,GACKkC,IAAkBzC,EAAkB,CAAAC,MAAS;AAejD,QAdAH,EAAqB,UAAU,IAC/BM,EAAkB,UAAU,IAMxBH,EAAM,UAAU,OAOhB,CAACO,EAAc,WAAWP,EAAM,kBAAkBb,EAAwB;AAC5E;AAEF,QAAIrB,KAAUZ,GAA2B8C,EAAM,KAAK1D,GAAaU,GAAKyB,EAAM,GAAG;AAG7E,MAAKhC,EAAqBuD,EAAM,KAAKsC,EAAoB,CAAE,KACzDG,EAAUzC,CAAK,GAEjBtB,EAAM,QAAQ,IAAOgE,GAAyBC,IAAwB3C,EAAM,WAAW,CAAC,GACpF4C,GAAc/D,CAAmB,MAC/Bd,IACFwB,GAAM,OAAO,KAAK,gBAAgBV,CAAmB,IAErDA,EAAoB,MAAK;AAG7B;AAAA,IACF;AACA,UAAMgE,IAAelD,EAAS,SACxBmD,IAAWtB,GAAgBjE,GAASY,CAAe,GACnD4E,IAAWtB,GAAgBlE,GAASY,CAAe;AAgBzD,QAfKc,MACCe,EAAM,QAAQ,WAChByC,EAAUzC,CAAK,GACfL,EAAS,UAAUmD,GACnBhD,EAAWE,CAAK,IAEdA,EAAM,QAAQ,UAChByC,EAAUzC,CAAK,GACfL,EAAS,UAAUoD,GACnBjD,EAAWE,CAAK,KAMhBxB,KAAgB,MAAM;AACxB,YAAM6D,IAAQ7D,EAAawB,GAAOL,EAAS,SAASpC,GAASjB,GAAauB,GAAWb,GAAKmB,GAAiB2E,GAAUC,CAAQ;AAK7H,UAJIV,KAAS,SACX1C,EAAS,UAAU0C,GACnBvC,EAAWE,CAAK,IAEd1D,MAAgB;AAClB;AAAA,IAEJ;AACA,QAAIG,EAAqBuD,EAAM,KAAK1D,CAAW,GAAG;AAIhD,UAHAmG,EAAUzC,CAAK,GAGXrB,KAAQ,CAACZ,KAAWgE,GAAc/B,EAAM,cAAc,aAAa,MAAMA,EAAM,eAAe;AAChG,QAAAL,EAAS,UAAU5C,GAA0BiD,EAAM,KAAK1D,GAAaU,CAAG,IAAI8F,IAAWC,GACvFjD,EAAWE,CAAK;AAChB;AAAA,MACF;AACA,MAAIjD,GAA0BiD,EAAM,KAAK1D,GAAaU,CAAG,IACnDa,IACEgF,KAAgBE,IACdnF,KAAeiF,MAAiBtF,EAAQ,QAAQ,SAClDoC,EAAS,UAAU,MAGnBQ,EAAkB,UAAU,IAC5BR,EAAS,UAAUmD,KAGrBnD,EAAS,UAAUqD,EAAyBzF,EAAQ,SAAS;AAAA,QAC3D,eAAesF;AAAA,QACf,iBAAA1E;AAAA,MACd,CAAa,IAGHwB,EAAS,UAAU,KAAK,IAAIoD,GAAUC,EAAyBzF,EAAQ,SAAS;AAAA,QAC9E,eAAesF;AAAA,QACf,iBAAA1E;AAAA,MACZ,CAAW,CAAC,IAEKN,IACLgF,KAAgBC,IACdlF,KAAeiF,MAAiB,KAClClD,EAAS,UAAUpC,EAAQ,QAAQ,UAGnC4C,EAAkB,UAAU,IAC5BR,EAAS,UAAUoD,KAGrBpD,EAAS,UAAUqD,EAAyBzF,EAAQ,SAAS;AAAA,QAC3D,eAAesF;AAAA,QACf,WAAW;AAAA,QACX,iBAAA1E;AAAA,MACZ,CAAW,IAGHwB,EAAS,UAAU,KAAK,IAAImD,GAAUE,EAAyBzF,EAAQ,SAAS;AAAA,QAC9E,eAAesF;AAAA,QACf,WAAW;AAAA,QACX,iBAAA1E;AAAA,MACV,CAAS,CAAC,GAEAuD,GAAuBnE,EAAQ,SAASoC,EAAS,OAAO,MAC1DA,EAAS,UAAU,KAErBG,EAAWE,CAAK;AAAA,IAClB;AAAA,EACF,CAAC,GACKe,KAAOrB,EAAM,QAAQ,OACP;AAAA,IAChB,QAAQM,GAAO;AACb,MAAAG,EAAkB,UAAU,IAC5BiC,GAAkBpC,CAAK;AAAA,IACzB;AAAA,IACA,SAAS,CAAC;AAAA,MACR,eAAAiD;AAAA,IACR,MAAYA,EAAc,MAAM;AAAA,MACxB,eAAe;AAAA,IACvB,CAAO;AAAA;AAAA,IAED,YAAYjD,GAAO;AACjB,MAAAG,EAAkB,UAAU,IAC5BC,EAAuB,UAAU,IAC7BnC,KACFmE,GAAkBpC,CAAK;AAAA,IAE3B;AAAA,IACA,eAAeA,GAAO;AACpB,UAAI,CAACO,EAAc,WAAW,CAACV,EAAqB,WAAWG,EAAM,gBAAgB;AACnF;AAEF,MAAAG,EAAkB,UAAU;AAC5B,YAAM+C,IAAgBlD,EAAM;AAC5B,UAAI,GAAC/B,KAAoBV,EAAQ,QAAQ,SAAS2F,CAAa,MAG1DzC,GAAuB,YAG5BJ,GAAqB,UAAO,GAC5BA,GAAqB,UAAU,MAC/BV,EAAS,UAAU,IACnBG,EAAWE,CAAK,GACZ,CAACjC,IAAS;AACZ,cAAMoF,IAAkBhE,EAAwB,SAC1C2C,IAAWC,GAAcC,GAAcmB,CAAe,CAAC;AAC7D,QAAIA,KAAmBjB,GAASiB,GAAiBrB,CAAQ,KACvDqB,EAAgB,MAAM;AAAA,UACpB,eAAe;AAAA,QAC7B,CAAa;AAAA,MAEL;AAAA,IACF;AAAA,EACN,IAEK,CAACf,IAAmB7B,GAAepB,GAAyBlB,GAAkBV,GAASuC,GAAYW,IAAwB1C,CAAO,CAAC,GAChIqF,IAA2B1D,EAAM,QAAQ,MACtC3B,KAAWY,KAAQwD,MAAkB;AAAA,IAC1C,yBAAyB,GAAG9D,EAAE,IAAIb,CAAW;AAAA,EACnD,GACK,CAACO,GAASY,GAAMwD,IAAgB9D,IAAIb,CAAW,CAAC,GAC7C6F,KAAW3D,EAAM,QAAQ,OACtB;AAAA,IACL,oBAAoBpD,MAAgB,SAAS,SAAYA;AAAA,IACzD,GAAK2C,IAAuD,KAA3BmE;AAAA,IACjC,UAAUpD,GAAO;AAEf,UAAIA,EAAM,QAAQ,SAASA,EAAM,YAAYrB,KAAQ,CAACZ,GAAS;AAI7D,cAAMuF,IAASC,GAAUvD,EAAM,WAAW;AAC1C,YAAIsD,KAAU,CAACpB,GAAS/C,EAAwB,SAASmE,CAAM;AAC7D;AAEF,QAAAb,EAAUzC,CAAK,GACftB,EAAM,QAAQ,IAAOgE,GAAyBc,IAAkBxD,EAAM,WAAW,CAAC,GAC9E4C,GAAc/D,CAAmB,KACnCA,EAAoB,MAAK;AAE3B;AAAA,MACF;AACA,MAAA2D,EAAgBxC,CAAK;AAAA,IACvB;AAAA,IACA,gBAAgB;AACd,MAAAH,EAAqB,UAAU;AAAA,IACjC;AAAA,EACN,IACK,CAACuD,GAA0BZ,GAAiBrD,GAAyB7C,GAAa2C,GAA2BP,GAAOC,GAAMZ,GAASc,CAAmB,CAAC,GACpJ4E,IAAU/D,EAAM,QAAQ,MAAM;AAClC,aAASgE,EAAwB1D,GAAO;AACtC,MAAAtB,EAAM,QAAQ,IAAMgE,GAAyBC,IAAwB3C,EAAM,aAAaA,EAAM,aAAa,CAAC;AAAA,IAC9G;AACA,aAAS2D,EAAkB3D,GAAO;AAChC,MAAIhC,MAAoB,UAAU4F,GAAe5D,EAAM,WAAW,MAChEP,EAAmB,UAAU,CAAC1B;AAAA,IAElC;AACA,aAAS8F,EAAoB7D,GAAO;AAElC,MAAAP,EAAmB,UAAUzB,GACzBA,MAAoB,UAAU8F,GAAsB9D,EAAM,WAAW,MACvEP,EAAmB,UAAU;AAAA,IAEjC;AACA,WAAO;AAAA,MACL,UAAUO,GAAO;AAEf,cAAM+D,IAAcrF,EAAM,OAAO,MAAM;AACvC,QAAAmB,EAAqB,UAAU;AAC/B,cAAMmE,KAAahE,EAAM,IAAI,WAAW,OAAO,GACzCiE,KAAuBhH,GAA0B+C,EAAM,KAAKsC,EAAoB,GAAItF,CAAG,GACvFkH,KAAYzH,EAAqBuD,EAAM,KAAK1D,CAAW,GACvD6H,MAAmBrG,IAASmG,KAAuBC,OAAclE,EAAM,QAAQ,WAAWA,EAAM,IAAI,KAAI,MAAO;AACrH,YAAIjC,KAAWgG;AACb,iBAAOvB,EAAgBxC,CAAK;AAK9B,YAAI,GAAC+D,KAAe,CAAC7F,KAAsB8F,KAG3C;AAAA,cAAIG,IAAiB;AACnB,kBAAMC,KAAkB3H,EAAqBuD,EAAM,KAAKsC,EAAoB,CAAE;AAC9E,YAAA1C,EAAO,UAAU9B,KAAUsG,KAAkB,OAAOpE,EAAM;AAAA,UAC5D;AACA,cAAIlC,GAAQ;AACV,YAAImG,OACFxB,EAAUzC,CAAK,GACX+D,KACFpE,EAAS,UAAU4C,GAAkB,GACrCzC,EAAWE,CAAK,KAEhB0D,EAAwB1D,CAAK;AAGjC;AAAA,UACF;AACA,UAAIkE,OACE1D,EAAiB,WAAW,SAC9Bb,EAAS,UAAUa,EAAiB,UAEtCiC,EAAUzC,CAAK,GACX,CAAC+D,KAAe7F,IAClBwF,EAAwB1D,CAAK,IAE7BwC,EAAgBxC,CAAK,GAEnB+D,KACFjE,EAAWE,CAAK;AAAA;AAAA,MAItB;AAAA,MACA,QAAQA,GAAO;AACb,QAAItB,EAAM,OAAO,MAAM,KAAK,CAACX,MAC3B4B,EAAS,UAAU,IACnBG,EAAWE,CAAK;AAAA,MAEpB;AAAA,MACA,eAAe6D;AAAA,MACf,gBAAgBA;AAAA,MAChB,aAAaF;AAAA,MACb,SAASA;AAAA,IACf;AAAA,EACE,GAAG,CAACnB,GAAiBxE,GAAiBuE,IAAoBzE,GAAQgC,GAAYpB,GAAOR,GAAoB5B,GAAagG,GAAsBtF,GAAKwD,GAAkBzC,CAAO,CAAC,GACrKsG,KAAY3E,EAAM,QAAQ,OACvB;AAAA,IACL,GAAG0D;AAAA,IACH,GAAGK;AAAA,EACT,IACK,CAACL,GAA0BK,CAAO,CAAC;AACtC,SAAO/D,EAAM,QAAQ,MAAMhC,IAAU;AAAA,IACnC,WAAA2G;AAAA,IACA,UAAAhB;AAAA,IACA,MAAAtC;AAAA,IACA,SAAA0C;AAAA,EACJ,IAAM,CAAA,GAAI,CAAC/F,GAAS2G,IAAWhB,IAAUI,GAAS1C,EAAI,CAAC;AACvD;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index261.js","sources":["../../../node_modules/@base-ui/utils/useIsoLayoutEffect.mjs"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nconst noop = () => {};\nexport const useIsoLayoutEffect = typeof document !== 'undefined' ? React.useLayoutEffect : noop;"],"names":["noop","useIsoLayoutEffect","React"],"mappings":";AAGA,MAAMA,IAAO,MAAM;AAAC,GACPC,IAAqB,OAAO,WAAa,MAAcC,EAAM,kBAAkBF;","x_google_ignoreList":[0]}
package/dist/index262.js CHANGED
@@ -1,72 +1,33 @@
1
- import * as a from "react";
2
- import { useIsoLayoutEffect as L } from "./index238.js";
3
- import { useStableCallback as M } from "./index239.js";
4
- import { useTimeout as N } from "./index268.js";
5
- import { EMPTY_ARRAY as W } from "./index241.js";
6
- import { isListIndexDisabled as _, isElementVisible as j } from "./index399.js";
7
- import { contains as T } from "./index277.js";
8
- import { stopEvent as K } from "./index306.js";
9
- function ee(h, A) {
10
- const {
11
- listRef: D,
12
- elementsRef: F,
13
- activeIndex: u,
14
- onMatch: P,
15
- disabledIndices: S,
16
- onTyping: o,
17
- enabled: b = !0,
18
- resetMs: O = 750,
19
- selectedIndex: n = null
20
- } = A, y = "rootStore" in h ? h.rootStore : h, i = y.useState("open"), m = N(), t = a.useRef(""), c = a.useRef(n ?? u ?? -1), l = a.useRef(null), k = M((r) => {
21
- function d(e) {
22
- const s = F?.current[e];
23
- return !s || j(s);
24
- }
25
- function p(e) {
26
- return d(e) ? S == null || !_(W, e, S) : !1;
27
- }
28
- function g(e, s, Y = 0) {
29
- if (e.length === 0)
30
- return -1;
31
- const z = (Y % e.length + e.length) % e.length, B = s.toLowerCase();
32
- for (let w = 0; w < e.length; w += 1) {
33
- const x = (z + w) % e.length;
34
- if (!(!e[x]?.toLowerCase().startsWith(B) || !p(x)))
35
- return x;
36
- }
37
- return -1;
1
+ import { SafeReact as a } from "./index353.js";
2
+ import { useRefWithInit as c } from "./index256.js";
3
+ const n = a.useInsertionEffect, r = (
4
+ // React 17 doesn't have useInsertionEffect.
5
+ n && // Preact replaces useInsertionEffect with useLayoutEffect and fires too late.
6
+ n !== a.useLayoutEffect ? n : (e) => e()
7
+ );
8
+ function i(e) {
9
+ const t = c(o).current;
10
+ return t.next = e, r(t.effect), t.trampoline;
11
+ }
12
+ function o() {
13
+ const e = {
14
+ next: void 0,
15
+ callback: f,
16
+ trampoline: (...t) => e.callback?.(...t),
17
+ effect: () => {
18
+ e.callback = e.next;
38
19
  }
39
- const f = D.current;
40
- if (t.current.length > 0 && r.key === " " && (K(r), o?.(!0)), t.current.length > 0 && t.current[0] !== " " && g(f, t.current) === -1 && r.key !== " " && o?.(!1), f == null || // Character key.
41
- r.key.length !== 1 || // Modifier key.
42
- r.ctrlKey || r.metaKey || r.altKey)
43
- return;
44
- i && r.key !== " " && (K(r), o?.(!0));
45
- const E = t.current === "";
46
- E && (c.current = n ?? u ?? -1), f.every((e, s) => e && p(s) ? e[0]?.toLowerCase() !== e[1]?.toLowerCase() : !0) && t.current === r.key && (t.current = "", c.current = l.current), t.current += r.key, m.start(O, () => {
47
- t.current = "", c.current = l.current, o?.(!1);
48
- });
49
- const V = ((E ? n ?? u ?? -1 : c.current) ?? 0) + 1, I = g(f, t.current, V);
50
- I !== -1 ? (P?.(I), l.current = I) : r.key !== " " && (t.current = "", o?.(!1));
51
- }), C = M((r) => {
52
- const d = r.relatedTarget, p = y.select("domReferenceElement"), g = y.select("floatingElement");
53
- T(p, d) || T(g, d) || (m.clear(), t.current = "", c.current = l.current, o?.(!1));
54
- });
55
- L(() => {
56
- !i && n !== null || (m.clear(), l.current = null, t.current !== "" && (t.current = ""));
57
- }, [i, n, m]), L(() => {
58
- i && t.current === "" && (c.current = n ?? u ?? -1);
59
- }, [i, n, u]);
60
- const R = a.useMemo(() => ({
61
- onKeyDown: k,
62
- onBlur: C
63
- }), [k, C]);
64
- return a.useMemo(() => b ? {
65
- reference: R,
66
- floating: R
67
- } : {}, [b, R]);
20
+ };
21
+ return e;
22
+ }
23
+ function f() {
24
+ if (process.env.NODE_ENV !== "production")
25
+ throw (
26
+ /* minify-error-disabled */
27
+ new Error("Base UI: Cannot call an event handler while rendering.")
28
+ );
68
29
  }
69
30
  export {
70
- ee as useTypeahead
31
+ i as useStableCallback
71
32
  };
72
33
  //# sourceMappingURL=index262.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index262.js","sources":["../../../node_modules/@base-ui/react/floating-ui-react/hooks/useTypeahead.mjs"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { useIsoLayoutEffect } from '@base-ui/utils/useIsoLayoutEffect';\nimport { useStableCallback } from '@base-ui/utils/useStableCallback';\nimport { useTimeout } from '@base-ui/utils/useTimeout';\nimport { EMPTY_ARRAY } from '@base-ui/utils/empty';\nimport { isElementVisible, isListIndexDisabled } from \"../utils/composite.mjs\";\nimport { contains } from \"../utils/element.mjs\";\nimport { stopEvent } from \"../utils/event.mjs\";\n/**\n * Provides a matching callback that can be used to focus an item as the user\n * types, often used in tandem with `useListNavigation()`.\n * @see https://floating-ui.com/docs/useTypeahead\n */\nexport function useTypeahead(context, props) {\n const {\n listRef,\n elementsRef,\n activeIndex,\n onMatch: onMatchProp,\n disabledIndices,\n onTyping,\n enabled = true,\n resetMs = 750,\n selectedIndex = null\n } = props;\n const store = 'rootStore' in context ? context.rootStore : context;\n const open = store.useState('open');\n const timeout = useTimeout();\n const stringRef = React.useRef('');\n const prevIndexRef = React.useRef(selectedIndex ?? activeIndex ?? -1);\n const matchIndexRef = React.useRef(null);\n const onKeyDown = useStableCallback(event => {\n function isVisible(index) {\n const element = elementsRef?.current[index];\n return !element || isElementVisible(element);\n }\n function isItemAvailable(index) {\n if (!isVisible(index)) {\n return false;\n }\n // Visibility is handled above; pass an empty element list so `isListIndexDisabled`\n // resolves only the explicit `disabledIndices` (array/predicate) and skips its own\n // visibility/attribute fallbacks. Consumers that don't opt in keep matching every\n // visible item.\n return disabledIndices == null || !isListIndexDisabled(EMPTY_ARRAY, index, disabledIndices);\n }\n function getMatchingIndex(list, string, startIndex = 0) {\n if (list.length === 0) {\n return -1;\n }\n const normalizedStartIndex = (startIndex % list.length + list.length) % list.length;\n const lowerString = string.toLowerCase();\n for (let offset = 0; offset < list.length; offset += 1) {\n const index = (normalizedStartIndex + offset) % list.length;\n const text = list[index];\n if (!text?.toLowerCase().startsWith(lowerString) || !isItemAvailable(index)) {\n continue;\n }\n return index;\n }\n return -1;\n }\n const listContent = listRef.current;\n if (stringRef.current.length > 0 && event.key === ' ') {\n // Space should continue the in-progress typeahead session.\n stopEvent(event);\n onTyping?.(true);\n }\n if (stringRef.current.length > 0 && stringRef.current[0] !== ' ') {\n if (getMatchingIndex(listContent, stringRef.current) === -1 && event.key !== ' ') {\n onTyping?.(false);\n }\n }\n if (listContent == null ||\n // Character key.\n event.key.length !== 1 ||\n // Modifier key.\n event.ctrlKey || event.metaKey || event.altKey) {\n return;\n }\n if (open && event.key !== ' ') {\n stopEvent(event);\n onTyping?.(true);\n }\n\n // Capture whether this is a new typing session before mutating the string.\n const isNewSession = stringRef.current === '';\n if (isNewSession) {\n prevIndexRef.current = selectedIndex ?? activeIndex ?? -1;\n }\n\n // Bail out if the list contains a word like \"llama\" or \"aaron\". TODO:\n // allow it in this case, too. Unavailable items are skipped while matching, so\n // they must be ignored here as well — otherwise a hidden or disabled double-letter\n // label would block rapid cycling through the available items.\n const allowRapidSuccessionOfFirstLetter = listContent.every((text, index) => text && isItemAvailable(index) ? text[0]?.toLowerCase() !== text[1]?.toLowerCase() : true);\n\n // Allows the user to cycle through items that start with the same letter\n // in rapid succession.\n if (allowRapidSuccessionOfFirstLetter && stringRef.current === event.key) {\n stringRef.current = '';\n prevIndexRef.current = matchIndexRef.current;\n }\n stringRef.current += event.key;\n timeout.start(resetMs, () => {\n stringRef.current = '';\n prevIndexRef.current = matchIndexRef.current;\n onTyping?.(false);\n });\n\n // Compute the starting index for this search.\n // If this is a new typing session (string is empty), base it on the current\n // selection/active item; otherwise continue from the last matched index.\n const prevIndex = isNewSession ? selectedIndex ?? activeIndex ?? -1 : prevIndexRef.current;\n const startIndex = (prevIndex ?? 0) + 1;\n const index = getMatchingIndex(listContent, stringRef.current, startIndex);\n if (index !== -1) {\n onMatchProp?.(index);\n matchIndexRef.current = index;\n } else if (event.key !== ' ') {\n stringRef.current = '';\n onTyping?.(false);\n }\n });\n const onBlur = useStableCallback(event => {\n const next = event.relatedTarget;\n const currentDomReferenceElement = store.select('domReferenceElement');\n const currentFloatingElement = store.select('floatingElement');\n const withinComposite = contains(currentDomReferenceElement, next) || contains(currentFloatingElement, next);\n\n // Keep the session if focus moves within the composite (reference <-> floating).\n if (withinComposite) {\n return;\n }\n\n // End the current typing session when focus leaves the composite entirely.\n timeout.clear();\n stringRef.current = '';\n prevIndexRef.current = matchIndexRef.current;\n onTyping?.(false);\n });\n useIsoLayoutEffect(() => {\n if (!open && selectedIndex !== null) {\n return;\n }\n timeout.clear();\n matchIndexRef.current = null;\n if (stringRef.current !== '') {\n stringRef.current = '';\n }\n }, [open, selectedIndex, timeout]);\n useIsoLayoutEffect(() => {\n // Sync arrow key navigation but not typeahead navigation.\n if (open && stringRef.current === '') {\n prevIndexRef.current = selectedIndex ?? activeIndex ?? -1;\n }\n }, [open, selectedIndex, activeIndex]);\n const sharedProps = React.useMemo(() => ({\n onKeyDown,\n onBlur\n }), [onKeyDown, onBlur]);\n return React.useMemo(() => enabled ? {\n reference: sharedProps,\n floating: sharedProps\n } : {}, [enabled, sharedProps]);\n}"],"names":["useTypeahead","context","props","listRef","elementsRef","activeIndex","onMatchProp","disabledIndices","onTyping","enabled","resetMs","selectedIndex","store","open","timeout","useTimeout","stringRef","React","prevIndexRef","matchIndexRef","onKeyDown","useStableCallback","event","isVisible","index","element","isElementVisible","isItemAvailable","isListIndexDisabled","EMPTY_ARRAY","getMatchingIndex","list","string","startIndex","normalizedStartIndex","lowerString","offset","listContent","stopEvent","isNewSession","text","onBlur","next","currentDomReferenceElement","currentFloatingElement","contains","useIsoLayoutEffect","sharedProps"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index262.js","sources":["../../../node_modules/@base-ui/utils/useStableCallback.mjs"],"sourcesContent":["'use client';\n\nimport { SafeReact } from \"./safeReact.mjs\";\nimport { useRefWithInit } from \"./useRefWithInit.mjs\";\nconst useInsertionEffect = SafeReact.useInsertionEffect;\nconst useSafeInsertionEffect =\n// React 17 doesn't have useInsertionEffect.\nuseInsertionEffect &&\n// Preact replaces useInsertionEffect with useLayoutEffect and fires too late.\nuseInsertionEffect !== SafeReact.useLayoutEffect ? useInsertionEffect : fn => fn();\n/**\n * Stabilizes the function passed so it's always the same between renders.\n *\n * The function becomes non-reactive to any values it captures.\n * It can safely be passed as a dependency of `React.useMemo` and `React.useEffect` without re-triggering them if its captured values change.\n *\n * The function must only be called inside effects and event handlers, never during render (which throws an error).\n *\n * This hook is a more permissive version of React 19.2's `React.useEffectEvent` in that it can be passed through contexts and called in event handler props, not just effects.\n */\nexport function useStableCallback(callback) {\n const stable = useRefWithInit(createStableCallback).current;\n stable.next = callback;\n useSafeInsertionEffect(stable.effect);\n return stable.trampoline;\n}\nfunction createStableCallback() {\n const stable = {\n next: undefined,\n callback: assertNotCalled,\n trampoline: (...args) => stable.callback?.(...args),\n effect: () => {\n stable.callback = stable.next;\n }\n };\n return stable;\n}\nfunction assertNotCalled() {\n if (process.env.NODE_ENV !== 'production') {\n // TODO: fix mui/no-guarded-throw\n // eslint-disable-next-line mui/no-guarded-throw\n throw /* minify-error-disabled */new Error('Base UI: Cannot call an event handler while rendering.');\n }\n}"],"names":["useInsertionEffect","SafeReact","useSafeInsertionEffect","fn","useStableCallback","callback","stable","useRefWithInit","createStableCallback","assertNotCalled","args"],"mappings":";;AAIA,MAAMA,IAAqBC,EAAU,oBAC/BC;AAAA;AAAA,EAENF;AAAA,EAEAA,MAAuBC,EAAU,kBAAkBD,IAAqB,CAAAG,MAAMA,EAAE;AAAA;AAWzE,SAASC,EAAkBC,GAAU;AAC1C,QAAMC,IAASC,EAAeC,CAAoB,EAAE;AACpD,SAAAF,EAAO,OAAOD,GACdH,EAAuBI,EAAO,MAAM,GAC7BA,EAAO;AAChB;AACA,SAASE,IAAuB;AAC9B,QAAMF,IAAS;AAAA,IACb,MAAM;AAAA,IACN,UAAUG;AAAA,IACV,YAAY,IAAIC,MAASJ,EAAO,WAAW,GAAGI,CAAI;AAAA,IAClD,QAAQ,MAAM;AACZ,MAAAJ,EAAO,WAAWA,EAAO;AAAA,IAC3B;AAAA,EACJ;AACE,SAAOA;AACT;AACA,SAASG,IAAkB;AACzB,MAAI,QAAQ,IAAI,aAAa;AAG3B;AAAA;AAAA,MAAiC,IAAI,MAAM,wDAAwD;AAAA;AAEvG;","x_google_ignoreList":[0]}
package/dist/index263.js CHANGED
@@ -1,103 +1,20 @@
1
- import { mergeObjects as y } from "./index345.js";
2
- const o = {};
3
- function j(t, n, e, r, c) {
4
- if (!e && !r && !c && !t)
5
- return u(n);
6
- let f = u(t);
7
- return n && (f = i(f, n)), e && (f = i(f, e)), r && (f = i(f, r)), c && (f = i(f, c)), f;
8
- }
9
- function w(t) {
10
- if (t.length === 0)
11
- return o;
12
- if (t.length === 1)
13
- return u(t[0]);
14
- let n = u(t[0]);
15
- for (let e = 1; e < t.length; e += 1)
16
- n = i(n, t[e]);
17
- return n;
18
- }
19
- function u(t) {
20
- return l(t) ? {
21
- ...s(t, o)
22
- } : m(t);
23
- }
24
- function i(t, n) {
25
- return l(n) ? s(n, t) : U(t, n);
26
- }
27
- function m(t) {
28
- const n = {
29
- ...t
30
- };
31
- for (const e in n) {
32
- const r = n[e];
33
- a(e, r) && (n[e] = v(r));
34
- }
35
- return n;
36
- }
37
- function U(t, n) {
38
- if (!n)
39
- return t;
40
- for (const e in n) {
41
- const r = n[e];
42
- switch (e) {
43
- case "style": {
44
- t[e] = y(t.style, r);
45
- break;
46
- }
47
- case "className": {
48
- t[e] = M(t.className, r);
49
- break;
50
- }
51
- default:
52
- a(e, r) ? t[e] = A(t[e], r) : t[e] = r;
1
+ import { useIsoLayoutEffect as r } from "./index261.js";
2
+ import { useRefWithInit as n } from "./index256.js";
3
+ function s(e) {
4
+ const t = n(f, e).current;
5
+ return t.next = e, r(t.effect), t;
6
+ }
7
+ function f(e) {
8
+ const t = {
9
+ current: e,
10
+ next: e,
11
+ effect: () => {
12
+ t.current = t.next;
53
13
  }
54
- }
14
+ };
55
15
  return t;
56
16
  }
57
- function a(t, n) {
58
- const e = t.charCodeAt(0), r = t.charCodeAt(1), c = t.charCodeAt(2);
59
- return e === 111 && r === 110 && c >= 65 && c <= 90 && (typeof n == "function" || typeof n > "u");
60
- }
61
- function l(t) {
62
- return typeof t == "function";
63
- }
64
- function s(t, n) {
65
- return l(t) ? t(n) : t ?? o;
66
- }
67
- function A(t, n) {
68
- return n ? t ? (...e) => {
69
- const r = e[0];
70
- if (I(r)) {
71
- const f = r;
72
- E(f);
73
- const b = n(...e);
74
- return f.baseUIHandlerPrevented || t?.(...e), b;
75
- }
76
- const c = n(...e);
77
- return t?.(...e), c;
78
- } : v(n) : t;
79
- }
80
- function v(t) {
81
- return t && ((...n) => {
82
- const e = n[0];
83
- return I(e) && E(e), t(...n);
84
- });
85
- }
86
- function E(t) {
87
- return t.preventBaseUIHandler = () => {
88
- t.baseUIHandlerPrevented = !0;
89
- }, t;
90
- }
91
- function M(t, n) {
92
- return n ? t ? n + " " + t : n : t;
93
- }
94
- function I(t) {
95
- return t != null && typeof t == "object" && "nativeEvent" in t;
96
- }
97
17
  export {
98
- E as makeEventPreventable,
99
- M as mergeClassNames,
100
- j as mergeProps,
101
- w as mergePropsN
18
+ s as useValueAsRef
102
19
  };
103
20
  //# sourceMappingURL=index263.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index263.js","sources":["../../../node_modules/@base-ui/react/merge-props/mergeProps.mjs"],"sourcesContent":["import { mergeObjects } from '@base-ui/utils/mergeObjects';\nconst EMPTY_PROPS = {};\n\n/* eslint-disable id-denylist */\n/**\n * Merges multiple sets of React props. It follows the Object.assign pattern where the rightmost object's fields overwrite\n * the conflicting ones from others. This doesn't apply to event handlers, `className` and `style` props.\n *\n * Event handlers are merged and called in right-to-left order (rightmost handler executes first, leftmost last).\n * For React synthetic events, the rightmost handler can prevent prior (left-positioned) handlers from executing\n * by calling `event.preventBaseUIHandler()`. For non-synthetic events (custom events with primitive/object values),\n * all handlers always execute without prevention capability.\n *\n * The `className` prop is merged by concatenating classes in right-to-left order (rightmost class appears first in the string).\n * The `style` prop is merged with rightmost styles overwriting the prior ones.\n *\n * Props can either be provided as objects or as functions that take the previous props as an argument.\n * The function will receive the merged props up to that point (going from left to right):\n * so in the case of `(obj1, obj2, fn, obj3)`, `fn` will receive the merged props of `obj1` and `obj2`.\n * The function is responsible for chaining event handlers if needed (that is, we don't run the merge logic).\n *\n * Event handlers returned by the functions are not automatically prevented when `preventBaseUIHandler` is called.\n * They must check `event.baseUIHandlerPrevented` themselves and bail out if it's true.\n *\n * @important **`ref` is not merged.**\n * @param a Props object to merge.\n * @param b Props object to merge. The function will overwrite conflicting props from `a`.\n * @param c Props object to merge. The function will overwrite conflicting props from previous parameters.\n * @param d Props object to merge. The function will overwrite conflicting props from previous parameters.\n * @param e Props object to merge. The function will overwrite conflicting props from previous parameters.\n * @returns The merged props.\n * @public\n */\n\nexport function mergeProps(a, b, c, d, e) {\n if (!c && !d && !e && !a) {\n return createInitialMergedProps(b);\n }\n\n // We need to mutably own `merged`.\n let merged = createInitialMergedProps(a);\n if (b) {\n merged = mergeInto(merged, b);\n }\n if (c) {\n merged = mergeInto(merged, c);\n }\n if (d) {\n merged = mergeInto(merged, d);\n }\n if (e) {\n merged = mergeInto(merged, e);\n }\n return merged;\n}\n/* eslint-enable id-denylist */\n\n/**\n * Merges an arbitrary number of React props using the same logic as {@link mergeProps}.\n * This function accepts an array of props instead of individual arguments.\n *\n * This has slightly lower performance than {@link mergeProps} due to accepting an array\n * instead of a fixed number of arguments. Prefer {@link mergeProps} when merging 5 or\n * fewer prop sets for better performance.\n *\n * @param props Array of props to merge.\n * @returns The merged props.\n * @see mergeProps\n * @public\n */\nexport function mergePropsN(props) {\n if (props.length === 0) {\n return EMPTY_PROPS;\n }\n if (props.length === 1) {\n return createInitialMergedProps(props[0]);\n }\n\n // We need to mutably own `merged`.\n let merged = createInitialMergedProps(props[0]);\n for (let i = 1; i < props.length; i += 1) {\n merged = mergeInto(merged, props[i]);\n }\n return merged;\n}\nfunction createInitialMergedProps(inputProps) {\n if (isPropsGetter(inputProps)) {\n // Getter-returned handlers intentionally keep their existing semantics.\n return {\n ...resolvePropsGetter(inputProps, EMPTY_PROPS)\n };\n }\n return copyInitialProps(inputProps);\n}\nfunction mergeInto(merged, inputProps) {\n if (isPropsGetter(inputProps)) {\n return resolvePropsGetter(inputProps, merged);\n }\n return mutablyMergeInto(merged, inputProps);\n}\nfunction copyInitialProps(inputProps) {\n const copiedProps = {\n ...inputProps\n };\n\n // `copiedProps` is our fresh own-object copy, so iterating with `for...in` is safe here.\n // eslint-disable-next-line guard-for-in\n for (const propName in copiedProps) {\n const propValue = copiedProps[propName];\n if (isEventHandler(propName, propValue)) {\n copiedProps[propName] = wrapEventHandler(propValue);\n }\n }\n return copiedProps;\n}\n\n/**\n * Merges two sets of props. In case of conflicts, the external props take precedence.\n */\nfunction mutablyMergeInto(mergedProps, externalProps) {\n if (!externalProps) {\n return mergedProps;\n }\n\n // eslint-disable-next-line guard-for-in\n for (const propName in externalProps) {\n const externalPropValue = externalProps[propName];\n switch (propName) {\n case 'style':\n {\n mergedProps[propName] = mergeObjects(mergedProps.style, externalPropValue);\n break;\n }\n case 'className':\n {\n mergedProps[propName] = mergeClassNames(mergedProps.className, externalPropValue);\n break;\n }\n default:\n {\n if (isEventHandler(propName, externalPropValue)) {\n mergedProps[propName] = mergeEventHandlers(mergedProps[propName], externalPropValue);\n } else {\n mergedProps[propName] = externalPropValue;\n }\n }\n }\n }\n return mergedProps;\n}\nfunction isEventHandler(key, value) {\n // This approach is more efficient than using a regex.\n const code0 = key.charCodeAt(0);\n const code1 = key.charCodeAt(1);\n const code2 = key.charCodeAt(2);\n return code0 === 111 /* o */ && code1 === 110 /* n */ && code2 >= 65 /* A */ && code2 <= 90 /* Z */ && (typeof value === 'function' || typeof value === 'undefined');\n}\nfunction isPropsGetter(inputProps) {\n return typeof inputProps === 'function';\n}\nfunction resolvePropsGetter(inputProps, previousProps) {\n if (isPropsGetter(inputProps)) {\n return inputProps(previousProps);\n }\n return inputProps ?? EMPTY_PROPS;\n}\nfunction mergeEventHandlers(ourHandler, theirHandler) {\n if (!theirHandler) {\n return ourHandler;\n }\n if (!ourHandler) {\n return wrapEventHandler(theirHandler);\n }\n return (...args) => {\n const event = args[0];\n if (isSyntheticEvent(event)) {\n const baseUIEvent = event;\n makeEventPreventable(baseUIEvent);\n const result = theirHandler(...args);\n if (!baseUIEvent.baseUIHandlerPrevented) {\n ourHandler?.(...args);\n }\n return result;\n }\n const result = theirHandler(...args);\n ourHandler?.(...args);\n return result;\n };\n}\nfunction wrapEventHandler(handler) {\n if (!handler) {\n return handler;\n }\n return (...args) => {\n const event = args[0];\n if (isSyntheticEvent(event)) {\n makeEventPreventable(event);\n }\n return handler(...args);\n };\n}\nexport function makeEventPreventable(event) {\n event.preventBaseUIHandler = () => {\n event.baseUIHandlerPrevented = true;\n };\n return event;\n}\nexport function mergeClassNames(ourClassName, theirClassName) {\n if (theirClassName) {\n if (ourClassName) {\n // eslint-disable-next-line prefer-template\n return theirClassName + ' ' + ourClassName;\n }\n return theirClassName;\n }\n return ourClassName;\n}\nfunction isSyntheticEvent(event) {\n return event != null && typeof event === 'object' && 'nativeEvent' in event;\n}"],"names":["EMPTY_PROPS","mergeProps","a","b","c","d","e","createInitialMergedProps","merged","mergeInto","mergePropsN","props","i","inputProps","isPropsGetter","resolvePropsGetter","copyInitialProps","mutablyMergeInto","copiedProps","propName","propValue","isEventHandler","wrapEventHandler","mergedProps","externalProps","externalPropValue","mergeObjects","mergeClassNames","mergeEventHandlers","key","value","code0","code1","code2","previousProps","ourHandler","theirHandler","args","event","isSyntheticEvent","baseUIEvent","makeEventPreventable","result","handler","ourClassName","theirClassName"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index263.js","sources":["../../../node_modules/@base-ui/utils/useValueAsRef.mjs"],"sourcesContent":["'use client';\n\nimport { useIsoLayoutEffect } from \"./useIsoLayoutEffect.mjs\";\nimport { useRefWithInit } from \"./useRefWithInit.mjs\";\n\n/**\n * Untracks the provided value by turning it into a ref to remove its reactivity.\n *\n * Used to access the passed value inside `React.useEffect` without causing the effect to re-run when the value changes.\n */\nexport function useValueAsRef(value) {\n const latest = useRefWithInit(createLatestRef, value).current;\n latest.next = value;\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useIsoLayoutEffect(latest.effect);\n return latest;\n}\nfunction createLatestRef(value) {\n const latest = {\n current: value,\n next: value,\n effect: () => {\n latest.current = latest.next;\n }\n };\n return latest;\n}"],"names":["useValueAsRef","value","latest","useRefWithInit","createLatestRef","useIsoLayoutEffect"],"mappings":";;AAUO,SAASA,EAAcC,GAAO;AACnC,QAAMC,IAASC,EAAeC,GAAiBH,CAAK,EAAE;AACtD,SAAAC,EAAO,OAAOD,GAGdI,EAAmBH,EAAO,MAAM,GACzBA;AACT;AACA,SAASE,EAAgBH,GAAO;AAC9B,QAAMC,IAAS;AAAA,IACb,SAASD;AAAA,IACT,MAAMA;AAAA,IACN,QAAQ,MAAM;AACZ,MAAAC,EAAO,UAAUA,EAAO;AAAA,IAC1B;AAAA,EACJ;AACE,SAAOA;AACT;","x_google_ignoreList":[0]}
package/dist/index264.js CHANGED
@@ -1,180 +1,9 @@
1
- import * as a from "react";
2
- import "react-dom";
3
- import { EMPTY_OBJECT as f } from "./index241.js";
4
- import { useId as T } from "./index368.js";
5
- import { useStableCallback as p } from "./index239.js";
6
- import { useIsoLayoutEffect as s } from "./index238.js";
7
- import { FOCUSABLE_ATTRIBUTE as v } from "./index397.js";
8
- import { useFloatingParentNodeId as C } from "./index406.js";
9
- import { useSyncedFloatingRootContext as E } from "./index409.js";
10
- import { useTransitionStatus as I } from "./index246.js";
11
- import { useOpenChangeComplete as O } from "./index249.js";
12
- import { createChangeEventDetails as S } from "./index248.js";
13
- import { none as P } from "./index266.js";
14
- const L = {
15
- tabIndex: -1,
16
- [v]: ""
17
- };
18
- function z(e) {
19
- return (t) => t === "touch" ? e.current : !0;
20
- }
21
- function V(e, t, i = !1) {
22
- const r = T(), u = C() != null, o = a.useRef(null);
23
- e === void 0 && o.current === null && (o.current = t(r, u));
24
- const n = e ?? o.current;
25
- return E({
26
- popupStore: n,
27
- treatPopupAsFloatingElement: i,
28
- floatingRootContext: n.state.floatingRootContext,
29
- floatingId: r,
30
- nested: u,
31
- onOpenChange: n.setOpen
32
- }), {
33
- store: n,
34
- internalStore: o.current
35
- };
36
- }
37
- function R(e, t) {
38
- const i = a.useRef(null), r = a.useRef(null);
39
- return a.useCallback((u) => {
40
- if (e === void 0)
41
- return;
42
- let o = !1;
43
- if (i.current !== null) {
44
- const n = i.current, g = r.current, l = t.context.triggerElements.getById(n);
45
- g && l === g && (t.context.triggerElements.delete(n), o = !0), i.current = null, r.current = null;
46
- }
47
- if (u !== null && (i.current = e, r.current = u, t.context.triggerElements.add(e, u), o = !0), o) {
48
- const n = t.context.triggerElements.size;
49
- t.select("open") && t.state.triggerCount !== n && t.set("triggerCount", n);
50
- }
51
- }, [t, e]);
52
- }
53
- function j(e, t, i, r = !1) {
54
- t ? e.preventUnmountingOnClose = !1 : r && (e.preventUnmountingOnClose = !0);
55
- const u = i?.id ?? null;
56
- (u || t) && (e.activeTriggerId = u, e.activeTriggerElement = i ?? null);
57
- }
58
- function q(e, t, i, r) {
59
- const u = i.useState("isMountedByTrigger", e), o = R(e, i), n = p((g) => {
60
- if (o(g), !g)
61
- return;
62
- const l = i.select("open"), c = i.select("activeTriggerId");
63
- if (c === e) {
64
- i.update({
65
- activeTriggerElement: g,
66
- ...l ? r : null
67
- });
68
- return;
69
- }
70
- c == null && l && i.update({
71
- activeTriggerId: e,
72
- activeTriggerElement: g,
73
- ...r
74
- });
75
- });
76
- return s(() => {
77
- u && i.update({
78
- activeTriggerElement: t.current,
79
- ...r
80
- });
81
- }, [u, i, t, ...Object.values(r)]), {
82
- registerTrigger: n,
83
- isMountedByThisTrigger: u
84
- };
85
- }
86
- function w(e, t = {}) {
87
- const {
88
- closeOnActiveTriggerUnmount: i = !1
89
- } = t, r = e.useState("open"), u = e.useState("triggerCount");
90
- s(() => {
91
- if (!r) {
92
- e.state.triggerCount !== 0 && e.set("triggerCount", 0);
93
- return;
94
- }
95
- const o = e.context.triggerElements.size, n = {};
96
- e.state.triggerCount !== o && (n.triggerCount = o);
97
- const g = e.select("activeTriggerId");
98
- let l = null;
99
- if (g) {
100
- const c = e.context.triggerElements.getById(g);
101
- c ? c !== e.state.activeTriggerElement && (n.activeTriggerElement = c) : l = g;
102
- }
103
- if (!l && !g && o === 1) {
104
- const c = e.context.triggerElements.entries().next();
105
- if (!c.done) {
106
- const [m, d] = c.value;
107
- n.activeTriggerId = m, n.activeTriggerElement = d;
108
- }
109
- }
110
- (n.triggerCount !== void 0 || n.activeTriggerId !== void 0 || n.activeTriggerElement !== void 0) && e.update(n), l && i && queueMicrotask(() => {
111
- if (e.select("open") && e.select("activeTriggerId") === l && !e.context.triggerElements.getById(l)) {
112
- const c = S(P);
113
- e.setOpen(!1, c), c.isCanceled || e.update({
114
- activeTriggerId: null,
115
- activeTriggerElement: null
116
- });
117
- }
118
- });
119
- }, [r, e, u, i]);
120
- }
121
- function J(e, t, i) {
122
- const {
123
- mounted: r,
124
- setMounted: u,
125
- transitionStatus: o
126
- } = I(e), n = t.useState("preventUnmountingOnClose"), g = e ? !1 : n;
127
- t.useSyncedValues({
128
- mounted: r,
129
- transitionStatus: o,
130
- preventUnmountingOnClose: g
131
- });
132
- const l = p(() => {
133
- u(!1), t.update({
134
- activeTriggerId: null,
135
- activeTriggerElement: null,
136
- mounted: !1,
137
- preventUnmountingOnClose: !1
138
- }), t.context.onOpenChangeComplete?.(!1);
139
- });
140
- return O({
141
- enabled: r && !e && !g,
142
- open: e,
143
- ref: t.context.popupRef,
144
- onComplete() {
145
- e || l();
146
- }
147
- }), {
148
- forceUnmount: l,
149
- transitionStatus: o
150
- };
151
- }
152
- function N(e, t) {
153
- e.useSyncedValues(t), s(() => () => {
154
- e.update({
155
- activeTriggerProps: f,
156
- inactiveTriggerProps: f,
157
- popupProps: f
158
- });
159
- }, [e]);
160
- }
161
- function Y(e, t) {
162
- s(() => {
163
- !t && e.state.openMethod !== null && e.set("openMethod", null);
164
- }, [t, e]), s(() => () => {
165
- e.state.openMethod !== null && e.set("openMethod", null);
166
- }, [e]);
1
+ function e() {
167
2
  }
3
+ const t = Object.freeze([]), c = Object.freeze({});
168
4
  export {
169
- L as FOCUSABLE_POPUP_PROPS,
170
- z as createDefaultInitialFocus,
171
- j as setPopupOpenState,
172
- w as useImplicitActiveTrigger,
173
- J as useOpenStateTransitions,
174
- N as usePopupInteractionProps,
175
- Y as usePopupRootSync,
176
- V as usePopupStore,
177
- q as useTriggerDataForwarding,
178
- R as useTriggerRegistration
5
+ t as EMPTY_ARRAY,
6
+ c as EMPTY_OBJECT,
7
+ e as NOOP
179
8
  };
180
9
  //# sourceMappingURL=index264.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index264.js","sources":["../../../node_modules/@base-ui/react/utils/popups/popupStoreUtils.mjs"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport { EMPTY_OBJECT } from '@base-ui/utils/empty';\nimport { useId } from '@base-ui/utils/useId';\nimport { useStableCallback } from '@base-ui/utils/useStableCallback';\nimport { useIsoLayoutEffect } from '@base-ui/utils/useIsoLayoutEffect';\nimport { useOnFirstRender } from '@base-ui/utils/useOnFirstRender';\nimport { FOCUSABLE_ATTRIBUTE } from \"../../floating-ui-react/utils/constants.mjs\";\nimport { useFloatingParentNodeId } from \"../../floating-ui-react/components/FloatingTree.mjs\";\nimport { useSyncedFloatingRootContext } from \"../../floating-ui-react/hooks/useSyncedFloatingRootContext.mjs\";\nimport { useTransitionStatus } from \"../../internals/useTransitionStatus.mjs\";\nimport { useOpenChangeComplete } from \"../../internals/useOpenChangeComplete.mjs\";\nimport { createChangeEventDetails } from \"../../internals/createBaseUIEventDetails.mjs\";\nimport { REASONS } from \"../../internals/reasons.mjs\";\nexport const FOCUSABLE_POPUP_PROPS = {\n tabIndex: -1,\n [FOCUSABLE_ATTRIBUTE]: ''\n};\n\n/**\n * Returns the default `initialFocus` resolver for a popup. When opened by touch it focuses the\n * popup element itself to prevent the virtual keyboard from opening (required for Android\n * specifically; iOS handles this automatically). Otherwise it falls back to the default behavior.\n */\nexport function createDefaultInitialFocus(popupRef) {\n return interactionType => interactionType === 'touch' ? popupRef.current : true;\n}\nexport function usePopupStore(externalStore, createStore, treatPopupAsFloatingElement = false) {\n const floatingId = useId();\n const nested = useFloatingParentNodeId() != null;\n const internalStoreRef = React.useRef(null);\n if (externalStore === undefined && internalStoreRef.current === null) {\n internalStoreRef.current = createStore(floatingId, nested);\n }\n const store = externalStore ?? internalStoreRef.current;\n useSyncedFloatingRootContext({\n popupStore: store,\n treatPopupAsFloatingElement,\n floatingRootContext: store.state.floatingRootContext,\n floatingId,\n nested,\n onOpenChange: store.setOpen\n });\n return {\n store,\n internalStore: internalStoreRef.current\n };\n}\n\n/**\n * Returns a callback ref that registers/unregisters the trigger element in the store.\n *\n * @param store The Store instance where the trigger should be registered.\n */\nexport function useTriggerRegistration(id, store) {\n // Keep track of the currently registered element to unregister it on unmount or id change.\n const registeredElementIdRef = React.useRef(null);\n const registeredElementRef = React.useRef(null);\n return React.useCallback(element => {\n if (id === undefined) {\n return;\n }\n let shouldSyncTriggerCount = false;\n if (registeredElementIdRef.current !== null) {\n const registeredId = registeredElementIdRef.current;\n const registeredElement = registeredElementRef.current;\n const currentElement = store.context.triggerElements.getById(registeredId);\n if (registeredElement && currentElement === registeredElement) {\n store.context.triggerElements.delete(registeredId);\n shouldSyncTriggerCount = true;\n }\n registeredElementIdRef.current = null;\n registeredElementRef.current = null;\n }\n if (element !== null) {\n registeredElementIdRef.current = id;\n registeredElementRef.current = element;\n store.context.triggerElements.add(id, element);\n shouldSyncTriggerCount = true;\n }\n if (shouldSyncTriggerCount) {\n const triggerCount = store.context.triggerElements.size;\n if (store.select('open') && store.state.triggerCount !== triggerCount) {\n store.set('triggerCount', triggerCount);\n }\n }\n }, [store, id]);\n}\nexport function setPopupOpenState(state, open, trigger, preventUnmountOnClose = false) {\n if (open) {\n // Opening starts a new close cycle, so clear any previous request to keep the popup mounted.\n state.preventUnmountingOnClose = false;\n } else if (preventUnmountOnClose) {\n state.preventUnmountingOnClose = true;\n }\n const triggerId = trigger?.id ?? null;\n\n // If a popup is closing, the `trigger` may be undefined.\n // We want to keep the previous value so that exit animations are played and focus is returned correctly.\n if (triggerId || open) {\n state.activeTriggerId = triggerId;\n state.activeTriggerElement = trigger ?? null;\n }\n}\nexport function attachPreventUnmountOnClose(eventDetails) {\n let preventUnmountOnClose = false;\n eventDetails.preventUnmountOnClose = () => {\n preventUnmountOnClose = true;\n };\n return () => preventUnmountOnClose;\n}\n\n/**\n * Runs the shared open-change sequence for a popup store: notifies `onOpenChange`,\n * honors cancellation, dispatches the floating root change, maps the reason to an\n * `instantType`, and commits the state update (synchronously for hover so\n * `getAnimations()` observes it). Stores supply their own differences via\n * `extraState` (e.g. the last change reason) and `onBeforeDispatch` (e.g. updating\n * inline-rect coordinates).\n */\nexport function applyPopupOpenChange(store, nextOpen, eventDetails, options = {}) {\n const reason = eventDetails.reason;\n const isHover = reason === REASONS.triggerHover;\n const isFocusOpen = nextOpen && reason === REASONS.triggerFocus;\n const isDismissClose = !nextOpen && (reason === REASONS.triggerPress || reason === REASONS.escapeKey);\n const shouldPreventUnmountOnClose = attachPreventUnmountOnClose(eventDetails);\n store.context.onOpenChange?.(nextOpen, eventDetails);\n if (eventDetails.isCanceled) {\n return;\n }\n options.onBeforeDispatch?.();\n store.state.floatingRootContext.dispatchOpenChange(nextOpen, eventDetails);\n const changeState = () => {\n // Spread `extraState` first so `open` always reflects `nextOpen`, keeping it in\n // sync with the value already passed to `dispatchOpenChange`/`setPopupOpenState`.\n const updatedState = {\n ...options.extraState,\n open: nextOpen\n };\n if (isFocusOpen) {\n updatedState.instantType = 'focus';\n } else if (isDismissClose) {\n updatedState.instantType = 'dismiss';\n } else if (isHover) {\n updatedState.instantType = undefined;\n }\n setPopupOpenState(updatedState, nextOpen, eventDetails.trigger, shouldPreventUnmountOnClose());\n store.update(updatedState);\n };\n if (isHover) {\n // Flush synchronously for hover so `node.getAnimations()` sees the new state.\n ReactDOM.flushSync(changeState);\n } else {\n changeState();\n }\n}\nexport function useInitialOpenSync(store, openProp, defaultOpen, defaultTriggerId) {\n useOnFirstRender(() => {\n if (openProp === undefined && store.state.open === false && defaultOpen) {\n // Avoid notifying detached trigger subscribers while the Root is rendering.\n store.state = {\n ...store.state,\n open: true,\n activeTriggerId: defaultTriggerId,\n preventUnmountingOnClose: false\n };\n }\n });\n}\n\n/**\n * Sets up trigger data forwarding to the store.\n *\n * @param triggerId Id of the trigger.\n * @param triggerElementRef Ref for the trigger DOM element.\n * @param store The Store instance managing the popup state.\n * @param stateUpdates An object with state updates to apply when the trigger is active.\n */\nexport function useTriggerDataForwarding(triggerId, triggerElementRef, store, stateUpdates) {\n const isMountedByThisTrigger = store.useState('isMountedByTrigger', triggerId);\n const baseRegisterTrigger = useTriggerRegistration(triggerId, store);\n const registerTrigger = useStableCallback(element => {\n baseRegisterTrigger(element);\n if (!element) {\n return;\n }\n const open = store.select('open');\n const activeTriggerId = store.select('activeTriggerId');\n if (activeTriggerId === triggerId) {\n store.update({\n activeTriggerElement: element,\n ...(open ? stateUpdates : null)\n });\n return;\n }\n if (activeTriggerId == null && open) {\n // If a popup is already open, a detached trigger can mount before any active trigger\n // has been established. Claim the first registered trigger so trigger-owned focus\n // management and ARIA relationships work.\n store.update({\n activeTriggerId: triggerId,\n activeTriggerElement: element,\n ...stateUpdates\n });\n }\n });\n useIsoLayoutEffect(() => {\n if (isMountedByThisTrigger) {\n store.update({\n activeTriggerElement: triggerElementRef.current,\n ...stateUpdates\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isMountedByThisTrigger, store, triggerElementRef, ...Object.values(stateUpdates)]);\n return {\n registerTrigger,\n isMountedByThisTrigger\n };\n}\n/**\n * Keeps trigger registration state synchronized while the popup is open.\n *\n * When a popup opens without an explicit trigger id and exactly one trigger is registered, that\n * trigger is claimed as the active trigger. When the active trigger id is still registered but its\n * element changed, the active element is refreshed. When the active trigger unregisters, the\n * default path preserves existing ownership so non-closing popup families do not silently claim a\n * different trigger while staying open.\n *\n * If `closeOnActiveTriggerUnmount` is enabled, unregistering the active trigger requests a close\n * after a microtask so a same-tick replacement trigger with the same id can register first.\n *\n * This should be called on the Root part.\n *\n * @param store The Store instance managing the popup state.\n * @param options Options for active trigger unmount behavior.\n */\nexport function useImplicitActiveTrigger(store, options = {}) {\n const {\n closeOnActiveTriggerUnmount = false\n } = options;\n const open = store.useState('open');\n const reactiveTriggerCount = store.useState('triggerCount');\n useIsoLayoutEffect(() => {\n if (!open) {\n if (store.state.triggerCount !== 0) {\n store.set('triggerCount', 0);\n }\n return;\n }\n const triggerCount = store.context.triggerElements.size;\n const stateUpdates = {};\n if (store.state.triggerCount !== triggerCount) {\n stateUpdates.triggerCount = triggerCount;\n }\n const activeTriggerId = store.select('activeTriggerId');\n let lostActiveTriggerId = null;\n if (activeTriggerId) {\n const activeTriggerElement = store.context.triggerElements.getById(activeTriggerId);\n if (!activeTriggerElement) {\n lostActiveTriggerId = activeTriggerId;\n } else if (activeTriggerElement !== store.state.activeTriggerElement) {\n stateUpdates.activeTriggerElement = activeTriggerElement;\n }\n }\n if (!lostActiveTriggerId && !activeTriggerId && triggerCount === 1) {\n const iteratorResult = store.context.triggerElements.entries().next();\n if (!iteratorResult.done) {\n const [implicitTriggerId, implicitTriggerElement] = iteratorResult.value;\n stateUpdates.activeTriggerId = implicitTriggerId;\n stateUpdates.activeTriggerElement = implicitTriggerElement;\n }\n }\n if (stateUpdates.triggerCount !== undefined || stateUpdates.activeTriggerId !== undefined || stateUpdates.activeTriggerElement !== undefined) {\n store.update(stateUpdates);\n }\n if (lostActiveTriggerId) {\n if (closeOnActiveTriggerUnmount) {\n // Defer so a same-tick replacement trigger with the same id can register first.\n queueMicrotask(() => {\n if (store.select('open') && store.select('activeTriggerId') === lostActiveTriggerId && !store.context.triggerElements.getById(lostActiveTriggerId)) {\n const eventDetails = createChangeEventDetails(REASONS.none);\n store.setOpen(false, eventDetails);\n // If closing is canceled, keep the previous active trigger ownership for the\n // still-open popup instead of claiming another trigger implicitly.\n if (!eventDetails.isCanceled) {\n store.update({\n activeTriggerId: null,\n activeTriggerElement: null\n });\n }\n }\n });\n }\n }\n }, [open, store, reactiveTriggerCount, closeOnActiveTriggerUnmount]);\n}\n\n/**\n * Manages the mounted state of the popup.\n * Sets up the transition status listeners and handles unmounting when needed.\n * Updates the `mounted`, `transitionStatus`, and `preventUnmountingOnClose` states in the store.\n *\n * @param open Whether the popup is open.\n * @param store The Store instance managing the popup state.\n * @param onUnmount Optional callback to be called when the popup is unmounted.\n *\n * @returns A function to forcibly unmount the popup.\n */\nexport function useOpenStateTransitions(open, store, onUnmount) {\n const {\n mounted,\n setMounted,\n transitionStatus\n } = useTransitionStatus(open);\n const preventUnmountingOnClose = store.useState('preventUnmountingOnClose');\n // Opening starts a new close cycle. Clear during render so the close-completion hook below\n // reads the synchronized value on the same pass.\n const syncedPreventUnmountingOnClose = open ? false : preventUnmountingOnClose;\n store.useSyncedValues({\n mounted,\n transitionStatus,\n preventUnmountingOnClose: syncedPreventUnmountingOnClose\n });\n const forceUnmount = useStableCallback(() => {\n setMounted(false);\n store.update({\n activeTriggerId: null,\n activeTriggerElement: null,\n mounted: false,\n preventUnmountingOnClose: false\n });\n onUnmount?.();\n store.context.onOpenChangeComplete?.(false);\n });\n useOpenChangeComplete({\n enabled: mounted && !open && !syncedPreventUnmountingOnClose,\n open,\n ref: store.context.popupRef,\n onComplete() {\n if (!open) {\n forceUnmount();\n }\n }\n });\n return {\n forceUnmount,\n transitionStatus\n };\n}\nexport function usePopupInteractionProps(store, statePart) {\n store.useSyncedValues(statePart);\n useIsoLayoutEffect(() => () => {\n store.update({\n activeTriggerProps: EMPTY_OBJECT,\n inactiveTriggerProps: EMPTY_OBJECT,\n popupProps: EMPTY_OBJECT\n });\n }, [store]);\n}\nexport function usePopupRootSync(store, open) {\n useIsoLayoutEffect(() => {\n if (!open && store.state.openMethod !== null) {\n store.set('openMethod', null);\n }\n }, [open, store]);\n useIsoLayoutEffect(() => () => {\n if (store.state.openMethod !== null) {\n store.set('openMethod', null);\n }\n }, [store]);\n}"],"names":["FOCUSABLE_POPUP_PROPS","FOCUSABLE_ATTRIBUTE","createDefaultInitialFocus","popupRef","interactionType","usePopupStore","externalStore","createStore","treatPopupAsFloatingElement","floatingId","useId","nested","useFloatingParentNodeId","internalStoreRef","React","store","useSyncedFloatingRootContext","useTriggerRegistration","id","registeredElementIdRef","registeredElementRef","element","shouldSyncTriggerCount","registeredId","registeredElement","currentElement","triggerCount","setPopupOpenState","state","open","trigger","preventUnmountOnClose","triggerId","useTriggerDataForwarding","triggerElementRef","stateUpdates","isMountedByThisTrigger","baseRegisterTrigger","registerTrigger","useStableCallback","activeTriggerId","useIsoLayoutEffect","useImplicitActiveTrigger","options","closeOnActiveTriggerUnmount","reactiveTriggerCount","lostActiveTriggerId","activeTriggerElement","iteratorResult","implicitTriggerId","implicitTriggerElement","eventDetails","createChangeEventDetails","REASONS.none","useOpenStateTransitions","onUnmount","mounted","setMounted","transitionStatus","useTransitionStatus","preventUnmountingOnClose","syncedPreventUnmountingOnClose","forceUnmount","useOpenChangeComplete","usePopupInteractionProps","statePart","EMPTY_OBJECT","usePopupRootSync"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index264.js","sources":["../../../node_modules/@base-ui/utils/empty.mjs"],"sourcesContent":["export function NOOP() {}\nexport const EMPTY_ARRAY = Object.freeze([]);\nexport const EMPTY_OBJECT = Object.freeze({});"],"names":["NOOP","EMPTY_ARRAY","EMPTY_OBJECT"],"mappings":"AAAO,SAASA,IAAO;AAAC;AACZ,MAACC,IAAc,OAAO,OAAO,CAAA,CAAE,GAC9BC,IAAe,OAAO,OAAO,CAAA,CAAE;","x_google_ignoreList":[0]}