@rpcbase/ui 0.287.0 → 0.289.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 (738) hide show
  1. package/dist/assets/sha256.worker-DNtOSCbM.js.map +1 -0
  2. package/dist/components/FilesUploadField/index.d.ts.map +1 -1
  3. package/dist/index.js +12 -12
  4. package/dist/index10.js.map +1 -1
  5. package/dist/index100.js.map +1 -1
  6. package/dist/index101.js.map +1 -1
  7. package/dist/index102.js.map +1 -1
  8. package/dist/index103.js.map +1 -1
  9. package/dist/index104.js.map +1 -1
  10. package/dist/index105.js.map +1 -1
  11. package/dist/index106.js.map +1 -1
  12. package/dist/index107.js.map +1 -1
  13. package/dist/index108.js.map +1 -1
  14. package/dist/index109.js.map +1 -1
  15. package/dist/index11.js +96 -17
  16. package/dist/index11.js.map +1 -1
  17. package/dist/index110.js.map +1 -1
  18. package/dist/index111.js.map +1 -1
  19. package/dist/index112.js.map +1 -1
  20. package/dist/index113.js.map +1 -1
  21. package/dist/index114.js.map +1 -1
  22. package/dist/index115.js.map +1 -1
  23. package/dist/index116.js.map +1 -1
  24. package/dist/index117.js.map +1 -1
  25. package/dist/index118.js.map +1 -1
  26. package/dist/index119.js.map +1 -1
  27. package/dist/index12.js.map +1 -1
  28. package/dist/index120.js.map +1 -1
  29. package/dist/index121.js.map +1 -1
  30. package/dist/index122.js.map +1 -1
  31. package/dist/index123.js +1 -1
  32. package/dist/index123.js.map +1 -1
  33. package/dist/index124.js.map +1 -1
  34. package/dist/index125.js.map +1 -1
  35. package/dist/index126.js.map +1 -1
  36. package/dist/index127.js.map +1 -1
  37. package/dist/index128.js.map +1 -1
  38. package/dist/index129.js.map +1 -1
  39. package/dist/index13.js.map +1 -1
  40. package/dist/index130.js.map +1 -1
  41. package/dist/index131.js.map +1 -1
  42. package/dist/index132.js.map +1 -1
  43. package/dist/index133.js.map +1 -1
  44. package/dist/index134.js.map +1 -1
  45. package/dist/index135.js.map +1 -1
  46. package/dist/index136.js.map +1 -1
  47. package/dist/index137.js.map +1 -1
  48. package/dist/index138.js.map +1 -1
  49. package/dist/index139.js.map +1 -1
  50. package/dist/index14.js.map +1 -1
  51. package/dist/index140.js.map +1 -1
  52. package/dist/index141.js.map +1 -1
  53. package/dist/index142.js.map +1 -1
  54. package/dist/index143.js.map +1 -1
  55. package/dist/index144.js.map +1 -1
  56. package/dist/index145.js.map +1 -1
  57. package/dist/index146.js.map +1 -1
  58. package/dist/index147.js.map +1 -1
  59. package/dist/index148.js.map +1 -1
  60. package/dist/index149.js.map +1 -1
  61. package/dist/index15.js.map +1 -1
  62. package/dist/index150.js.map +1 -1
  63. package/dist/index151.js.map +1 -1
  64. package/dist/index152.js.map +1 -1
  65. package/dist/index153.js.map +1 -1
  66. package/dist/index154.js +4 -4
  67. package/dist/index154.js.map +1 -1
  68. package/dist/index155.js.map +1 -1
  69. package/dist/index156.js.map +1 -1
  70. package/dist/index157.js.map +1 -1
  71. package/dist/index158.js.map +1 -1
  72. package/dist/index159.js.map +1 -1
  73. package/dist/index16.js.map +1 -1
  74. package/dist/index160.js.map +1 -1
  75. package/dist/index161.js.map +1 -1
  76. package/dist/index162.js.map +1 -1
  77. package/dist/index163.js.map +1 -1
  78. package/dist/index164.js.map +1 -1
  79. package/dist/index165.js.map +1 -1
  80. package/dist/index166.js.map +1 -1
  81. package/dist/index167.js.map +1 -1
  82. package/dist/index168.js.map +1 -1
  83. package/dist/index169.js.map +1 -1
  84. package/dist/index17.js.map +1 -1
  85. package/dist/index170.js +18 -12
  86. package/dist/index170.js.map +1 -1
  87. package/dist/index171.js.map +1 -1
  88. package/dist/index172.js.map +1 -1
  89. package/dist/index173.js.map +1 -1
  90. package/dist/index174.js.map +1 -1
  91. package/dist/index175.js.map +1 -1
  92. package/dist/index176.js.map +1 -1
  93. package/dist/index177.js.map +1 -1
  94. package/dist/index178.js.map +1 -1
  95. package/dist/index179.js.map +1 -1
  96. package/dist/index18.js.map +1 -1
  97. package/dist/index180.js.map +1 -1
  98. package/dist/index181.js +1 -1
  99. package/dist/index181.js.map +1 -1
  100. package/dist/index182.js +3 -3
  101. package/dist/index182.js.map +1 -1
  102. package/dist/index183.js.map +1 -1
  103. package/dist/index184.js.map +1 -1
  104. package/dist/index185.js.map +1 -1
  105. package/dist/index186.js.map +1 -1
  106. package/dist/index187.js.map +1 -1
  107. package/dist/index188.js.map +1 -1
  108. package/dist/index189.js.map +1 -1
  109. package/dist/index19.js.map +1 -1
  110. package/dist/index190.js +9 -7
  111. package/dist/index190.js.map +1 -1
  112. package/dist/index191.js +4 -4
  113. package/dist/index191.js.map +1 -1
  114. package/dist/index192.js +4 -15
  115. package/dist/index192.js.map +1 -1
  116. package/dist/index193.js +13 -3
  117. package/dist/index193.js.map +1 -1
  118. package/dist/index194.js +2 -2
  119. package/dist/index194.js.map +1 -1
  120. package/dist/index195.js +4 -85
  121. package/dist/index195.js.map +1 -1
  122. package/dist/index196.js +79 -54
  123. package/dist/index196.js.map +1 -1
  124. package/dist/index197.js +68 -7
  125. package/dist/index197.js.map +1 -1
  126. package/dist/index198.js +3 -23
  127. package/dist/index198.js.map +1 -1
  128. package/dist/index199.js +6 -28
  129. package/dist/index199.js.map +1 -1
  130. package/dist/index20.js.map +1 -1
  131. package/dist/index200.js +4 -97
  132. package/dist/index200.js.map +1 -1
  133. package/dist/index201.js +3 -4
  134. package/dist/index201.js.map +1 -1
  135. package/dist/index202.js +23 -24
  136. package/dist/index202.js.map +1 -1
  137. package/dist/index203.js +28 -10
  138. package/dist/index203.js.map +1 -1
  139. package/dist/index204.js +97 -4
  140. package/dist/index204.js.map +1 -1
  141. package/dist/index205.js +4 -12
  142. package/dist/index205.js.map +1 -1
  143. package/dist/index206.js +22 -19
  144. package/dist/index206.js.map +1 -1
  145. package/dist/index207.js +4 -6
  146. package/dist/index207.js.map +1 -1
  147. package/dist/index208.js +4 -15
  148. package/dist/index208.js.map +1 -1
  149. package/dist/index209.js +10 -102
  150. package/dist/index209.js.map +1 -1
  151. package/dist/index210.js +21 -3
  152. package/dist/index210.js.map +1 -1
  153. package/dist/index211.js +5 -23
  154. package/dist/index211.js.map +1 -1
  155. package/dist/index212.js +15 -28
  156. package/dist/index212.js.map +1 -1
  157. package/dist/index213.js +101 -17
  158. package/dist/index213.js.map +1 -1
  159. package/dist/index214.js +3 -7
  160. package/dist/index214.js.map +1 -1
  161. package/dist/index215.js +24 -15
  162. package/dist/index215.js.map +1 -1
  163. package/dist/index216.js +27 -7
  164. package/dist/index216.js.map +1 -1
  165. package/dist/index217.js +17 -24
  166. package/dist/index217.js.map +1 -1
  167. package/dist/index218.js +6 -22
  168. package/dist/index218.js.map +1 -1
  169. package/dist/index219.js +15 -6
  170. package/dist/index219.js.map +1 -1
  171. package/dist/index220.js +8 -5
  172. package/dist/index220.js.map +1 -1
  173. package/dist/index221.js +27 -4
  174. package/dist/index221.js.map +1 -1
  175. package/dist/index222.js +23 -4
  176. package/dist/index222.js.map +1 -1
  177. package/dist/index223.js +6 -24
  178. package/dist/index223.js.map +1 -1
  179. package/dist/index224.js +5 -3
  180. package/dist/index224.js.map +1 -1
  181. package/dist/index225.js +4 -24
  182. package/dist/index225.js.map +1 -1
  183. package/dist/index226.js +4 -23
  184. package/dist/index226.js.map +1 -1
  185. package/dist/index227.js +23 -6
  186. package/dist/index227.js.map +1 -1
  187. package/dist/index228.js +22 -8
  188. package/dist/index228.js.map +1 -1
  189. package/dist/index229.js +3 -19
  190. package/dist/index229.js.map +1 -1
  191. package/dist/index23.js.map +1 -1
  192. package/dist/index230.js +22 -50
  193. package/dist/index230.js.map +1 -1
  194. package/dist/index231.js +7 -20
  195. package/dist/index231.js.map +1 -1
  196. package/dist/index232.js +9 -27
  197. package/dist/index232.js.map +1 -1
  198. package/dist/index233.js +17 -97
  199. package/dist/index233.js.map +1 -1
  200. package/dist/index234.js +50 -33
  201. package/dist/index234.js.map +1 -1
  202. package/dist/index235.js +20 -119
  203. package/dist/index235.js.map +1 -1
  204. package/dist/index236.js +28 -13
  205. package/dist/index236.js.map +1 -1
  206. package/dist/index237.js +98 -4
  207. package/dist/index237.js.map +1 -1
  208. package/dist/index238.js +33 -15
  209. package/dist/index238.js.map +1 -1
  210. package/dist/index239.js +116 -62
  211. package/dist/index239.js.map +1 -1
  212. package/dist/index24.js.map +1 -1
  213. package/dist/index240.js +13 -10
  214. package/dist/index240.js.map +1 -1
  215. package/dist/index241.js +4 -109
  216. package/dist/index241.js.map +1 -1
  217. package/dist/index242.js +14 -14
  218. package/dist/index242.js.map +1 -1
  219. package/dist/index243.js +64 -12
  220. package/dist/index243.js.map +1 -1
  221. package/dist/index244.js +10 -5
  222. package/dist/index244.js.map +1 -1
  223. package/dist/index245.js +104 -318
  224. package/dist/index245.js.map +1 -1
  225. package/dist/index246.js +14 -66
  226. package/dist/index246.js.map +1 -1
  227. package/dist/index247.js +12 -232
  228. package/dist/index247.js.map +1 -1
  229. package/dist/index248.js +4 -270
  230. package/dist/index248.js.map +1 -1
  231. package/dist/index249.js +313 -309
  232. package/dist/index249.js.map +1 -1
  233. package/dist/index25.js.map +1 -1
  234. package/dist/index250.js +60 -171
  235. package/dist/index250.js.map +1 -1
  236. package/dist/index251.js +252 -8
  237. package/dist/index251.js.map +1 -1
  238. package/dist/index252.js +268 -41
  239. package/dist/index252.js.map +1 -1
  240. package/dist/index253.js +316 -47
  241. package/dist/index253.js.map +1 -1
  242. package/dist/index254.js +179 -9
  243. package/dist/index254.js.map +1 -1
  244. package/dist/index255.js +6 -50
  245. package/dist/index255.js.map +1 -1
  246. package/dist/index256.js +41 -51
  247. package/dist/index256.js.map +1 -1
  248. package/dist/index257.js +50 -7
  249. package/dist/index257.js.map +1 -1
  250. package/dist/index258.js +9 -10
  251. package/dist/index258.js.map +1 -1
  252. package/dist/index259.js +51 -61
  253. package/dist/index259.js.map +1 -1
  254. package/dist/index26.js.map +1 -1
  255. package/dist/index260.js +53 -42
  256. package/dist/index260.js.map +1 -1
  257. package/dist/index261.js +9 -97
  258. package/dist/index261.js.map +1 -1
  259. package/dist/index262.js +31 -47
  260. package/dist/index262.js.map +1 -1
  261. package/dist/index263.js +61 -36
  262. package/dist/index263.js.map +1 -1
  263. package/dist/index264.js +43 -47
  264. package/dist/index264.js.map +1 -1
  265. package/dist/index265.js +92 -46
  266. package/dist/index265.js.map +1 -1
  267. package/dist/index266.js +48 -20
  268. package/dist/index266.js.map +1 -1
  269. package/dist/index267.js +33 -176
  270. package/dist/index267.js.map +1 -1
  271. package/dist/index268.js +49 -48
  272. package/dist/index268.js.map +1 -1
  273. package/dist/index269.js +68 -15
  274. package/dist/index269.js.map +1 -1
  275. package/dist/index27.js.map +1 -1
  276. package/dist/index270.js +20 -65
  277. package/dist/index270.js.map +1 -1
  278. package/dist/index271.js +202 -9
  279. package/dist/index271.js.map +1 -1
  280. package/dist/index272.js +48 -40
  281. package/dist/index272.js.map +1 -1
  282. package/dist/index273.js +60 -91
  283. package/dist/index273.js.map +1 -1
  284. package/dist/index274.js +9 -278
  285. package/dist/index274.js.map +1 -1
  286. package/dist/index275.js +38 -55
  287. package/dist/index275.js.map +1 -1
  288. package/dist/index276.js +91 -10
  289. package/dist/index276.js.map +1 -1
  290. package/dist/index277.js +278 -12
  291. package/dist/index277.js.map +1 -1
  292. package/dist/index278.js +58 -11
  293. package/dist/index278.js.map +1 -1
  294. package/dist/index279.js +11 -64
  295. package/dist/index279.js.map +1 -1
  296. package/dist/index28.js +5 -5
  297. package/dist/index28.js.map +1 -1
  298. package/dist/index280.js +12 -6
  299. package/dist/index280.js.map +1 -1
  300. package/dist/index281.js +3 -25
  301. package/dist/index281.js.map +1 -1
  302. package/dist/index282.js +3 -25
  303. package/dist/index282.js.map +1 -1
  304. package/dist/index283.js +12 -126
  305. package/dist/index283.js.map +1 -1
  306. package/dist/index284.js +63 -51
  307. package/dist/index284.js.map +1 -1
  308. package/dist/index285.js +5 -60
  309. package/dist/index285.js.map +1 -1
  310. package/dist/index286.js +24 -48
  311. package/dist/index286.js.map +1 -1
  312. package/dist/index287.js +24 -6
  313. package/dist/index287.js.map +1 -1
  314. package/dist/index288.js +125 -14
  315. package/dist/index288.js.map +1 -1
  316. package/dist/index289.js +51 -16
  317. package/dist/index289.js.map +1 -1
  318. package/dist/index29.js +5 -7
  319. package/dist/index29.js.map +1 -1
  320. package/dist/index290.js +56 -11
  321. package/dist/index290.js.map +1 -1
  322. package/dist/index291.js +47 -24
  323. package/dist/index291.js.map +1 -1
  324. package/dist/index292.js +7 -51
  325. package/dist/index292.js.map +1 -1
  326. package/dist/index293.js +15 -6
  327. package/dist/index293.js.map +1 -1
  328. package/dist/index294.js +18 -148
  329. package/dist/index294.js.map +1 -1
  330. package/dist/index295.js +12 -59
  331. package/dist/index295.js.map +1 -1
  332. package/dist/index296.js +25 -120
  333. package/dist/index296.js.map +1 -1
  334. package/dist/index297.js +54 -15
  335. package/dist/index297.js.map +1 -1
  336. package/dist/index298.js +5 -866
  337. package/dist/index298.js.map +1 -1
  338. package/dist/index299.js +148 -28
  339. package/dist/index299.js.map +1 -1
  340. package/dist/index3.js.map +1 -1
  341. package/dist/index30.js +6 -8
  342. package/dist/index30.js.map +1 -1
  343. package/dist/index300.js +55 -512
  344. package/dist/index300.js.map +1 -1
  345. package/dist/index301.js +111 -794
  346. package/dist/index301.js.map +1 -1
  347. package/dist/index302.js +14 -7436
  348. package/dist/index302.js.map +1 -1
  349. package/dist/index303.js +862 -6
  350. package/dist/index303.js.map +1 -1
  351. package/dist/index304.js +28 -12
  352. package/dist/index304.js.map +1 -1
  353. package/dist/index305.js +515 -5
  354. package/dist/index305.js.map +1 -1
  355. package/dist/index306.js +803 -5
  356. package/dist/index306.js.map +1 -1
  357. package/dist/index307.js +7426 -468
  358. package/dist/index307.js.map +1 -1
  359. package/dist/index308.js +6 -37
  360. package/dist/index308.js.map +1 -1
  361. package/dist/index309.js +12 -19
  362. package/dist/index309.js.map +1 -1
  363. package/dist/index31.js +5 -11
  364. package/dist/index31.js.map +1 -1
  365. package/dist/index310.js +5 -30
  366. package/dist/index310.js.map +1 -1
  367. package/dist/index311.js +5 -4
  368. package/dist/index311.js.map +1 -1
  369. package/dist/index312.js +461 -51
  370. package/dist/index312.js.map +1 -1
  371. package/dist/index313.js +36 -10
  372. package/dist/index313.js.map +1 -1
  373. package/dist/index314.js +19 -5
  374. package/dist/index314.js.map +1 -1
  375. package/dist/index315.js +29 -8
  376. package/dist/index315.js.map +1 -1
  377. package/dist/index316.js +4 -12
  378. package/dist/index316.js.map +1 -1
  379. package/dist/index317.js +60 -3
  380. package/dist/index317.js.map +1 -1
  381. package/dist/index318.js +10 -15
  382. package/dist/index318.js.map +1 -1
  383. package/dist/index319.js +5 -25
  384. package/dist/index319.js.map +1 -1
  385. package/dist/index32.js +5 -5
  386. package/dist/index32.js.map +1 -1
  387. package/dist/index320.js +9 -41
  388. package/dist/index320.js.map +1 -1
  389. package/dist/index321.js +11 -4
  390. package/dist/index321.js.map +1 -1
  391. package/dist/index322.js +3 -26
  392. package/dist/index322.js.map +1 -1
  393. package/dist/index323.js +15 -18
  394. package/dist/index323.js.map +1 -1
  395. package/dist/index324.js +22 -31
  396. package/dist/index324.js.map +1 -1
  397. package/dist/index325.js +41 -5
  398. package/dist/index325.js.map +1 -1
  399. package/dist/index326.js +4 -8
  400. package/dist/index326.js.map +1 -1
  401. package/dist/index327.js +25 -8
  402. package/dist/index327.js.map +1 -1
  403. package/dist/index328.js +19 -9
  404. package/dist/index328.js.map +1 -1
  405. package/dist/index329.js +34 -10
  406. package/dist/index329.js.map +1 -1
  407. package/dist/index33.js +9 -6
  408. package/dist/index33.js.map +1 -1
  409. package/dist/index330.js +5 -7
  410. package/dist/index330.js.map +1 -1
  411. package/dist/index331.js +9 -75
  412. package/dist/index331.js.map +1 -1
  413. package/dist/index332.js +8 -162
  414. package/dist/index332.js.map +1 -1
  415. package/dist/index333.js +9 -114
  416. package/dist/index333.js.map +1 -1
  417. package/dist/index334.js +10 -14
  418. package/dist/index334.js.map +1 -1
  419. package/dist/index335.js +7 -80
  420. package/dist/index335.js.map +1 -1
  421. package/dist/index336.js +68 -39
  422. package/dist/index336.js.map +1 -1
  423. package/dist/index337.js +160 -11
  424. package/dist/index337.js.map +1 -1
  425. package/dist/index338.js +113 -15
  426. package/dist/index338.js.map +1 -1
  427. package/dist/index339.js +13 -100
  428. package/dist/index339.js.map +1 -1
  429. package/dist/index34.js +6 -6
  430. package/dist/index34.js.map +1 -1
  431. package/dist/index340.js +73 -49
  432. package/dist/index340.js.map +1 -1
  433. package/dist/index341.js +34 -96
  434. package/dist/index341.js.map +1 -1
  435. package/dist/index342.js +12 -70
  436. package/dist/index342.js.map +1 -1
  437. package/dist/index343.js +14 -111
  438. package/dist/index343.js.map +1 -1
  439. package/dist/index344.js +94 -48
  440. package/dist/index344.js.map +1 -1
  441. package/dist/index345.js +50 -37
  442. package/dist/index345.js.map +1 -1
  443. package/dist/index346.js +89 -125
  444. package/dist/index346.js.map +1 -1
  445. package/dist/index347.js +52 -123
  446. package/dist/index347.js.map +1 -1
  447. package/dist/index348.js +54 -197
  448. package/dist/index348.js.map +1 -1
  449. package/dist/index349.js +44 -229
  450. package/dist/index349.js.map +1 -1
  451. package/dist/index35.js +9 -9
  452. package/dist/index35.js.map +1 -1
  453. package/dist/index350.js +42 -308
  454. package/dist/index350.js.map +1 -1
  455. package/dist/index351.js +144 -5
  456. package/dist/index351.js.map +1 -1
  457. package/dist/index352.js +142 -6
  458. package/dist/index352.js.map +1 -1
  459. package/dist/index353.js +257 -7
  460. package/dist/index353.js.map +1 -1
  461. package/dist/index354.js +241 -6
  462. package/dist/index354.js.map +1 -1
  463. package/dist/index355.js +309 -6
  464. package/dist/index355.js.map +1 -1
  465. package/dist/index356.js +5 -21
  466. package/dist/index356.js.map +1 -1
  467. package/dist/index357.js +6 -10
  468. package/dist/index357.js.map +1 -1
  469. package/dist/index358.js +7 -128
  470. package/dist/index358.js.map +1 -1
  471. package/dist/index359.js +6 -42
  472. package/dist/index359.js.map +1 -1
  473. package/dist/index36.js +12 -7
  474. package/dist/index36.js.map +1 -1
  475. package/dist/index360.js +6 -68
  476. package/dist/index360.js.map +1 -1
  477. package/dist/index361.js +20 -116
  478. package/dist/index361.js.map +1 -1
  479. package/dist/index362.js +10 -490
  480. package/dist/index362.js.map +1 -1
  481. package/dist/index363.js +128 -7
  482. package/dist/index363.js.map +1 -1
  483. package/dist/index364.js +42 -13
  484. package/dist/index364.js.map +1 -1
  485. package/dist/index365.js +67 -3
  486. package/dist/index365.js.map +1 -1
  487. package/dist/index366.js +115 -45
  488. package/dist/index366.js.map +1 -1
  489. package/dist/index367.js +490 -11
  490. package/dist/index367.js.map +1 -1
  491. package/dist/index368.js +8 -26
  492. package/dist/index368.js.map +1 -1
  493. package/dist/index369.js +12 -41
  494. package/dist/index369.js.map +1 -1
  495. package/dist/index37.js +13 -5
  496. package/dist/index37.js.map +1 -1
  497. package/dist/index370.js +4 -36
  498. package/dist/index370.js.map +1 -1
  499. package/dist/index371.js +45 -15
  500. package/dist/index371.js.map +1 -1
  501. package/dist/index372.js +24 -41
  502. package/dist/index372.js.map +1 -1
  503. package/dist/index373.js +3 -12
  504. package/dist/index373.js.map +1 -1
  505. package/dist/index374.js +27 -11
  506. package/dist/index374.js.map +1 -1
  507. package/dist/index375.js +40 -50
  508. package/dist/index375.js.map +1 -1
  509. package/dist/index376.js +37 -40
  510. package/dist/index376.js.map +1 -1
  511. package/dist/index377.js +12 -10
  512. package/dist/index377.js.map +1 -1
  513. package/dist/index378.js +40 -4
  514. package/dist/index378.js.map +1 -1
  515. package/dist/index379.js +7 -4
  516. package/dist/index379.js.map +1 -1
  517. package/dist/index38.js +5 -5
  518. package/dist/index38.js.map +1 -1
  519. package/dist/index380.js +29 -8
  520. package/dist/index380.js.map +1 -1
  521. package/dist/index381.js +9 -303
  522. package/dist/index381.js.map +1 -1
  523. package/dist/index382.js +57 -4
  524. package/dist/index382.js.map +1 -1
  525. package/dist/index383.js +40 -22
  526. package/dist/index383.js.map +1 -1
  527. package/dist/index384.js +15 -105
  528. package/dist/index384.js.map +1 -1
  529. package/dist/index385.js +5 -22
  530. package/dist/index385.js.map +1 -1
  531. package/dist/index386.js +10 -22
  532. package/dist/index386.js.map +1 -1
  533. package/dist/index387.js +289 -16
  534. package/dist/index387.js.map +1 -1
  535. package/dist/index388.js +4 -12
  536. package/dist/index388.js.map +1 -1
  537. package/dist/index389.js +20 -112
  538. package/dist/index389.js.map +1 -1
  539. package/dist/index39.js +6 -10
  540. package/dist/index39.js.map +1 -1
  541. package/dist/index390.js +3 -9
  542. package/dist/index390.js.map +1 -1
  543. package/dist/index391.js +104 -27
  544. package/dist/index391.js.map +1 -1
  545. package/dist/index392.js +20 -9
  546. package/dist/index392.js.map +1 -1
  547. package/dist/index393.js +20 -6
  548. package/dist/index393.js.map +1 -1
  549. package/dist/index394.js +14 -253
  550. package/dist/index394.js.map +1 -1
  551. package/dist/index395.js +12 -10
  552. package/dist/index395.js.map +1 -1
  553. package/dist/index396.js +117 -11
  554. package/dist/index396.js.map +1 -1
  555. package/dist/index397.js +8 -6
  556. package/dist/index397.js.map +1 -1
  557. package/dist/index398.js +32 -22
  558. package/dist/index398.js.map +1 -1
  559. package/dist/index399.js +9 -23
  560. package/dist/index399.js.map +1 -1
  561. package/dist/index4.js.map +1 -1
  562. package/dist/index40.js +8 -11
  563. package/dist/index40.js.map +1 -1
  564. package/dist/index400.js +6 -105
  565. package/dist/index400.js.map +1 -1
  566. package/dist/index401.js +3 -15
  567. package/dist/index401.js.map +1 -1
  568. package/dist/index402.js +251 -10
  569. package/dist/index402.js.map +1 -1
  570. package/dist/index403.js +9 -7
  571. package/dist/index403.js.map +1 -1
  572. package/dist/index404.js +11 -239
  573. package/dist/index404.js.map +1 -1
  574. package/dist/index405.js +7 -28
  575. package/dist/index405.js.map +1 -1
  576. package/dist/index406.js +21 -37
  577. package/dist/index406.js.map +1 -1
  578. package/dist/index407.js +21 -10
  579. package/dist/index407.js.map +1 -1
  580. package/dist/index408.js +97 -117
  581. package/dist/index408.js.map +1 -1
  582. package/dist/index409.js +15 -40
  583. package/dist/index409.js.map +1 -1
  584. package/dist/index41.js +6 -7
  585. package/dist/index41.js.map +1 -1
  586. package/dist/index410.js +11 -25
  587. package/dist/index410.js.map +1 -1
  588. package/dist/index411.js +7 -9
  589. package/dist/index411.js.map +1 -1
  590. package/dist/index412.js +3 -24
  591. package/dist/index412.js.map +1 -1
  592. package/dist/index413.js +226 -15
  593. package/dist/index413.js.map +1 -1
  594. package/dist/index414.js +24 -11
  595. package/dist/index414.js.map +1 -1
  596. package/dist/index415.js +38 -4
  597. package/dist/index415.js.map +1 -1
  598. package/dist/index416.js +11 -324
  599. package/dist/index416.js.map +1 -1
  600. package/dist/index417.js +119 -62
  601. package/dist/index417.js.map +1 -1
  602. package/dist/index418.js +42 -4
  603. package/dist/index418.js.map +1 -1
  604. package/dist/index419.js +25 -28
  605. package/dist/index419.js.map +1 -1
  606. package/dist/index42.js +6 -4
  607. package/dist/index42.js.map +1 -1
  608. package/dist/index420.js +11 -470
  609. package/dist/index420.js.map +1 -1
  610. package/dist/index421.js +23 -268
  611. package/dist/index421.js.map +1 -1
  612. package/dist/index422.js +24 -0
  613. package/dist/index422.js.map +1 -0
  614. package/dist/index423.js +17 -0
  615. package/dist/index423.js.map +1 -0
  616. package/dist/index424.js +8 -0
  617. package/dist/index424.js.map +1 -0
  618. package/dist/index425.js +328 -0
  619. package/dist/index425.js.map +1 -0
  620. package/dist/index426.js +66 -0
  621. package/dist/index426.js.map +1 -0
  622. package/dist/index427.js +7 -0
  623. package/dist/index427.js.map +1 -0
  624. package/dist/index428.js +31 -0
  625. package/dist/index428.js.map +1 -0
  626. package/dist/index429.js +474 -0
  627. package/dist/index429.js.map +1 -0
  628. package/dist/index43.js +68 -7
  629. package/dist/index43.js.map +1 -1
  630. package/dist/index430.js +272 -0
  631. package/dist/index430.js.map +1 -0
  632. package/dist/index44.js +7 -6
  633. package/dist/index44.js.map +1 -1
  634. package/dist/index45.js +31 -7
  635. package/dist/index45.js.map +1 -1
  636. package/dist/index46.js +10 -10
  637. package/dist/index46.js.map +1 -1
  638. package/dist/index47.js +15 -13
  639. package/dist/index47.js.map +1 -1
  640. package/dist/index48.js +201 -7
  641. package/dist/index48.js.map +1 -1
  642. package/dist/index49.js +20 -6
  643. package/dist/index49.js.map +1 -1
  644. package/dist/index5.js.map +1 -1
  645. package/dist/index50.js +16 -6
  646. package/dist/index50.js.map +1 -1
  647. package/dist/index51.js +123 -14
  648. package/dist/index51.js.map +1 -1
  649. package/dist/index52.js +19 -8
  650. package/dist/index52.js.map +1 -1
  651. package/dist/index53.js +5 -7
  652. package/dist/index53.js.map +1 -1
  653. package/dist/index54.js +9 -68
  654. package/dist/index54.js.map +1 -1
  655. package/dist/index55.js +7 -7
  656. package/dist/index55.js.map +1 -1
  657. package/dist/index56.js +9 -31
  658. package/dist/index56.js.map +1 -1
  659. package/dist/index57.js +13 -10
  660. package/dist/index57.js.map +1 -1
  661. package/dist/index58.js +8 -15
  662. package/dist/index58.js.map +1 -1
  663. package/dist/index59.js +10 -201
  664. package/dist/index59.js.map +1 -1
  665. package/dist/index6.js.map +1 -1
  666. package/dist/index60.js +13 -20
  667. package/dist/index60.js.map +1 -1
  668. package/dist/index61.js +9 -16
  669. package/dist/index61.js.map +1 -1
  670. package/dist/index62.js +10 -123
  671. package/dist/index62.js.map +1 -1
  672. package/dist/index63.js +5 -19
  673. package/dist/index63.js.map +1 -1
  674. package/dist/index64.js +42 -9
  675. package/dist/index64.js.map +1 -1
  676. package/dist/index65.js +387 -9
  677. package/dist/index65.js.map +1 -1
  678. package/dist/index66.js +37 -14
  679. package/dist/index66.js.map +1 -1
  680. package/dist/index67.js +21 -9
  681. package/dist/index67.js.map +1 -1
  682. package/dist/index68.js +4 -9
  683. package/dist/index68.js.map +1 -1
  684. package/dist/index69.js +6 -4
  685. package/dist/index69.js.map +1 -1
  686. package/dist/index7.js +3 -3
  687. package/dist/index7.js.map +1 -1
  688. package/dist/index70.js +57 -41
  689. package/dist/index70.js.map +1 -1
  690. package/dist/index71.js +5 -387
  691. package/dist/index71.js.map +1 -1
  692. package/dist/index72.js +6 -37
  693. package/dist/index72.js.map +1 -1
  694. package/dist/index73.js +5 -21
  695. package/dist/index73.js.map +1 -1
  696. package/dist/index74.js +4 -56
  697. package/dist/index74.js.map +1 -1
  698. package/dist/index75.js +7 -7
  699. package/dist/index75.js.map +1 -1
  700. package/dist/index76.js +6 -5
  701. package/dist/index76.js.map +1 -1
  702. package/dist/index77.js +6 -5
  703. package/dist/index77.js.map +1 -1
  704. package/dist/index78.js +11 -5
  705. package/dist/index78.js.map +1 -1
  706. package/dist/index79.js +11 -5
  707. package/dist/index79.js.map +1 -1
  708. package/dist/index8.js.map +1 -1
  709. package/dist/index80.js +7 -6
  710. package/dist/index80.js.map +1 -1
  711. package/dist/index81.js +10 -6
  712. package/dist/index81.js.map +1 -1
  713. package/dist/index82.js +5 -8
  714. package/dist/index82.js.map +1 -1
  715. package/dist/index83.js +6 -7
  716. package/dist/index83.js.map +1 -1
  717. package/dist/index84.js.map +1 -1
  718. package/dist/index85.js.map +1 -1
  719. package/dist/index86.js.map +1 -1
  720. package/dist/index87.js +2 -2
  721. package/dist/index87.js.map +1 -1
  722. package/dist/index88.js +31 -31
  723. package/dist/index88.js.map +1 -1
  724. package/dist/index89.js +1 -1
  725. package/dist/index89.js.map +1 -1
  726. package/dist/index9.js.map +1 -1
  727. package/dist/index90.js.map +1 -1
  728. package/dist/index91.js.map +1 -1
  729. package/dist/index92.js.map +1 -1
  730. package/dist/index93.js.map +1 -1
  731. package/dist/index94.js.map +1 -1
  732. package/dist/index95.js.map +1 -1
  733. package/dist/index96.js.map +1 -1
  734. package/dist/index97.js.map +1 -1
  735. package/dist/index98.js.map +1 -1
  736. package/dist/index99.js.map +1 -1
  737. package/package.json +13 -13
  738. package/dist/assets/sha256.worker-BEf4_Y9w.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index245.js","names":["ownerWindow","React","REASONS.focusOut","platform.engine.webkit"],"sources":["../../../node_modules/@base-ui/react/floating-ui-react/components/FloatingFocusManager.mjs"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { getNodeName, isHTMLElement } from '@floating-ui/utils/dom';\nimport { addEventListener } from '@base-ui/utils/addEventListener';\nimport { mergeCleanups } from '@base-ui/utils/mergeCleanups';\nimport { useMergedRefs } from '@base-ui/utils/useMergedRefs';\nimport { useValueAsRef } from '@base-ui/utils/useValueAsRef';\nimport { useStableCallback } from '@base-ui/utils/useStableCallback';\nimport { useIsoLayoutEffect } from '@base-ui/utils/useIsoLayoutEffect';\nimport { useTimeout } from '@base-ui/utils/useTimeout';\nimport { platform } from '@base-ui/utils/platform';\nimport { useAnimationFrame } from '@base-ui/utils/useAnimationFrame';\nimport { ownerDocument, ownerWindow } from '@base-ui/utils/owner';\nimport { FocusGuard } from \"../../utils/FocusGuard.mjs\";\nimport { activeElement, contains, getTarget, isTypeableCombobox, getFloatingFocusElement, isTypeableElement } from \"../utils/element.mjs\";\nimport { isVirtualClick, isVirtualPointerEvent, stopEvent } from \"../utils/event.mjs\";\nimport { tabbable, focusable, isOutsideEvent, isTabbable, getNextTabbable, getPreviousTabbable } from \"../utils/tabbable.mjs\";\nimport { getNodeAncestors, getNodeChildren } from \"../utils/nodes.mjs\";\nimport { isElementVisible } from \"../utils/composite.mjs\";\nimport { createChangeEventDetails } from \"../../internals/createBaseUIEventDetails.mjs\";\nimport { REASONS } from \"../../internals/reasons.mjs\";\nimport { createAttribute } from \"../utils/createAttribute.mjs\";\nimport { enqueueFocus } from \"../utils/enqueueFocus.mjs\";\nimport { markOthers } from \"../utils/markOthers.mjs\";\nimport { usePortalContext } from \"./FloatingPortal.mjs\";\nimport { useFloatingTree } from \"./FloatingTree.mjs\";\nimport { CLICK_TRIGGER_IDENTIFIER } from \"../../internals/constants.mjs\";\nimport { resolveRef } from \"../../utils/resolveRef.mjs\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nfunction getEventType(event, lastInteractionType) {\n const win = ownerWindow(getTarget(event));\n if (event instanceof win.KeyboardEvent) {\n return 'keyboard';\n }\n if (event instanceof win.FocusEvent) {\n // Focus events can be caused by a preceding pointer interaction (e.g., focusout on outside press).\n // Prefer the last known pointer type if provided, else treat as keyboard.\n return lastInteractionType || 'keyboard';\n }\n if ('pointerType' in event) {\n return event.pointerType || 'keyboard';\n }\n if ('touches' in event) {\n return 'touch';\n }\n if (event instanceof win.MouseEvent) {\n // onClick events may not contain pointer events, and will fall through to here\n return lastInteractionType || (event.detail === 0 ? 'keyboard' : 'mouse');\n }\n return '';\n}\nconst LIST_LIMIT = 20;\nlet previouslyFocusedElements = [];\nfunction clearDisconnectedPreviouslyFocusedElements() {\n previouslyFocusedElements = previouslyFocusedElements.filter(entry => {\n return entry.deref()?.isConnected;\n });\n}\nfunction addPreviouslyFocusedElement(element) {\n clearDisconnectedPreviouslyFocusedElements();\n if (element && getNodeName(element) !== 'body') {\n previouslyFocusedElements.push(new WeakRef(element));\n if (previouslyFocusedElements.length > LIST_LIMIT) {\n previouslyFocusedElements = previouslyFocusedElements.slice(-LIST_LIMIT);\n }\n }\n}\nfunction getPreviouslyFocusedElement() {\n clearDisconnectedPreviouslyFocusedElements();\n return previouslyFocusedElements[previouslyFocusedElements.length - 1]?.deref();\n}\nfunction getFirstTabbableElement(container) {\n if (!container) {\n return null;\n }\n if (isTabbable(container)) {\n return container;\n }\n return tabbable(container)[0] || container;\n}\nfunction handleTabIndex(floatingFocusElement) {\n if (floatingFocusElement.hasAttribute('tabindex') && !floatingFocusElement.hasAttribute('data-tabindex')) {\n return;\n }\n if (!floatingFocusElement.getAttribute('role')?.includes('dialog')) {\n return;\n }\n const focusableElements = focusable(floatingFocusElement);\n const tabbableContent = focusableElements.filter(element => {\n const dataTabIndex = element.getAttribute('data-tabindex') || '';\n return isTabbable(element) || element.hasAttribute('data-tabindex') && !dataTabIndex.startsWith('-');\n });\n const tabIndex = floatingFocusElement.getAttribute('tabindex');\n if (tabbableContent.length === 0) {\n if (tabIndex !== '0') {\n floatingFocusElement.setAttribute('tabindex', '0');\n // Mark our own write so the externally-managed early-return above doesn't\n // mistake it for a user-authored `tabindex` and freeze management.\n floatingFocusElement.setAttribute('data-tabindex', '0');\n }\n } else if (tabIndex !== '-1' || floatingFocusElement.hasAttribute('data-tabindex') && floatingFocusElement.getAttribute('data-tabindex') !== '-1') {\n floatingFocusElement.setAttribute('tabindex', '-1');\n floatingFocusElement.setAttribute('data-tabindex', '-1');\n }\n}\n/**\n * Provides focus management for the floating element.\n * @see https://floating-ui.com/docs/FloatingFocusManager\n * @internal\n */\nexport function FloatingFocusManager(props) {\n const {\n context,\n children,\n disabled = false,\n initialFocus = true,\n returnFocus = true,\n restoreFocus = false,\n modal = true,\n closeOnFocusOut = true,\n openInteractionType = '',\n nextFocusableElement,\n previousFocusableElement,\n beforeContentFocusGuardRef,\n externalTree,\n getInsideElements\n } = props;\n const store = 'rootStore' in context ? context.rootStore : context;\n const open = store.useState('open');\n const domReference = store.useState('domReferenceElement');\n const floating = store.useState('floatingElement');\n const {\n events,\n dataRef\n } = store.context;\n const getNodeId = useStableCallback(() => dataRef.current.floatingContext?.nodeId);\n const ignoreInitialFocus = initialFocus === false;\n // A typeable combobox reference (e.g. input/textarea) with `initialFocus={false}`\n // has different focus semantics: focus is not trapped inside the floating element,\n // so in the modal case the guards are not rendered, but `aria-hidden` is still\n // applied to the outside nodes.\n const isUntrappedTypeableCombobox = isTypeableCombobox(domReference) && ignoreInitialFocus;\n const initialFocusRef = useValueAsRef(initialFocus);\n const returnFocusRef = useValueAsRef(returnFocus);\n const openInteractionTypeRef = useValueAsRef(openInteractionType);\n const openRef = useValueAsRef(open);\n const tree = useFloatingTree(externalTree);\n const portalContext = usePortalContext();\n const preventReturnFocusRef = React.useRef(false);\n const isPointerDownRef = React.useRef(false);\n const pointerDownOutsideRef = React.useRef(false);\n const lastFocusedTabbableRef = React.useRef(null);\n const closeTypeRef = React.useRef('');\n const lastInteractionTypeRef = React.useRef('');\n const beforeGuardRef = React.useRef(null);\n const afterGuardRef = React.useRef(null);\n const mergedBeforeGuardRef = useMergedRefs(beforeGuardRef, beforeContentFocusGuardRef, portalContext?.beforeInsideRef);\n const mergedAfterGuardRef = useMergedRefs(afterGuardRef, portalContext?.afterInsideRef);\n const blurTimeout = useTimeout();\n const pointerDownTimeout = useTimeout();\n const restoreFocusFrame = useAnimationFrame();\n const isInsidePortal = portalContext != null;\n const floatingFocusElement = getFloatingFocusElement(floating);\n const getTabbableContent = useStableCallback((container = floatingFocusElement) => {\n return container ? tabbable(container) : [];\n });\n const getResolvedInsideElements = useStableCallback(() => getInsideElements?.().filter(element => element != null) ?? []);\n\n // Prevent Tab from escaping the modal when there are no tabbable elements.\n React.useEffect(() => {\n if (disabled || !modal) {\n return undefined;\n }\n function onKeyDown(event) {\n if (event.key === 'Tab') {\n // The focus guards have nothing to focus, so we need to stop the event.\n if (contains(floatingFocusElement, activeElement(ownerDocument(floatingFocusElement))) && getTabbableContent().length === 0 && !isUntrappedTypeableCombobox) {\n stopEvent(event);\n }\n }\n }\n const doc = ownerDocument(floatingFocusElement);\n return addEventListener(doc, 'keydown', onKeyDown);\n }, [disabled, floatingFocusElement, modal, isUntrappedTypeableCombobox, getTabbableContent]);\n\n // Track pointer/keyboard interactions to disambiguate focus and outside presses.\n React.useEffect(() => {\n if (disabled || !open) {\n return undefined;\n }\n const doc = ownerDocument(floatingFocusElement);\n function clearPointerDownOutside() {\n pointerDownOutsideRef.current = false;\n }\n function onPointerDown(event) {\n const target = getTarget(event);\n const insideElements = getResolvedInsideElements();\n const pointerTargetInside = contains(floating, target) || contains(domReference, target) || contains(portalContext?.portalNode, target) || insideElements.some(element => element === target || contains(element, target));\n pointerDownOutsideRef.current = !pointerTargetInside;\n lastInteractionTypeRef.current = event.pointerType || 'keyboard';\n if (target?.closest(`[${CLICK_TRIGGER_IDENTIFIER}]`)) {\n isPointerDownRef.current = true;\n // Reset on the next tick so a single click on a click-trigger doesn't\n // permanently suppress focus-out closing for the lifetime of the instance.\n pointerDownTimeout.start(0, () => {\n isPointerDownRef.current = false;\n });\n }\n }\n function onKeyDown() {\n lastInteractionTypeRef.current = 'keyboard';\n }\n return mergeCleanups(addEventListener(doc, 'pointerdown', onPointerDown, true), addEventListener(doc, 'pointerup', clearPointerDownOutside, true), addEventListener(doc, 'pointercancel', clearPointerDownOutside, true), addEventListener(doc, 'keydown', onKeyDown, true),\n // Avoid a stale `true` leaking into the next open (e.g. keep-mounted popups)\n // if the popup dismissed between pointerdown and pointerup.\n clearPointerDownOutside);\n }, [disabled, floating, domReference, floatingFocusElement, open, portalContext, pointerDownTimeout, getResolvedInsideElements]);\n\n // Close on focus out and restore focus within the floating tree when needed.\n React.useEffect(() => {\n if (disabled || !closeOnFocusOut) {\n return undefined;\n }\n const doc = ownerDocument(floatingFocusElement);\n\n // In Safari, buttons lose focus when pressing them.\n function handlePointerDown() {\n isPointerDownRef.current = true;\n pointerDownTimeout.start(0, () => {\n isPointerDownRef.current = false;\n });\n }\n function handleFocusIn(event) {\n const target = getTarget(event);\n if (isTabbable(target)) {\n lastFocusedTabbableRef.current = target;\n }\n }\n function handleFocusOutside(event) {\n const relatedTarget = event.relatedTarget;\n const currentTarget = event.currentTarget;\n const target = getTarget(event);\n\n // When focus is lost to the body (e.g. on a backdrop press), record the element that\n // had focus so a confirmation dialog opened while the body is focused can return focus\n // to it. Scoped to `modal` to avoid non-modal popups polluting the shared stack.\n if (modal && relatedTarget == null && target != null && contains(floating, target)) {\n addPreviouslyFocusedElement(target);\n }\n queueMicrotask(() => {\n const nodeId = getNodeId();\n const triggers = store.context.triggerElements;\n const insideElements = getResolvedInsideElements();\n const isRelatedFocusGuard = relatedTarget?.hasAttribute(createAttribute('focus-guard')) && [beforeGuardRef.current, afterGuardRef.current, portalContext?.beforeInsideRef.current, portalContext?.afterInsideRef.current, portalContext?.beforeOutsideRef.current, portalContext?.afterOutsideRef.current, resolveRef(previousFocusableElement), resolveRef(nextFocusableElement)].includes(relatedTarget);\n const movedToUnrelatedNode = !(contains(domReference, relatedTarget) || contains(floating, relatedTarget) || contains(relatedTarget, floating) || contains(portalContext?.portalNode, relatedTarget) || insideElements.some(element => element === relatedTarget || contains(element, relatedTarget)) || triggers.hasMatchingElement(trigger => contains(trigger, relatedTarget)) || isRelatedFocusGuard || tree && (getNodeChildren(tree.nodesRef.current, nodeId).find(node => contains(node.context?.elements.floating, relatedTarget) || contains(node.context?.elements.domReference, relatedTarget)) || getNodeAncestors(tree.nodesRef.current, nodeId).find(node => [node.context?.elements.floating, getFloatingFocusElement(node.context?.elements.floating)].includes(relatedTarget) || node.context?.elements.domReference === relatedTarget)));\n if (currentTarget === domReference && floatingFocusElement) {\n handleTabIndex(floatingFocusElement);\n }\n\n // Restore focus to the previously focused tabbable element to prevent\n // focus from being lost outside the floating tree.\n if (restoreFocus && currentTarget !== domReference && !isElementVisible(target) && activeElement(doc) === doc.body) {\n // Let `FloatingPortal` effect knows that focus is still inside the\n // floating tree.\n if (isHTMLElement(floatingFocusElement)) {\n floatingFocusElement.focus();\n // If explicitly requested to restore focus to the popup container, do not search\n // for the next/previous tabbable element.\n if (restoreFocus === 'popup') {\n // If the focused element is removed on pointerdown, the browser\n // tries to move focus to it right after the `.focus()` call above,\n // but because it's removed in the same tick, focus is lost instead.\n // Re-focusing asynchronously (next frame) wins that race.\n restoreFocusFrame.request(() => {\n floatingFocusElement.focus();\n });\n return;\n }\n }\n const tabbableContent = getTabbableContent();\n const prevTabbable = lastFocusedTabbableRef.current;\n const nodeToFocus = (prevTabbable && tabbableContent.includes(prevTabbable) ? prevTabbable : null) || tabbableContent[tabbableContent.length - 1] || floatingFocusElement;\n if (isHTMLElement(nodeToFocus)) {\n nodeToFocus.focus();\n }\n }\n\n // https://github.com/floating-ui/floating-ui/issues/3060\n if (dataRef.current.insideReactTree) {\n dataRef.current.insideReactTree = false;\n return;\n }\n\n // Focus did not move inside the floating tree, and there are no tabbable\n // portal guards to handle closing.\n if ((isUntrappedTypeableCombobox ? true : !modal) && relatedTarget && movedToUnrelatedNode && !isPointerDownRef.current && (\n // Fix React 18 Strict Mode returnFocus due to double rendering.\n // For an \"untrapped\" typeable combobox (input role=combobox with\n // initialFocus=false), re-opening the popup and tabbing out should still close it even\n // when the previously focused element (e.g. the next tabbable outside the popup) is\n // focused again. Otherwise, the popup remains open on the second Tab sequence:\n // click input -> Tab (closes) -> click input -> Tab.\n // Allow closing when `isUntrappedTypeableCombobox` regardless of the previously focused element.\n isUntrappedTypeableCombobox || relatedTarget !== getPreviouslyFocusedElement())) {\n preventReturnFocusRef.current = true;\n store.setOpen(false, createChangeEventDetails(REASONS.focusOut, event));\n }\n });\n }\n function markInsideReactTree() {\n if (pointerDownOutsideRef.current) {\n return;\n }\n dataRef.current.insideReactTree = true;\n blurTimeout.start(0, () => {\n dataRef.current.insideReactTree = false;\n });\n }\n const domReferenceElement = isHTMLElement(domReference) ? domReference : null;\n if (!floating && !domReferenceElement) {\n return undefined;\n }\n return mergeCleanups(domReferenceElement && addEventListener(domReferenceElement, 'focusout', handleFocusOutside), domReferenceElement && addEventListener(domReferenceElement, 'pointerdown', handlePointerDown), floating && addEventListener(floating, 'focusin', handleFocusIn), floating && addEventListener(floating, 'focusout', handleFocusOutside), floating && portalContext && addEventListener(floating, 'focusout', markInsideReactTree, true));\n }, [disabled, domReference, floating, floatingFocusElement, modal, tree, portalContext, store, closeOnFocusOut, restoreFocus, getTabbableContent, isUntrappedTypeableCombobox, getNodeId, dataRef, blurTimeout, pointerDownTimeout, restoreFocusFrame, nextFocusableElement, previousFocusableElement, getResolvedInsideElements]);\n\n // Hide everything outside the floating tree from assistive tech while open.\n React.useEffect(() => {\n if (disabled || !floating || !open) {\n return undefined;\n }\n\n // Don't hide portals nested within the parent portal.\n const portalNodes = Array.from(portalContext?.portalNode?.querySelectorAll(`[${createAttribute('portal')}]`) || []);\n const ancestors = tree ? getNodeAncestors(tree.nodesRef.current, getNodeId()) : [];\n const rootAncestorComboboxDomReference = ancestors.find(node => isTypeableCombobox(node.context?.elements.domReference || null))?.context?.elements.domReference;\n const controlInsideElements = [floating, ...portalNodes, beforeGuardRef.current, afterGuardRef.current, portalContext?.beforeOutsideRef.current, portalContext?.afterOutsideRef.current, ...getResolvedInsideElements()];\n const insideElements = [...controlInsideElements, rootAncestorComboboxDomReference, resolveRef(previousFocusableElement), resolveRef(nextFocusableElement), isUntrappedTypeableCombobox ? domReference : null].filter(x => x != null);\n const ariaHiddenCleanup = markOthers(insideElements, {\n ariaHidden: modal || isUntrappedTypeableCombobox,\n mark: false\n });\n const markerInsideElements = [floating, ...portalNodes].filter(x => x != null);\n const markerCleanup = markOthers(markerInsideElements);\n return () => {\n markerCleanup();\n ariaHiddenCleanup();\n };\n }, [open, disabled, domReference, floating, modal, portalContext, isUntrappedTypeableCombobox, tree, getNodeId, nextFocusableElement, previousFocusableElement, getResolvedInsideElements]);\n\n // Focus the initial element when the floating element opens.\n useIsoLayoutEffect(() => {\n if (!open || disabled || !isHTMLElement(floatingFocusElement)) {\n return;\n }\n closeTypeRef.current = '';\n lastInteractionTypeRef.current = '';\n const doc = ownerDocument(floatingFocusElement);\n const previouslyFocusedElement = activeElement(doc);\n\n // Wait for any layout effect state setters to execute to set `tabIndex`.\n queueMicrotask(() => {\n const initialFocusValueOrFn = initialFocusRef.current;\n const resolvedInitialFocus = typeof initialFocusValueOrFn === 'function' ? initialFocusValueOrFn(openInteractionTypeRef.current || '') : initialFocusValueOrFn;\n\n // `null` should fallback to default behavior in case of an empty ref.\n if (resolvedInitialFocus === undefined || resolvedInitialFocus === false) {\n return;\n }\n const focusAlreadyInsideFloatingEl = contains(floatingFocusElement, previouslyFocusedElement);\n if (focusAlreadyInsideFloatingEl) {\n return;\n }\n let focusableElements = null;\n const getDefaultFocusElement = () => {\n if (focusableElements == null) {\n focusableElements = getTabbableContent(floatingFocusElement);\n }\n return focusableElements[0] || floatingFocusElement;\n };\n let elToFocus;\n if (resolvedInitialFocus === true || resolvedInitialFocus === null) {\n elToFocus = getDefaultFocusElement();\n } else {\n elToFocus = resolveRef(resolvedInitialFocus);\n }\n elToFocus = elToFocus || getDefaultFocusElement();\n const hadFocusInside = contains(floatingFocusElement, activeElement(doc));\n\n // enqueueFocus returns a rAF-cancel function; we intentionally don't cancel this focus.\n void enqueueFocus(elToFocus, {\n preventScroll: elToFocus === floatingFocusElement,\n shouldFocus() {\n // This focus is queued on the next animation frame. If the floating element has closed\n // before it runs — e.g. tabbing out of a kept-mounted popup — don't pull focus back\n // onto the initial element after it has legitimately moved elsewhere.\n if (!openRef.current) {\n return false;\n }\n if (hadFocusInside) {\n return true;\n }\n const currentActiveElement = activeElement(doc);\n const focusMovedInside = currentActiveElement !== elToFocus && contains(floatingFocusElement, currentActiveElement);\n return !focusMovedInside;\n }\n });\n });\n }, [disabled, open, floatingFocusElement, getTabbableContent, initialFocusRef, openInteractionTypeRef, openRef]);\n\n // Track return focus targets and restore focus on unmount/close.\n useIsoLayoutEffect(() => {\n if (disabled || !floatingFocusElement) {\n return undefined;\n }\n const doc = ownerDocument(floatingFocusElement);\n const elementFocusedBeforeOpen = activeElement(doc);\n // Only an explicit `null` interaction type represents a programmatic open.\n // `undefined` is normalized to `''` by the prop default, so it never reaches\n // here as nullish and is intentionally not treated as programmatic.\n const preferPreviousFocus = openInteractionTypeRef.current == null;\n addPreviouslyFocusedElement(elementFocusedBeforeOpen);\n function onOpenChangeLocal(details) {\n if (!details.open) {\n closeTypeRef.current = getEventType(details.nativeEvent, lastInteractionTypeRef.current);\n }\n if (details.reason === REASONS.triggerHover && details.nativeEvent.type === 'mouseleave') {\n preventReturnFocusRef.current = true;\n }\n if (details.reason !== REASONS.outsidePress) {\n return;\n }\n if (details.nested) {\n preventReturnFocusRef.current = false;\n } else if (isVirtualClick(details.nativeEvent) || isVirtualPointerEvent(details.nativeEvent)) {\n preventReturnFocusRef.current = false;\n } else {\n // On outside press, only return focus to the reference when the browser supports the\n // `focus({ preventScroll })` option; without it, restoring focus scrolls the page.\n // Chrome on Android and Samsung Internet still don't support `preventScroll`\n // (https://issues.chromium.org/issues/41453122), so the runtime check keeps return\n // focus disabled there to avoid the scroll jump.\n let isPreventScrollSupported = false;\n ownerDocument(floatingFocusElement).createElement('div').focus({\n get preventScroll() {\n isPreventScrollSupported = true;\n return false;\n }\n });\n if (isPreventScrollSupported) {\n preventReturnFocusRef.current = false;\n } else {\n preventReturnFocusRef.current = true;\n }\n }\n }\n events.on('openchange', onOpenChangeLocal);\n function getReturnElement(closeType) {\n const returnFocusValueOrFn = returnFocusRef.current;\n let resolvedReturnFocusValue = typeof returnFocusValueOrFn === 'function' ? returnFocusValueOrFn(closeType) : returnFocusValueOrFn;\n\n // `null` should fallback to default behavior in case of an empty ref.\n if (resolvedReturnFocusValue === undefined || resolvedReturnFocusValue === false) {\n return null;\n }\n if (resolvedReturnFocusValue === null) {\n resolvedReturnFocusValue = true;\n }\n const referenceReturnElement = domReference?.isConnected ? domReference : null;\n const previousReturnElement = elementFocusedBeforeOpen?.isConnected && getNodeName(elementFocusedBeforeOpen) !== 'body' ? elementFocusedBeforeOpen : null;\n let defaultReturnElement = preferPreviousFocus ? previousReturnElement || referenceReturnElement : referenceReturnElement || previousReturnElement;\n if (!defaultReturnElement) {\n defaultReturnElement = getPreviouslyFocusedElement() || null;\n }\n if (typeof resolvedReturnFocusValue === 'boolean') {\n return defaultReturnElement;\n }\n return resolveRef(resolvedReturnFocusValue) || defaultReturnElement || null;\n }\n return () => {\n events.off('openchange', onOpenChangeLocal);\n const activeEl = activeElement(doc);\n const insideElements = getResolvedInsideElements();\n const isFocusInsideFloatingTree = contains(floating, activeEl) || insideElements.some(element => element === activeEl || contains(element, activeEl)) || tree && getNodeChildren(tree.nodesRef.current, getNodeId(), false).some(node => contains(node.context?.elements.floating, activeEl));\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const returnFocusValueOrFn = returnFocusRef.current;\n const closeType = closeTypeRef.current;\n const returnElement = getReturnElement(closeType);\n queueMicrotask(() => {\n // `returnElement` if it is tabbable, otherwise its first tabbable child,\n // otherwise `returnElement` itself (which may not be tabbable at all).\n const tabbableReturnElement = getFirstTabbableElement(returnElement);\n const hasExplicitReturnFocus = typeof returnFocusValueOrFn !== 'boolean';\n if (returnFocusValueOrFn && !preventReturnFocusRef.current && isHTMLElement(tabbableReturnElement) && (\n // If the focus moved somewhere else after mount, avoid returning focus\n // since it likely entered a different element which should be\n // respected: https://github.com/floating-ui/floating-ui/issues/2607\n !hasExplicitReturnFocus && tabbableReturnElement !== activeEl && activeEl !== doc.body ? isFocusInsideFloatingTree : true)) {\n const focusOptions = {\n preventScroll: true\n };\n if (closeType === 'keyboard') {\n focusOptions.focusVisible = true;\n }\n tabbableReturnElement.focus(focusOptions);\n }\n preventReturnFocusRef.current = false;\n });\n };\n }, [disabled, floating, floatingFocusElement, returnFocusRef, openInteractionTypeRef, events, tree, domReference, getNodeId, getResolvedInsideElements]);\n\n // Safari may randomly scroll to the bottom of the page if an input inside a popup has focus\n // when the popup unmounts from the DOM.\n // By blurring it before the popup unmounts, we can prevent this behavior.\n useIsoLayoutEffect(() => {\n if (!platform.engine.webkit || open || !floating) {\n return;\n }\n const activeEl = activeElement(ownerDocument(floating));\n if (!isHTMLElement(activeEl) || !isTypeableElement(activeEl)) {\n return;\n }\n if (contains(floating, activeEl)) {\n activeEl.blur();\n }\n }, [open, floating]);\n\n // Synchronize the focus manager state (modal, closeOnFocusOut, open, etc.) to the\n // FloatingPortal context, which uses it to decide whether to render its own guards.\n useIsoLayoutEffect(() => {\n if (disabled || !portalContext) {\n return undefined;\n }\n portalContext.setFocusManagerState({\n modal,\n closeOnFocusOut,\n open,\n onOpenChange: store.setOpen,\n domReference\n });\n return () => {\n portalContext.setFocusManagerState(null);\n };\n }, [disabled, portalContext, modal, open, store, closeOnFocusOut, domReference]);\n\n // Keep the floating element tabIndex in sync and clear stale focus records.\n useIsoLayoutEffect(() => {\n if (disabled || !floatingFocusElement) {\n return undefined;\n }\n handleTabIndex(floatingFocusElement);\n return () => {\n queueMicrotask(clearDisconnectedPreviouslyFocusedElements);\n };\n }, [disabled, floatingFocusElement]);\n const shouldRenderGuards = !disabled && (modal ? !isUntrappedTypeableCombobox : true) && (isInsidePortal || modal);\n return /*#__PURE__*/_jsxs(React.Fragment, {\n children: [shouldRenderGuards && /*#__PURE__*/_jsx(FocusGuard, {\n \"data-type\": \"inside\",\n ref: mergedBeforeGuardRef,\n onFocus: event => {\n if (modal) {\n const els = getTabbableContent();\n // enqueueFocus returns a rAF-cancel function we don't need here.\n void enqueueFocus(els[els.length - 1]);\n } else if (portalContext?.portalNode) {\n preventReturnFocusRef.current = false;\n if (isOutsideEvent(event, portalContext.portalNode)) {\n const nextTabbable = getNextTabbable(domReference);\n nextTabbable?.focus();\n } else {\n resolveRef(previousFocusableElement ?? portalContext.beforeOutsideRef)?.focus();\n }\n }\n }\n }), children, shouldRenderGuards && /*#__PURE__*/_jsx(FocusGuard, {\n \"data-type\": \"inside\",\n ref: mergedAfterGuardRef,\n onFocus: event => {\n if (modal) {\n // enqueueFocus returns a rAF-cancel function we don't need here.\n void enqueueFocus(getTabbableContent()[0]);\n } else if (portalContext?.portalNode) {\n if (closeOnFocusOut) {\n preventReturnFocusRef.current = true;\n }\n if (isOutsideEvent(event, portalContext.portalNode)) {\n const prevTabbable = getPreviousTabbable(domReference);\n prevTabbable?.focus();\n } else {\n resolveRef(nextFocusableElement ?? portalContext.afterOutsideRef)?.focus();\n }\n }\n }\n })]\n });\n}"],"x_google_ignoreList":[0],"mappings":"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"}
