@rpcbase/ui 0.243.0 → 0.245.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (518) hide show
  1. package/dist/index10.js +2 -2
  2. package/dist/index106.js +1 -1
  3. package/dist/index11.js +2 -2
  4. package/dist/index12.js +3 -3
  5. package/dist/index13.js +2 -2
  6. package/dist/index14.js +2 -2
  7. package/dist/index149.js +14 -5
  8. package/dist/index149.js.map +1 -1
  9. package/dist/index15.js +2 -2
  10. package/dist/index150.js +63 -63
  11. package/dist/index150.js.map +1 -1
  12. package/dist/index151.js +38 -2
  13. package/dist/index151.js.map +1 -1
  14. package/dist/index152.js +13 -385
  15. package/dist/index152.js.map +1 -1
  16. package/dist/index153.js +23 -261
  17. package/dist/index153.js.map +1 -1
  18. package/dist/index154.js +109 -58
  19. package/dist/index154.js.map +1 -1
  20. package/dist/index155.js +13 -47
  21. package/dist/index155.js.map +1 -1
  22. package/dist/index156.js +4 -169
  23. package/dist/index156.js.map +1 -1
  24. package/dist/index157.js +4 -110
  25. package/dist/index157.js.map +1 -1
  26. package/dist/index158.js +5 -25
  27. package/dist/index158.js.map +1 -1
  28. package/dist/index159.js +12 -8
  29. package/dist/index159.js.map +1 -1
  30. package/dist/index16.js +8 -8
  31. package/dist/index160.js +19 -4
  32. package/dist/index160.js.map +1 -1
  33. package/dist/index161.js +11 -6
  34. package/dist/index161.js.map +1 -1
  35. package/dist/index162.js +176 -4
  36. package/dist/index162.js.map +1 -1
  37. package/dist/index163.js +268 -476
  38. package/dist/index163.js.map +1 -1
  39. package/dist/index164.js +4 -189
  40. package/dist/index164.js.map +1 -1
  41. package/dist/index165.js +28 -14
  42. package/dist/index165.js.map +1 -1
  43. package/dist/index166.js +124 -105
  44. package/dist/index166.js.map +1 -1
  45. package/dist/index167.js +63 -262
  46. package/dist/index167.js.map +1 -1
  47. package/dist/index168.js +8 -6
  48. package/dist/index168.js.map +1 -1
  49. package/dist/index169.js +15 -40
  50. package/dist/index169.js.map +1 -1
  51. package/dist/index17.js +1 -1
  52. package/dist/index170.js +30 -4
  53. package/dist/index170.js.map +1 -1
  54. package/dist/index171.js +69 -14
  55. package/dist/index171.js.map +1 -1
  56. package/dist/index172.js +5 -68
  57. package/dist/index172.js.map +1 -1
  58. package/dist/index173.js +66 -35
  59. package/dist/index173.js.map +1 -1
  60. package/dist/index174.js +2 -14
  61. package/dist/index174.js.map +1 -1
  62. package/dist/index175.js +384 -22
  63. package/dist/index175.js.map +1 -1
  64. package/dist/index176.js +258 -108
  65. package/dist/index176.js.map +1 -1
  66. package/dist/index177.js +61 -13
  67. package/dist/index177.js.map +1 -1
  68. package/dist/index178.js +46 -4
  69. package/dist/index178.js.map +1 -1
  70. package/dist/index179.js +170 -4
  71. package/dist/index179.js.map +1 -1
  72. package/dist/index18.js +7 -7
  73. package/dist/index180.js +110 -5
  74. package/dist/index180.js.map +1 -1
  75. package/dist/index181.js +24 -11
  76. package/dist/index181.js.map +1 -1
  77. package/dist/index182.js +8 -20
  78. package/dist/index182.js.map +1 -1
  79. package/dist/index183.js +5 -11
  80. package/dist/index183.js.map +1 -1
  81. package/dist/index184.js +5 -176
  82. package/dist/index184.js.map +1 -1
  83. package/dist/index185.js +4 -279
  84. package/dist/index185.js.map +1 -1
  85. package/dist/index186.js +487 -4
  86. package/dist/index186.js.map +1 -1
  87. package/dist/index187.js +189 -27
  88. package/dist/index187.js.map +1 -1
  89. package/dist/index188.js +13 -126
  90. package/dist/index188.js.map +1 -1
  91. package/dist/index189.js +107 -63
  92. package/dist/index189.js.map +1 -1
  93. package/dist/index19.js +16 -16
  94. package/dist/index190.js +262 -8
  95. package/dist/index190.js.map +1 -1
  96. package/dist/index191.js +7 -16
  97. package/dist/index191.js.map +1 -1
  98. package/dist/index192.js +39 -29
  99. package/dist/index192.js.map +1 -1
  100. package/dist/index193.js +4 -69
  101. package/dist/index193.js.map +1 -1
  102. package/dist/index21.js +1 -1
  103. package/dist/index22.js +2 -2
  104. package/dist/index23.js +1 -1
  105. package/dist/index24.js +1 -1
  106. package/dist/index246.js +1 -1
  107. package/dist/index25.js +1 -1
  108. package/dist/index252.js +1 -1
  109. package/dist/index254.js +58 -146
  110. package/dist/index254.js.map +1 -1
  111. package/dist/index255.js +8 -32
  112. package/dist/index255.js.map +1 -1
  113. package/dist/index256.js +11 -11
  114. package/dist/index256.js.map +1 -1
  115. package/dist/index257.js +7 -48
  116. package/dist/index257.js.map +1 -1
  117. package/dist/index258.js +5 -9
  118. package/dist/index258.js.map +1 -1
  119. package/dist/index259.js +13 -11
  120. package/dist/index259.js.map +1 -1
  121. package/dist/index260.js +3 -43
  122. package/dist/index260.js.map +1 -1
  123. package/dist/index261.js +3 -97
  124. package/dist/index261.js.map +1 -1
  125. package/dist/index262.js +87 -74
  126. package/dist/index262.js.map +1 -1
  127. package/dist/index263.js +16 -104
  128. package/dist/index263.js.map +1 -1
  129. package/dist/index264.js +27 -50
  130. package/dist/index264.js.map +1 -1
  131. package/dist/index265.js +51 -11
  132. package/dist/index265.js.map +1 -1
  133. package/dist/index266.js +5 -4
  134. package/dist/index266.js.map +1 -1
  135. package/dist/index267.js +5 -37
  136. package/dist/index267.js.map +1 -1
  137. package/dist/index268.js +61 -8
  138. package/dist/index268.js.map +1 -1
  139. package/dist/index269.js +61 -130
  140. package/dist/index269.js.map +1 -1
  141. package/dist/index270.js +133 -17
  142. package/dist/index270.js.map +1 -1
  143. package/dist/index271.js +7 -14
  144. package/dist/index271.js.map +1 -1
  145. package/dist/index272.js +5 -4
  146. package/dist/index272.js.map +1 -1
  147. package/dist/index273.js +4 -37
  148. package/dist/index273.js.map +1 -1
  149. package/dist/index274.js +11 -20
  150. package/dist/index274.js.map +1 -1
  151. package/dist/index275.js +21 -8
  152. package/dist/index275.js.map +1 -1
  153. package/dist/index276.js +16 -9
  154. package/dist/index276.js.map +1 -1
  155. package/dist/index277.js +11 -24
  156. package/dist/index277.js.map +1 -1
  157. package/dist/index278.js +8 -29
  158. package/dist/index278.js.map +1 -1
  159. package/dist/index279.js +142 -14
  160. package/dist/index279.js.map +1 -1
  161. package/dist/index28.js +1 -1
  162. package/dist/index280.js +79 -19
  163. package/dist/index280.js.map +1 -1
  164. package/dist/index281.js +60 -65
  165. package/dist/index281.js.map +1 -1
  166. package/dist/index282.js +15 -7
  167. package/dist/index282.js.map +1 -1
  168. package/dist/index283.js +20 -6
  169. package/dist/index283.js.map +1 -1
  170. package/dist/index284.js +6 -11
  171. package/dist/index284.js.map +1 -1
  172. package/dist/index285.js +11 -3
  173. package/dist/index285.js.map +1 -1
  174. package/dist/index286.js +3 -50
  175. package/dist/index286.js.map +1 -1
  176. package/dist/index287.js +51 -4
  177. package/dist/index287.js.map +1 -1
  178. package/dist/index288.js +12 -25
  179. package/dist/index288.js.map +1 -1
  180. package/dist/index289.js +19 -14
  181. package/dist/index289.js.map +1 -1
  182. package/dist/index29.js +3 -56
  183. package/dist/index29.js.map +1 -1
  184. package/dist/index290.js +53 -5
  185. package/dist/index290.js.map +1 -1
  186. package/dist/index291.js +20 -21
  187. package/dist/index291.js.map +1 -1
  188. package/dist/index292.js +41 -53
  189. package/dist/index292.js.map +1 -1
  190. package/dist/index293.js +38 -19
  191. package/dist/index293.js.map +1 -1
  192. package/dist/index294.js +46 -42
  193. package/dist/index294.js.map +1 -1
  194. package/dist/index295.js +19 -38
  195. package/dist/index295.js.map +1 -1
  196. package/dist/index296.js +71 -46
  197. package/dist/index296.js.map +1 -1
  198. package/dist/index297.js +17 -20
  199. package/dist/index297.js.map +1 -1
  200. package/dist/index298.js +3 -70
  201. package/dist/index298.js.map +1 -1
  202. package/dist/index299.js +12 -16
  203. package/dist/index299.js.map +1 -1
  204. package/dist/index3.js +2 -2
  205. package/dist/index30.js +242 -3
  206. package/dist/index30.js.map +1 -1
  207. package/dist/index300.js +18 -3
  208. package/dist/index300.js.map +1 -1
  209. package/dist/index301.js +36 -11
  210. package/dist/index301.js.map +1 -1
  211. package/dist/index302.js +238 -12
  212. package/dist/index302.js.map +1 -1
  213. package/dist/index303.js +249 -15
  214. package/dist/index303.js.map +1 -1
  215. package/dist/index304.js +67 -35
  216. package/dist/index304.js.map +1 -1
  217. package/dist/index305.js +77 -233
  218. package/dist/index305.js.map +1 -1
  219. package/dist/index306.js +3 -252
  220. package/dist/index306.js.map +1 -1
  221. package/dist/index307.js +29 -68
  222. package/dist/index307.js.map +1 -1
  223. package/dist/index308.js +16 -99
  224. package/dist/index308.js.map +1 -1
  225. package/dist/index309.js +33 -82
  226. package/dist/index309.js.map +1 -1
  227. package/dist/index31.js +21 -239
  228. package/dist/index31.js.map +1 -1
  229. package/dist/index310.js +17 -3
  230. package/dist/index310.js.map +1 -1
  231. package/dist/index311.js +3 -29
  232. package/dist/index311.js.map +1 -1
  233. package/dist/index312.js +26 -16
  234. package/dist/index312.js.map +1 -1
  235. package/dist/index313.js +28 -34
  236. package/dist/index313.js.map +1 -1
  237. package/dist/index314.js +4 -18
  238. package/dist/index314.js.map +1 -1
  239. package/dist/index315.js +78 -3
  240. package/dist/index315.js.map +1 -1
  241. package/dist/index316.js +269 -23
  242. package/dist/index316.js.map +1 -1
  243. package/dist/index317.js +10 -27
  244. package/dist/index317.js.map +1 -1
  245. package/dist/index318.js +11 -4
  246. package/dist/index318.js.map +1 -1
  247. package/dist/index319.js +24 -77
  248. package/dist/index319.js.map +1 -1
  249. package/dist/index32.js +4 -23
  250. package/dist/index32.js.map +1 -1
  251. package/dist/index320.js +15 -271
  252. package/dist/index320.js.map +1 -1
  253. package/dist/index321.js +125 -11
  254. package/dist/index321.js.map +1 -1
  255. package/dist/index322.js +5 -10
  256. package/dist/index322.js.map +1 -1
  257. package/dist/index323.js +64 -24
  258. package/dist/index323.js.map +1 -1
  259. package/dist/index324.js +14 -17
  260. package/dist/index324.js.map +1 -1
  261. package/dist/index325.js +7 -125
  262. package/dist/index325.js.map +1 -1
  263. package/dist/index326.js +5 -5
  264. package/dist/index326.js.map +1 -1
  265. package/dist/index327.js +3 -65
  266. package/dist/index327.js.map +1 -1
  267. package/dist/index328.js +10 -13
  268. package/dist/index328.js.map +1 -1
  269. package/dist/index329.js +7 -7
  270. package/dist/index329.js.map +1 -1
  271. package/dist/index33.js +6 -3
  272. package/dist/index33.js.map +1 -1
  273. package/dist/index330.js +399 -5
  274. package/dist/index330.js.map +1 -1
  275. package/dist/index331.js +5 -4
  276. package/dist/index331.js.map +1 -1
  277. package/dist/index332.js +52 -10
  278. package/dist/index332.js.map +1 -1
  279. package/dist/index333.js +10 -6
  280. package/dist/index333.js.map +1 -1
  281. package/dist/index334.js +22 -128
  282. package/dist/index334.js.map +1 -1
  283. package/dist/index335.js +11 -399
  284. package/dist/index335.js.map +1 -1
  285. package/dist/index336.js +155 -5
  286. package/dist/index336.js.map +1 -1
  287. package/dist/index337.js +31 -51
  288. package/dist/index337.js.map +1 -1
  289. package/dist/index338.js +11 -11
  290. package/dist/index338.js.map +1 -1
  291. package/dist/index339.js +45 -23
  292. package/dist/index339.js.map +1 -1
  293. package/dist/index34.js +38 -8
  294. package/dist/index34.js.map +1 -1
  295. package/dist/index340.js +9 -11
  296. package/dist/index340.js.map +1 -1
  297. package/dist/index341.js +11 -8
  298. package/dist/index341.js.map +1 -1
  299. package/dist/index342.js +43 -11
  300. package/dist/index342.js.map +1 -1
  301. package/dist/index343.js +96 -7
  302. package/dist/index343.js.map +1 -1
  303. package/dist/index344.js +84 -11
  304. package/dist/index344.js.map +1 -1
  305. package/dist/index345.js +105 -3
  306. package/dist/index345.js.map +1 -1
  307. package/dist/index346.js +52 -3
  308. package/dist/index346.js.map +1 -1
  309. package/dist/index347.js +10 -16
  310. package/dist/index347.js.map +1 -1
  311. package/dist/index348.js +4 -61
  312. package/dist/index348.js.map +1 -1
  313. package/dist/index349.js +34 -63
  314. package/dist/index349.js.map +1 -1
  315. package/dist/index35.js +74 -35
  316. package/dist/index35.js.map +1 -1
  317. package/dist/index350.js +8 -51
  318. package/dist/index350.js.map +1 -1
  319. package/dist/index351.js +135 -5
  320. package/dist/index351.js.map +1 -1
  321. package/dist/index352.js +17 -8
  322. package/dist/index352.js.map +1 -1
  323. package/dist/index353.js +16 -5
  324. package/dist/index353.js.map +1 -1
  325. package/dist/index354.js +3 -11
  326. package/dist/index354.js.map +1 -1
  327. package/dist/index355.js +34 -19
  328. package/dist/index355.js.map +1 -1
  329. package/dist/index356.js +20 -16
  330. package/dist/index356.js.map +1 -1
  331. package/dist/index357.js +10 -8
  332. package/dist/index357.js.map +1 -1
  333. package/dist/index358.js +8 -144
  334. package/dist/index358.js.map +1 -1
  335. package/dist/index359.js +22 -77
  336. package/dist/index359.js.map +1 -1
  337. package/dist/index36.js +20 -74
  338. package/dist/index36.js.map +1 -1
  339. package/dist/index360.js +28 -61
  340. package/dist/index360.js.map +1 -1
  341. package/dist/index361.js +17 -15
  342. package/dist/index361.js.map +1 -1
  343. package/dist/index363.js +5 -5
  344. package/dist/index365.js +8 -4
  345. package/dist/index365.js.map +1 -1
  346. package/dist/index366.js +27 -21
  347. package/dist/index366.js.map +1 -1
  348. package/dist/index367.js +138 -4
  349. package/dist/index367.js.map +1 -1
  350. package/dist/index368.js +11 -10
  351. package/dist/index368.js.map +1 -1
  352. package/dist/index369.js +46 -5
  353. package/dist/index369.js.map +1 -1
  354. package/dist/index37.js +33 -18
  355. package/dist/index37.js.map +1 -1
  356. package/dist/index370.js +4 -3
  357. package/dist/index370.js.map +1 -1
  358. package/dist/index371.js +20 -19
  359. package/dist/index371.js.map +1 -1
  360. package/dist/index372.js +75 -44
  361. package/dist/index372.js.map +1 -1
  362. package/dist/index373.js +11 -17
  363. package/dist/index373.js.map +1 -1
  364. package/dist/index374.js +4 -5
  365. package/dist/index374.js.map +1 -1
  366. package/dist/index375.js +70 -197
  367. package/dist/index375.js.map +1 -1
  368. package/dist/index376.js +197 -70
  369. package/dist/index376.js.map +1 -1
  370. package/dist/index377.js +66 -118
  371. package/dist/index377.js.map +1 -1
  372. package/dist/index378.js +35 -8
  373. package/dist/index378.js.map +1 -1
  374. package/dist/index379.js +7 -27
  375. package/dist/index379.js.map +1 -1
  376. package/dist/index38.js +26 -36
  377. package/dist/index38.js.map +1 -1
  378. package/dist/index380.js +14 -136
  379. package/dist/index380.js.map +1 -1
  380. package/dist/index381.js +121 -10
  381. package/dist/index381.js.map +1 -1
  382. package/dist/index382.js +4 -47
  383. package/dist/index382.js.map +1 -1
  384. package/dist/index383.js +11 -3
  385. package/dist/index383.js.map +1 -1
  386. package/dist/index384.js +5 -21
  387. package/dist/index384.js.map +1 -1
  388. package/dist/index385.js +3 -76
  389. package/dist/index385.js.map +1 -1
  390. package/dist/index386.js +21 -12
  391. package/dist/index386.js.map +1 -1
  392. package/dist/index387.js +45 -4
  393. package/dist/index387.js.map +1 -1
  394. package/dist/index388.js +16 -70
  395. package/dist/index388.js.map +1 -1
  396. package/dist/index389.js +5 -36
  397. package/dist/index389.js.map +1 -1
  398. package/dist/index39.js +21 -26
  399. package/dist/index39.js.map +1 -1
  400. package/dist/index390.js +5 -7
  401. package/dist/index390.js.map +1 -1
  402. package/dist/index391.js +20 -15
  403. package/dist/index391.js.map +1 -1
  404. package/dist/index399.js +2 -2
  405. package/dist/index4.js +2 -2
  406. package/dist/index40.js +56 -20
  407. package/dist/index40.js.map +1 -1
  408. package/dist/index409.js +3 -3
  409. package/dist/index409.js.map +1 -1
  410. package/dist/index41.js +51 -59
  411. package/dist/index41.js.map +1 -1
  412. package/dist/index410.js +15 -3
  413. package/dist/index410.js.map +1 -1
  414. package/dist/index411.js +488 -11
  415. package/dist/index411.js.map +1 -1
  416. package/dist/index412.js +3 -3
  417. package/dist/index412.js.map +1 -1
  418. package/dist/index413.js +3 -492
  419. package/dist/index413.js.map +1 -1
  420. package/dist/index414.js +5 -68
  421. package/dist/index414.js.map +1 -1
  422. package/dist/index415.js +55 -30
  423. package/dist/index415.js.map +1 -1
  424. package/dist/index416.js +68 -9
  425. package/dist/index416.js.map +1 -1
  426. package/dist/index417.js +26 -148
  427. package/dist/index417.js.map +1 -1
  428. package/dist/index418.js +9 -108
  429. package/dist/index418.js.map +1 -1
  430. package/dist/index419.js +153 -5
  431. package/dist/index419.js.map +1 -1
  432. package/dist/index42.js +21 -50
  433. package/dist/index42.js.map +1 -1
  434. package/dist/index420.js +106 -54
  435. package/dist/index420.js.map +1 -1
  436. package/dist/index421.js +32 -7
  437. package/dist/index421.js.map +1 -1
  438. package/dist/index422.js +8 -2
  439. package/dist/index422.js.map +1 -1
  440. package/dist/index423.js +2 -44
  441. package/dist/index423.js.map +1 -1
  442. package/dist/index424.js +40 -52
  443. package/dist/index424.js.map +1 -1
  444. package/dist/index425.js +55 -7
  445. package/dist/index425.js.map +1 -1
  446. package/dist/index426.js +8 -2
  447. package/dist/index426.js.map +1 -1
  448. package/dist/index427.js +2 -55
  449. package/dist/index427.js.map +1 -1
  450. package/dist/index428.js +52 -53
  451. package/dist/index428.js.map +1 -1
  452. package/dist/index429.js +55 -32
  453. package/dist/index429.js.map +1 -1
  454. package/dist/index43.js +127 -18
  455. package/dist/index43.js.map +1 -1
  456. package/dist/index44.js +39 -122
  457. package/dist/index44.js.map +1 -1
  458. package/dist/index45.js +85 -42
  459. package/dist/index45.js.map +1 -1
  460. package/dist/index46.js +123 -87
  461. package/dist/index46.js.map +1 -1
  462. package/dist/index47.js +5 -126
  463. package/dist/index47.js.map +1 -1
  464. package/dist/index48.js +332 -5
  465. package/dist/index48.js.map +1 -1
  466. package/dist/index49.js +246 -321
  467. package/dist/index49.js.map +1 -1
  468. package/dist/index5.js +2 -2
  469. package/dist/index50.js +23 -254
  470. package/dist/index50.js.map +1 -1
  471. package/dist/index51.js +129 -25
  472. package/dist/index51.js.map +1 -1
  473. package/dist/index52.js +24 -129
  474. package/dist/index52.js.map +1 -1
  475. package/dist/index53.js +19 -22
  476. package/dist/index53.js.map +1 -1
  477. package/dist/index54.js +134 -19
  478. package/dist/index54.js.map +1 -1
  479. package/dist/index55.js +30 -133
  480. package/dist/index55.js.map +1 -1
  481. package/dist/index56.js +24 -30
  482. package/dist/index56.js.map +1 -1
  483. package/dist/index57.js +38 -26
  484. package/dist/index57.js.map +1 -1
  485. package/dist/index58.js +19 -39
  486. package/dist/index58.js.map +1 -1
  487. package/dist/index59.js +133 -18
  488. package/dist/index59.js.map +1 -1
  489. package/dist/index6.js +4 -4
  490. package/dist/index60.js +49 -134
  491. package/dist/index60.js.map +1 -1
  492. package/dist/index61.js +25 -48
  493. package/dist/index61.js.map +1 -1
  494. package/dist/index62.js +57 -28
  495. package/dist/index62.js.map +1 -1
  496. package/dist/index63.js +56 -57
  497. package/dist/index63.js.map +1 -1
  498. package/dist/index64.js +5 -5
  499. package/dist/index64.js.map +1 -1
  500. package/dist/index66.js +22 -10
  501. package/dist/index66.js.map +1 -1
  502. package/dist/index67.js +232 -17
  503. package/dist/index67.js.map +1 -1
  504. package/dist/index68.js +5 -5
  505. package/dist/index68.js.map +1 -1
  506. package/dist/index7.js +11 -11
  507. package/dist/index70.js +10 -22
  508. package/dist/index70.js.map +1 -1
  509. package/dist/index71.js +17 -232
  510. package/dist/index71.js.map +1 -1
  511. package/dist/index76.js +1 -1
  512. package/dist/index77.js +2 -2
  513. package/dist/index77.js.map +1 -1
  514. package/dist/index78.js +2 -2
  515. package/dist/index78.js.map +1 -1
  516. package/dist/index8.js +2 -2
  517. package/dist/index9.js +1 -1
  518. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index301.js","sources":["../node_modules/@base-ui/react/internals/useValueChanged.mjs"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { useIsoLayoutEffect } from '@base-ui/utils/useIsoLayoutEffect';\nimport { useStableCallback } from '@base-ui/utils/useStableCallback';\nexport function useValueChanged(value, onChange) {\n const valueRef = React.useRef(value);\n const onChangeCallback = useStableCallback(onChange);\n useIsoLayoutEffect(() => {\n if (valueRef.current === value) {\n return;\n }\n onChangeCallback(valueRef.current);\n }, [value, onChangeCallback]);\n useIsoLayoutEffect(() => {\n valueRef.current = value;\n }, [value]);\n}"],"names":["useValueChanged","value","onChange","valueRef","React","onChangeCallback","useStableCallback","useIsoLayoutEffect"],"mappings":";;;AAKO,SAASA,EAAgBC,GAAOC,GAAU;AAC/C,QAAMC,IAAWC,EAAM,OAAOH,CAAK,GAC7BI,IAAmBC,EAAkBJ,CAAQ;AACnD,EAAAK,EAAmB,MAAM;AACvB,IAAIJ,EAAS,YAAYF,KAGzBI,EAAiBF,EAAS,OAAO;AAAA,EACnC,GAAG,CAACF,GAAOI,CAAgB,CAAC,GAC5BE,EAAmB,MAAM;AACvB,IAAAJ,EAAS,UAAUF;AAAA,EACrB,GAAG,CAACA,CAAK,CAAC;AACZ;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index301.js","sources":["../../../node_modules/@base-ui/react/floating-ui-react/hooks/useFloatingRootContext.mjs"],"sourcesContent":["'use client';\n\nimport { isElement } from '@floating-ui/utils/dom';\nimport { useId } from '@base-ui/utils/useId';\nimport { useIsoLayoutEffect } from '@base-ui/utils/useIsoLayoutEffect';\nimport { useRefWithInit } from '@base-ui/utils/useRefWithInit';\nimport { PopupTriggerMap } from \"../../utils/popups/index.mjs\";\nimport { useFloatingParentNodeId } from \"../components/FloatingTree.mjs\";\nimport { FloatingRootStore } from \"../components/FloatingRootStore.mjs\";\nexport function useFloatingRootContext(options) {\n const {\n open = false,\n onOpenChange,\n elements = {}\n } = options;\n const floatingId = useId();\n const nested = useFloatingParentNodeId() != null;\n if (process.env.NODE_ENV !== 'production') {\n const optionDomReference = elements.reference;\n if (optionDomReference && !isElement(optionDomReference)) {\n console.error('Cannot pass a virtual element to the `elements.reference` option,', 'as it must be a real DOM element. Use `context.setPositionReference()`', 'instead.');\n }\n }\n const store = useRefWithInit(() => new FloatingRootStore({\n open,\n transitionStatus: undefined,\n onOpenChange,\n referenceElement: elements.reference ?? null,\n floatingElement: elements.floating ?? null,\n triggerElements: new PopupTriggerMap(),\n floatingId,\n syncOnly: false,\n nested\n })).current;\n useIsoLayoutEffect(() => {\n const valuesToSync = {\n open,\n floatingId\n };\n\n // Only sync elements that are defined to avoid overwriting existing ones\n if (elements.reference !== undefined) {\n valuesToSync.referenceElement = elements.reference;\n valuesToSync.domReferenceElement = isElement(elements.reference) ? elements.reference : null;\n }\n if (elements.floating !== undefined) {\n valuesToSync.floatingElement = elements.floating;\n }\n store.update(valuesToSync);\n }, [open, floatingId, elements.reference, elements.floating, store]);\n store.context.onOpenChange = onOpenChange;\n store.context.nested = nested;\n return store;\n}"],"names":["useFloatingRootContext","options","open","onOpenChange","elements","floatingId","useId","nested","useFloatingParentNodeId","optionDomReference","isElement","store","useRefWithInit","FloatingRootStore","PopupTriggerMap","useIsoLayoutEffect","valuesToSync"],"mappings":";;;;;;;AASO,SAASA,EAAuBC,GAAS;AAC9C,QAAM;AAAA,IACJ,MAAAC,IAAO;AAAA,IACP,cAAAC;AAAA,IACA,UAAAC,IAAW,CAAA;AAAA,EACf,IAAMH,GACEI,IAAaC,EAAK,GAClBC,IAASC,EAAuB,KAAM;AAC5C,MAAI,QAAQ,IAAI,aAAa,cAAc;AACzC,UAAMC,IAAqBL,EAAS;AACpC,IAAIK,KAAsB,CAACC,EAAUD,CAAkB,KACrD,QAAQ,MAAM,qEAAqE,0EAA0E,UAAU;AAAA,EAE3K;AACA,QAAME,IAAQC,EAAe,MAAM,IAAIC,EAAkB;AAAA,IACvD,MAAAX;AAAA,IACA,kBAAkB;AAAA,IAClB,cAAAC;AAAA,IACA,kBAAkBC,EAAS,aAAa;AAAA,IACxC,iBAAiBA,EAAS,YAAY;AAAA,IACtC,iBAAiB,IAAIU,EAAe;AAAA,IACpC,YAAAT;AAAA,IACA,UAAU;AAAA,IACV,QAAAE;AAAA,EACJ,CAAG,CAAC,EAAE;AACJ,SAAAQ,EAAmB,MAAM;AACvB,UAAMC,IAAe;AAAA,MACnB,MAAAd;AAAA,MACA,YAAAG;AAAA,IACN;AAGI,IAAID,EAAS,cAAc,WACzBY,EAAa,mBAAmBZ,EAAS,WACzCY,EAAa,sBAAsBN,EAAUN,EAAS,SAAS,IAAIA,EAAS,YAAY,OAEtFA,EAAS,aAAa,WACxBY,EAAa,kBAAkBZ,EAAS,WAE1CO,EAAM,OAAOK,CAAY;AAAA,EAC3B,GAAG,CAACd,GAAMG,GAAYD,EAAS,WAAWA,EAAS,UAAUO,CAAK,CAAC,GACnEA,EAAM,QAAQ,eAAeR,GAC7BQ,EAAM,QAAQ,SAASJ,GAChBI;AACT;","x_google_ignoreList":[0]}
