@anoki/fse-ui 1.0.333 → 1.0.335

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 (392) hide show
  1. package/dist/index.cjs10.js +1 -1
  2. package/dist/index.cjs100.js +1 -1
  3. package/dist/index.cjs101.js +1 -1
  4. package/dist/index.cjs102.js +1 -1
  5. package/dist/index.cjs103.js +1 -1
  6. package/dist/index.cjs104.js +1 -1
  7. package/dist/index.cjs105.js +1 -1
  8. package/dist/index.cjs106.js +1 -1
  9. package/dist/index.cjs107.js +1 -1
  10. package/dist/index.cjs108.js +1 -1
  11. package/dist/index.cjs109.js +1 -1
  12. package/dist/index.cjs110.js +1 -1
  13. package/dist/index.cjs112.js +1 -1
  14. package/dist/index.cjs113.js +1 -1
  15. package/dist/index.cjs114.js +1 -1
  16. package/dist/index.cjs115.js +1 -1
  17. package/dist/index.cjs116.js +1 -1
  18. package/dist/index.cjs117.js +1 -1
  19. package/dist/index.cjs143.js +1 -1
  20. package/dist/index.cjs143.js.map +1 -1
  21. package/dist/index.cjs144.js +2 -0
  22. package/dist/index.cjs144.js.map +1 -0
  23. package/dist/index.cjs153.js +1 -1
  24. package/dist/index.cjs159.js +1 -1
  25. package/dist/index.cjs162.js +1 -1
  26. package/dist/index.cjs163.js +1 -1
  27. package/dist/index.cjs170.js +1 -1
  28. package/dist/index.cjs179.js +1 -1
  29. package/dist/index.cjs18.js +1 -1
  30. package/dist/index.cjs18.js.map +1 -1
  31. package/dist/index.cjs181.js +1 -1
  32. package/dist/index.cjs188.js +1 -1
  33. package/dist/index.cjs189.js +1 -1
  34. package/dist/index.cjs193.js +1 -1
  35. package/dist/index.cjs198.js +1 -1
  36. package/dist/index.cjs200.js +1 -1
  37. package/dist/index.cjs206.js +1 -1
  38. package/dist/index.cjs207.js +1 -1
  39. package/dist/index.cjs208.js +1 -1
  40. package/dist/index.cjs22.js +1 -1
  41. package/dist/index.cjs232.js +1 -1
  42. package/dist/index.cjs233.js +1 -1
  43. package/dist/index.cjs234.js +2 -0
  44. package/dist/index.cjs234.js.map +1 -0
  45. package/dist/index.cjs235.js +1 -1
  46. package/dist/index.cjs235.js.map +1 -1
  47. package/dist/index.cjs237.js +2 -0
  48. package/dist/index.cjs237.js.map +1 -0
  49. package/dist/index.cjs240.js +1 -1
  50. package/dist/index.cjs240.js.map +1 -1
  51. package/dist/index.cjs241.js +1 -1
  52. package/dist/index.cjs241.js.map +1 -1
  53. package/dist/index.cjs242.js +1 -1
  54. package/dist/index.cjs242.js.map +1 -1
  55. package/dist/index.cjs243.js +1 -1
  56. package/dist/index.cjs243.js.map +1 -1
  57. package/dist/index.cjs244.js +1 -1
  58. package/dist/index.cjs244.js.map +1 -1
  59. package/dist/index.cjs245.js +1 -1
  60. package/dist/index.cjs245.js.map +1 -1
  61. package/dist/index.cjs246.js +1 -1
  62. package/dist/index.cjs246.js.map +1 -1
  63. package/dist/index.cjs247.js +1 -1
  64. package/dist/index.cjs247.js.map +1 -1
  65. package/dist/index.cjs248.js +1 -1
  66. package/dist/index.cjs248.js.map +1 -1
  67. package/dist/index.cjs249.js +1 -1
  68. package/dist/index.cjs249.js.map +1 -1
  69. package/dist/index.cjs25.js +1 -1
  70. package/dist/index.cjs250.js +1 -1
  71. package/dist/index.cjs250.js.map +1 -1
  72. package/dist/index.cjs251.js +1 -1
  73. package/dist/index.cjs251.js.map +1 -1
  74. package/dist/index.cjs252.js +1 -1
  75. package/dist/index.cjs252.js.map +1 -1
  76. package/dist/index.cjs253.js +1 -1
  77. package/dist/index.cjs253.js.map +1 -1
  78. package/dist/index.cjs254.js +1 -1
  79. package/dist/index.cjs254.js.map +1 -1
  80. package/dist/index.cjs255.js +1 -1
  81. package/dist/index.cjs255.js.map +1 -1
  82. package/dist/index.cjs256.js +1 -1
  83. package/dist/index.cjs256.js.map +1 -1
  84. package/dist/index.cjs257.js +1 -1
  85. package/dist/index.cjs257.js.map +1 -1
  86. package/dist/index.cjs258.js +1 -1
  87. package/dist/index.cjs258.js.map +1 -1
  88. package/dist/index.cjs267.js +2 -0
  89. package/dist/index.cjs267.js.map +1 -0
  90. package/dist/{index.cjs282.js → index.cjs268.js} +2 -2
  91. package/dist/{index.cjs282.js.map → index.cjs268.js.map} +1 -1
  92. package/dist/index.cjs269.js +2 -0
  93. package/dist/{index.cjs283.js.map → index.cjs269.js.map} +1 -1
  94. package/dist/{index.cjs284.js → index.cjs270.js} +1 -1
  95. package/dist/{index.cjs284.js.map → index.cjs270.js.map} +1 -1
  96. package/dist/index.cjs271.js +2 -0
  97. package/dist/index.cjs271.js.map +1 -0
  98. package/dist/index.cjs272.js +2 -0
  99. package/dist/index.cjs272.js.map +1 -0
  100. package/dist/index.cjs273.js +5 -0
  101. package/dist/index.cjs273.js.map +1 -0
  102. package/dist/index.cjs274.js +2 -0
  103. package/dist/index.cjs274.js.map +1 -0
  104. package/dist/index.cjs275.js +39 -0
  105. package/dist/index.cjs275.js.map +1 -0
  106. package/dist/{index.cjs294.js → index.cjs276.js} +2 -2
  107. package/dist/{index.cjs294.js.map → index.cjs276.js.map} +1 -1
  108. package/dist/index.cjs277.js +1 -1
  109. package/dist/index.cjs277.js.map +1 -1
  110. package/dist/index.cjs278.js +1 -1
  111. package/dist/index.cjs278.js.map +1 -1
  112. package/dist/index.cjs279.js +1 -1
  113. package/dist/index.cjs279.js.map +1 -1
  114. package/dist/index.cjs280.js +1 -1
  115. package/dist/index.cjs280.js.map +1 -1
  116. package/dist/index.cjs281.js +1 -1
  117. package/dist/index.cjs281.js.map +1 -1
  118. package/dist/index.cjs285.js +1 -1
  119. package/dist/index.cjs285.js.map +1 -1
  120. package/dist/index.cjs286.js +1 -1
  121. package/dist/index.cjs286.js.map +1 -1
  122. package/dist/index.cjs287.js +1 -4
  123. package/dist/index.cjs287.js.map +1 -1
  124. package/dist/index.cjs288.js +1 -1
  125. package/dist/index.cjs288.js.map +1 -1
  126. package/dist/index.cjs289.js +1 -1
  127. package/dist/index.cjs289.js.map +1 -1
  128. package/dist/index.cjs290.js +1 -1
  129. package/dist/index.cjs290.js.map +1 -1
  130. package/dist/index.cjs291.js +1 -1
  131. package/dist/index.cjs291.js.map +1 -1
  132. package/dist/index.cjs292.js +1 -1
  133. package/dist/index.cjs292.js.map +1 -1
  134. package/dist/index.cjs293.js +1 -38
  135. package/dist/index.cjs293.js.map +1 -1
  136. package/dist/index.cjs297.js +1 -1
  137. package/dist/index.cjs297.js.map +1 -1
  138. package/dist/index.cjs298.js +1 -1
  139. package/dist/index.cjs298.js.map +1 -1
  140. package/dist/index.cjs299.js +1 -1
  141. package/dist/index.cjs299.js.map +1 -1
  142. package/dist/index.cjs300.js +1 -1
  143. package/dist/index.cjs300.js.map +1 -1
  144. package/dist/index.cjs301.js +1 -1
  145. package/dist/index.cjs301.js.map +1 -1
  146. package/dist/index.cjs302.js +1 -1
  147. package/dist/index.cjs302.js.map +1 -1
  148. package/dist/index.cjs56.js +1 -1
  149. package/dist/index.cjs6.js +1 -1
  150. package/dist/index.cjs7.js +1 -1
  151. package/dist/index.cjs75.js +1 -1
  152. package/dist/index.cjs76.js +1 -1
  153. package/dist/index.cjs77.js +1 -1
  154. package/dist/index.cjs78.js +1 -1
  155. package/dist/index.cjs79.js +1 -1
  156. package/dist/index.cjs8.js +1 -1
  157. package/dist/index.cjs80.js +1 -1
  158. package/dist/index.cjs81.js +1 -1
  159. package/dist/index.cjs82.js +1 -1
  160. package/dist/index.cjs83.js +1 -1
  161. package/dist/index.cjs84.js +1 -1
  162. package/dist/index.cjs85.js +1 -1
  163. package/dist/index.cjs86.js +1 -1
  164. package/dist/index.cjs87.js +1 -1
  165. package/dist/index.cjs88.js +1 -1
  166. package/dist/index.cjs89.js +1 -1
  167. package/dist/index.cjs9.js +1 -1
  168. package/dist/index.cjs90.js +1 -1
  169. package/dist/index.cjs91.js +1 -1
  170. package/dist/index.cjs92.js +1 -1
  171. package/dist/index.cjs93.js +1 -1
  172. package/dist/index.cjs94.js +1 -1
  173. package/dist/index.cjs95.js +1 -1
  174. package/dist/index.cjs96.js +1 -1
  175. package/dist/index.cjs99.js +1 -1
  176. package/dist/index.d.ts +2 -1
  177. package/dist/index.es10.js +2 -2
  178. package/dist/index.es100.js +1 -1
  179. package/dist/index.es101.js +1 -1
  180. package/dist/index.es102.js +1 -1
  181. package/dist/index.es103.js +1 -1
  182. package/dist/index.es104.js +1 -1
  183. package/dist/index.es105.js +1 -1
  184. package/dist/index.es106.js +1 -1
  185. package/dist/index.es107.js +1 -1
  186. package/dist/index.es108.js +1 -1
  187. package/dist/index.es109.js +1 -1
  188. package/dist/index.es110.js +1 -1
  189. package/dist/index.es112.js +1 -1
  190. package/dist/index.es113.js +1 -1
  191. package/dist/index.es114.js +1 -1
  192. package/dist/index.es115.js +1 -1
  193. package/dist/index.es116.js +1 -1
  194. package/dist/index.es117.js +1 -1
  195. package/dist/index.es143.js +2 -27
  196. package/dist/index.es143.js.map +1 -1
  197. package/dist/index.es144.js +30 -0
  198. package/dist/index.es144.js.map +1 -0
  199. package/dist/index.es153.js +1 -1
  200. package/dist/index.es159.js +7 -7
  201. package/dist/index.es162.js +1 -1
  202. package/dist/index.es163.js +1 -1
  203. package/dist/index.es170.js +8 -8
  204. package/dist/index.es179.js +1 -1
  205. package/dist/index.es18.js +19 -18
  206. package/dist/index.es18.js.map +1 -1
  207. package/dist/index.es181.js +14 -14
  208. package/dist/index.es188.js +1 -1
  209. package/dist/index.es189.js +1 -1
  210. package/dist/index.es193.js +1 -1
  211. package/dist/index.es198.js +1 -1
  212. package/dist/index.es200.js +1 -1
  213. package/dist/index.es206.js +1 -1
  214. package/dist/index.es207.js +1 -1
  215. package/dist/index.es208.js +7 -7
  216. package/dist/index.es22.js +1 -1
  217. package/dist/index.es232.js +1 -1
  218. package/dist/index.es233.js +1 -1
  219. package/dist/index.es234.js +5 -0
  220. package/dist/index.es234.js.map +1 -0
  221. package/dist/index.es235.js +2 -15
  222. package/dist/index.es235.js.map +1 -1
  223. package/dist/index.es237.js +18 -0
  224. package/dist/index.es237.js.map +1 -0
  225. package/dist/index.es240.js +5 -66
  226. package/dist/index.es240.js.map +1 -1
  227. package/dist/index.es241.js +25 -28
  228. package/dist/index.es241.js.map +1 -1
  229. package/dist/index.es242.js +67 -32
  230. package/dist/index.es242.js.map +1 -1
  231. package/dist/index.es243.js +10 -621
  232. package/dist/index.es243.js.map +1 -1
  233. package/dist/index.es244.js +29 -10
  234. package/dist/index.es244.js.map +1 -1
  235. package/dist/index.es245.js +124 -5
  236. package/dist/index.es245.js.map +1 -1
  237. package/dist/index.es246.js +134 -24
  238. package/dist/index.es246.js.map +1 -1
  239. package/dist/index.es247.js +14 -69
  240. package/dist/index.es247.js.map +1 -1
  241. package/dist/index.es248.js +69 -2
  242. package/dist/index.es248.js.map +1 -1
  243. package/dist/index.es249.js +33 -2
  244. package/dist/index.es249.js.map +1 -1
  245. package/dist/index.es25.js +1 -1
  246. package/dist/index.es250.js +12 -8
  247. package/dist/index.es250.js.map +1 -1
  248. package/dist/index.es251.js +8 -41
  249. package/dist/index.es251.js.map +1 -1
  250. package/dist/index.es252.js +49 -45
  251. package/dist/index.es252.js.map +1 -1
  252. package/dist/index.es253.js +41 -7
  253. package/dist/index.es253.js.map +1 -1
  254. package/dist/index.es254.js +5 -124
  255. package/dist/index.es254.js.map +1 -1
  256. package/dist/index.es255.js +24 -14
  257. package/dist/index.es255.js.map +1 -1
  258. package/dist/index.es256.js +4 -135
  259. package/dist/index.es256.js.map +1 -1
  260. package/dist/index.es257.js +10 -217
  261. package/dist/index.es257.js.map +1 -1
  262. package/dist/index.es258.js +11 -13
  263. package/dist/index.es258.js.map +1 -1
  264. package/dist/index.es267.js +28 -0
  265. package/dist/index.es267.js.map +1 -0
  266. package/dist/{index.es282.js → index.es268.js} +5 -5
  267. package/dist/{index.es282.js.map → index.es268.js.map} +1 -1
  268. package/dist/index.es269.js +8 -0
  269. package/dist/{index.es283.js.map → index.es269.js.map} +1 -1
  270. package/dist/{index.es284.js → index.es270.js} +1 -1
  271. package/dist/{index.es284.js.map → index.es270.js.map} +1 -1
  272. package/dist/index.es271.js +6 -0
  273. package/dist/index.es271.js.map +1 -0
  274. package/dist/index.es272.js +27 -0
  275. package/dist/index.es272.js.map +1 -0
  276. package/dist/index.es273.js +113 -0
  277. package/dist/index.es273.js.map +1 -0
  278. package/dist/index.es274.js +19 -0
  279. package/dist/index.es274.js.map +1 -0
  280. package/dist/index.es275.js +72 -0
  281. package/dist/index.es275.js.map +1 -0
  282. package/dist/{index.es294.js → index.es276.js} +2 -2
  283. package/dist/{index.es294.js.map → index.es276.js.map} +1 -1
  284. package/dist/index.es277.js +14 -12
  285. package/dist/index.es277.js.map +1 -1
  286. package/dist/index.es278.js +60 -203
  287. package/dist/index.es278.js.map +1 -1
  288. package/dist/index.es279.js +64 -21
  289. package/dist/index.es279.js.map +1 -1
  290. package/dist/index.es280.js +3 -392
  291. package/dist/index.es280.js.map +1 -1
  292. package/dist/index.es281.js +22 -24
  293. package/dist/index.es281.js.map +1 -1
  294. package/dist/index.es285.js +23 -3
  295. package/dist/index.es285.js.map +1 -1
  296. package/dist/index.es286.js +13 -24
  297. package/dist/index.es286.js.map +1 -1
  298. package/dist/index.es287.js +26 -108
  299. package/dist/index.es287.js.map +1 -1
  300. package/dist/index.es288.js +4 -15
  301. package/dist/index.es288.js.map +1 -1
  302. package/dist/index.es289.js +604 -505
  303. package/dist/index.es289.js.map +1 -1
  304. package/dist/index.es290.js +44 -125
  305. package/dist/index.es290.js.map +1 -1
  306. package/dist/index.es291.js +7 -128
  307. package/dist/index.es291.js.map +1 -1
  308. package/dist/index.es292.js +213 -60
  309. package/dist/index.es292.js.map +1 -1
  310. package/dist/index.es293.js +176 -67
  311. package/dist/index.es293.js.map +1 -1
  312. package/dist/index.es297.js +204 -3
  313. package/dist/index.es297.js.map +1 -1
  314. package/dist/index.es298.js +22 -23
  315. package/dist/index.es298.js.map +1 -1
  316. package/dist/index.es299.js +391 -11
  317. package/dist/index.es299.js.map +1 -1
  318. package/dist/index.es300.js +517 -22
  319. package/dist/index.es300.js.map +1 -1
  320. package/dist/index.es301.js +126 -4
  321. package/dist/index.es301.js.map +1 -1
  322. package/dist/index.es302.js +128 -22
  323. package/dist/index.es302.js.map +1 -1
  324. package/dist/index.es56.js +1 -1
  325. package/dist/index.es6.js +1 -1
  326. package/dist/index.es7.js +1 -1
  327. package/dist/index.es75.js +1 -1
  328. package/dist/index.es76.js +1 -1
  329. package/dist/index.es77.js +1 -1
  330. package/dist/index.es78.js +1 -1
  331. package/dist/index.es79.js +1 -1
  332. package/dist/index.es8.js +1 -1
  333. package/dist/index.es80.js +1 -1
  334. package/dist/index.es81.js +1 -1
  335. package/dist/index.es82.js +1 -1
  336. package/dist/index.es83.js +1 -1
  337. package/dist/index.es84.js +1 -1
  338. package/dist/index.es85.js +1 -1
  339. package/dist/index.es86.js +1 -1
  340. package/dist/index.es87.js +1 -1
  341. package/dist/index.es88.js +1 -1
  342. package/dist/index.es89.js +1 -1
  343. package/dist/index.es9.js +2 -2
  344. package/dist/index.es90.js +1 -1
  345. package/dist/index.es91.js +1 -1
  346. package/dist/index.es92.js +1 -1
  347. package/dist/index.es93.js +1 -1
  348. package/dist/index.es94.js +1 -1
  349. package/dist/index.es95.js +1 -1
  350. package/dist/index.es96.js +1 -1
  351. package/dist/index.es99.js +1 -1
  352. package/package.json +1 -1
  353. package/dist/index.cjs145.js +0 -2
  354. package/dist/index.cjs145.js.map +0 -1
  355. package/dist/index.cjs238.js +0 -2
  356. package/dist/index.cjs238.js.map +0 -1
  357. package/dist/index.cjs239.js +0 -2
  358. package/dist/index.cjs239.js.map +0 -1
  359. package/dist/index.cjs259.js +0 -2
  360. package/dist/index.cjs259.js.map +0 -1
  361. package/dist/index.cjs260.js +0 -2
  362. package/dist/index.cjs260.js.map +0 -1
  363. package/dist/index.cjs261.js +0 -2
  364. package/dist/index.cjs261.js.map +0 -1
  365. package/dist/index.cjs262.js +0 -2
  366. package/dist/index.cjs262.js.map +0 -1
  367. package/dist/index.cjs283.js +0 -2
  368. package/dist/index.cjs295.js +0 -2
  369. package/dist/index.cjs295.js.map +0 -1
  370. package/dist/index.cjs296.js +0 -2
  371. package/dist/index.cjs296.js.map +0 -1
  372. package/dist/index.es145.js +0 -5
  373. package/dist/index.es145.js.map +0 -1
  374. package/dist/index.es238.js +0 -10
  375. package/dist/index.es238.js.map +0 -1
  376. package/dist/index.es239.js +0 -30
  377. package/dist/index.es239.js.map +0 -1
  378. package/dist/index.es259.js +0 -181
  379. package/dist/index.es259.js.map +0 -1
  380. package/dist/index.es260.js +0 -53
  381. package/dist/index.es260.js.map +0 -1
  382. package/dist/index.es261.js +0 -12
  383. package/dist/index.es261.js.map +0 -1
  384. package/dist/index.es262.js +0 -7
  385. package/dist/index.es262.js.map +0 -1
  386. package/dist/index.es283.js +0 -8
  387. package/dist/index.es295.js +0 -17
  388. package/dist/index.es295.js.map +0 -1
  389. package/dist/index.es296.js +0 -65
  390. package/dist/index.es296.js.map +0 -1
  391. /package/dist/components/ui/{ConsentModal/ConsentModalContent/ConsentModalContent.css → DoctorConfirmModal/DoctorConfirmModalContent/DoctorConfirmModalContent.css} +0 -0
  392. /package/dist/components/ui/{ConsentModal/ConsentModalFooter/ConsentModalFooter.css → DoctorConfirmModal/DoctorConfirmModalFooter/DoctorConfirmModalFooter.css} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.es289.js","sources":["../node_modules/@floating-ui/core/dist/floating-ui.core.mjs"],"sourcesContent":["import { getSideAxis, getAlignmentAxis, getAxisLength, getSide, getAlignment, evaluate, getPaddingObject, rectToClientRect, min, clamp, placements, getAlignmentSides, getOppositeAlignmentPlacement, getOppositePlacement, getExpandedPlacements, getOppositeAxisPlacements, sides, max, getOppositeAxis } from '@floating-ui/utils';\nexport { rectToClientRect } from '@floating-ui/utils';\n\nfunction computeCoordsFromPlacement(_ref, placement, rtl) {\n let {\n reference,\n floating\n } = _ref;\n const sideAxis = getSideAxis(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const alignLength = getAxisLength(alignmentAxis);\n const side = getSide(placement);\n const isVertical = sideAxis === 'y';\n const commonX = reference.x + reference.width / 2 - floating.width / 2;\n const commonY = reference.y + reference.height / 2 - floating.height / 2;\n const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;\n let coords;\n switch (side) {\n case 'top':\n coords = {\n x: commonX,\n y: reference.y - floating.height\n };\n break;\n case 'bottom':\n coords = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n case 'right':\n coords = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n case 'left':\n coords = {\n x: reference.x - floating.width,\n y: commonY\n };\n break;\n default:\n coords = {\n x: reference.x,\n y: reference.y\n };\n }\n switch (getAlignment(placement)) {\n case 'start':\n coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n case 'end':\n coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n }\n return coords;\n}\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n *\n * This export does not have any `platform` interface logic. You will need to\n * write one for the platform you are using Floating UI with.\n */\nconst computePosition = async (reference, floating, config) => {\n const {\n placement = 'bottom',\n strategy = 'absolute',\n middleware = [],\n platform\n } = config;\n const validMiddleware = middleware.filter(Boolean);\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));\n let rects = await platform.getElementRects({\n reference,\n floating,\n strategy\n });\n let {\n x,\n y\n } = computeCoordsFromPlacement(rects, placement, rtl);\n let statefulPlacement = placement;\n let middlewareData = {};\n let resetCount = 0;\n for (let i = 0; i < validMiddleware.length; i++) {\n const {\n name,\n fn\n } = validMiddleware[i];\n const {\n x: nextX,\n y: nextY,\n data,\n reset\n } = await fn({\n x,\n y,\n initialPlacement: placement,\n placement: statefulPlacement,\n strategy,\n middlewareData,\n rects,\n platform,\n elements: {\n reference,\n floating\n }\n });\n x = nextX != null ? nextX : x;\n y = nextY != null ? nextY : y;\n middlewareData = {\n ...middlewareData,\n [name]: {\n ...middlewareData[name],\n ...data\n }\n };\n if (reset && resetCount <= 50) {\n resetCount++;\n if (typeof reset === 'object') {\n if (reset.placement) {\n statefulPlacement = reset.placement;\n }\n if (reset.rects) {\n rects = reset.rects === true ? await platform.getElementRects({\n reference,\n floating,\n strategy\n }) : reset.rects;\n }\n ({\n x,\n y\n } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));\n }\n i = -1;\n }\n }\n return {\n x,\n y,\n placement: statefulPlacement,\n strategy,\n middlewareData\n };\n};\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nasync function detectOverflow(state, options) {\n var _await$platform$isEle;\n if (options === void 0) {\n options = {};\n }\n const {\n x,\n y,\n platform,\n rects,\n elements,\n strategy\n } = state;\n const {\n boundary = 'clippingAncestors',\n rootBoundary = 'viewport',\n elementContext = 'floating',\n altBoundary = false,\n padding = 0\n } = evaluate(options, state);\n const paddingObject = getPaddingObject(padding);\n const altContext = elementContext === 'floating' ? 'reference' : 'floating';\n const element = elements[altBoundary ? altContext : elementContext];\n const clippingClientRect = rectToClientRect(await platform.getClippingRect({\n element: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || (await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating))),\n boundary,\n rootBoundary,\n strategy\n }));\n const rect = elementContext === 'floating' ? {\n x,\n y,\n width: rects.floating.width,\n height: rects.floating.height\n } : rects.reference;\n const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));\n const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {\n x: 1,\n y: 1\n } : {\n x: 1,\n y: 1\n };\n const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n elements,\n rect,\n offsetParent,\n strategy\n }) : rect);\n return {\n top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,\n bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,\n left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,\n right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x\n };\n}\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = options => ({\n name: 'arrow',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n platform,\n elements,\n middlewareData\n } = state;\n // Since `element` is required, we don't Partial<> the type.\n const {\n element,\n padding = 0\n } = evaluate(options, state) || {};\n if (element == null) {\n return {};\n }\n const paddingObject = getPaddingObject(padding);\n const coords = {\n x,\n y\n };\n const axis = getAlignmentAxis(placement);\n const length = getAxisLength(axis);\n const arrowDimensions = await platform.getDimensions(element);\n const isYAxis = axis === 'y';\n const minProp = isYAxis ? 'top' : 'left';\n const maxProp = isYAxis ? 'bottom' : 'right';\n const clientProp = isYAxis ? 'clientHeight' : 'clientWidth';\n const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n const startDiff = coords[axis] - rects.reference[axis];\n const arrowOffsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(element));\n let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0;\n\n // DOM platform can return `window` as the `offsetParent`.\n if (!clientSize || !(await (platform.isElement == null ? void 0 : platform.isElement(arrowOffsetParent)))) {\n clientSize = elements.floating[clientProp] || rects.floating[length];\n }\n const centerToReference = endDiff / 2 - startDiff / 2;\n\n // If the padding is large enough that it causes the arrow to no longer be\n // centered, modify the padding so that it is centered.\n const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;\n const minPadding = min(paddingObject[minProp], largestPossiblePadding);\n const maxPadding = min(paddingObject[maxProp], largestPossiblePadding);\n\n // Make sure the arrow doesn't overflow the floating element if the center\n // point is outside the floating element's bounds.\n const min$1 = minPadding;\n const max = clientSize - arrowDimensions[length] - maxPadding;\n const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n const offset = clamp(min$1, center, max);\n\n // If the reference is small enough that the arrow's padding causes it to\n // to point to nothing for an aligned placement, adjust the offset of the\n // floating element itself. To ensure `shift()` continues to take action,\n // a single reset is performed when this is true.\n const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;\n const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max : 0;\n return {\n [axis]: coords[axis] + alignmentOffset,\n data: {\n [axis]: offset,\n centerOffset: center - offset - alignmentOffset,\n ...(shouldAddOffset && {\n alignmentOffset\n })\n },\n reset: shouldAddOffset\n };\n }\n});\n\nfunction getPlacementList(alignment, autoAlignment, allowedPlacements) {\n const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => getAlignment(placement) === alignment), ...allowedPlacements.filter(placement => getAlignment(placement) !== alignment)] : allowedPlacements.filter(placement => getSide(placement) === placement);\n return allowedPlacementsSortedByAlignment.filter(placement => {\n if (alignment) {\n return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false);\n }\n return true;\n });\n}\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'autoPlacement',\n options,\n async fn(state) {\n var _middlewareData$autoP, _middlewareData$autoP2, _placementsThatFitOnE;\n const {\n rects,\n middlewareData,\n placement,\n platform,\n elements\n } = state;\n const {\n crossAxis = false,\n alignment,\n allowedPlacements = placements,\n autoAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n const placements$1 = alignment !== undefined || allowedPlacements === placements ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP.index) || 0;\n const currentPlacement = placements$1[currentIndex];\n if (currentPlacement == null) {\n return {};\n }\n const alignmentSides = getAlignmentSides(currentPlacement, rects, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)));\n\n // Make `computeCoords` start from the right place.\n if (placement !== currentPlacement) {\n return {\n reset: {\n placement: placements$1[0]\n }\n };\n }\n const currentOverflows = [overflow[getSide(currentPlacement)], overflow[alignmentSides[0]], overflow[alignmentSides[1]]];\n const allOverflows = [...(((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP2.overflows) || []), {\n placement: currentPlacement,\n overflows: currentOverflows\n }];\n const nextPlacement = placements$1[currentIndex + 1];\n\n // There are more placements to check.\n if (nextPlacement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n const placementsSortedByMostSpace = allOverflows.map(d => {\n const alignment = getAlignment(d.placement);\n return [d.placement, alignment && crossAxis ?\n // Check along the mainAxis and main crossAxis side.\n d.overflows.slice(0, 2).reduce((acc, v) => acc + v, 0) :\n // Check only the mainAxis.\n d.overflows[0], d.overflows];\n }).sort((a, b) => a[1] - b[1]);\n const placementsThatFitOnEachSide = placementsSortedByMostSpace.filter(d => d[2].slice(0,\n // Aligned placements should not check their opposite crossAxis\n // side.\n getAlignment(d[0]) ? 2 : 3).every(v => v <= 0));\n const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ? void 0 : _placementsThatFitOnE[0]) || placementsSortedByMostSpace[0][0];\n if (resetPlacement !== placement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: resetPlacement\n }\n };\n }\n return {};\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'flip',\n options,\n async fn(state) {\n var _middlewareData$arrow, _middlewareData$flip;\n const {\n placement,\n middlewareData,\n rects,\n initialPlacement,\n platform,\n elements\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true,\n fallbackPlacements: specifiedFallbackPlacements,\n fallbackStrategy = 'bestFit',\n fallbackAxisSideDirection = 'none',\n flipAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n\n // If a reset by the arrow was caused due to an alignment offset being\n // added, we should skip any logic now since `flip()` has already done its\n // work.\n // https://github.com/floating-ui/floating-ui/issues/2549#issuecomment-1719601643\n if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n const side = getSide(placement);\n const initialSideAxis = getSideAxis(initialPlacement);\n const isBasePlacement = getSide(initialPlacement) === initialPlacement;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== 'none';\n if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {\n fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));\n }\n const placements = [initialPlacement, ...fallbackPlacements];\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const overflows = [];\n let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];\n if (checkMainAxis) {\n overflows.push(overflow[side]);\n }\n if (checkCrossAxis) {\n const sides = getAlignmentSides(placement, rects, rtl);\n overflows.push(overflow[sides[0]], overflow[sides[1]]);\n }\n overflowsData = [...overflowsData, {\n placement,\n overflows\n }];\n\n // One or more sides is overflowing.\n if (!overflows.every(side => side <= 0)) {\n var _middlewareData$flip2, _overflowsData$filter;\n const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;\n const nextPlacement = placements[nextIndex];\n if (nextPlacement) {\n // Try next placement and re-run the lifecycle.\n return {\n data: {\n index: nextIndex,\n overflows: overflowsData\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n\n // First, find the candidates that fit on the mainAxis side of overflow,\n // then find the placement that fits the best on the main crossAxis side.\n let resetPlacement = (_overflowsData$filter = overflowsData.filter(d => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;\n\n // Otherwise fallback.\n if (!resetPlacement) {\n switch (fallbackStrategy) {\n case 'bestFit':\n {\n var _overflowsData$filter2;\n const placement = (_overflowsData$filter2 = overflowsData.filter(d => {\n if (hasFallbackAxisSideDirection) {\n const currentSideAxis = getSideAxis(d.placement);\n return currentSideAxis === initialSideAxis ||\n // Create a bias to the `y` side axis due to horizontal\n // reading directions favoring greater width.\n currentSideAxis === 'y';\n }\n return true;\n }).map(d => [d.placement, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$filter2[0];\n if (placement) {\n resetPlacement = placement;\n }\n break;\n }\n case 'initialPlacement':\n resetPlacement = initialPlacement;\n break;\n }\n }\n if (placement !== resetPlacement) {\n return {\n reset: {\n placement: resetPlacement\n }\n };\n }\n }\n return {};\n }\n };\n};\n\nfunction getSideOffsets(overflow, rect) {\n return {\n top: overflow.top - rect.height,\n right: overflow.right - rect.width,\n bottom: overflow.bottom - rect.height,\n left: overflow.left - rect.width\n };\n}\nfunction isAnySideFullyClipped(overflow) {\n return sides.some(side => overflow[side] >= 0);\n}\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'hide',\n options,\n async fn(state) {\n const {\n rects\n } = state;\n const {\n strategy = 'referenceHidden',\n ...detectOverflowOptions\n } = evaluate(options, state);\n switch (strategy) {\n case 'referenceHidden':\n {\n const overflow = await detectOverflow(state, {\n ...detectOverflowOptions,\n elementContext: 'reference'\n });\n const offsets = getSideOffsets(overflow, rects.reference);\n return {\n data: {\n referenceHiddenOffsets: offsets,\n referenceHidden: isAnySideFullyClipped(offsets)\n }\n };\n }\n case 'escaped':\n {\n const overflow = await detectOverflow(state, {\n ...detectOverflowOptions,\n altBoundary: true\n });\n const offsets = getSideOffsets(overflow, rects.floating);\n return {\n data: {\n escapedOffsets: offsets,\n escaped: isAnySideFullyClipped(offsets)\n }\n };\n }\n default:\n {\n return {};\n }\n }\n }\n };\n};\n\nfunction getBoundingRect(rects) {\n const minX = min(...rects.map(rect => rect.left));\n const minY = min(...rects.map(rect => rect.top));\n const maxX = max(...rects.map(rect => rect.right));\n const maxY = max(...rects.map(rect => rect.bottom));\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY\n };\n}\nfunction getRectsByLine(rects) {\n const sortedRects = rects.slice().sort((a, b) => a.y - b.y);\n const groups = [];\n let prevRect = null;\n for (let i = 0; i < sortedRects.length; i++) {\n const rect = sortedRects[i];\n if (!prevRect || rect.y - prevRect.y > prevRect.height / 2) {\n groups.push([rect]);\n } else {\n groups[groups.length - 1].push(rect);\n }\n prevRect = rect;\n }\n return groups.map(rect => rectToClientRect(getBoundingRect(rect)));\n}\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'inline',\n options,\n async fn(state) {\n const {\n placement,\n elements,\n rects,\n platform,\n strategy\n } = state;\n // A MouseEvent's client{X,Y} coords can be up to 2 pixels off a\n // ClientRect's bounds, despite the event listener being triggered. A\n // padding of 2 seems to handle this issue.\n const {\n padding = 2,\n x,\n y\n } = evaluate(options, state);\n const nativeClientRects = Array.from((await (platform.getClientRects == null ? void 0 : platform.getClientRects(elements.reference))) || []);\n const clientRects = getRectsByLine(nativeClientRects);\n const fallback = rectToClientRect(getBoundingRect(nativeClientRects));\n const paddingObject = getPaddingObject(padding);\n function getBoundingClientRect() {\n // There are two rects and they are disjoined.\n if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {\n // Find the first rect in which the point is fully inside.\n return clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom) || fallback;\n }\n\n // There are 2 or more connected rects.\n if (clientRects.length >= 2) {\n if (getSideAxis(placement) === 'y') {\n const firstRect = clientRects[0];\n const lastRect = clientRects[clientRects.length - 1];\n const isTop = getSide(placement) === 'top';\n const top = firstRect.top;\n const bottom = lastRect.bottom;\n const left = isTop ? firstRect.left : lastRect.left;\n const right = isTop ? firstRect.right : lastRect.right;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n const isLeftSide = getSide(placement) === 'left';\n const maxRight = max(...clientRects.map(rect => rect.right));\n const minLeft = min(...clientRects.map(rect => rect.left));\n const measureRects = clientRects.filter(rect => isLeftSide ? rect.left === minLeft : rect.right === maxRight);\n const top = measureRects[0].top;\n const bottom = measureRects[measureRects.length - 1].bottom;\n const left = minLeft;\n const right = maxRight;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n return fallback;\n }\n const resetRects = await platform.getElementRects({\n reference: {\n getBoundingClientRect\n },\n floating: elements.floating,\n strategy\n });\n if (rects.reference.x !== resetRects.reference.x || rects.reference.y !== resetRects.reference.y || rects.reference.width !== resetRects.reference.width || rects.reference.height !== resetRects.reference.height) {\n return {\n reset: {\n rects: resetRects\n }\n };\n }\n return {};\n }\n };\n};\n\n// For type backwards-compatibility, the `OffsetOptions` type was also\n// Derivable.\n\nasync function convertValueToCoords(state, options) {\n const {\n placement,\n platform,\n elements\n } = state;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isVertical = getSideAxis(placement) === 'y';\n const mainAxisMulti = ['left', 'top'].includes(side) ? -1 : 1;\n const crossAxisMulti = rtl && isVertical ? -1 : 1;\n const rawValue = evaluate(options, state);\n\n // eslint-disable-next-line prefer-const\n let {\n mainAxis,\n crossAxis,\n alignmentAxis\n } = typeof rawValue === 'number' ? {\n mainAxis: rawValue,\n crossAxis: 0,\n alignmentAxis: null\n } : {\n mainAxis: rawValue.mainAxis || 0,\n crossAxis: rawValue.crossAxis || 0,\n alignmentAxis: rawValue.alignmentAxis\n };\n if (alignment && typeof alignmentAxis === 'number') {\n crossAxis = alignment === 'end' ? alignmentAxis * -1 : alignmentAxis;\n }\n return isVertical ? {\n x: crossAxis * crossAxisMulti,\n y: mainAxis * mainAxisMulti\n } : {\n x: mainAxis * mainAxisMulti,\n y: crossAxis * crossAxisMulti\n };\n}\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = function (options) {\n if (options === void 0) {\n options = 0;\n }\n return {\n name: 'offset',\n options,\n async fn(state) {\n var _middlewareData$offse, _middlewareData$arrow;\n const {\n x,\n y,\n placement,\n middlewareData\n } = state;\n const diffCoords = await convertValueToCoords(state, options);\n\n // If the placement is the same and the arrow caused an alignment offset\n // then we don't need to change the positioning coordinates.\n if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n return {\n x: x + diffCoords.x,\n y: y + diffCoords.y,\n data: {\n ...diffCoords,\n placement\n }\n };\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'shift',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = false,\n limiter = {\n fn: _ref => {\n let {\n x,\n y\n } = _ref;\n return {\n x,\n y\n };\n }\n },\n ...detectOverflowOptions\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const crossAxis = getSideAxis(getSide(placement));\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n if (checkMainAxis) {\n const minSide = mainAxis === 'y' ? 'top' : 'left';\n const maxSide = mainAxis === 'y' ? 'bottom' : 'right';\n const min = mainAxisCoord + overflow[minSide];\n const max = mainAxisCoord - overflow[maxSide];\n mainAxisCoord = clamp(min, mainAxisCoord, max);\n }\n if (checkCrossAxis) {\n const minSide = crossAxis === 'y' ? 'top' : 'left';\n const maxSide = crossAxis === 'y' ? 'bottom' : 'right';\n const min = crossAxisCoord + overflow[minSide];\n const max = crossAxisCoord - overflow[maxSide];\n crossAxisCoord = clamp(min, crossAxisCoord, max);\n }\n const limitedCoords = limiter.fn({\n ...state,\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n });\n return {\n ...limitedCoords,\n data: {\n x: limitedCoords.x - x,\n y: limitedCoords.y - y,\n enabled: {\n [mainAxis]: checkMainAxis,\n [crossAxis]: checkCrossAxis\n }\n }\n };\n }\n };\n};\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n options,\n fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n middlewareData\n } = state;\n const {\n offset = 0,\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const crossAxis = getSideAxis(placement);\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n const rawOffset = evaluate(offset, state);\n const computedOffset = typeof rawOffset === 'number' ? {\n mainAxis: rawOffset,\n crossAxis: 0\n } : {\n mainAxis: 0,\n crossAxis: 0,\n ...rawOffset\n };\n if (checkMainAxis) {\n const len = mainAxis === 'y' ? 'height' : 'width';\n const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n if (mainAxisCoord < limitMin) {\n mainAxisCoord = limitMin;\n } else if (mainAxisCoord > limitMax) {\n mainAxisCoord = limitMax;\n }\n }\n if (checkCrossAxis) {\n var _middlewareData$offse, _middlewareData$offse2;\n const len = mainAxis === 'y' ? 'width' : 'height';\n const isOriginSide = ['top', 'left'].includes(getSide(placement));\n const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n if (crossAxisCoord < limitMin) {\n crossAxisCoord = limitMin;\n } else if (crossAxisCoord > limitMax) {\n crossAxisCoord = limitMax;\n }\n }\n return {\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n };\n }\n };\n};\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'size',\n options,\n async fn(state) {\n var _state$middlewareData, _state$middlewareData2;\n const {\n placement,\n rects,\n platform,\n elements\n } = state;\n const {\n apply = () => {},\n ...detectOverflowOptions\n } = evaluate(options, state);\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isYAxis = getSideAxis(placement) === 'y';\n const {\n width,\n height\n } = rects.floating;\n let heightSide;\n let widthSide;\n if (side === 'top' || side === 'bottom') {\n heightSide = side;\n widthSide = alignment === ((await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))) ? 'start' : 'end') ? 'left' : 'right';\n } else {\n widthSide = side;\n heightSide = alignment === 'end' ? 'top' : 'bottom';\n }\n const maximumClippingHeight = height - overflow.top - overflow.bottom;\n const maximumClippingWidth = width - overflow.left - overflow.right;\n const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);\n const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);\n const noShift = !state.middlewareData.shift;\n let availableHeight = overflowAvailableHeight;\n let availableWidth = overflowAvailableWidth;\n if ((_state$middlewareData = state.middlewareData.shift) != null && _state$middlewareData.enabled.x) {\n availableWidth = maximumClippingWidth;\n }\n if ((_state$middlewareData2 = state.middlewareData.shift) != null && _state$middlewareData2.enabled.y) {\n availableHeight = maximumClippingHeight;\n }\n if (noShift && !alignment) {\n const xMin = max(overflow.left, 0);\n const xMax = max(overflow.right, 0);\n const yMin = max(overflow.top, 0);\n const yMax = max(overflow.bottom, 0);\n if (isYAxis) {\n availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));\n } else {\n availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));\n }\n }\n await apply({\n ...state,\n availableWidth,\n availableHeight\n });\n const nextDimensions = await platform.getDimensions(elements.floating);\n if (width !== nextDimensions.width || height !== nextDimensions.height) {\n return {\n reset: {\n rects: true\n }\n };\n }\n return {};\n }\n };\n};\n\nexport { arrow, autoPlacement, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, shift, size };\n"],"names":["computeCoordsFromPlacement","_ref","placement","rtl","reference","floating","sideAxis","getSideAxis","alignmentAxis","getAlignmentAxis","alignLength","getAxisLength","side","getSide","isVertical","commonX","commonY","commonAlign","coords","getAlignment","computePosition","config","strategy","middleware","platform","validMiddleware","rects","x","y","statefulPlacement","middlewareData","resetCount","i","name","fn","nextX","nextY","data","reset","detectOverflow","state","options","_await$platform$isEle","elements","boundary","rootBoundary","elementContext","altBoundary","padding","evaluate","paddingObject","getPaddingObject","element","clippingClientRect","rectToClientRect","rect","offsetParent","offsetScale","elementClientRect","arrow","axis","length","arrowDimensions","isYAxis","minProp","maxProp","clientProp","endDiff","startDiff","arrowOffsetParent","clientSize","centerToReference","largestPossiblePadding","minPadding","min","maxPadding","min$1","max","center","offset","clamp","shouldAddOffset","alignmentOffset","flip","_middlewareData$arrow","_middlewareData$flip","initialPlacement","checkMainAxis","checkCrossAxis","specifiedFallbackPlacements","fallbackStrategy","fallbackAxisSideDirection","flipAlignment","detectOverflowOptions","initialSideAxis","isBasePlacement","fallbackPlacements","getOppositePlacement","getExpandedPlacements","hasFallbackAxisSideDirection","getOppositeAxisPlacements","placements","overflow","overflows","overflowsData","sides","getAlignmentSides","_middlewareData$flip2","_overflowsData$filter","nextIndex","nextPlacement","resetPlacement","d","a","b","_overflowsData$filter2","currentSideAxis","acc","getSideOffsets","isAnySideFullyClipped","hide","offsets","convertValueToCoords","alignment","mainAxisMulti","crossAxisMulti","rawValue","mainAxis","crossAxis","_middlewareData$offse","diffCoords","shift","limiter","getOppositeAxis","mainAxisCoord","crossAxisCoord","minSide","maxSide","limitedCoords","limitShift","rawOffset","computedOffset","len","limitMin","limitMax","_middlewareData$offse2","isOriginSide","size","_state$middlewareData","_state$middlewareData2","apply","width","height","heightSide","widthSide","maximumClippingHeight","maximumClippingWidth","overflowAvailableHeight","overflowAvailableWidth","noShift","availableHeight","availableWidth","xMin","xMax","yMin","yMax","nextDimensions"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.es289.js","sources":["../node_modules/@radix-ui/react-menu/dist/index.mjs"],"sourcesContent":["\"use client\";\n\n// packages/react/menu/src/menu.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createCollection } from \"@radix-ui/react-collection\";\nimport { useComposedRefs, composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { useFocusGuards } from \"@radix-ui/react-focus-guards\";\nimport { FocusScope } from \"@radix-ui/react-focus-scope\";\nimport { useId } from \"@radix-ui/react-id\";\nimport * as PopperPrimitive from \"@radix-ui/react-popper\";\nimport { createPopperScope } from \"@radix-ui/react-popper\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive, dispatchDiscreteCustomEvent } from \"@radix-ui/react-primitive\";\nimport * as RovingFocusGroup from \"@radix-ui/react-roving-focus\";\nimport { createRovingFocusGroupScope } from \"@radix-ui/react-roving-focus\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { hideOthers } from \"aria-hidden\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { jsx } from \"react/jsx-runtime\";\nvar SELECTION_KEYS = [\"Enter\", \" \"];\nvar FIRST_KEYS = [\"ArrowDown\", \"PageUp\", \"Home\"];\nvar LAST_KEYS = [\"ArrowUp\", \"PageDown\", \"End\"];\nvar FIRST_LAST_KEYS = [...FIRST_KEYS, ...LAST_KEYS];\nvar SUB_OPEN_KEYS = {\n ltr: [...SELECTION_KEYS, \"ArrowRight\"],\n rtl: [...SELECTION_KEYS, \"ArrowLeft\"]\n};\nvar SUB_CLOSE_KEYS = {\n ltr: [\"ArrowLeft\"],\n rtl: [\"ArrowRight\"]\n};\nvar MENU_NAME = \"Menu\";\nvar [Collection, useCollection, createCollectionScope] = createCollection(MENU_NAME);\nvar [createMenuContext, createMenuScope] = createContextScope(MENU_NAME, [\n createCollectionScope,\n createPopperScope,\n createRovingFocusGroupScope\n]);\nvar usePopperScope = createPopperScope();\nvar useRovingFocusGroupScope = createRovingFocusGroupScope();\nvar [MenuProvider, useMenuContext] = createMenuContext(MENU_NAME);\nvar [MenuRootProvider, useMenuRootContext] = createMenuContext(MENU_NAME);\nvar Menu = (props) => {\n const { __scopeMenu, open = false, children, dir, onOpenChange, modal = true } = props;\n const popperScope = usePopperScope(__scopeMenu);\n const [content, setContent] = React.useState(null);\n const isUsingKeyboardRef = React.useRef(false);\n const handleOpenChange = useCallbackRef(onOpenChange);\n const direction = useDirection(dir);\n React.useEffect(() => {\n const handleKeyDown = () => {\n isUsingKeyboardRef.current = true;\n document.addEventListener(\"pointerdown\", handlePointer, { capture: true, once: true });\n document.addEventListener(\"pointermove\", handlePointer, { capture: true, once: true });\n };\n const handlePointer = () => isUsingKeyboardRef.current = false;\n document.addEventListener(\"keydown\", handleKeyDown, { capture: true });\n return () => {\n document.removeEventListener(\"keydown\", handleKeyDown, { capture: true });\n document.removeEventListener(\"pointerdown\", handlePointer, { capture: true });\n document.removeEventListener(\"pointermove\", handlePointer, { capture: true });\n };\n }, []);\n return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsx(\n MenuProvider,\n {\n scope: __scopeMenu,\n open,\n onOpenChange: handleOpenChange,\n content,\n onContentChange: setContent,\n children: /* @__PURE__ */ jsx(\n MenuRootProvider,\n {\n scope: __scopeMenu,\n onClose: React.useCallback(() => handleOpenChange(false), [handleOpenChange]),\n isUsingKeyboardRef,\n dir: direction,\n modal,\n children\n }\n )\n }\n ) });\n};\nMenu.displayName = MENU_NAME;\nvar ANCHOR_NAME = \"MenuAnchor\";\nvar MenuAnchor = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...anchorProps } = props;\n const popperScope = usePopperScope(__scopeMenu);\n return /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { ...popperScope, ...anchorProps, ref: forwardedRef });\n }\n);\nMenuAnchor.displayName = ANCHOR_NAME;\nvar PORTAL_NAME = \"MenuPortal\";\nvar [PortalProvider, usePortalContext] = createMenuContext(PORTAL_NAME, {\n forceMount: void 0\n});\nvar MenuPortal = (props) => {\n const { __scopeMenu, forceMount, children, container } = props;\n const context = useMenuContext(PORTAL_NAME, __scopeMenu);\n return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopeMenu, forceMount, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, container, children }) }) });\n};\nMenuPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"MenuContent\";\nvar [MenuContentProvider, useMenuContentContext] = createMenuContext(CONTENT_NAME);\nvar MenuContent = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopeMenu);\n const { forceMount = portalContext.forceMount, ...contentProps } = props;\n const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n const rootContext = useMenuRootContext(CONTENT_NAME, props.__scopeMenu);\n return /* @__PURE__ */ jsx(Collection.Provider, { scope: props.__scopeMenu, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeMenu, children: rootContext.modal ? /* @__PURE__ */ jsx(MenuRootContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(MenuRootContentNonModal, { ...contentProps, ref: forwardedRef }) }) }) });\n }\n);\nvar MenuRootContentModal = React.forwardRef(\n (props, forwardedRef) => {\n const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n React.useEffect(() => {\n const content = ref.current;\n if (content) return hideOthers(content);\n }, []);\n return /* @__PURE__ */ jsx(\n MenuContentImpl,\n {\n ...props,\n ref: composedRefs,\n trapFocus: context.open,\n disableOutsidePointerEvents: context.open,\n disableOutsideScroll: true,\n onFocusOutside: composeEventHandlers(\n props.onFocusOutside,\n (event) => event.preventDefault(),\n { checkForDefaultPrevented: false }\n ),\n onDismiss: () => context.onOpenChange(false)\n }\n );\n }\n);\nvar MenuRootContentNonModal = React.forwardRef((props, forwardedRef) => {\n const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n return /* @__PURE__ */ jsx(\n MenuContentImpl,\n {\n ...props,\n ref: forwardedRef,\n trapFocus: false,\n disableOutsidePointerEvents: false,\n disableOutsideScroll: false,\n onDismiss: () => context.onOpenChange(false)\n }\n );\n});\nvar MenuContentImpl = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeMenu,\n loop = false,\n trapFocus,\n onOpenAutoFocus,\n onCloseAutoFocus,\n disableOutsidePointerEvents,\n onEntryFocus,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n onDismiss,\n disableOutsideScroll,\n ...contentProps\n } = props;\n const context = useMenuContext(CONTENT_NAME, __scopeMenu);\n const rootContext = useMenuRootContext(CONTENT_NAME, __scopeMenu);\n const popperScope = usePopperScope(__scopeMenu);\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeMenu);\n const getItems = useCollection(__scopeMenu);\n const [currentItemId, setCurrentItemId] = React.useState(null);\n const contentRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, contentRef, context.onContentChange);\n const timerRef = React.useRef(0);\n const searchRef = React.useRef(\"\");\n const pointerGraceTimerRef = React.useRef(0);\n const pointerGraceIntentRef = React.useRef(null);\n const pointerDirRef = React.useRef(\"right\");\n const lastPointerXRef = React.useRef(0);\n const ScrollLockWrapper = disableOutsideScroll ? RemoveScroll : React.Fragment;\n const scrollLockWrapperProps = disableOutsideScroll ? { as: Slot, allowPinchZoom: true } : void 0;\n const handleTypeaheadSearch = (key) => {\n const search = searchRef.current + key;\n const items = getItems().filter((item) => !item.disabled);\n const currentItem = document.activeElement;\n const currentMatch = items.find((item) => item.ref.current === currentItem)?.textValue;\n const values = items.map((item) => item.textValue);\n const nextMatch = getNextMatch(values, search, currentMatch);\n const newItem = items.find((item) => item.textValue === nextMatch)?.ref.current;\n (function updateSearch(value) {\n searchRef.current = value;\n window.clearTimeout(timerRef.current);\n if (value !== \"\") timerRef.current = window.setTimeout(() => updateSearch(\"\"), 1e3);\n })(search);\n if (newItem) {\n setTimeout(() => newItem.focus());\n }\n };\n React.useEffect(() => {\n return () => window.clearTimeout(timerRef.current);\n }, []);\n useFocusGuards();\n const isPointerMovingToSubmenu = React.useCallback((event) => {\n const isMovingTowards = pointerDirRef.current === pointerGraceIntentRef.current?.side;\n return isMovingTowards && isPointerInGraceArea(event, pointerGraceIntentRef.current?.area);\n }, []);\n return /* @__PURE__ */ jsx(\n MenuContentProvider,\n {\n scope: __scopeMenu,\n searchRef,\n onItemEnter: React.useCallback(\n (event) => {\n if (isPointerMovingToSubmenu(event)) event.preventDefault();\n },\n [isPointerMovingToSubmenu]\n ),\n onItemLeave: React.useCallback(\n (event) => {\n if (isPointerMovingToSubmenu(event)) return;\n contentRef.current?.focus();\n setCurrentItemId(null);\n },\n [isPointerMovingToSubmenu]\n ),\n onTriggerLeave: React.useCallback(\n (event) => {\n if (isPointerMovingToSubmenu(event)) event.preventDefault();\n },\n [isPointerMovingToSubmenu]\n ),\n pointerGraceTimerRef,\n onPointerGraceIntentChange: React.useCallback((intent) => {\n pointerGraceIntentRef.current = intent;\n }, []),\n children: /* @__PURE__ */ jsx(ScrollLockWrapper, { ...scrollLockWrapperProps, children: /* @__PURE__ */ jsx(\n FocusScope,\n {\n asChild: true,\n trapped: trapFocus,\n onMountAutoFocus: composeEventHandlers(onOpenAutoFocus, (event) => {\n event.preventDefault();\n contentRef.current?.focus({ preventScroll: true });\n }),\n onUnmountAutoFocus: onCloseAutoFocus,\n children: /* @__PURE__ */ jsx(\n DismissableLayer,\n {\n asChild: true,\n disableOutsidePointerEvents,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n onDismiss,\n children: /* @__PURE__ */ jsx(\n RovingFocusGroup.Root,\n {\n asChild: true,\n ...rovingFocusGroupScope,\n dir: rootContext.dir,\n orientation: \"vertical\",\n loop,\n currentTabStopId: currentItemId,\n onCurrentTabStopIdChange: setCurrentItemId,\n onEntryFocus: composeEventHandlers(onEntryFocus, (event) => {\n if (!rootContext.isUsingKeyboardRef.current) event.preventDefault();\n }),\n preventScrollOnEntryFocus: true,\n children: /* @__PURE__ */ jsx(\n PopperPrimitive.Content,\n {\n role: \"menu\",\n \"aria-orientation\": \"vertical\",\n \"data-state\": getOpenState(context.open),\n \"data-radix-menu-content\": \"\",\n dir: rootContext.dir,\n ...popperScope,\n ...contentProps,\n ref: composedRefs,\n style: { outline: \"none\", ...contentProps.style },\n onKeyDown: composeEventHandlers(contentProps.onKeyDown, (event) => {\n const target = event.target;\n const isKeyDownInside = target.closest(\"[data-radix-menu-content]\") === event.currentTarget;\n const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;\n const isCharacterKey = event.key.length === 1;\n if (isKeyDownInside) {\n if (event.key === \"Tab\") event.preventDefault();\n if (!isModifierKey && isCharacterKey) handleTypeaheadSearch(event.key);\n }\n const content = contentRef.current;\n if (event.target !== content) return;\n if (!FIRST_LAST_KEYS.includes(event.key)) return;\n event.preventDefault();\n const items = getItems().filter((item) => !item.disabled);\n const candidateNodes = items.map((item) => item.ref.current);\n if (LAST_KEYS.includes(event.key)) candidateNodes.reverse();\n focusFirst(candidateNodes);\n }),\n onBlur: composeEventHandlers(props.onBlur, (event) => {\n if (!event.currentTarget.contains(event.target)) {\n window.clearTimeout(timerRef.current);\n searchRef.current = \"\";\n }\n }),\n onPointerMove: composeEventHandlers(\n props.onPointerMove,\n whenMouse((event) => {\n const target = event.target;\n const pointerXHasChanged = lastPointerXRef.current !== event.clientX;\n if (event.currentTarget.contains(target) && pointerXHasChanged) {\n const newDir = event.clientX > lastPointerXRef.current ? \"right\" : \"left\";\n pointerDirRef.current = newDir;\n lastPointerXRef.current = event.clientX;\n }\n })\n )\n }\n )\n }\n )\n }\n )\n }\n ) })\n }\n );\n }\n);\nMenuContent.displayName = CONTENT_NAME;\nvar GROUP_NAME = \"MenuGroup\";\nvar MenuGroup = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...groupProps } = props;\n return /* @__PURE__ */ jsx(Primitive.div, { role: \"group\", ...groupProps, ref: forwardedRef });\n }\n);\nMenuGroup.displayName = GROUP_NAME;\nvar LABEL_NAME = \"MenuLabel\";\nvar MenuLabel = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...labelProps } = props;\n return /* @__PURE__ */ jsx(Primitive.div, { ...labelProps, ref: forwardedRef });\n }\n);\nMenuLabel.displayName = LABEL_NAME;\nvar ITEM_NAME = \"MenuItem\";\nvar ITEM_SELECT = \"menu.itemSelect\";\nvar MenuItem = React.forwardRef(\n (props, forwardedRef) => {\n const { disabled = false, onSelect, ...itemProps } = props;\n const ref = React.useRef(null);\n const rootContext = useMenuRootContext(ITEM_NAME, props.__scopeMenu);\n const contentContext = useMenuContentContext(ITEM_NAME, props.__scopeMenu);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const isPointerDownRef = React.useRef(false);\n const handleSelect = () => {\n const menuItem = ref.current;\n if (!disabled && menuItem) {\n const itemSelectEvent = new CustomEvent(ITEM_SELECT, { bubbles: true, cancelable: true });\n menuItem.addEventListener(ITEM_SELECT, (event) => onSelect?.(event), { once: true });\n dispatchDiscreteCustomEvent(menuItem, itemSelectEvent);\n if (itemSelectEvent.defaultPrevented) {\n isPointerDownRef.current = false;\n } else {\n rootContext.onClose();\n }\n }\n };\n return /* @__PURE__ */ jsx(\n MenuItemImpl,\n {\n ...itemProps,\n ref: composedRefs,\n disabled,\n onClick: composeEventHandlers(props.onClick, handleSelect),\n onPointerDown: (event) => {\n props.onPointerDown?.(event);\n isPointerDownRef.current = true;\n },\n onPointerUp: composeEventHandlers(props.onPointerUp, (event) => {\n if (!isPointerDownRef.current) event.currentTarget?.click();\n }),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n const isTypingAhead = contentContext.searchRef.current !== \"\";\n if (disabled || isTypingAhead && event.key === \" \") return;\n if (SELECTION_KEYS.includes(event.key)) {\n event.currentTarget.click();\n event.preventDefault();\n }\n })\n }\n );\n }\n);\nMenuItem.displayName = ITEM_NAME;\nvar MenuItemImpl = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, disabled = false, textValue, ...itemProps } = props;\n const contentContext = useMenuContentContext(ITEM_NAME, __scopeMenu);\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeMenu);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const [isFocused, setIsFocused] = React.useState(false);\n const [textContent, setTextContent] = React.useState(\"\");\n React.useEffect(() => {\n const menuItem = ref.current;\n if (menuItem) {\n setTextContent((menuItem.textContent ?? \"\").trim());\n }\n }, [itemProps.children]);\n return /* @__PURE__ */ jsx(\n Collection.ItemSlot,\n {\n scope: __scopeMenu,\n disabled,\n textValue: textValue ?? textContent,\n children: /* @__PURE__ */ jsx(RovingFocusGroup.Item, { asChild: true, ...rovingFocusGroupScope, focusable: !disabled, children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n role: \"menuitem\",\n \"data-highlighted\": isFocused ? \"\" : void 0,\n \"aria-disabled\": disabled || void 0,\n \"data-disabled\": disabled ? \"\" : void 0,\n ...itemProps,\n ref: composedRefs,\n onPointerMove: composeEventHandlers(\n props.onPointerMove,\n whenMouse((event) => {\n if (disabled) {\n contentContext.onItemLeave(event);\n } else {\n contentContext.onItemEnter(event);\n if (!event.defaultPrevented) {\n const item = event.currentTarget;\n item.focus({ preventScroll: true });\n }\n }\n })\n ),\n onPointerLeave: composeEventHandlers(\n props.onPointerLeave,\n whenMouse((event) => contentContext.onItemLeave(event))\n ),\n onFocus: composeEventHandlers(props.onFocus, () => setIsFocused(true)),\n onBlur: composeEventHandlers(props.onBlur, () => setIsFocused(false))\n }\n ) })\n }\n );\n }\n);\nvar CHECKBOX_ITEM_NAME = \"MenuCheckboxItem\";\nvar MenuCheckboxItem = React.forwardRef(\n (props, forwardedRef) => {\n const { checked = false, onCheckedChange, ...checkboxItemProps } = props;\n return /* @__PURE__ */ jsx(ItemIndicatorProvider, { scope: props.__scopeMenu, checked, children: /* @__PURE__ */ jsx(\n MenuItem,\n {\n role: \"menuitemcheckbox\",\n \"aria-checked\": isIndeterminate(checked) ? \"mixed\" : checked,\n ...checkboxItemProps,\n ref: forwardedRef,\n \"data-state\": getCheckedState(checked),\n onSelect: composeEventHandlers(\n checkboxItemProps.onSelect,\n () => onCheckedChange?.(isIndeterminate(checked) ? true : !checked),\n { checkForDefaultPrevented: false }\n )\n }\n ) });\n }\n);\nMenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME;\nvar RADIO_GROUP_NAME = \"MenuRadioGroup\";\nvar [RadioGroupProvider, useRadioGroupContext] = createMenuContext(\n RADIO_GROUP_NAME,\n { value: void 0, onValueChange: () => {\n } }\n);\nvar MenuRadioGroup = React.forwardRef(\n (props, forwardedRef) => {\n const { value, onValueChange, ...groupProps } = props;\n const handleValueChange = useCallbackRef(onValueChange);\n return /* @__PURE__ */ jsx(RadioGroupProvider, { scope: props.__scopeMenu, value, onValueChange: handleValueChange, children: /* @__PURE__ */ jsx(MenuGroup, { ...groupProps, ref: forwardedRef }) });\n }\n);\nMenuRadioGroup.displayName = RADIO_GROUP_NAME;\nvar RADIO_ITEM_NAME = \"MenuRadioItem\";\nvar MenuRadioItem = React.forwardRef(\n (props, forwardedRef) => {\n const { value, ...radioItemProps } = props;\n const context = useRadioGroupContext(RADIO_ITEM_NAME, props.__scopeMenu);\n const checked = value === context.value;\n return /* @__PURE__ */ jsx(ItemIndicatorProvider, { scope: props.__scopeMenu, checked, children: /* @__PURE__ */ jsx(\n MenuItem,\n {\n role: \"menuitemradio\",\n \"aria-checked\": checked,\n ...radioItemProps,\n ref: forwardedRef,\n \"data-state\": getCheckedState(checked),\n onSelect: composeEventHandlers(\n radioItemProps.onSelect,\n () => context.onValueChange?.(value),\n { checkForDefaultPrevented: false }\n )\n }\n ) });\n }\n);\nMenuRadioItem.displayName = RADIO_ITEM_NAME;\nvar ITEM_INDICATOR_NAME = \"MenuItemIndicator\";\nvar [ItemIndicatorProvider, useItemIndicatorContext] = createMenuContext(\n ITEM_INDICATOR_NAME,\n { checked: false }\n);\nvar MenuItemIndicator = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, forceMount, ...itemIndicatorProps } = props;\n const indicatorContext = useItemIndicatorContext(ITEM_INDICATOR_NAME, __scopeMenu);\n return /* @__PURE__ */ jsx(\n Presence,\n {\n present: forceMount || isIndeterminate(indicatorContext.checked) || indicatorContext.checked === true,\n children: /* @__PURE__ */ jsx(\n Primitive.span,\n {\n ...itemIndicatorProps,\n ref: forwardedRef,\n \"data-state\": getCheckedState(indicatorContext.checked)\n }\n )\n }\n );\n }\n);\nMenuItemIndicator.displayName = ITEM_INDICATOR_NAME;\nvar SEPARATOR_NAME = \"MenuSeparator\";\nvar MenuSeparator = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...separatorProps } = props;\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n role: \"separator\",\n \"aria-orientation\": \"horizontal\",\n ...separatorProps,\n ref: forwardedRef\n }\n );\n }\n);\nMenuSeparator.displayName = SEPARATOR_NAME;\nvar ARROW_NAME = \"MenuArrow\";\nvar MenuArrow = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...arrowProps } = props;\n const popperScope = usePopperScope(__scopeMenu);\n return /* @__PURE__ */ jsx(PopperPrimitive.Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef });\n }\n);\nMenuArrow.displayName = ARROW_NAME;\nvar SUB_NAME = \"MenuSub\";\nvar [MenuSubProvider, useMenuSubContext] = createMenuContext(SUB_NAME);\nvar MenuSub = (props) => {\n const { __scopeMenu, children, open = false, onOpenChange } = props;\n const parentMenuContext = useMenuContext(SUB_NAME, __scopeMenu);\n const popperScope = usePopperScope(__scopeMenu);\n const [trigger, setTrigger] = React.useState(null);\n const [content, setContent] = React.useState(null);\n const handleOpenChange = useCallbackRef(onOpenChange);\n React.useEffect(() => {\n if (parentMenuContext.open === false) handleOpenChange(false);\n return () => handleOpenChange(false);\n }, [parentMenuContext.open, handleOpenChange]);\n return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsx(\n MenuProvider,\n {\n scope: __scopeMenu,\n open,\n onOpenChange: handleOpenChange,\n content,\n onContentChange: setContent,\n children: /* @__PURE__ */ jsx(\n MenuSubProvider,\n {\n scope: __scopeMenu,\n contentId: useId(),\n triggerId: useId(),\n trigger,\n onTriggerChange: setTrigger,\n children\n }\n )\n }\n ) });\n};\nMenuSub.displayName = SUB_NAME;\nvar SUB_TRIGGER_NAME = \"MenuSubTrigger\";\nvar MenuSubTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const context = useMenuContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n const rootContext = useMenuRootContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n const subContext = useMenuSubContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n const contentContext = useMenuContentContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n const openTimerRef = React.useRef(null);\n const { pointerGraceTimerRef, onPointerGraceIntentChange } = contentContext;\n const scope = { __scopeMenu: props.__scopeMenu };\n const clearOpenTimer = React.useCallback(() => {\n if (openTimerRef.current) window.clearTimeout(openTimerRef.current);\n openTimerRef.current = null;\n }, []);\n React.useEffect(() => clearOpenTimer, [clearOpenTimer]);\n React.useEffect(() => {\n const pointerGraceTimer = pointerGraceTimerRef.current;\n return () => {\n window.clearTimeout(pointerGraceTimer);\n onPointerGraceIntentChange(null);\n };\n }, [pointerGraceTimerRef, onPointerGraceIntentChange]);\n return /* @__PURE__ */ jsx(MenuAnchor, { asChild: true, ...scope, children: /* @__PURE__ */ jsx(\n MenuItemImpl,\n {\n id: subContext.triggerId,\n \"aria-haspopup\": \"menu\",\n \"aria-expanded\": context.open,\n \"aria-controls\": subContext.contentId,\n \"data-state\": getOpenState(context.open),\n ...props,\n ref: composeRefs(forwardedRef, subContext.onTriggerChange),\n onClick: (event) => {\n props.onClick?.(event);\n if (props.disabled || event.defaultPrevented) return;\n event.currentTarget.focus();\n if (!context.open) context.onOpenChange(true);\n },\n onPointerMove: composeEventHandlers(\n props.onPointerMove,\n whenMouse((event) => {\n contentContext.onItemEnter(event);\n if (event.defaultPrevented) return;\n if (!props.disabled && !context.open && !openTimerRef.current) {\n contentContext.onPointerGraceIntentChange(null);\n openTimerRef.current = window.setTimeout(() => {\n context.onOpenChange(true);\n clearOpenTimer();\n }, 100);\n }\n })\n ),\n onPointerLeave: composeEventHandlers(\n props.onPointerLeave,\n whenMouse((event) => {\n clearOpenTimer();\n const contentRect = context.content?.getBoundingClientRect();\n if (contentRect) {\n const side = context.content?.dataset.side;\n const rightSide = side === \"right\";\n const bleed = rightSide ? -5 : 5;\n const contentNearEdge = contentRect[rightSide ? \"left\" : \"right\"];\n const contentFarEdge = contentRect[rightSide ? \"right\" : \"left\"];\n contentContext.onPointerGraceIntentChange({\n area: [\n // Apply a bleed on clientX to ensure that our exit point is\n // consistently within polygon bounds\n { x: event.clientX + bleed, y: event.clientY },\n { x: contentNearEdge, y: contentRect.top },\n { x: contentFarEdge, y: contentRect.top },\n { x: contentFarEdge, y: contentRect.bottom },\n { x: contentNearEdge, y: contentRect.bottom }\n ],\n side\n });\n window.clearTimeout(pointerGraceTimerRef.current);\n pointerGraceTimerRef.current = window.setTimeout(\n () => contentContext.onPointerGraceIntentChange(null),\n 300\n );\n } else {\n contentContext.onTriggerLeave(event);\n if (event.defaultPrevented) return;\n contentContext.onPointerGraceIntentChange(null);\n }\n })\n ),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n const isTypingAhead = contentContext.searchRef.current !== \"\";\n if (props.disabled || isTypingAhead && event.key === \" \") return;\n if (SUB_OPEN_KEYS[rootContext.dir].includes(event.key)) {\n context.onOpenChange(true);\n context.content?.focus();\n event.preventDefault();\n }\n })\n }\n ) });\n }\n);\nMenuSubTrigger.displayName = SUB_TRIGGER_NAME;\nvar SUB_CONTENT_NAME = \"MenuSubContent\";\nvar MenuSubContent = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopeMenu);\n const { forceMount = portalContext.forceMount, ...subContentProps } = props;\n const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n const rootContext = useMenuRootContext(CONTENT_NAME, props.__scopeMenu);\n const subContext = useMenuSubContext(SUB_CONTENT_NAME, props.__scopeMenu);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n return /* @__PURE__ */ jsx(Collection.Provider, { scope: props.__scopeMenu, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeMenu, children: /* @__PURE__ */ jsx(\n MenuContentImpl,\n {\n id: subContext.contentId,\n \"aria-labelledby\": subContext.triggerId,\n ...subContentProps,\n ref: composedRefs,\n align: \"start\",\n side: rootContext.dir === \"rtl\" ? \"left\" : \"right\",\n disableOutsidePointerEvents: false,\n disableOutsideScroll: false,\n trapFocus: false,\n onOpenAutoFocus: (event) => {\n if (rootContext.isUsingKeyboardRef.current) ref.current?.focus();\n event.preventDefault();\n },\n onCloseAutoFocus: (event) => event.preventDefault(),\n onFocusOutside: composeEventHandlers(props.onFocusOutside, (event) => {\n if (event.target !== subContext.trigger) context.onOpenChange(false);\n }),\n onEscapeKeyDown: composeEventHandlers(props.onEscapeKeyDown, (event) => {\n rootContext.onClose();\n event.preventDefault();\n }),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n const isKeyDownInside = event.currentTarget.contains(event.target);\n const isCloseKey = SUB_CLOSE_KEYS[rootContext.dir].includes(event.key);\n if (isKeyDownInside && isCloseKey) {\n context.onOpenChange(false);\n subContext.trigger?.focus();\n event.preventDefault();\n }\n })\n }\n ) }) }) });\n }\n);\nMenuSubContent.displayName = SUB_CONTENT_NAME;\nfunction getOpenState(open) {\n return open ? \"open\" : \"closed\";\n}\nfunction isIndeterminate(checked) {\n return checked === \"indeterminate\";\n}\nfunction getCheckedState(checked) {\n return isIndeterminate(checked) ? \"indeterminate\" : checked ? \"checked\" : \"unchecked\";\n}\nfunction focusFirst(candidates) {\n const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;\n for (const candidate of candidates) {\n if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n candidate.focus();\n if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n }\n}\nfunction wrapArray(array, startIndex) {\n return array.map((_, index) => array[(startIndex + index) % array.length]);\n}\nfunction getNextMatch(values, search, currentMatch) {\n const isRepeated = search.length > 1 && Array.from(search).every((char) => char === search[0]);\n const normalizedSearch = isRepeated ? search[0] : search;\n const currentMatchIndex = currentMatch ? values.indexOf(currentMatch) : -1;\n let wrappedValues = wrapArray(values, Math.max(currentMatchIndex, 0));\n const excludeCurrentMatch = normalizedSearch.length === 1;\n if (excludeCurrentMatch) wrappedValues = wrappedValues.filter((v) => v !== currentMatch);\n const nextMatch = wrappedValues.find(\n (value) => value.toLowerCase().startsWith(normalizedSearch.toLowerCase())\n );\n return nextMatch !== currentMatch ? nextMatch : void 0;\n}\nfunction isPointInPolygon(point, polygon) {\n const { x, y } = point;\n let inside = false;\n for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {\n const xi = polygon[i].x;\n const yi = polygon[i].y;\n const xj = polygon[j].x;\n const yj = polygon[j].y;\n const intersect = yi > y !== yj > y && x < (xj - xi) * (y - yi) / (yj - yi) + xi;\n if (intersect) inside = !inside;\n }\n return inside;\n}\nfunction isPointerInGraceArea(event, area) {\n if (!area) return false;\n const cursorPos = { x: event.clientX, y: event.clientY };\n return isPointInPolygon(cursorPos, area);\n}\nfunction whenMouse(handler) {\n return (event) => event.pointerType === \"mouse\" ? handler(event) : void 0;\n}\nvar Root3 = Menu;\nvar Anchor2 = MenuAnchor;\nvar Portal = MenuPortal;\nvar Content2 = MenuContent;\nvar Group = MenuGroup;\nvar Label = MenuLabel;\nvar Item2 = MenuItem;\nvar CheckboxItem = MenuCheckboxItem;\nvar RadioGroup = MenuRadioGroup;\nvar RadioItem = MenuRadioItem;\nvar ItemIndicator = MenuItemIndicator;\nvar Separator = MenuSeparator;\nvar Arrow2 = MenuArrow;\nvar Sub = MenuSub;\nvar SubTrigger = MenuSubTrigger;\nvar SubContent = MenuSubContent;\nexport {\n Anchor2 as Anchor,\n Arrow2 as Arrow,\n CheckboxItem,\n Content2 as Content,\n Group,\n Item2 as Item,\n ItemIndicator,\n Label,\n Menu,\n MenuAnchor,\n MenuArrow,\n MenuCheckboxItem,\n MenuContent,\n MenuGroup,\n MenuItem,\n MenuItemIndicator,\n MenuLabel,\n MenuPortal,\n MenuRadioGroup,\n MenuRadioItem,\n MenuSeparator,\n MenuSub,\n MenuSubContent,\n MenuSubTrigger,\n Portal,\n RadioGroup,\n RadioItem,\n Root3 as Root,\n Separator,\n Sub,\n SubContent,\n SubTrigger,\n createMenuScope\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["SELECTION_KEYS","FIRST_KEYS","LAST_KEYS","FIRST_LAST_KEYS","SUB_OPEN_KEYS","SUB_CLOSE_KEYS","MENU_NAME","Collection","useCollection","createCollectionScope","createCollection","createMenuContext","createMenuScope","createContextScope","createPopperScope","createRovingFocusGroupScope","usePopperScope","useRovingFocusGroupScope","MenuProvider","useMenuContext","MenuRootProvider","useMenuRootContext","Menu","props","__scopeMenu","open","children","dir","onOpenChange","modal","popperScope","content","setContent","React","isUsingKeyboardRef","handleOpenChange","useCallbackRef","direction","useDirection","handleKeyDown","handlePointer","jsx","PopperPrimitive.Root","ANCHOR_NAME","MenuAnchor","forwardedRef","anchorProps","PopperPrimitive.Anchor","PORTAL_NAME","PortalProvider","usePortalContext","MenuPortal","forceMount","container","context","Presence","PortalPrimitive","CONTENT_NAME","MenuContentProvider","useMenuContentContext","MenuContent","portalContext","contentProps","rootContext","MenuRootContentModal","MenuRootContentNonModal","ref","composedRefs","useComposedRefs","hideOthers","MenuContentImpl","composeEventHandlers","event","loop","trapFocus","onOpenAutoFocus","onCloseAutoFocus","disableOutsidePointerEvents","onEntryFocus","onEscapeKeyDown","onPointerDownOutside","onFocusOutside","onInteractOutside","onDismiss","disableOutsideScroll","rovingFocusGroupScope","getItems","currentItemId","setCurrentItemId","contentRef","timerRef","searchRef","pointerGraceTimerRef","pointerGraceIntentRef","pointerDirRef","lastPointerXRef","ScrollLockWrapper","RemoveScroll","scrollLockWrapperProps","Slot","handleTypeaheadSearch","key","search","items","item","currentItem","currentMatch","_a","values","nextMatch","getNextMatch","newItem","_b","updateSearch","value","useFocusGuards","isPointerMovingToSubmenu","isPointerInGraceArea","intent","FocusScope","DismissableLayer","RovingFocusGroup.Root","PopperPrimitive.Content","getOpenState","isKeyDownInside","isModifierKey","isCharacterKey","candidateNodes","focusFirst","whenMouse","target","pointerXHasChanged","newDir","GROUP_NAME","MenuGroup","groupProps","Primitive","LABEL_NAME","MenuLabel","labelProps","ITEM_NAME","ITEM_SELECT","MenuItem","disabled","onSelect","itemProps","contentContext","isPointerDownRef","handleSelect","menuItem","itemSelectEvent","dispatchDiscreteCustomEvent","MenuItemImpl","isTypingAhead","textValue","isFocused","setIsFocused","textContent","setTextContent","RovingFocusGroup.Item","CHECKBOX_ITEM_NAME","MenuCheckboxItem","checked","onCheckedChange","checkboxItemProps","ItemIndicatorProvider","isIndeterminate","getCheckedState","RADIO_GROUP_NAME","RadioGroupProvider","useRadioGroupContext","MenuRadioGroup","onValueChange","handleValueChange","RADIO_ITEM_NAME","MenuRadioItem","radioItemProps","ITEM_INDICATOR_NAME","useItemIndicatorContext","MenuItemIndicator","itemIndicatorProps","indicatorContext","SEPARATOR_NAME","MenuSeparator","separatorProps","ARROW_NAME","MenuArrow","arrowProps","PopperPrimitive.Arrow","SUB_NAME","MenuSubProvider","useMenuSubContext","SUB_TRIGGER_NAME","MenuSubTrigger","subContext","openTimerRef","onPointerGraceIntentChange","scope","clearOpenTimer","pointerGraceTimer","composeRefs","contentRect","side","rightSide","bleed","contentNearEdge","contentFarEdge","SUB_CONTENT_NAME","MenuSubContent","subContentProps","isCloseKey","candidates","PREVIOUSLY_FOCUSED_ELEMENT","candidate","wrapArray","array","startIndex","_","index","normalizedSearch","char","currentMatchIndex","wrappedValues","isPointInPolygon","point","polygon","x","y","inside","i","j","xi","yi","xj","yj","area","cursorPos","handler","Root3","Anchor2","Portal","Content2","Group","Label","Item2","CheckboxItem","RadioGroup","RadioItem","ItemIndicator","Separator","Arrow2","SubTrigger","SubContent"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,130 +1,49 @@
1
- const P = ["top", "right", "bottom", "left"], l = Math.min, m = Math.max, M = Math.round, O = Math.floor, S = (t) => ({
2
- x: t,
3
- y: t
4
- }), p = {
5
- left: "right",
6
- right: "left",
7
- bottom: "top",
8
- top: "bottom"
9
- }, a = {
10
- start: "end",
11
- end: "start"
12
- };
13
- function w(t, n, e) {
14
- return m(t, l(n, e));
15
- }
16
- function j(t, n) {
17
- return typeof t == "function" ? t(n) : t;
18
- }
19
- function u(t) {
20
- return t.split("-")[0];
21
- }
22
- function g(t) {
23
- return t.split("-")[1];
24
- }
25
- function h(t) {
26
- return t === "x" ? "y" : "x";
27
- }
28
- function b(t) {
29
- return t === "y" ? "height" : "width";
30
- }
31
- function x(t) {
32
- return ["top", "bottom"].includes(u(t)) ? "y" : "x";
33
- }
34
- function d(t) {
35
- return h(x(t));
36
- }
37
- function C(t, n, e) {
38
- e === void 0 && (e = !1);
39
- const r = g(t), o = d(t), i = b(o);
40
- let c = o === "x" ? r === (e ? "end" : "start") ? "right" : "left" : r === "start" ? "bottom" : "top";
41
- return n.reference[i] > n.floating[i] && (c = f(c)), [c, f(c)];
42
- }
43
- function L(t) {
44
- const n = f(t);
45
- return [s(t), n, s(n)];
46
- }
47
- function s(t) {
48
- return t.replace(/start|end/g, (n) => a[n]);
49
- }
50
- function A(t, n, e) {
51
- const r = ["left", "right"], o = ["right", "left"], i = ["top", "bottom"], c = ["bottom", "top"];
52
- switch (t) {
53
- case "top":
54
- case "bottom":
55
- return e ? n ? o : r : n ? r : o;
56
- case "left":
57
- case "right":
58
- return n ? i : c;
59
- default:
60
- return [];
61
- }
62
- }
63
- function E(t, n, e, r) {
64
- const o = g(t);
65
- let i = A(u(t), e === "start", r);
66
- return o && (i = i.map((c) => c + "-" + o), n && (i = i.concat(i.map(s)))), i;
67
- }
68
- function f(t) {
69
- return t.replace(/left|right|bottom|top/g, (n) => p[n]);
70
- }
71
- function y(t) {
72
- return {
73
- top: 0,
74
- right: 0,
75
- bottom: 0,
76
- left: 0,
77
- ...t
78
- };
79
- }
80
- function R(t) {
81
- return typeof t != "number" ? y(t) : {
82
- top: t,
83
- right: t,
84
- bottom: t,
85
- left: t
86
- };
87
- }
88
- function T(t) {
89
- const {
90
- x: n,
91
- y: e,
92
- width: r,
93
- height: o
94
- } = t;
95
- return {
96
- width: r,
97
- height: o,
98
- top: e,
99
- left: n,
100
- right: n + r,
101
- bottom: e + o,
102
- x: n,
103
- y: e
1
+ import n from "react";
2
+ import { createContextScope as O } from "./index.es242.js";
3
+ import { useComposedRefs as I } from "./index.es241.js";
4
+ import { Slot as S } from "./index.es253.js";
5
+ import { j as u } from "./index.es137.js";
6
+ function L(s) {
7
+ const f = s + "CollectionProvider", [A, E] = O(f), [N, m] = A(
8
+ f,
9
+ { collectionRef: { current: null }, itemMap: /* @__PURE__ */ new Map() }
10
+ ), a = (c) => {
11
+ const { scope: e, children: l } = c, o = n.useRef(null), t = n.useRef(/* @__PURE__ */ new Map()).current;
12
+ return /* @__PURE__ */ u.jsx(N, { scope: e, itemMap: t, collectionRef: o, children: l });
104
13
  };
14
+ a.displayName = f;
15
+ const d = s + "CollectionSlot", p = n.forwardRef(
16
+ (c, e) => {
17
+ const { scope: l, children: o } = c, t = m(d, l), r = I(e, t.collectionRef);
18
+ return /* @__PURE__ */ u.jsx(S, { ref: r, children: o });
19
+ }
20
+ );
21
+ p.displayName = d;
22
+ const C = s + "CollectionItemSlot", R = "data-radix-collection-item", x = n.forwardRef(
23
+ (c, e) => {
24
+ const { scope: l, children: o, ...t } = c, r = n.useRef(null), M = I(e, r), i = m(C, l);
25
+ return n.useEffect(() => (i.itemMap.set(r, { ref: r, ...t }), () => void i.itemMap.delete(r))), /* @__PURE__ */ u.jsx(S, { [R]: "", ref: M, children: o });
26
+ }
27
+ );
28
+ x.displayName = C;
29
+ function _(c) {
30
+ const e = m(s + "CollectionConsumer", c);
31
+ return n.useCallback(() => {
32
+ const o = e.collectionRef.current;
33
+ if (!o) return [];
34
+ const t = Array.from(o.querySelectorAll(`[${R}]`));
35
+ return Array.from(e.itemMap.values()).sort(
36
+ (i, T) => t.indexOf(i.ref.current) - t.indexOf(T.ref.current)
37
+ );
38
+ }, [e.collectionRef, e.itemMap]);
39
+ }
40
+ return [
41
+ { Provider: a, Slot: p, ItemSlot: x },
42
+ _,
43
+ E
44
+ ];
105
45
  }
106
46
  export {
107
- w as clamp,
108
- S as createCoords,
109
- j as evaluate,
110
- y as expandPaddingObject,
111
- O as floor,
112
- g as getAlignment,
113
- d as getAlignmentAxis,
114
- C as getAlignmentSides,
115
- b as getAxisLength,
116
- L as getExpandedPlacements,
117
- s as getOppositeAlignmentPlacement,
118
- h as getOppositeAxis,
119
- E as getOppositeAxisPlacements,
120
- f as getOppositePlacement,
121
- R as getPaddingObject,
122
- u as getSide,
123
- x as getSideAxis,
124
- m as max,
125
- l as min,
126
- T as rectToClientRect,
127
- M as round,
128
- P as sides
47
+ L as createCollection
129
48
  };
130
49
  //# sourceMappingURL=index.es290.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es290.js","sources":["../node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs"],"sourcesContent":["/**\n * Custom positioning reference element.\n * @see https://floating-ui.com/docs/virtual-elements\n */\n\nconst sides = ['top', 'right', 'bottom', 'left'];\nconst alignments = ['start', 'end'];\nconst placements = /*#__PURE__*/sides.reduce((acc, side) => acc.concat(side, side + \"-\" + alignments[0], side + \"-\" + alignments[1]), []);\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst floor = Math.floor;\nconst createCoords = v => ({\n x: v,\n y: v\n});\nconst oppositeSideMap = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nconst oppositeAlignmentMap = {\n start: 'end',\n end: 'start'\n};\nfunction clamp(start, value, end) {\n return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n return typeof value === 'function' ? value(param) : value;\n}\nfunction getSide(placement) {\n return placement.split('-')[0];\n}\nfunction getAlignment(placement) {\n return placement.split('-')[1];\n}\nfunction getOppositeAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}\nfunction getAxisLength(axis) {\n return axis === 'y' ? 'height' : 'width';\n}\nfunction getSideAxis(placement) {\n return ['top', 'bottom'].includes(getSide(placement)) ? 'y' : 'x';\n}\nfunction getAlignmentAxis(placement) {\n return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n if (rtl === void 0) {\n rtl = false;\n }\n const alignment = getAlignment(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const length = getAxisLength(alignmentAxis);\n let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';\n if (rects.reference[length] > rects.floating[length]) {\n mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n }\n return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n const oppositePlacement = getOppositePlacement(placement);\n return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);\n}\nfunction getSideList(side, isStart, rtl) {\n const lr = ['left', 'right'];\n const rl = ['right', 'left'];\n const tb = ['top', 'bottom'];\n const bt = ['bottom', 'top'];\n switch (side) {\n case 'top':\n case 'bottom':\n if (rtl) return isStart ? rl : lr;\n return isStart ? lr : rl;\n case 'left':\n case 'right':\n return isStart ? tb : bt;\n default:\n return [];\n }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n const alignment = getAlignment(placement);\n let list = getSideList(getSide(placement), direction === 'start', rtl);\n if (alignment) {\n list = list.map(side => side + \"-\" + alignment);\n if (flipAlignment) {\n list = list.concat(list.map(getOppositeAlignmentPlacement));\n }\n }\n return list;\n}\nfunction getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, side => oppositeSideMap[side]);\n}\nfunction expandPaddingObject(padding) {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...padding\n };\n}\nfunction getPaddingObject(padding) {\n return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n top: padding,\n right: padding,\n bottom: padding,\n left: padding\n };\n}\nfunction rectToClientRect(rect) {\n const {\n x,\n y,\n width,\n height\n } = rect;\n return {\n width,\n height,\n top: y,\n left: x,\n right: x + width,\n bottom: y + height,\n x,\n y\n };\n}\n\nexport { alignments, clamp, createCoords, evaluate, expandPaddingObject, floor, getAlignment, getAlignmentAxis, getAlignmentSides, getAxisLength, getExpandedPlacements, getOppositeAlignmentPlacement, getOppositeAxis, getOppositeAxisPlacements, getOppositePlacement, getPaddingObject, getSide, getSideAxis, max, min, placements, rectToClientRect, round, sides };\n"],"names":["sides","min","max","round","floor","createCoords","v","oppositeSideMap","oppositeAlignmentMap","clamp","start","value","end","evaluate","param","getSide","placement","getAlignment","getOppositeAxis","axis","getAxisLength","getSideAxis","getAlignmentAxis","getAlignmentSides","rects","rtl","alignment","alignmentAxis","length","mainAlignmentSide","getOppositePlacement","getExpandedPlacements","oppositePlacement","getOppositeAlignmentPlacement","getSideList","side","isStart","lr","rl","tb","bt","getOppositeAxisPlacements","flipAlignment","direction","list","expandPaddingObject","padding","getPaddingObject","rectToClientRect","rect","x","y","width","height"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.es290.js","sources":["../node_modules/@radix-ui/react-collection/dist/index.mjs"],"sourcesContent":["\"use client\";\n\n// packages/react/collection/src/collection.tsx\nimport React from \"react\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createCollection(name) {\n const PROVIDER_NAME = name + \"CollectionProvider\";\n const [createCollectionContext, createCollectionScope] = createContextScope(PROVIDER_NAME);\n const [CollectionProviderImpl, useCollectionContext] = createCollectionContext(\n PROVIDER_NAME,\n { collectionRef: { current: null }, itemMap: /* @__PURE__ */ new Map() }\n );\n const CollectionProvider = (props) => {\n const { scope, children } = props;\n const ref = React.useRef(null);\n const itemMap = React.useRef(/* @__PURE__ */ new Map()).current;\n return /* @__PURE__ */ jsx(CollectionProviderImpl, { scope, itemMap, collectionRef: ref, children });\n };\n CollectionProvider.displayName = PROVIDER_NAME;\n const COLLECTION_SLOT_NAME = name + \"CollectionSlot\";\n const CollectionSlot = React.forwardRef(\n (props, forwardedRef) => {\n const { scope, children } = props;\n const context = useCollectionContext(COLLECTION_SLOT_NAME, scope);\n const composedRefs = useComposedRefs(forwardedRef, context.collectionRef);\n return /* @__PURE__ */ jsx(Slot, { ref: composedRefs, children });\n }\n );\n CollectionSlot.displayName = COLLECTION_SLOT_NAME;\n const ITEM_SLOT_NAME = name + \"CollectionItemSlot\";\n const ITEM_DATA_ATTR = \"data-radix-collection-item\";\n const CollectionItemSlot = React.forwardRef(\n (props, forwardedRef) => {\n const { scope, children, ...itemData } = props;\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const context = useCollectionContext(ITEM_SLOT_NAME, scope);\n React.useEffect(() => {\n context.itemMap.set(ref, { ref, ...itemData });\n return () => void context.itemMap.delete(ref);\n });\n return /* @__PURE__ */ jsx(Slot, { ...{ [ITEM_DATA_ATTR]: \"\" }, ref: composedRefs, children });\n }\n );\n CollectionItemSlot.displayName = ITEM_SLOT_NAME;\n function useCollection(scope) {\n const context = useCollectionContext(name + \"CollectionConsumer\", scope);\n const getItems = React.useCallback(() => {\n const collectionNode = context.collectionRef.current;\n if (!collectionNode) return [];\n const orderedNodes = Array.from(collectionNode.querySelectorAll(`[${ITEM_DATA_ATTR}]`));\n const items = Array.from(context.itemMap.values());\n const orderedItems = items.sort(\n (a, b) => orderedNodes.indexOf(a.ref.current) - orderedNodes.indexOf(b.ref.current)\n );\n return orderedItems;\n }, [context.collectionRef, context.itemMap]);\n return getItems;\n }\n return [\n { Provider: CollectionProvider, Slot: CollectionSlot, ItemSlot: CollectionItemSlot },\n useCollection,\n createCollectionScope\n ];\n}\nexport {\n createCollection\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["createCollection","name","PROVIDER_NAME","createCollectionContext","createCollectionScope","createContextScope","CollectionProviderImpl","useCollectionContext","CollectionProvider","props","scope","children","ref","React","itemMap","jsx","COLLECTION_SLOT_NAME","CollectionSlot","forwardedRef","context","composedRefs","useComposedRefs","Slot","ITEM_SLOT_NAME","ITEM_DATA_ATTR","CollectionItemSlot","itemData","useCollection","collectionNode","orderedNodes","a","b"],"mappings":";;;;;AAQA,SAASA,EAAiBC,GAAM;AAC9B,QAAMC,IAAgBD,IAAO,sBACvB,CAACE,GAAyBC,CAAqB,IAAIC,EAAmBH,CAAa,GACnF,CAACI,GAAwBC,CAAoB,IAAIJ;AAAA,IACrDD;AAAA,IACA,EAAE,eAAe,EAAE,SAAS,KAAI,GAAI,SAAyB,oBAAI,IAAK,EAAA;AAAA,EACvE,GACKM,IAAqB,CAACC,MAAU;AACpC,UAAM,EAAE,OAAAC,GAAO,UAAAC,EAAQ,IAAKF,GACtBG,IAAMC,EAAM,OAAO,IAAI,GACvBC,IAAUD,EAAM,OAAuB,oBAAI,IAAG,CAAE,EAAE;AACxD,WAAuBE,gBAAAA,EAAG,IAACT,GAAwB,EAAE,OAAAI,GAAO,SAAAI,GAAS,eAAeF,GAAK,UAAAD,GAAU;AAAA,EACpG;AACD,EAAAH,EAAmB,cAAcN;AACjC,QAAMc,IAAuBf,IAAO,kBAC9BgB,IAAiBJ,EAAM;AAAA,IAC3B,CAACJ,GAAOS,MAAiB;AACvB,YAAM,EAAE,OAAAR,GAAO,UAAAC,EAAQ,IAAKF,GACtBU,IAAUZ,EAAqBS,GAAsBN,CAAK,GAC1DU,IAAeC,EAAgBH,GAAcC,EAAQ,aAAa;AACxE,aAAuBJ,gBAAAA,EAAAA,IAAIO,GAAM,EAAE,KAAKF,GAAc,UAAAT,EAAQ,CAAE;AAAA,IACtE;AAAA,EACG;AACD,EAAAM,EAAe,cAAcD;AAC7B,QAAMO,IAAiBtB,IAAO,sBACxBuB,IAAiB,8BACjBC,IAAqBZ,EAAM;AAAA,IAC/B,CAACJ,GAAOS,MAAiB;AACvB,YAAM,EAAE,OAAAR,GAAO,UAAAC,GAAU,GAAGe,EAAU,IAAGjB,GACnCG,IAAMC,EAAM,OAAO,IAAI,GACvBO,IAAeC,EAAgBH,GAAcN,CAAG,GAChDO,IAAUZ,EAAqBgB,GAAgBb,CAAK;AAC1DG,aAAAA,EAAM,UAAU,OACdM,EAAQ,QAAQ,IAAIP,GAAK,EAAE,KAAAA,GAAK,GAAGc,GAAU,GACtC,MAAM,KAAKP,EAAQ,QAAQ,OAAOP,CAAG,EAC7C,GACsBG,gBAAAA,MAAIO,GAAM,EAAO,CAACE,CAAc,GAAG,IAAM,KAAKJ,GAAc,UAAAT,GAAU;AAAA,IACnG;AAAA,EACG;AACD,EAAAc,EAAmB,cAAcF;AACjC,WAASI,EAAcjB,GAAO;AAC5B,UAAMS,IAAUZ,EAAqBN,IAAO,sBAAsBS,CAAK;AAWvE,WAViBG,EAAM,YAAY,MAAM;AACvC,YAAMe,IAAiBT,EAAQ,cAAc;AAC7C,UAAI,CAACS,EAAgB,QAAO,CAAE;AAC9B,YAAMC,IAAe,MAAM,KAAKD,EAAe,iBAAiB,IAAIJ,CAAc,GAAG,CAAC;AAKtF,aAJc,MAAM,KAAKL,EAAQ,QAAQ,QAAQ,EACtB;AAAA,QACzB,CAACW,GAAGC,MAAMF,EAAa,QAAQC,EAAE,IAAI,OAAO,IAAID,EAAa,QAAQE,EAAE,IAAI,OAAO;AAAA,MACnF;AAAA,IAEF,GAAE,CAACZ,EAAQ,eAAeA,EAAQ,OAAO,CAAC;AAAA,EAE/C;AACE,SAAO;AAAA,IACL,EAAE,UAAUX,GAAoB,MAAMS,GAAgB,UAAUQ,EAAoB;AAAA,IACpFE;AAAA,IACAvB;AAAA,EACD;AACH;","x_google_ignoreList":[0]}