1
+ {"version":3,"file":"index245.js","names":["React","React$1","ReactDOM","PortalContext","usePortalContext","attr","createAttribute","useFloatingPortalNode","containerProp","EMPTY_OBJECT","props","uniqueId","useId","parentPortalNode","containerElement","setContainerElement","portalNode","setPortalNode","setPortalNodeRef","useStableCallback","node","containerRef","resolvedContainer","isNode","portalElement","useRenderElement","componentProps","ref","elementProps","portalSubtree","FloatingPortal","portalNodeId","forwardedRef","beforeOutsideRef","afterOutsideRef","beforeInsideRef","afterInsideRef","focusManagerState","setFocusManagerState","focusInsideDisabledRef","modal","open","shouldRenderGuards","onFocus","event","isOutsideEvent","enableFocusInside","disableFocusInside","mergeCleanups","addEventListener","useIsoLayoutEffect","portalContextValue","FocusGuard","domReference","portalOwnerRole","ownerVisuallyHidden","children","getNextTabbable","createChangeEventDetails"],"sources":["../../../node_modules/@base-ui/react/floating-ui-react/components/FloatingPortal.mjs"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport { isNode } from '@floating-ui/utils/dom';\nimport { addEventListener } from '@base-ui/utils/addEventListener';\nimport { mergeCleanups } from '@base-ui/utils/mergeCleanups';\nimport { useId } from '@base-ui/utils/useId';\nimport { useIsoLayoutEffect } from '@base-ui/utils/useIsoLayoutEffect';\nimport { useStableCallback } from '@base-ui/utils/useStableCallback';\nimport { EMPTY_OBJECT } from '@base-ui/utils/empty';\nimport { FocusGuard } from \"../../utils/FocusGuard.mjs\";\nimport { enableFocusInside, disableFocusInside, getPreviousTabbable, getNextTabbable, isOutsideEvent } from \"../utils/tabbable.mjs\";\nimport { createChangeEventDetails } from \"../../internals/createBaseUIEventDetails.mjs\";\nimport { REASONS } from \"../../internals/reasons.mjs\";\nimport { createAttribute } from \"../utils/createAttribute.mjs\";\nimport { useRenderElement } from \"../../internals/useRenderElement.mjs\";\nimport { ownerVisuallyHidden } from \"../../internals/constants.mjs\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst PortalContext = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== \"production\") PortalContext.displayName = \"PortalContext\";\nexport const usePortalContext = () => React.useContext(PortalContext);\nconst attr = createAttribute('portal');\nexport function useFloatingPortalNode(props = {}) {\n const {\n ref,\n container: containerProp,\n componentProps = EMPTY_OBJECT,\n elementProps\n } = props;\n const uniqueId = useId();\n const portalContext = usePortalContext();\n const parentPortalNode = portalContext?.portalNode;\n const [containerElement, setContainerElement] = React.useState(null);\n const [portalNode, setPortalNode] = React.useState(null);\n const setPortalNodeRef = useStableCallback(node => {\n if (node !== null) {\n // the useIsoLayoutEffect below watching containerProp / parentPortalNode\n // sets setPortalNode(null) when the container becomes null or changes.\n // So even though the ref callback now ignores null, the portal node still gets cleared.\n setPortalNode(node);\n }\n });\n const containerRef = React.useRef(null);\n useIsoLayoutEffect(() => {\n // Wait for the container to be resolved if explicitly `null`.\n if (containerProp === null) {\n if (containerRef.current) {\n containerRef.current = null;\n setPortalNode(null);\n setContainerElement(null);\n }\n return;\n }\n const resolvedContainer = (containerProp && (isNode(containerProp) ? containerProp : containerProp.current)) ?? parentPortalNode ?? document.body;\n if (resolvedContainer == null) {\n if (containerRef.current) {\n containerRef.current = null;\n setPortalNode(null);\n setContainerElement(null);\n }\n return;\n }\n if (containerRef.current !== resolvedContainer) {\n containerRef.current = resolvedContainer;\n setPortalNode(null);\n setContainerElement(resolvedContainer);\n }\n }, [containerProp, parentPortalNode]);\n const portalElement = useRenderElement('div', componentProps, {\n ref: [ref, setPortalNodeRef],\n props: [{\n id: uniqueId,\n [attr]: ''\n }, elementProps]\n });\n\n // This `createPortal` call injects `portalElement` into the `container`.\n // Another call inside `FloatingPortal`/`FloatingPortalLite` then injects the children into `portalElement`.\n const portalSubtree = containerElement && portalElement ? /*#__PURE__*/ReactDOM.createPortal(portalElement, containerElement) : null;\n return {\n node: portalNode,\n // `id` and `render` props can override or remove the generated ID. Use the exact\n // rendered value so `aria-owns` never points at an ID absent from the DOM.\n nodeId: /*#__PURE__*/React.isValidElement(portalElement) ? portalElement.props.id : undefined,\n subtree: portalSubtree\n };\n}\n\n/**\n * Portals the floating element into a given container element — by default,\n * outside of the app root and into the body.\n * This is necessary to ensure the floating element can appear outside any\n * potential parent containers that cause clipping (such as `overflow: hidden`),\n * while retaining its location in the React tree.\n * @see https://floating-ui.com/docs/FloatingPortal\n * @internal\n */\nexport const FloatingPortal = /*#__PURE__*/React.forwardRef(function FloatingPortal(componentProps, forwardedRef) {\n const {\n render,\n className,\n style,\n children,\n container,\n portalOwnerRole,\n ...elementProps\n } = componentProps;\n const {\n node: portalNode,\n nodeId: portalNodeId,\n subtree: portalSubtree\n } = useFloatingPortalNode({\n container,\n ref: forwardedRef,\n componentProps,\n elementProps\n });\n const beforeOutsideRef = React.useRef(null);\n const afterOutsideRef = React.useRef(null);\n const beforeInsideRef = React.useRef(null);\n const afterInsideRef = React.useRef(null);\n const [focusManagerState, setFocusManagerState] = React.useState(null);\n const focusInsideDisabledRef = React.useRef(false);\n const modal = focusManagerState?.modal;\n const open = focusManagerState?.open;\n const shouldRenderGuards = !!focusManagerState && !focusManagerState.modal && focusManagerState.open && !!portalNode;\n\n // https://codesandbox.io/s/tabbable-portal-f4tng?file=/src/TabbablePortal.tsx\n React.useEffect(() => {\n if (!portalNode || modal) {\n return undefined;\n }\n\n // Make sure elements inside the portal element are tabbable only when the\n // portal has already been focused, either by tabbing into a focus trap\n // element outside or using the mouse.\n function onFocus(event) {\n if (portalNode && event.relatedTarget && isOutsideEvent(event)) {\n if (event.type === 'focusin') {\n if (focusInsideDisabledRef.current) {\n enableFocusInside(portalNode);\n focusInsideDisabledRef.current = false;\n }\n } else {\n disableFocusInside(portalNode);\n focusInsideDisabledRef.current = true;\n }\n }\n }\n\n // Listen to the event on the capture phase so they run before the focus\n // trap elements onFocus prop is called.\n return mergeCleanups(addEventListener(portalNode, 'focusin', onFocus, true), addEventListener(portalNode, 'focusout', onFocus, true));\n }, [portalNode, modal]);\n useIsoLayoutEffect(() => {\n if (!portalNode || open !== true || !focusInsideDisabledRef.current) {\n return;\n }\n\n // Restore tabbability before the focus manager's queued focus-on-open step runs.\n enableFocusInside(portalNode);\n focusInsideDisabledRef.current = false;\n }, [open, portalNode]);\n const portalContextValue = React.useMemo(() => ({\n beforeOutsideRef,\n afterOutsideRef,\n beforeInsideRef,\n afterInsideRef,\n portalNode,\n setFocusManagerState\n }), [portalNode]);\n return /*#__PURE__*/_jsxs(React.Fragment, {\n children: [portalSubtree, /*#__PURE__*/_jsxs(PortalContext.Provider, {\n value: portalContextValue,\n children: [shouldRenderGuards && portalNode && /*#__PURE__*/_jsx(FocusGuard, {\n \"data-type\": \"outside\",\n ref: beforeOutsideRef,\n onFocus: event => {\n if (isOutsideEvent(event, portalNode)) {\n beforeInsideRef.current?.focus();\n } else {\n const domReference = focusManagerState ? focusManagerState.domReference : null;\n const prevTabbable = getPreviousTabbable(domReference);\n prevTabbable?.focus();\n }\n }\n }), shouldRenderGuards && portalNode && /*#__PURE__*/_jsx(\"span\", {\n role: portalOwnerRole,\n \"aria-owns\": portalNodeId,\n style: ownerVisuallyHidden\n }), portalNode && /*#__PURE__*/ReactDOM.createPortal(children, portalNode), shouldRenderGuards && portalNode && /*#__PURE__*/_jsx(FocusGuard, {\n \"data-type\": \"outside\",\n ref: afterOutsideRef,\n onFocus: event => {\n if (isOutsideEvent(event, portalNode)) {\n afterInsideRef.current?.focus();\n } else {\n const domReference = focusManagerState ? focusManagerState.domReference : null;\n const nextTabbable = getNextTabbable(domReference);\n nextTabbable?.focus();\n if (focusManagerState?.closeOnFocusOut) {\n focusManagerState?.onOpenChange(false, createChangeEventDetails(REASONS.focusOut, event.nativeEvent));\n }\n }\n }\n })]\n })]\n });\n});\nif (process.env.NODE_ENV !== \"production\") FloatingPortal.displayName = \"FloatingPortal\";"],"ignoreList":[0],"mappings":"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"}
package/dist/index246.js CHANGED
@@ -1,71 +1,19 @@
1
- "use client";
2
- import { EMPTY_OBJECT as e } from "./index191.js";
3
- import { triggerPress as t } from "./index210.js";
4
- import { createChangeEventDetails as n } from "./index211.js";
5
- import { useTimeout as r } from "./index217.js";
6
- import { isMouseLikePointerType as i, isVirtualPointerEvent as a } from "./index223.js";
7
- import { getTarget as o } from "./index225.js";
8
- import { isTypeableElement as s } from "./index226.js";
9
- import { useAnimationFrame as c } from "./index230.js";
10
- import * as l from "react";
11
- //#region ../../node_modules/@base-ui/react/floating-ui-react/hooks/useClick.mjs
12
- function u(u, d = {}) {
13
- let { enabled: f = !0, event: p = "click", toggle: m = !0, ignoreMouse: h = !1, stickIfOpen: g = !0, touchOpenDelay: _ = 0, reason: v = t } = d, y = "rootStore" in u ? u.rootStore : u, b = y.context.dataRef, x = l.useRef(void 0), S = c(), C = r(), w = l.useMemo(() => {
14
- function e(e, t, r, i) {
15
- let a = n(v, t, r);
16
- e && i === "touch" && _ > 0 ? C.start(_, () => {
17
- y.setOpen(!0, a);
18
- }) : y.setOpen(e, a);
1
+ //#region ../../node_modules/@base-ui/react/floating-ui-react/utils/createEventEmitter.mjs
2
+ function e() {
3
+ let e = /* @__PURE__ */ new Map();
4
+ return {
5
+ emit(t, n) {
6
+ e.get(t)?.forEach((e) => e(n));
7
+ },
8
+ on(t, n) {
9
+ e.has(t) || e.set(t, /* @__PURE__ */ new Set()), e.get(t).add(n);
10
+ },
11
+ off(t, n) {
12
+ e.get(t)?.delete(n);
19
13
  }
20
- function t(e, t, n) {
21
- let r = b.current.openEvent, i = y.select("domReferenceElement") !== t;
22
- return e && i || !e || !m ? !0 : r && g ? !n(r.type) : !1;
23
- }
24
- return {
25
- onPointerDown(e) {
26
- x.current = i(e.pointerType, !0) && a(e.nativeEvent) ? "virtual" : e.pointerType;
27
- },
28
- onMouseDown(n) {
29
- let r = x.current, a = n.nativeEvent, c = y.select("open");
30
- if (n.button !== 0 || p === "click" || i(r, !0) && h) return;
31
- let l = t(c, n.currentTarget, (e) => e === "click" || e === "mousedown"), u = o(a);
32
- if (s(u)) {
33
- e(l, a, u, r);
34
- return;
35
- }
36
- let d = n.currentTarget;
37
- S.request(() => {
38
- e(l, a, d, r);
39
- });
40
- },
41
- onClick(n) {
42
- if (p === "mousedown-only") return;
43
- let r = x.current;
44
- if (p === "mousedown" && r) {
45
- x.current = void 0;
46
- return;
47
- }
48
- i(r, !0) && h || e(t(y.select("open"), n.currentTarget, (e) => e === "click" || e === "mousedown" || e === "keydown" || e === "keyup"), n.nativeEvent, n.currentTarget, r);
49
- },
50
- onKeyDown() {
51
- x.current = void 0;
52
- }
53
- };
54
- }, [
55
- b,
56
- p,
57
- h,
58
- v,
59
- y,
60
- g,
61
- m,
62
- S,
63
- C,
64
- _
65
- ]);
66
- return l.useMemo(() => f ? { reference: w } : e, [f, w]);
14
+ };
67
15
  }
68
16
  //#endregion
69
- export { u as useClick };
17
+ export { e as createEventEmitter };
70
18
 
71
19
  //# sourceMappingURL=index246.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index246.js","names":["REASONS.triggerPress","React"],"sources":["../../../node_modules/@base-ui/react/floating-ui-react/hooks/useClick.mjs"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { useAnimationFrame } from '@base-ui/utils/useAnimationFrame';\nimport { useTimeout } from '@base-ui/utils/useTimeout';\nimport { EMPTY_OBJECT } from '@base-ui/utils/empty';\nimport { getTarget, isTypeableElement } from \"../utils/element.mjs\";\nimport { isMouseLikePointerType, isVirtualPointerEvent } from \"../utils/event.mjs\";\nimport { createChangeEventDetails } from \"../../internals/createBaseUIEventDetails.mjs\";\nimport { REASONS } from \"../../internals/reasons.mjs\";\n/**\n * Opens or closes the floating element when clicking the reference element.\n * @see https://floating-ui.com/docs/useClick\n */\nexport function useClick(context, props = {}) {\n const {\n enabled = true,\n event: eventOption = 'click',\n toggle = true,\n ignoreMouse = false,\n stickIfOpen = true,\n touchOpenDelay = 0,\n reason = REASONS.triggerPress\n } = props;\n const store = 'rootStore' in context ? context.rootStore : context;\n const dataRef = store.context.dataRef;\n const pointerTypeRef = React.useRef(undefined);\n const frame = useAnimationFrame();\n const touchOpenTimeout = useTimeout();\n const reference = React.useMemo(() => {\n function setOpenWithTouchDelay(nextOpen, nativeEvent, target, pointerType) {\n const details = createChangeEventDetails(reason, nativeEvent, target);\n if (nextOpen && pointerType === 'touch' && touchOpenDelay > 0) {\n touchOpenTimeout.start(touchOpenDelay, () => {\n store.setOpen(true, details);\n });\n } else {\n store.setOpen(nextOpen, details);\n }\n }\n function getNextOpen(open, currentTarget, isClickLikeOpenEvent) {\n const openEvent = dataRef.current.openEvent;\n const hasClickedOnInactiveTrigger = store.select('domReferenceElement') !== currentTarget;\n if (open && hasClickedOnInactiveTrigger) {\n // Moving between triggers should always open the newly active one.\n return true;\n }\n if (!open) {\n // A closed popup should open on the next press.\n return true;\n }\n if (!toggle) {\n // Non-toggle mode never closes on a repeated trigger press.\n return true;\n }\n if (openEvent && stickIfOpen) {\n // Preserve hover/focus-opened popups until the matching click-like event closes them.\n return !isClickLikeOpenEvent(openEvent.type);\n }\n\n // Otherwise, a repeated click toggles the popup closed.\n return false;\n }\n return {\n onPointerDown(event) {\n // Screen reader activations (Android TalkBack, desktop screen readers) report a\n // mouse-like `pointerType`, but `ignoreMouse` must not drop them: hover logic cannot\n // open for a virtual press since there is no real pointer movement to wait for.\n // Virtual `touch` presses (iOS VoiceOver) keep their type so `touchOpenDelay` applies.\n pointerTypeRef.current = isMouseLikePointerType(event.pointerType, true) && isVirtualPointerEvent(event.nativeEvent) ? 'virtual' : event.pointerType;\n },\n onMouseDown(event) {\n const pointerType = pointerTypeRef.current;\n const nativeEvent = event.nativeEvent;\n const open = store.select('open');\n\n // Ignore all buttons except for the \"main\" button.\n // https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/button\n if (event.button !== 0 || eventOption === 'click' || isMouseLikePointerType(pointerType, true) && ignoreMouse) {\n return;\n }\n const nextOpen = getNextOpen(open, event.currentTarget, openEventType => openEventType === 'click' || openEventType === 'mousedown');\n\n // Animations sometimes won't run on a typeable element if using a rAF.\n // Focus is always set on these elements. For touch, we may delay opening.\n const target = getTarget(nativeEvent);\n if (isTypeableElement(target)) {\n setOpenWithTouchDelay(nextOpen, nativeEvent, target, pointerType);\n return;\n }\n\n // Capture the currentTarget before the rAF.\n // as React sets it to null after the event handler completes.\n const eventCurrentTarget = event.currentTarget;\n\n // Wait until focus is set on the element. This is an alternative to\n // `event.preventDefault()` to avoid :focus-visible from appearing when using a pointer.\n frame.request(() => {\n setOpenWithTouchDelay(nextOpen, nativeEvent, eventCurrentTarget, pointerType);\n });\n },\n onClick(event) {\n if (eventOption === 'mousedown-only') {\n return;\n }\n const pointerType = pointerTypeRef.current;\n if (eventOption === 'mousedown' && pointerType) {\n pointerTypeRef.current = undefined;\n return;\n }\n if (isMouseLikePointerType(pointerType, true) && ignoreMouse) {\n return;\n }\n const open = store.select('open');\n const nextOpen = getNextOpen(open, event.currentTarget, openEventType => openEventType === 'click' || openEventType === 'mousedown' || openEventType === 'keydown' || openEventType === 'keyup');\n setOpenWithTouchDelay(nextOpen, event.nativeEvent, event.currentTarget, pointerType);\n },\n onKeyDown() {\n pointerTypeRef.current = undefined;\n }\n };\n }, [dataRef, eventOption, ignoreMouse, reason, store, stickIfOpen, toggle, frame, touchOpenTimeout, touchOpenDelay]);\n return React.useMemo(() => enabled ? {\n reference\n } : EMPTY_OBJECT, [enabled, reference]);\n}"],"x_google_ignoreList":[0],"mappings":";;;;;;;;;;;AAcA,SAAgB,EAAS,GAAS,IAAQ,CAAC,GAAG;CAC5C,IAAM,EACJ,aAAU,IACV,OAAO,IAAc,SACrB,YAAS,IACT,iBAAc,IACd,iBAAc,IACd,oBAAiB,GACjB,YAASA,MACP,GACE,IAAQ,eAAe,IAAU,EAAQ,YAAY,GACrD,IAAU,EAAM,QAAQ,SACxB,IAAiBC,EAAM,OAAO,KAAA,CAAS,GACvC,IAAQ,EAAkB,GAC1B,IAAmB,EAAW,GAC9B,IAAYA,EAAM,cAAc;EACpC,SAAS,EAAsB,GAAU,GAAa,GAAQ,GAAa;GACzE,IAAM,IAAU,EAAyB,GAAQ,GAAa,CAAM;GACpE,AAAI,KAAY,MAAgB,WAAW,IAAiB,IAC1D,EAAiB,MAAM,SAAsB;IAC3C,EAAM,QAAQ,IAAM,CAAO;GAC7B,CAAC,IAED,EAAM,QAAQ,GAAU,CAAO;EAEnC;EACA,SAAS,EAAY,GAAM,GAAe,GAAsB;GAC9D,IAAM,IAAY,EAAQ,QAAQ,WAC5B,IAA8B,EAAM,OAAO,qBAAqB,MAAM;GAmB5E,OAlBI,KAAQ,KAIR,CAAC,KAID,CAAC,IAEI,KAEL,KAAa,IAER,CAAC,EAAqB,EAAU,IAAI,IAItC;EACT;EACA,OAAO;GACL,cAAc,GAAO;IAKnB,EAAe,UAAU,EAAuB,EAAM,aAAa,EAAI,KAAK,EAAsB,EAAM,WAAW,IAAI,YAAY,EAAM;GAC3I;GACA,YAAY,GAAO;IACjB,IAAM,IAAc,EAAe,SAC7B,IAAc,EAAM,aACpB,IAAO,EAAM,OAAO,MAAM;IAIhC,IAAI,EAAM,WAAW,KAAK,MAAgB,WAAW,EAAuB,GAAa,EAAI,KAAK,GAChG;IAEF,IAAM,IAAW,EAAY,GAAM,EAAM,gBAAe,MAAiB,MAAkB,WAAW,MAAkB,WAAW,GAI7H,IAAS,EAAU,CAAW;IACpC,IAAI,EAAkB,CAAM,GAAG;KAC7B,EAAsB,GAAU,GAAa,GAAQ,CAAW;KAChE;IACF;IAIA,IAAM,IAAqB,EAAM;IAIjC,EAAM,cAAc;KAClB,EAAsB,GAAU,GAAa,GAAoB,CAAW;IAC9E,CAAC;GACH;GACA,QAAQ,GAAO;IACb,IAAI,MAAgB,kBAClB;IAEF,IAAM,IAAc,EAAe;IACnC,IAAI,MAAgB,eAAe,GAAa;KAC9C,EAAe,UAAU,KAAA;KACzB;IACF;IACI,EAAuB,GAAa,EAAI,KAAK,KAKjD,EADiB,EADJ,EAAM,OAAO,MACM,GAAG,EAAM,gBAAe,MAAiB,MAAkB,WAAW,MAAkB,eAAe,MAAkB,aAAa,MAAkB,OAC3J,GAAG,EAAM,aAAa,EAAM,eAAe,CAAW;GACrF;GACA,YAAY;IACV,EAAe,UAAU,KAAA;GAC3B;EACF;CACF,GAAG;EAAC;EAAS;EAAa;EAAa;EAAQ;EAAO;EAAa;EAAQ;EAAO;EAAkB;CAAc,CAAC;CACnH,OAAOA,EAAM,cAAc,IAAU,EACnC,aACF,IAAI,GAAc,CAAC,GAAS,CAAS,CAAC;AACxC"}
1
+ {"version":3,"file":"index246.js","names":["createEventEmitter","map","event","listener","data"],"sources":["../../../node_modules/@base-ui/react/floating-ui-react/utils/createEventEmitter.mjs"],"sourcesContent":["export function createEventEmitter() {\n const map = new Map();\n return {\n emit(event, data) {\n map.get(event)?.forEach(listener => listener(data));\n },\n on(event, listener) {\n if (!map.has(event)) {\n map.set(event, new Set());\n }\n map.get(event).add(listener);\n },\n off(event, listener) {\n map.get(event)?.delete(listener);\n }\n };\n}"],"ignoreList":[0],"mappings":";AAAA,SAAgBA,IAAqB;CACnC,IAAMC,oBAAM,IAAI,IAAI;CACpB,OAAO;EACL,KAAK,GAAO,GAAM;GAChB,EAAI,IAAIC,CAAK,CAAC,EAAE,SAAQ,MAAYC,EAASC,CAAI,CAAC;EACpD;EACA,GAAG,GAAO,GAAU;GAIlB,AAHKH,EAAI,IAAIC,CAAK,KAChBD,EAAI,IAAIC,mBAAO,IAAI,IAAI,CAAC,GAE1BD,EAAI,IAAIC,CAAK,CAAC,CAAC,IAAIC,CAAQ;EAC7B;EACA,IAAI,GAAO,GAAU;GACnB,EAAI,IAAID,CAAK,CAAC,EAAE,OAAOC,CAAQ;EACjC;CACF;AACF"}
package/dist/index247.js CHANGED
@@ -1,236 +1,16 @@
1
1
  "use client";
2
- import { getComputedStyle as e, getParentNode as t, isElement as n, isHTMLElement as r, isLastTraversableNode as i, isShadowRoot as a } from "./index200.js";
3
- import { useStableCallback as o } from "./index202.js";
4
- import { ownerDocument as s } from "./index207.js";
5
- import { escapeKey as c, outsidePress as ee, triggerPress as l } from "./index210.js";
6
- import { createChangeEventDetails as u } from "./index211.js";
7
- import { Timeout as d, useTimeout as f } from "./index217.js";
8
- import { webkit as p } from "./index220.js";
9
- import { isReactEvent as m } from "./index223.js";
10
- import { contains as h, getTarget as g } from "./index225.js";
11
- import { isEventTargetWithin as _, isRootElement as te } from "./index226.js";
12
- import { addEventListener as v } from "./index227.js";
13
- import { mergeCleanups as y } from "./index228.js";
14
- import { getNodeChildren as ne } from "./index236.js";
15
- import { createAttribute as re } from "./index237.js";
16
- import { useFloatingTree as b } from "./index243.js";
17
- import * as x from "react";
18
- //#region ../../node_modules/@base-ui/react/floating-ui-react/hooks/useDismiss.mjs
19
- function ie() {
20
- return !1;
21
- }
22
- function S(e) {
23
- return {
24
- escapeKey: typeof e == "boolean" ? e : e?.escapeKey ?? !1,
25
- outsidePress: typeof e == "boolean" ? e : e?.outsidePress ?? !0
26
- };
27
- }
28
- function C(C, ae = {}) {
29
- let { enabled: w = !0, escapeKey: T = !0, outsidePress: E = !0, outsidePressEvent: D = "sloppy", referencePress: oe = ie, bubbles: O, externalTree: k } = ae, A = "rootStore" in C ? C.rootStore : C, j = A.useState("open"), se = A.useState("floatingElement"), { dataRef: M } = A.context, N = b(k), P = o(typeof E == "function" ? E : () => !1), F = typeof E == "function" ? P : E, ce = F !== !1, le = o(() => D), { escapeKey: I, outsidePress: ue } = S(O), L = x.useRef(!1), R = x.useRef(!1), z = x.useRef(!1), B = x.useRef(!1), V = x.useRef(""), H = x.useRef(null), U = f(), W = f(), G = o(() => {
30
- W.clear(), M.current.insideReactTree = !1;
31
- }), K = o((e) => {
32
- let t = M.current.floatingContext?.nodeId;
33
- return (N ? ne(N.nodesRef.current, t) : []).some((t) => t.context?.open && !t.context.dataRef.current[e]);
34
- }), q = o((e) => _(e, A.select("floatingElement")) || _(e, A.select("domReferenceElement"))), J = o((e) => {
35
- oe() && A.setOpen(!1, u(l, e.nativeEvent));
36
- }), Y = o((e) => {
37
- if (!j || !w || !T || e.key !== "Escape" || B.current || !I && K("__escapeKeyBubbles")) return;
38
- let t = m(e) ? e.nativeEvent : e, n = u(c, t);
39
- A.setOpen(!1, n), n.isCanceled || e.preventDefault(), !I && !n.isPropagationAllowed && e.stopPropagation();
40
- }), X = o(() => {
41
- M.current.insideReactTree = !0, W.start(0, G);
42
- }), Z = o((e) => {
43
- if (!j || !w || e.button !== 0) return;
44
- let t = g(e.nativeEvent);
45
- h(A.select("floatingElement"), t) && (L.current || (L.current = !0, R.current = !1));
46
- }), Q = o((e) => {
47
- !j || !w || (e.defaultPrevented || e.nativeEvent.defaultPrevented) && L.current && (R.current = !0);
48
- });
49
- x.useEffect(() => {
50
- if (!j || !w) return G;
51
- M.current.__escapeKeyBubbles = I, M.current.__outsidePressBubbles = ue;
52
- let o = new d(), c = new d();
53
- function l() {
54
- o.clear(), B.current = !0;
55
- }
56
- function f() {
57
- o.start(p ? 5 : 0, () => {
58
- B.current = !1;
59
- });
60
- }
61
- function m() {
62
- z.current = !0, c.start(0, () => {
63
- z.current = !1;
64
- });
65
- }
66
- function b() {
67
- L.current = !1, R.current = !1;
68
- }
69
- function x() {
70
- let e = V.current, t = e === "pen" || !e ? "mouse" : e, n = le(), r = typeof n == "function" ? n() : n;
71
- return typeof r == "string" ? r : r[t];
72
- }
73
- function ie(e) {
74
- let t = x();
75
- return t === "intentional" && e.type !== "click" || t === "sloppy" && e.type === "click";
76
- }
77
- function S(e) {
78
- let t = M.current.floatingContext?.nodeId, n = N && ne(N.nodesRef.current, t).some((t) => _(e, t.context?.elements.floating));
79
- return q(e) || n;
80
- }
81
- function C(o) {
82
- if (ie(o)) {
83
- o.type !== "click" && !q(o) && (c.clear(), z.current = !1), G();
84
- return;
85
- }
86
- if (M.current.insideReactTree) {
87
- G();
88
- return;
89
- }
90
- let l = g(o), d = `[${re("inert")}]`, f = n(l) ? l.getRootNode() : null, p = Array.from((a(f) ? f : s(A.select("floatingElement"))).querySelectorAll(d)), m = A.context.triggerElements;
91
- if (l && (m.hasElement(l) || m.hasMatchingElement((e) => h(e, l)))) return;
92
- let _ = n(l) ? l : null;
93
- for (; _ && !i(_);) {
94
- let e = t(_);
95
- if (i(e) || !n(e)) break;
96
- _ = e;
97
- }
98
- if (!(p.length && n(l) && !te(l) && !h(l, A.select("floatingElement")) && p.every((e) => !h(_, e)))) {
99
- if (r(l) && !("touches" in o)) {
100
- let t = i(l), n = e(l), r = /auto|scroll/, a = t || r.test(n.overflowX), s = t || r.test(n.overflowY), c = a && l.clientWidth > 0 && l.scrollWidth > l.clientWidth, ee = s && l.clientHeight > 0 && l.scrollHeight > l.clientHeight, u = n.direction === "rtl", d = ee && (u ? o.offsetX <= l.offsetWidth - l.clientWidth : o.offsetX > l.clientWidth), f = c && o.offsetY > l.clientHeight;
101
- if (d || f) return;
102
- }
103
- if (!S(o)) {
104
- if (x() === "intentional" && z.current) {
105
- c.clear(), z.current = !1;
106
- return;
107
- }
108
- typeof F == "function" && !F(o) || K("__outsidePressBubbles") || (A.setOpen(!1, u(ee, o)), G());
109
- }
110
- }
111
- }
112
- function ae(e) {
113
- x() !== "sloppy" || e.pointerType === "touch" || !A.select("open") || !w || q(e) || C(e);
114
- }
115
- function E(e) {
116
- if (x() !== "sloppy" || !A.select("open") || !w || q(e)) return;
117
- let t = e.touches[0];
118
- t && (H.current = {
119
- startTime: Date.now(),
120
- startX: t.clientX,
121
- startY: t.clientY,
122
- dismissOnTouchEnd: !1,
123
- dismissOnMouseDown: !0
124
- }, U.start(1e3, () => {
125
- H.current && (H.current.dismissOnTouchEnd = !1, H.current.dismissOnMouseDown = !1);
126
- }));
127
- }
128
- function D(e, t) {
129
- let n = g(e);
130
- if (!n) return;
131
- let r = v(n, e.type, () => {
132
- t(e), r();
133
- });
134
- }
135
- function oe(e) {
136
- V.current = "touch", D(e, E);
137
- }
138
- function O(e) {
139
- U.clear(), e.type === "pointerdown" && (V.current = e.pointerType), !(e.type === "mousedown" && H.current && !H.current.dismissOnMouseDown) && D(e, (e) => {
140
- e.type === "pointerdown" ? ae(e) : C(e);
141
- });
142
- }
143
- function k(e) {
144
- if (!L.current) return;
145
- let t = R.current;
146
- if (b(), x() === "intentional") {
147
- if (e.type === "pointercancel") {
148
- t && m();
149
- return;
150
- }
151
- if (!S(e)) {
152
- if (t) {
153
- m();
154
- return;
155
- }
156
- typeof F == "function" && !F(e) || (c.clear(), z.current = !0, G());
157
- }
158
- }
159
- }
160
- function P(e) {
161
- if (x() !== "sloppy" || !H.current || q(e)) return;
162
- let t = e.touches[0];
163
- if (!t) return;
164
- let n = Math.abs(t.clientX - H.current.startX), r = Math.abs(t.clientY - H.current.startY), i = Math.sqrt(n * n + r * r);
165
- i > 5 && (H.current.dismissOnTouchEnd = !0), i > 10 && (C(e), U.clear(), H.current = null);
166
- }
167
- function W(e) {
168
- D(e, P);
169
- }
170
- function J(e) {
171
- x() !== "sloppy" || !H.current || q(e) || (H.current.dismissOnTouchEnd && C(e), U.clear(), H.current = null);
172
- }
173
- function X(e) {
174
- D(e, J);
175
- }
176
- let Z = s(se), Q = y(T && y(v(Z, "keydown", Y), v(Z, "compositionstart", l), v(Z, "compositionend", f)), ce && y(v(Z, "click", O, !0), v(Z, "pointerdown", O, !0), v(Z, "pointerup", k, !0), v(Z, "pointercancel", k, !0), v(Z, "mousedown", O, !0), v(Z, "mouseup", k, !0), v(Z, "touchstart", oe, !0), v(Z, "touchmove", W, !0), v(Z, "touchend", X, !0)));
177
- return () => {
178
- Q(), o.clear(), c.clear(), b(), z.current = !1, G();
179
- };
180
- }, [
181
- M,
182
- se,
183
- T,
184
- ce,
185
- F,
186
- j,
187
- w,
188
- I,
189
- ue,
190
- Y,
191
- G,
192
- le,
193
- K,
194
- q,
195
- N,
196
- A,
197
- U
198
- ]);
199
- let $ = x.useMemo(() => ({
200
- onKeyDown: Y,
201
- onPointerDown: J,
202
- onClick: J
203
- }), [Y, J]), de = x.useMemo(() => ({
204
- onKeyDown: Y,
205
- onPointerDown: Q,
206
- onMouseDown: Q,
207
- onClickCapture: X,
208
- onMouseDownCapture(e) {
209
- X(), Z(e);
210
- },
211
- onPointerDownCapture(e) {
212
- X(), Z(e);
213
- },
214
- onMouseUpCapture: X,
215
- onTouchEndCapture: X,
216
- onTouchMoveCapture: X
217
- }), [
218
- Y,
219
- X,
220
- Z,
221
- Q
222
- ]);
223
- return x.useMemo(() => w ? {
224
- reference: $,
225
- floating: de,
226
- trigger: $
227
- } : {}, [
228
- w,
229
- $,
230
- de
231
- ]);
232
- }
2
+ import * as e from "react";
3
+ import "react/jsx-runtime";
4
+ //#region ../../node_modules/@base-ui/react/floating-ui-react/components/FloatingTree.mjs
5
+ var t = /*#__PURE__*/ e.createContext(null);
6
+ process.env.NODE_ENV !== "production" && (t.displayName = "FloatingNodeContext");
7
+ var n = /*#__PURE__*/ e.createContext(null);
8
+ process.env.NODE_ENV !== "production" && (n.displayName = "FloatingTreeContext");
9
+ var r = () => e.useContext(t)?.id || null, i = (t) => {
10
+ let r = e.useContext(n);
11
+ return t ?? r;
12
+ };
233
13
  //#endregion
234
- export { S as normalizeProp, C as useDismiss };
14
+ export { r as useFloatingParentNodeId, i as useFloatingTree };
235
15
 
236
16
  //# sourceMappingURL=index247.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index247.js","names":["outsidePress","React","REASONS.triggerPress","escapeKey","REASONS.escapeKey","platform.engine.webkit","REASONS.outsidePress"],"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 clearInsideReactTree;\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 clearInsideReactTree();\n };\n }, [dataRef, floatingElement, escapeKey, outsidePressEnabled, outsidePress, open, enabled, escapeKeyBubbles, outsidePressBubbles, closeOnEscapeKeyDown, clearInsideReactTree, getOutsidePressEventProp, hasBlockingChild, isEventWithinOwnElements, tree, store, cancelDismissOnEndTimeout]);\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}"],"x_google_ignoreList":[0],"mappings":"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"}
1
+ {"version":3,"file":"index247.js","names":["React","React$1","FloatingNodeContext","FloatingTreeContext","useFloatingParentNodeId","useFloatingTree","contextTree","externalTree"],"sources":["../../../node_modules/@base-ui/react/floating-ui-react/components/FloatingTree.mjs"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { useId } from '@base-ui/utils/useId';\nimport { useIsoLayoutEffect } from '@base-ui/utils/useIsoLayoutEffect';\nimport { useRefWithInit } from '@base-ui/utils/useRefWithInit';\nimport { FloatingTreeStore } from \"./FloatingTreeStore.mjs\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst FloatingNodeContext = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== \"production\") FloatingNodeContext.displayName = \"FloatingNodeContext\";\nconst FloatingTreeContext = /*#__PURE__*/React.createContext(null);\n\n/**\n * Returns the parent node id for nested floating elements, if available.\n * Returns `null` for top-level floating elements.\n */\nif (process.env.NODE_ENV !== \"production\") FloatingTreeContext.displayName = \"FloatingTreeContext\";\nexport const useFloatingParentNodeId = () => React.useContext(FloatingNodeContext)?.id || null;\n\n/**\n * Returns the nearest floating tree context, if available.\n */\nexport const useFloatingTree = externalTree => {\n const contextTree = React.useContext(FloatingTreeContext);\n return externalTree ?? contextTree;\n};\n\n/**\n * Registers a node into the `FloatingTree`, returning its id.\n * @see https://floating-ui.com/docs/FloatingTree\n */\nexport function useFloatingNodeId(externalTree) {\n const id = useId();\n const tree = useFloatingTree(externalTree);\n const parentId = useFloatingParentNodeId();\n useIsoLayoutEffect(() => {\n if (!id) {\n return undefined;\n }\n const node = {\n id,\n parentId\n };\n tree?.addNode(node);\n return () => {\n tree?.removeNode(node);\n };\n }, [tree, id, parentId]);\n return id;\n}\n/**\n * Provides parent node context for nested floating elements.\n * @see https://floating-ui.com/docs/FloatingTree\n * @internal\n */\nexport function FloatingNode(props) {\n const {\n children,\n id\n } = props;\n const parentId = useFloatingParentNodeId();\n return /*#__PURE__*/_jsx(FloatingNodeContext.Provider, {\n value: React.useMemo(() => ({\n id,\n parentId\n }), [id, parentId]),\n children: children\n });\n}\n/**\n * Provides context for nested floating elements when they are not children of\n * each other on the DOM.\n * This is not necessary in all cases, except when there must be explicit communication between parent and child floating elements. It is necessary for:\n * - The `bubbles` option in the `useDismiss()` Hook\n * - Nested virtual list navigation\n * - Nested floating elements that each open on hover\n * - Custom communication between parent and child floating elements\n * @see https://floating-ui.com/docs/FloatingTree\n * @internal\n */\nexport function FloatingTree(props) {\n const {\n children,\n externalTree\n } = props;\n const tree = useRefWithInit(() => externalTree ?? new FloatingTreeStore()).current;\n return /*#__PURE__*/_jsx(FloatingTreeContext.Provider, {\n value: tree,\n children: children\n });\n}"],"ignoreList":[0],"mappings":";;;;AAQA,IAAME,IAAmC,gBAAM,cAAc,IAAI;AACjE,QAAA,IAAA,aAA6B,iBAAc,EAAoB,cAAc;AAC7E,IAAMC,IAAmC,gBAAM,cAAc,IAAI;AAMjE,QAAA,IAAA,aAA6B,iBAAc,EAAoB,cAAc;AAC7E,IAAaC,UAAgCJ,EAAM,WAAWE,CAAmB,CAAC,EAAE,MAAM,MAK7EG,KAAkB,MAAgB;CAC7C,IAAMC,IAAcN,EAAM,WAAWG,CAAmB;CACxD,OAAOI,KAAgBD;AACzB"}