package/dist/index302.js CHANGED
@@ -1,17 +1,243 @@
1
- import { clamp as s } from "./index331.js";
2
- const f = 1;
3
- function a(n, t) {
4
- return Math.max(0, n - t);
1
+ import * as l from "react";
2
+ import { addEventListener as i } from "./index322.js";
3
+ import { mergeCleanups as G } from "./index365.js";
4
+ import { ownerDocument as fe } from "./index306.js";
5
+ import { useStableCallback as p } from "./index264.js";
6
+ import { useTimeout as de, Timeout as pe } from "./index307.js";
7
+ import { isElement as _, isShadowRoot as Be, isLastTraversableNode as J, getParentNode as ve, isHTMLElement as Ae, getComputedStyle as He } from "./index270.js";
8
+ import { useFloatingTree as Ne } from "./index373.js";
9
+ import { createChangeEventDetails as Q } from "./index153.js";
10
+ import { createAttribute as Le } from "./index370.js";
11
+ import { isEventTargetWithin as Z, isRootElement as Fe } from "./index312.js";
12
+ import { isReactEvent as $e } from "./index334.js";
13
+ import { getNodeChildren as me } from "./index368.js";
14
+ import { getTarget as z, contains as B } from "./index313.js";
15
+ import { triggerPress as qe, escapeKey as Ve, outsidePress as Ue } from "./index155.js";
16
+ import { webkit as je } from "./index331.js";
17
+ function Ge() {
18
+ return !1;
5
19
  }
6
- function u(n, t) {
7
- if (t <= 0)
8
- return 0;
9
- const r = s(n, 0, t), e = r, c = t - r, o = e <= f, i = c <= f;
10
- return o && i ? e <= c ? 0 : t : o ? 0 : i ? t : r;
20
+ function Je(f) {
21
+ return {
22
+ escapeKey: typeof f == "boolean" ? f : f?.escapeKey ?? !1,
23
+ outsidePress: typeof f == "boolean" ? f : f?.outsidePress ?? !0
24
+ };
25
+ }
26
+ function dt(f, he = {}) {
27
+ const {
28
+ enabled: m = !0,
29
+ escapeKey: v = !0,
30
+ outsidePress: I = !0,
31
+ outsidePressEvent: ge = "sloppy",
32
+ referencePress: ye = Ge,
33
+ bubbles: Pe,
34
+ externalTree: Ee
35
+ } = he, n = "rootStore" in f ? f.rootStore : f, C = n.useState("open"), ee = n.useState("floatingElement"), {
36
+ dataRef: h
37
+ } = n.context, S = Ne(Ee), Te = p(typeof I == "function" ? I : () => !1), y = typeof I == "function" ? Te : I, te = y !== !1, re = p(() => ge), {
38
+ escapeKey: K,
39
+ outsidePress: ne
40
+ } = Je(Pe), O = l.useRef(!1), X = l.useRef(!1), P = l.useRef(!1), A = l.useRef(!1), H = l.useRef(""), s = l.useRef(null), D = de(), se = de(), g = p(() => {
41
+ se.clear(), h.current.insideReactTree = !1;
42
+ }), N = p((r) => {
43
+ const a = h.current.floatingContext?.nodeId;
44
+ return (S ? me(S.nodesRef.current, a) : []).some((x) => x.context?.open && !x.context.dataRef.current[r]);
45
+ }), E = p((r) => Z(r, n.select("floatingElement")) || Z(r, n.select("domReferenceElement"))), L = p((r) => {
46
+ ye() && n.setOpen(!1, Q(qe, r.nativeEvent));
47
+ }), b = p((r) => {
48
+ if (!C || !m || !v || r.key !== "Escape" || A.current || !K && N("__escapeKeyBubbles"))
49
+ return;
50
+ const a = $e(r) ? r.nativeEvent : r, w = Q(Ve, a);
51
+ n.setOpen(!1, w), w.isCanceled || r.preventDefault(), !K && !w.isPropagationAllowed && r.stopPropagation();
52
+ }), T = p(() => {
53
+ h.current.insideReactTree = !0, se.start(0, g);
54
+ }), F = p((r) => {
55
+ if (!C || !m || r.button !== 0)
56
+ return;
57
+ const a = z(r.nativeEvent);
58
+ B(n.select("floatingElement"), a) && (O.current || (O.current = !0, X.current = !1));
59
+ }), $ = p((r) => {
60
+ !C || !m || (r.defaultPrevented || r.nativeEvent.defaultPrevented) && O.current && (X.current = !0);
61
+ });
62
+ l.useEffect(() => {
63
+ if (!C || !m)
64
+ return;
65
+ h.current.__escapeKeyBubbles = K, h.current.__outsidePressBubbles = ne;
66
+ const r = new pe(), a = new pe();
67
+ function w() {
68
+ r.clear(), A.current = !0;
69
+ }
70
+ function x() {
71
+ r.start(
72
+ // 0ms or 1ms don't work in Safari. 5ms appears to consistently work.
73
+ // Only apply to WebKit for the test to remain 0ms.
74
+ je ? 5 : 0,
75
+ () => {
76
+ A.current = !1;
77
+ }
78
+ );
79
+ }
80
+ function ce() {
81
+ P.current = !0, a.start(0, () => {
82
+ P.current = !1;
83
+ });
84
+ }
85
+ function ie() {
86
+ O.current = !1, X.current = !1;
87
+ }
88
+ function R() {
89
+ const e = H.current, t = e === "pen" || !e ? "mouse" : e, o = re(), c = typeof o == "function" ? o() : o;
90
+ return typeof c == "string" ? c : c[t];
91
+ }
92
+ function Re(e) {
93
+ const t = R();
94
+ return t === "intentional" && e.type !== "click" || t === "sloppy" && e.type === "click";
95
+ }
96
+ function ue(e) {
97
+ const t = h.current.floatingContext?.nodeId, o = S && me(S.nodesRef.current, t).some((c) => Z(e, c.context?.elements.floating));
98
+ return E(e) || o;
99
+ }
100
+ function W(e) {
101
+ if (Re(e)) {
102
+ e.type !== "click" && !E(e) && (a.clear(), P.current = !1), g();
103
+ return;
104
+ }
105
+ if (h.current.insideReactTree) {
106
+ g();
107
+ return;
108
+ }
109
+ const t = z(e), o = `[${Le("inert")}]`, c = _(t) ? t.getRootNode() : null, k = Array.from((Be(c) ? c : fe(n.select("floatingElement"))).querySelectorAll(o)), ae = n.context.triggerElements;
110
+ if (t && (ae.hasElement(t) || ae.hasMatchingElement((d) => B(d, t))))
111
+ return;
112
+ let M = _(t) ? t : null;
113
+ for (; M && !J(M); ) {
114
+ const d = ve(M);
115
+ if (J(d) || !_(d))
116
+ break;
117
+ M = d;
118
+ }
119
+ if (!(k.length && _(t) && !Fe(t) && // Clicked on a direct ancestor (e.g. FloatingOverlay).
120
+ !B(t, n.select("floatingElement")) && // If the target root element contains none of the markers, then the
121
+ // element was injected after the floating element rendered.
122
+ k.every((d) => !B(M, d)))) {
123
+ if (Ae(t) && !("touches" in e)) {
124
+ const d = J(t), j = He(t), le = /auto|scroll/, Ie = d || le.test(j.overflowX), Ke = d || le.test(j.overflowY), Xe = Ie && t.clientWidth > 0 && t.scrollWidth > t.clientWidth, xe = Ke && t.clientHeight > 0 && t.scrollHeight > t.clientHeight, We = j.direction === "rtl", Ye = xe && (We ? e.offsetX <= t.offsetWidth - t.clientWidth : e.offsetX > t.clientWidth), _e = Xe && e.offsetY > t.clientHeight;
125
+ if (Ye || _e)
126
+ return;
127
+ }
128
+ if (!ue(e)) {
129
+ if (R() === "intentional" && P.current) {
130
+ a.clear(), P.current = !1;
131
+ return;
132
+ }
133
+ typeof y == "function" && !y(e) || N("__outsidePressBubbles") || (n.setOpen(!1, Q(Ue, e)), g());
134
+ }
135
+ }
136
+ }
137
+ function be(e) {
138
+ R() !== "sloppy" || e.pointerType === "touch" || !n.select("open") || !m || E(e) || W(e);
139
+ }
140
+ function we(e) {
141
+ if (R() !== "sloppy" || !n.select("open") || !m || E(e))
142
+ return;
143
+ const t = e.touches[0];
144
+ t && (s.current = {
145
+ startTime: Date.now(),
146
+ startX: t.clientX,
147
+ startY: t.clientY,
148
+ dismissOnTouchEnd: !1,
149
+ dismissOnMouseDown: !0
150
+ }, D.start(1e3, () => {
151
+ s.current && (s.current.dismissOnTouchEnd = !1, s.current.dismissOnMouseDown = !1);
152
+ }));
153
+ }
154
+ function Y(e, t) {
155
+ const o = z(e);
156
+ if (!o)
157
+ return;
158
+ const c = i(o, e.type, () => {
159
+ t(e), c();
160
+ });
161
+ }
162
+ function Ce(e) {
163
+ H.current = "touch", Y(e, we);
164
+ }
165
+ function V(e) {
166
+ D.clear(), e.type === "pointerdown" && (H.current = e.pointerType), !(e.type === "mousedown" && s.current && !s.current.dismissOnMouseDown) && Y(e, (t) => {
167
+ t.type === "pointerdown" ? be(t) : W(t);
168
+ });
169
+ }
170
+ function U(e) {
171
+ if (!O.current)
172
+ return;
173
+ const t = X.current;
174
+ if (ie(), R() === "intentional") {
175
+ if (e.type === "pointercancel") {
176
+ t && ce();
177
+ return;
178
+ }
179
+ if (!ue(e)) {
180
+ if (t) {
181
+ ce();
182
+ return;
183
+ }
184
+ typeof y == "function" && !y(e) || (a.clear(), P.current = !0, g());
185
+ }
186
+ }
187
+ }
188
+ function Se(e) {
189
+ if (R() !== "sloppy" || !s.current || E(e))
190
+ return;
191
+ const t = e.touches[0];
192
+ if (!t)
193
+ return;
194
+ const o = Math.abs(t.clientX - s.current.startX), c = Math.abs(t.clientY - s.current.startY), k = Math.sqrt(o * o + c * c);
195
+ k > 5 && (s.current.dismissOnTouchEnd = !0), k > 10 && (W(e), D.clear(), s.current = null);
196
+ }
197
+ function Oe(e) {
198
+ Y(e, Se);
199
+ }
200
+ function De(e) {
201
+ R() !== "sloppy" || !s.current || E(e) || (s.current.dismissOnTouchEnd && W(e), D.clear(), s.current = null);
202
+ }
203
+ function ke(e) {
204
+ Y(e, De);
205
+ }
206
+ const u = fe(ee), Me = G(v && G(i(u, "keydown", b), i(u, "compositionstart", w), i(u, "compositionend", x)), te && G(i(u, "click", V, !0), i(u, "pointerdown", V, !0), i(u, "pointerup", U, !0), i(u, "pointercancel", U, !0), i(u, "mousedown", V, !0), i(u, "mouseup", U, !0), i(u, "touchstart", Ce, !0), i(u, "touchmove", Oe, !0), i(u, "touchend", ke, !0)));
207
+ return () => {
208
+ Me(), r.clear(), a.clear(), ie(), P.current = !1;
209
+ };
210
+ }, [h, ee, v, te, y, C, m, K, ne, b, g, re, N, E, S, n, D]), l.useEffect(g, [y, g]);
211
+ const q = l.useMemo(() => ({
212
+ onKeyDown: b,
213
+ onPointerDown: L,
214
+ onClick: L
215
+ }), [b, L]), oe = l.useMemo(() => ({
216
+ onKeyDown: b,
217
+ // `onMouseDown` may be blocked if `event.preventDefault()` is called in
218
+ // `onPointerDown`, such as with <NumberField.ScrubArea>.
219
+ // See https://github.com/mui/base-ui/pull/3379
220
+ onPointerDown: $,
221
+ onMouseDown: $,
222
+ onClickCapture: T,
223
+ onMouseDownCapture(r) {
224
+ T(), F(r);
225
+ },
226
+ onPointerDownCapture(r) {
227
+ T(), F(r);
228
+ },
229
+ onMouseUpCapture: T,
230
+ onTouchEndCapture: T,
231
+ onTouchMoveCapture: T
232
+ }), [b, T, F, $]);
233
+ return l.useMemo(() => m ? {
234
+ reference: q,
235
+ floating: oe,
236
+ trigger: q
237
+ } : {}, [m, q, oe]);
11
238
  }
12
239
  export {
13
- f as SCROLL_EDGE_TOLERANCE_PX,
14
- a as getMaxScrollOffset,
15
- u as normalizeScrollOffset
240
+ Je as normalizeProp,
241
+ dt as useDismiss
16
242
  };
17
243
  //# sourceMappingURL=index302.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index302.js","sources":["../node_modules/@base-ui/react/utils/scrollEdges.mjs"],"sourcesContent":["import { clamp } from \"../internals/clamp.mjs\";\nexport const SCROLL_EDGE_TOLERANCE_PX = 1;\nexport function getMaxScrollOffset(scrollSize, clientSize) {\n return Math.max(0, scrollSize - clientSize);\n}\nexport function normalizeScrollOffset(value, max) {\n if (max <= 0) {\n return 0;\n }\n const clamped = clamp(value, 0, max);\n const startDistance = clamped;\n const endDistance = max - clamped;\n const withinStartTolerance = startDistance <= SCROLL_EDGE_TOLERANCE_PX;\n const withinEndTolerance = endDistance <= SCROLL_EDGE_TOLERANCE_PX;\n if (withinStartTolerance && withinEndTolerance) {\n return startDistance <= endDistance ? 0 : max;\n }\n if (withinStartTolerance) {\n return 0;\n }\n if (withinEndTolerance) {\n return max;\n }\n return clamped;\n}"],"names":["SCROLL_EDGE_TOLERANCE_PX","getMaxScrollOffset","scrollSize","clientSize","normalizeScrollOffset","value","max","clamped","clamp","startDistance","endDistance","withinStartTolerance","withinEndTolerance"],"mappings":";AACY,MAACA,IAA2B;AACjC,SAASC,EAAmBC,GAAYC,GAAY;AACzD,SAAO,KAAK,IAAI,GAAGD,IAAaC,CAAU;AAC5C;AACO,SAASC,EAAsBC,GAAOC,GAAK;AAChD,MAAIA,KAAO;AACT,WAAO;AAET,QAAMC,IAAUC,EAAMH,GAAO,GAAGC,CAAG,GAC7BG,IAAgBF,GAChBG,IAAcJ,IAAMC,GACpBI,IAAuBF,KAAiBT,GACxCY,IAAqBF,KAAeV;AAC1C,SAAIW,KAAwBC,IACnBH,KAAiBC,IAAc,IAAIJ,IAExCK,IACK,IAELC,IACKN,IAEFC;AACT;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index302.js","sources":["../../../node_modules/@base-ui/react/floating-ui-react/hooks/useDismiss.mjs"],"sourcesContent":["'use client';\n\n/* eslint-disable no-underscore-dangle */\nimport * as React from 'react';\nimport { addEventListener } from '@base-ui/utils/addEventListener';\nimport { mergeCleanups } from '@base-ui/utils/mergeCleanups';\nimport { ownerDocument } from '@base-ui/utils/owner';\nimport { useStableCallback } from '@base-ui/utils/useStableCallback';\nimport { Timeout, useTimeout } from '@base-ui/utils/useTimeout';\nimport { getComputedStyle, getParentNode, isElement, isHTMLElement, isLastTraversableNode, isShadowRoot } from '@floating-ui/utils/dom';\nimport { platform } from '@base-ui/utils/platform';\nimport { useFloatingTree } from \"../components/FloatingTree.mjs\";\nimport { createChangeEventDetails } from \"../../internals/createBaseUIEventDetails.mjs\";\nimport { REASONS } from \"../../internals/reasons.mjs\";\nimport { createAttribute } from \"../utils/createAttribute.mjs\";\nimport { contains, getTarget, isEventTargetWithin, isRootElement } from \"../utils/element.mjs\";\nimport { isReactEvent } from \"../utils/event.mjs\";\nimport { getNodeChildren } from \"../utils/nodes.mjs\";\nfunction alwaysFalse() {\n return false;\n}\nexport function normalizeProp(normalizable) {\n return {\n escapeKey: typeof normalizable === 'boolean' ? normalizable : normalizable?.escapeKey ?? false,\n outsidePress: typeof normalizable === 'boolean' ? normalizable : normalizable?.outsidePress ?? true\n };\n}\n/**\n * Closes the floating element when a dismissal is requested — by default, when\n * the user presses the `escape` key or outside of the floating element.\n * @see https://floating-ui.com/docs/useDismiss\n */\nexport function useDismiss(context, props = {}) {\n const {\n enabled = true,\n escapeKey = true,\n outsidePress: outsidePressProp = true,\n outsidePressEvent = 'sloppy',\n referencePress = alwaysFalse,\n bubbles,\n externalTree\n } = props;\n const store = 'rootStore' in context ? context.rootStore : context;\n const open = store.useState('open');\n const floatingElement = store.useState('floatingElement');\n const {\n dataRef\n } = store.context;\n const tree = useFloatingTree(externalTree);\n const outsidePressFn = useStableCallback(typeof outsidePressProp === 'function' ? outsidePressProp : () => false);\n const outsidePress = typeof outsidePressProp === 'function' ? outsidePressFn : outsidePressProp;\n const outsidePressEnabled = outsidePress !== false;\n const getOutsidePressEventProp = useStableCallback(() => outsidePressEvent);\n const {\n escapeKey: escapeKeyBubbles,\n outsidePress: outsidePressBubbles\n } = normalizeProp(bubbles);\n const pressStartedInsideRef = React.useRef(false);\n const pressStartPreventedRef = React.useRef(false);\n // Ignore only the very next outside click after dragging from inside to outside.\n const suppressNextOutsideClickRef = React.useRef(false);\n const isComposingRef = React.useRef(false);\n const currentPointerTypeRef = React.useRef('');\n const touchStateRef = React.useRef(null);\n const cancelDismissOnEndTimeout = useTimeout();\n const clearInsideReactTreeTimeout = useTimeout();\n const clearInsideReactTree = useStableCallback(() => {\n clearInsideReactTreeTimeout.clear();\n dataRef.current.insideReactTree = false;\n });\n const hasBlockingChild = useStableCallback(bubbleKey => {\n const nodeId = dataRef.current.floatingContext?.nodeId;\n const children = tree ? getNodeChildren(tree.nodesRef.current, nodeId) : [];\n return children.some(child => child.context?.open && !child.context.dataRef.current[bubbleKey]);\n });\n const isEventWithinOwnElements = useStableCallback(event => {\n return isEventTargetWithin(event, store.select('floatingElement')) || isEventTargetWithin(event, store.select('domReferenceElement'));\n });\n const closeOnReferencePress = useStableCallback(event => {\n if (!referencePress()) {\n return;\n }\n store.setOpen(false, createChangeEventDetails(REASONS.triggerPress, event.nativeEvent));\n });\n const closeOnEscapeKeyDown = useStableCallback(event => {\n if (!open || !enabled || !escapeKey || event.key !== 'Escape') {\n return;\n }\n\n // Wait until IME is settled. Pressing `Escape` while composing should\n // close the compose menu, but not the floating element.\n if (isComposingRef.current) {\n return;\n }\n if (!escapeKeyBubbles && hasBlockingChild('__escapeKeyBubbles')) {\n return;\n }\n const native = isReactEvent(event) ? event.nativeEvent : event;\n const eventDetails = createChangeEventDetails(REASONS.escapeKey, native);\n store.setOpen(false, eventDetails);\n if (!eventDetails.isCanceled) {\n event.preventDefault();\n }\n if (!escapeKeyBubbles && !eventDetails.isPropagationAllowed) {\n event.stopPropagation();\n }\n });\n const markInsideReactTree = useStableCallback(() => {\n dataRef.current.insideReactTree = true;\n clearInsideReactTreeTimeout.start(0, clearInsideReactTree);\n });\n const markPressStartedInsideReactTree = useStableCallback(event => {\n if (!open || !enabled || event.button !== 0) {\n return;\n }\n const target = getTarget(event.nativeEvent);\n\n // Only treat presses that start within the floating DOM subtree as inside.\n // This avoids suppressing parent dismissal when interacting with nested portals.\n if (!contains(store.select('floatingElement'), target)) {\n return;\n }\n if (!pressStartedInsideRef.current) {\n pressStartedInsideRef.current = true;\n pressStartPreventedRef.current = false;\n }\n });\n const markInsidePressStartPrevented = useStableCallback(event => {\n if (!open || !enabled) {\n return;\n }\n if (!(event.defaultPrevented || event.nativeEvent.defaultPrevented)) {\n return;\n }\n if (pressStartedInsideRef.current) {\n pressStartPreventedRef.current = true;\n }\n });\n React.useEffect(() => {\n if (!open || !enabled) {\n return undefined;\n }\n dataRef.current.__escapeKeyBubbles = escapeKeyBubbles;\n dataRef.current.__outsidePressBubbles = outsidePressBubbles;\n const compositionTimeout = new Timeout();\n const preventedPressSuppressionTimeout = new Timeout();\n function handleCompositionStart() {\n compositionTimeout.clear();\n isComposingRef.current = true;\n }\n function handleCompositionEnd() {\n // Safari fires `compositionend` before `keydown`, so we need to wait\n // until the next tick to set `isComposing` to `false`.\n // https://bugs.webkit.org/show_bug.cgi?id=165004\n compositionTimeout.start(\n // 0ms or 1ms don't work in Safari. 5ms appears to consistently work.\n // Only apply to WebKit for the test to remain 0ms.\n platform.engine.webkit ? 5 : 0, () => {\n isComposingRef.current = false;\n });\n }\n function suppressImmediateOutsideClickAfterPreventedStart() {\n suppressNextOutsideClickRef.current = true;\n // Firefox can emit the synthetic outside click in a later task after\n // pointer lock exit, so microtask clearing is too early here.\n preventedPressSuppressionTimeout.start(0, () => {\n suppressNextOutsideClickRef.current = false;\n });\n }\n function resetPressStartState() {\n pressStartedInsideRef.current = false;\n pressStartPreventedRef.current = false;\n }\n function getOutsidePressEvent() {\n const type = currentPointerTypeRef.current;\n const computedType = type === 'pen' || !type ? 'mouse' : type;\n const outsidePressEventValue = getOutsidePressEventProp();\n const resolved = typeof outsidePressEventValue === 'function' ? outsidePressEventValue() : outsidePressEventValue;\n if (typeof resolved === 'string') {\n return resolved;\n }\n return resolved[computedType];\n }\n function shouldIgnoreEvent(event) {\n const computedOutsidePressEvent = getOutsidePressEvent();\n return computedOutsidePressEvent === 'intentional' && event.type !== 'click' || computedOutsidePressEvent === 'sloppy' && event.type === 'click';\n }\n function isEventWithinFloatingTree(event) {\n const nodeId = dataRef.current.floatingContext?.nodeId;\n const targetIsInsideChildren = tree && getNodeChildren(tree.nodesRef.current, nodeId).some(node => isEventTargetWithin(event, node.context?.elements.floating));\n return isEventWithinOwnElements(event) || targetIsInsideChildren;\n }\n function closeOnPressOutside(event) {\n if (shouldIgnoreEvent(event)) {\n // A new press began outside the floating element and its trigger. Clear any\n // leftover drag-out suppression so this press's eventual click can dismiss.\n if (event.type !== 'click' && !isEventWithinOwnElements(event)) {\n preventedPressSuppressionTimeout.clear();\n suppressNextOutsideClickRef.current = false;\n }\n clearInsideReactTree();\n return;\n }\n if (dataRef.current.insideReactTree) {\n clearInsideReactTree();\n return;\n }\n const target = getTarget(event);\n const inertSelector = `[${createAttribute('inert')}]`;\n const targetRoot = isElement(target) ? target.getRootNode() : null;\n const markers = Array.from((isShadowRoot(targetRoot) ? targetRoot : ownerDocument(store.select('floatingElement'))).querySelectorAll(inertSelector));\n const triggers = store.context.triggerElements;\n\n // If another trigger is clicked, don't close the floating element.\n if (target && (triggers.hasElement(target) || triggers.hasMatchingElement(trigger => contains(trigger, target)))) {\n return;\n }\n let targetRootAncestor = isElement(target) ? target : null;\n while (targetRootAncestor && !isLastTraversableNode(targetRootAncestor)) {\n const nextParent = getParentNode(targetRootAncestor);\n if (isLastTraversableNode(nextParent) || !isElement(nextParent)) {\n break;\n }\n targetRootAncestor = nextParent;\n }\n\n // Check if the click occurred on a third-party element injected after the\n // floating element rendered.\n if (markers.length && isElement(target) && !isRootElement(target) &&\n // Clicked on a direct ancestor (e.g. FloatingOverlay).\n !contains(target, store.select('floatingElement')) &&\n // If the target root element contains none of the markers, then the\n // element was injected after the floating element rendered.\n markers.every(marker => !contains(targetRootAncestor, marker))) {\n return;\n }\n\n // Check if the click occurred on the scrollbar\n // Skip for touch events: scrollbars don't receive touch events on most platforms\n if (isHTMLElement(target) && !('touches' in event)) {\n const lastTraversableNode = isLastTraversableNode(target);\n const style = getComputedStyle(target);\n const scrollRe = /auto|scroll/;\n const isScrollableX = lastTraversableNode || scrollRe.test(style.overflowX);\n const isScrollableY = lastTraversableNode || scrollRe.test(style.overflowY);\n const canScrollX = isScrollableX && target.clientWidth > 0 && target.scrollWidth > target.clientWidth;\n const canScrollY = isScrollableY && target.clientHeight > 0 && target.scrollHeight > target.clientHeight;\n const isRTL = style.direction === 'rtl';\n\n // Check click position relative to scrollbar.\n // In some browsers it is possible to change the <body> (or window)\n // scrollbar to the left side, but is very rare and is difficult to\n // check for. Plus, for modal dialogs with backdrops, it is more\n // important that the backdrop is checked but not so much the window.\n const pressedVerticalScrollbar = canScrollY && (isRTL ? event.offsetX <= target.offsetWidth - target.clientWidth : event.offsetX > target.clientWidth);\n const pressedHorizontalScrollbar = canScrollX && event.offsetY > target.clientHeight;\n if (pressedVerticalScrollbar || pressedHorizontalScrollbar) {\n return;\n }\n }\n if (isEventWithinFloatingTree(event)) {\n return;\n }\n\n // In intentional mode, a press that starts inside and ends outside gets\n // one suppressed outside click. Run this after inside-target checks so\n // inside clicks don't consume the one-shot suppression.\n if (getOutsidePressEvent() === 'intentional' && suppressNextOutsideClickRef.current) {\n preventedPressSuppressionTimeout.clear();\n suppressNextOutsideClickRef.current = false;\n return;\n }\n if (typeof outsidePress === 'function' && !outsidePress(event)) {\n return;\n }\n if (hasBlockingChild('__outsidePressBubbles')) {\n return;\n }\n store.setOpen(false, createChangeEventDetails(REASONS.outsidePress, event));\n clearInsideReactTree();\n }\n function handlePointerDown(event) {\n if (getOutsidePressEvent() !== 'sloppy' || event.pointerType === 'touch' || !store.select('open') || !enabled || isEventWithinOwnElements(event)) {\n return;\n }\n closeOnPressOutside(event);\n }\n function handleTouchStart(event) {\n if (getOutsidePressEvent() !== 'sloppy' || !store.select('open') || !enabled || isEventWithinOwnElements(event)) {\n return;\n }\n const touch = event.touches[0];\n if (touch) {\n touchStateRef.current = {\n startTime: Date.now(),\n startX: touch.clientX,\n startY: touch.clientY,\n dismissOnTouchEnd: false,\n dismissOnMouseDown: true\n };\n cancelDismissOnEndTimeout.start(1000, () => {\n if (touchStateRef.current) {\n touchStateRef.current.dismissOnTouchEnd = false;\n touchStateRef.current.dismissOnMouseDown = false;\n }\n });\n }\n }\n function addTargetEventListenerOnce(event, listener) {\n const target = getTarget(event);\n if (!target) {\n return;\n }\n const unsubscribe = addEventListener(target, event.type, () => {\n listener(event);\n unsubscribe();\n });\n }\n function handleTouchStartCapture(event) {\n currentPointerTypeRef.current = 'touch';\n addTargetEventListenerOnce(event, handleTouchStart);\n }\n function closeOnPressOutsideCapture(event) {\n cancelDismissOnEndTimeout.clear();\n if (event.type === 'pointerdown') {\n currentPointerTypeRef.current = event.pointerType;\n }\n if (event.type === 'mousedown' && touchStateRef.current && !touchStateRef.current.dismissOnMouseDown) {\n return;\n }\n addTargetEventListenerOnce(event, targetEvent => {\n if (targetEvent.type === 'pointerdown') {\n handlePointerDown(targetEvent);\n } else {\n closeOnPressOutside(targetEvent);\n }\n });\n }\n function handlePressEndCapture(event) {\n if (!pressStartedInsideRef.current) {\n return;\n }\n const pressStartedInsideDefaultPrevented = pressStartPreventedRef.current;\n resetPressStartState();\n if (getOutsidePressEvent() !== 'intentional') {\n return;\n }\n if (event.type === 'pointercancel') {\n if (pressStartedInsideDefaultPrevented) {\n suppressImmediateOutsideClickAfterPreventedStart();\n }\n return;\n }\n if (isEventWithinFloatingTree(event)) {\n return;\n }\n\n // If pointerdown was prevented, no click may be generated for that\n // interaction. However, Firefox may still emit an immediate click after\n // pointerup (e.g. NumberField scrub with pointer lock), so suppress for\n // one tick to absorb that synthetic click only.\n if (pressStartedInsideDefaultPrevented) {\n suppressImmediateOutsideClickAfterPreventedStart();\n return;\n }\n\n // Avoid suppressing when outsidePress explicitly ignores this target.\n if (typeof outsidePress === 'function' && !outsidePress(event)) {\n return;\n }\n preventedPressSuppressionTimeout.clear();\n suppressNextOutsideClickRef.current = true;\n clearInsideReactTree();\n }\n function handleTouchMove(event) {\n if (getOutsidePressEvent() !== 'sloppy' || !touchStateRef.current || isEventWithinOwnElements(event)) {\n return;\n }\n const touch = event.touches[0];\n if (!touch) {\n return;\n }\n const deltaX = Math.abs(touch.clientX - touchStateRef.current.startX);\n const deltaY = Math.abs(touch.clientY - touchStateRef.current.startY);\n const distance = Math.sqrt(deltaX * deltaX + deltaY * deltaY);\n if (distance > 5) {\n touchStateRef.current.dismissOnTouchEnd = true;\n }\n if (distance > 10) {\n closeOnPressOutside(event);\n cancelDismissOnEndTimeout.clear();\n touchStateRef.current = null;\n }\n }\n function handleTouchMoveCapture(event) {\n addTargetEventListenerOnce(event, handleTouchMove);\n }\n function handleTouchEnd(event) {\n if (getOutsidePressEvent() !== 'sloppy' || !touchStateRef.current || isEventWithinOwnElements(event)) {\n return;\n }\n if (touchStateRef.current.dismissOnTouchEnd) {\n closeOnPressOutside(event);\n }\n cancelDismissOnEndTimeout.clear();\n touchStateRef.current = null;\n }\n function handleTouchEndCapture(event) {\n addTargetEventListenerOnce(event, handleTouchEnd);\n }\n const doc = ownerDocument(floatingElement);\n const unsubscribe = mergeCleanups(escapeKey && mergeCleanups(addEventListener(doc, 'keydown', closeOnEscapeKeyDown), addEventListener(doc, 'compositionstart', handleCompositionStart), addEventListener(doc, 'compositionend', handleCompositionEnd)), outsidePressEnabled && mergeCleanups(addEventListener(doc, 'click', closeOnPressOutsideCapture, true), addEventListener(doc, 'pointerdown', closeOnPressOutsideCapture, true), addEventListener(doc, 'pointerup', handlePressEndCapture, true), addEventListener(doc, 'pointercancel', handlePressEndCapture, true), addEventListener(doc, 'mousedown', closeOnPressOutsideCapture, true), addEventListener(doc, 'mouseup', handlePressEndCapture, true), addEventListener(doc, 'touchstart', handleTouchStartCapture, true), addEventListener(doc, 'touchmove', handleTouchMoveCapture, true), addEventListener(doc, 'touchend', handleTouchEndCapture, true)));\n return () => {\n unsubscribe();\n compositionTimeout.clear();\n preventedPressSuppressionTimeout.clear();\n resetPressStartState();\n suppressNextOutsideClickRef.current = false;\n };\n }, [dataRef, floatingElement, escapeKey, outsidePressEnabled, outsidePress, open, enabled, escapeKeyBubbles, outsidePressBubbles, closeOnEscapeKeyDown, clearInsideReactTree, getOutsidePressEventProp, hasBlockingChild, isEventWithinOwnElements, tree, store, cancelDismissOnEndTimeout]);\n React.useEffect(clearInsideReactTree, [outsidePress, clearInsideReactTree]);\n const reference = React.useMemo(() => ({\n onKeyDown: closeOnEscapeKeyDown,\n onPointerDown: closeOnReferencePress,\n onClick: closeOnReferencePress\n }), [closeOnEscapeKeyDown, closeOnReferencePress]);\n const floating = React.useMemo(() => ({\n onKeyDown: closeOnEscapeKeyDown,\n // `onMouseDown` may be blocked if `event.preventDefault()` is called in\n // `onPointerDown`, such as with <NumberField.ScrubArea>.\n // See https://github.com/mui/base-ui/pull/3379\n onPointerDown: markInsidePressStartPrevented,\n onMouseDown: markInsidePressStartPrevented,\n onClickCapture: markInsideReactTree,\n onMouseDownCapture(event) {\n markInsideReactTree();\n markPressStartedInsideReactTree(event);\n },\n onPointerDownCapture(event) {\n markInsideReactTree();\n markPressStartedInsideReactTree(event);\n },\n onMouseUpCapture: markInsideReactTree,\n onTouchEndCapture: markInsideReactTree,\n onTouchMoveCapture: markInsideReactTree\n }), [closeOnEscapeKeyDown, markInsideReactTree, markPressStartedInsideReactTree, markInsidePressStartPrevented]);\n return React.useMemo(() => enabled ? {\n reference,\n floating,\n trigger: reference\n } : {}, [enabled, reference, floating]);\n}"],"names":["alwaysFalse","normalizeProp","normalizable","useDismiss","context","props","enabled","escapeKey","outsidePressProp","outsidePressEvent","referencePress","bubbles","externalTree","store","open","floatingElement","dataRef","tree","useFloatingTree","outsidePressFn","useStableCallback","outsidePress","outsidePressEnabled","getOutsidePressEventProp","escapeKeyBubbles","outsidePressBubbles","pressStartedInsideRef","React","pressStartPreventedRef","suppressNextOutsideClickRef","isComposingRef","currentPointerTypeRef","touchStateRef","cancelDismissOnEndTimeout","useTimeout","clearInsideReactTreeTimeout","clearInsideReactTree","hasBlockingChild","bubbleKey","nodeId","getNodeChildren","child","isEventWithinOwnElements","event","isEventTargetWithin","closeOnReferencePress","createChangeEventDetails","REASONS.triggerPress","closeOnEscapeKeyDown","native","isReactEvent","eventDetails","REASONS.escapeKey","markInsideReactTree","markPressStartedInsideReactTree","target","getTarget","contains","markInsidePressStartPrevented","compositionTimeout","Timeout","preventedPressSuppressionTimeout","handleCompositionStart","handleCompositionEnd","platform.engine.webkit","suppressImmediateOutsideClickAfterPreventedStart","resetPressStartState","getOutsidePressEvent","type","computedType","outsidePressEventValue","resolved","shouldIgnoreEvent","computedOutsidePressEvent","isEventWithinFloatingTree","targetIsInsideChildren","node","closeOnPressOutside","inertSelector","createAttribute","targetRoot","isElement","markers","isShadowRoot","ownerDocument","triggers","trigger","targetRootAncestor","isLastTraversableNode","nextParent","getParentNode","isRootElement","marker","isHTMLElement","lastTraversableNode","style","getComputedStyle","scrollRe","isScrollableX","isScrollableY","canScrollX","canScrollY","isRTL","pressedVerticalScrollbar","pressedHorizontalScrollbar","REASONS.outsidePress","handlePointerDown","handleTouchStart","touch","addTargetEventListenerOnce","listener","unsubscribe","addEventListener","handleTouchStartCapture","closeOnPressOutsideCapture","targetEvent","handlePressEndCapture","pressStartedInsideDefaultPrevented","handleTouchMove","deltaX","deltaY","distance","handleTouchMoveCapture","handleTouchEnd","handleTouchEndCapture","doc","mergeCleanups","reference","floating"],"mappings":"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","x_google_ignoreList":[0]}
package/dist/index303.js CHANGED
@@ -1,22 +1,256 @@
1
- import * as c from "react";
2
- import { s as u } from "./index409.js";
3
- import { w as i } from "./index410.js";
4
- import { isReactVersionAtLeast as S } from "./index351.js";
5
- const a = S(19), m = a ? f : l;
6
- function g(t, e, r, n, o) {
7
- return m(t, e, r, n, o);
1
+ import * as f from "react";
2
+ import { useAnimationFrame as Me } from "./index323.js";
3
+ import { useIsoLayoutEffect as T } from "./index273.js";
4
+ import { ownerDocument as be } from "./index306.js";
5
+ import { useStableCallback as S } from "./index264.js";
6
+ import { useValueAsRef as k } from "./index288.js";
7
+ import { isHTMLElement as Pe } from "./index270.js";
8
+ import { createChangeEventDetails as ce } from "./index153.js";
9
+ import { useFloatingParentNodeId as ze, useFloatingTree as We } from "./index373.js";
10
+ import { isIndexOutOfListBounds as Fe, getMinListIndex as ie, getMaxListIndex as ve, findNonDisabledListIndex as G } from "./index369.js";
11
+ import { ARROW_LEFT as B, ARROW_RIGHT as Q, ARROW_UP as Se, ARROW_DOWN as le } from "./index379.js";
12
+ import { getFloatingFocusElement as _e, isTypeableCombobox as qe } from "./index312.js";
13
+ import { enqueueFocus as He } from "./index371.js";
14
+ import { stopEvent as P, isVirtualClick as Ge, isVirtualPointerEvent as $e } from "./index334.js";
15
+ import { activeElement as ue, contains as se, getTarget as Be } from "./index313.js";
16
+ import { listNavigation as Te, focusOut as Qe } from "./index155.js";
17
+ const Ue = "Escape";
18
+ function U(c, d, n) {
19
+ switch (c) {
20
+ case "vertical":
21
+ return d;
22
+ case "horizontal":
23
+ return n;
24
+ default:
25
+ return d || n;
26
+ }
8
27
  }
9
- function p(t, e, r, n, o) {
10
- const s = c.useCallback(() => e(t.getSnapshot(), r, n, o), [t, e, r, n, o]);
11
- return u.useSyncExternalStore(t.subscribe, s, s);
28
+ function $(c, d) {
29
+ return U(d, c === Se || c === le, c === B || c === Q);
12
30
  }
13
- function f(t, e, r, n, o) {
14
- return p(t, e, r, n, o);
31
+ function ae(c, d, n) {
32
+ return U(d, c === le, n ? c === B : c === Q) || c === "Enter" || c === " " || c === "";
15
33
  }
16
- function l(t, e, r, n, o) {
17
- return i.useSyncExternalStoreWithSelector(t.subscribe, t.getSnapshot, t.getSnapshot, (s) => e(s, r, n, o));
34
+ function je(c, d, n) {
35
+ return U(d, n ? c === B : c === Q, c === le);
36
+ }
37
+ function Je(c, d, n, p) {
38
+ const K = n ? c === Q : c === B, R = c === Se;
39
+ return d === "both" || d === "horizontal" && p ? c === Ue : U(d, K, R);
40
+ }
41
+ function dr(c, d) {
42
+ const {
43
+ listRef: n,
44
+ activeIndex: p,
45
+ onNavigate: K = () => {
46
+ },
47
+ enabled: R = !0,
48
+ selectedIndex: L = null,
49
+ allowEscape: j = !1,
50
+ loopFocus: V = !1,
51
+ nested: w = !1,
52
+ rtl: O = !1,
53
+ virtual: s = !1,
54
+ focusItemOnOpen: y = "auto",
55
+ focusItemOnHover: J = !0,
56
+ openOnArrowKeyDown: X = !0,
57
+ disabledIndices: x = void 0,
58
+ orientation: a = "vertical",
59
+ parentOrientation: Ke,
60
+ id: fe,
61
+ resetOnPointerLeave: Le = !0,
62
+ externalTree: Ce,
63
+ grid: Y
64
+ } = d, de = Y != null;
65
+ process.env.NODE_ENV !== "production" && (j && (V || console.warn("`useListNavigation` looping must be enabled to allow escaping."), s || console.warn("`useListNavigation` must be virtual to allow escaping.")), a === "vertical" && de && console.warn("In grid list navigation mode, the `orientation` should", 'be either "horizontal" or "both".'));
66
+ const g = "rootStore" in c ? c.rootStore : c, m = g.useState("open"), E = g.useState("floatingElement"), I = g.useState("domReferenceElement"), me = g.context.dataRef, De = _e(E), Z = qe(I), C = k(De), ee = ze(), F = We(Ce), M = f.useRef(y), o = f.useRef(L ?? -1), b = f.useRef(null), v = f.useRef(!0), u = S((e) => {
67
+ K(o.current === -1 ? null : o.current, e);
68
+ }), D = f.useRef(!!E), pe = f.useRef(m), h = f.useRef(!1), z = f.useRef(!1), re = f.useRef(null), Ne = k(x), W = k(m), N = k(L), ge = k(Le), Ae = Me(), Re = Me(), te = S(() => {
69
+ function e(i) {
70
+ s ? F?.events.emit("virtualfocus", i) : re.current = He(i, {
71
+ sync: h.current,
72
+ preventScroll: !0
73
+ });
74
+ }
75
+ const r = n.current[o.current], l = z.current;
76
+ r && e(r), (h.current ? (i) => i() : (i) => Ae.request(i))(() => {
77
+ const i = n.current[o.current] || r;
78
+ if (!i)
79
+ return;
80
+ r || e(i), // eslint-disable-next-line @typescript-eslint/no-use-before-define
81
+ oe && (l || !v.current) && i.scrollIntoView?.({
82
+ block: "nearest",
83
+ inline: "nearest"
84
+ });
85
+ });
86
+ });
87
+ T(() => {
88
+ me.current.orientation = a;
89
+ }, [me, a]), T(() => {
90
+ R && (m && E ? (o.current = L ?? -1, M.current && L != null && (z.current = !0, u())) : D.current && (o.current = -1, u()));
91
+ }, [R, m, E, L, u]), T(() => {
92
+ if (R) {
93
+ if (!m) {
94
+ h.current = !1;
95
+ return;
96
+ }
97
+ if (E)
98
+ if (p == null) {
99
+ if (h.current = !1, N.current != null)
100
+ return;
101
+ if (D.current && (o.current = -1, te()), (!pe.current || !D.current) && M.current && (b.current != null || M.current === !0 && b.current == null)) {
102
+ let e = 0;
103
+ const r = () => {
104
+ n.current[0] == null ? (e < 2 && (e ? (t) => Re.request(t) : queueMicrotask)(r), e += 1) : (o.current = b.current == null || ae(b.current, a, O) || w ? ie(n) : ve(n), b.current = null, u());
105
+ };
106
+ r();
107
+ }
108
+ } else Fe(n.current, p) || (o.current = p, te(), z.current = !1);
109
+ }
110
+ }, [R, m, E, p, N, w, n, a, O, u, te, Re]), T(() => {
111
+ if (!R || E || !F || s || !D.current)
112
+ return;
113
+ const e = F.nodesRef.current, r = e.find((i) => i.id === ee)?.context?.elements.floating, l = ue(be(I ?? r ?? null)), t = e.some((i) => i.context && se(i.context.elements.floating, l));
114
+ r && !t && v.current && r.focus({
115
+ preventScroll: !0
116
+ });
117
+ }, [R, E, I, F, ee, s]), T(() => {
118
+ pe.current = m, D.current = !!E;
119
+ }), T(() => {
120
+ m || (b.current = null, M.current = y);
121
+ }, [m, y]);
122
+ const he = p != null, ne = S((e) => {
123
+ if (!W.current)
124
+ return;
125
+ const r = n.current.indexOf(e.currentTarget);
126
+ r !== -1 && (o.current !== r || p !== r) && (o.current = r, u(e));
127
+ }), _ = S(() => Ke ?? F?.nodesRef.current.find((e) => e.id === ee)?.context?.dataRef?.current.orientation), Ee = S(() => ie(n, Ne.current)), A = S((e) => {
128
+ if (v.current = !1, h.current = !0, e.which === 229 || !W.current && e.currentTarget === C.current)
129
+ return;
130
+ if (w && Je(e.key, a, O, de)) {
131
+ $(e.key, _()) || P(e), g.setOpen(!1, ce(Te, e.nativeEvent)), Pe(I) && (s ? F?.events.emit("virtualfocus", I) : I.focus());
132
+ return;
133
+ }
134
+ const r = o.current, l = ie(n, x), t = ve(n, x);
135
+ if (Z || (e.key === "Home" && (P(e), o.current = l, u(e)), e.key === "End" && (P(e), o.current = t, u(e))), Y != null) {
136
+ const i = Y(e, o.current, n, a, V, O, x, l, t);
137
+ if (i != null && (o.current = i, u(e)), a === "both")
138
+ return;
139
+ }
140
+ if ($(e.key, a)) {
141
+ if (P(e), m && !s && ue(e.currentTarget.ownerDocument) === e.currentTarget) {
142
+ o.current = ae(e.key, a, O) ? l : t, u(e);
143
+ return;
144
+ }
145
+ ae(e.key, a, O) ? V ? r >= t ? j && r !== n.current.length ? o.current = -1 : (h.current = !1, o.current = l) : o.current = G(n.current, {
146
+ startingIndex: r,
147
+ disabledIndices: x
148
+ }) : o.current = Math.min(t, G(n.current, {
149
+ startingIndex: r,
150
+ disabledIndices: x
151
+ })) : V ? r <= l ? j && r !== -1 ? o.current = n.current.length : (h.current = !1, o.current = t) : o.current = G(n.current, {
152
+ startingIndex: r,
153
+ decrement: !0,
154
+ disabledIndices: x
155
+ }) : o.current = Math.max(l, G(n.current, {
156
+ startingIndex: r,
157
+ decrement: !0,
158
+ disabledIndices: x
159
+ })), Fe(n.current, o.current) && (o.current = -1), u(e);
160
+ }
161
+ }), oe = f.useMemo(() => ({
162
+ onFocus(r) {
163
+ h.current = !0, ne(r);
164
+ },
165
+ onClick: ({
166
+ currentTarget: r
167
+ }) => r.focus({
168
+ preventScroll: !0
169
+ }),
170
+ // Safari
171
+ onMouseMove(r) {
172
+ h.current = !0, z.current = !1, J && ne(r);
173
+ },
174
+ onPointerLeave(r) {
175
+ if (!W.current || !v.current || r.pointerType === "touch")
176
+ return;
177
+ h.current = !0;
178
+ const l = r.relatedTarget;
179
+ if (!(!J || n.current.includes(l)) && ge.current && (re.current?.(), re.current = null, o.current = -1, u(r), !s)) {
180
+ const t = C.current, i = ue(be(t));
181
+ t && se(t, i) && t.focus({
182
+ preventScroll: !0
183
+ });
184
+ }
185
+ }
186
+ }), [ne, W, C, J, n, u, ge, s]), q = f.useMemo(() => s && m && he && {
187
+ "aria-activedescendant": `${fe}-${p}`
188
+ }, [s, m, he, fe, p]), Ie = f.useMemo(() => ({
189
+ "aria-orientation": a === "both" ? void 0 : a,
190
+ ...Z ? {} : q,
191
+ onKeyDown(e) {
192
+ if (e.key === "Tab" && e.shiftKey && m && !s) {
193
+ const r = Be(e.nativeEvent);
194
+ if (r && !se(C.current, r))
195
+ return;
196
+ P(e), g.setOpen(!1, ce(Qe, e.nativeEvent)), Pe(I) && I.focus();
197
+ return;
198
+ }
199
+ A(e);
200
+ },
201
+ onPointerMove() {
202
+ v.current = !0;
203
+ }
204
+ }), [q, A, C, a, Z, g, m, s, I]), H = f.useMemo(() => {
205
+ function e(t) {
206
+ g.setOpen(!0, ce(Te, t.nativeEvent, t.currentTarget));
207
+ }
208
+ function r(t) {
209
+ y === "auto" && Ge(t.nativeEvent) && (M.current = !s);
210
+ }
211
+ function l(t) {
212
+ M.current = y, y === "auto" && $e(t.nativeEvent) && (M.current = !0);
213
+ }
214
+ return {
215
+ onKeyDown(t) {
216
+ const i = g.select("open");
217
+ v.current = !1;
218
+ const xe = t.key.startsWith("Arrow"), we = je(t.key, _(), O), ye = $(t.key, a), ke = (w ? we : ye) || t.key === "Enter" || t.key.trim() === "";
219
+ if (s && i)
220
+ return A(t);
221
+ if (!(!i && !X && xe)) {
222
+ if (ke) {
223
+ const Ve = $(t.key, _());
224
+ b.current = w && Ve ? null : t.key;
225
+ }
226
+ if (w) {
227
+ we && (P(t), i ? (o.current = Ee(), u(t)) : e(t));
228
+ return;
229
+ }
230
+ ye && (N.current != null && (o.current = N.current), P(t), !i && X ? e(t) : A(t), i && u(t));
231
+ }
232
+ },
233
+ onFocus(t) {
234
+ g.select("open") && !s && (o.current = -1, u(t));
235
+ },
236
+ onPointerDown: l,
237
+ onPointerEnter: l,
238
+ onMouseDown: r,
239
+ onClick: r
240
+ };
241
+ }, [A, y, Ee, w, u, g, X, a, _, O, N, s]), Oe = f.useMemo(() => ({
242
+ ...q,
243
+ ...H
244
+ }), [q, H]);
245
+ return f.useMemo(() => R ? {
246
+ reference: Oe,
247
+ floating: Ie,
248
+ item: oe,
249
+ trigger: H
250
+ } : {}, [R, Oe, Ie, H, oe]);
18
251
  }
19
252
  export {
20
- g as useStore
253
+ Ue as ESCAPE,
254
+ dr as useListNavigation
21
255
  };
22
256
  //# sourceMappingURL=index303.js.map