@rpcbase/ui 0.193.0 → 0.195.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (456) hide show
  1. package/dist/components/DayPickerField/index.d.ts.map +1 -1
  2. package/dist/components/HourPickerField/index.d.ts.map +1 -1
  3. package/dist/index100.js +6 -4
  4. package/dist/index100.js.map +1 -1
  5. package/dist/index101.js +24 -5
  6. package/dist/index101.js.map +1 -1
  7. package/dist/index102.js +6 -4
  8. package/dist/index102.js.map +1 -1
  9. package/dist/index103.js +3 -7
  10. package/dist/index103.js.map +1 -1
  11. package/dist/index104.js +6 -5
  12. package/dist/index104.js.map +1 -1
  13. package/dist/index105.js +5 -4
  14. package/dist/index105.js.map +1 -1
  15. package/dist/index106.js +3 -3
  16. package/dist/index106.js.map +1 -1
  17. package/dist/index107.js +4 -5
  18. package/dist/index107.js.map +1 -1
  19. package/dist/index108.js +4 -145
  20. package/dist/index108.js.map +1 -1
  21. package/dist/index109.js +8 -39
  22. package/dist/index109.js.map +1 -1
  23. package/dist/index110.js +5 -4
  24. package/dist/index110.js.map +1 -1
  25. package/dist/index111.js +4 -7
  26. package/dist/index111.js.map +1 -1
  27. package/dist/index112.js +4 -13
  28. package/dist/index112.js.map +1 -1
  29. package/dist/index113.js +6 -13
  30. package/dist/index113.js.map +1 -1
  31. package/dist/index114.js +145 -7
  32. package/dist/index114.js.map +1 -1
  33. package/dist/index115.js +38 -30
  34. package/dist/index115.js.map +1 -1
  35. package/dist/index116.js +4 -10
  36. package/dist/index116.js.map +1 -1
  37. package/dist/index117.js +7 -10
  38. package/dist/index117.js.map +1 -1
  39. package/dist/index118.js +13 -8
  40. package/dist/index118.js.map +1 -1
  41. package/dist/index119.js +13 -13
  42. package/dist/index119.js.map +1 -1
  43. package/dist/index12.js +395 -511
  44. package/dist/index12.js.map +1 -1
  45. package/dist/index120.js +6 -100
  46. package/dist/index120.js.map +1 -1
  47. package/dist/index121.js +32 -20
  48. package/dist/index121.js.map +1 -1
  49. package/dist/index122.js +9 -52
  50. package/dist/index122.js.map +1 -1
  51. package/dist/index123.js +9 -71
  52. package/dist/index123.js.map +1 -1
  53. package/dist/index124.js +8 -9
  54. package/dist/index124.js.map +1 -1
  55. package/dist/index125.js +13 -20
  56. package/dist/index125.js.map +1 -1
  57. package/dist/index126.js +101 -16
  58. package/dist/index126.js.map +1 -1
  59. package/dist/index127.js +20 -24
  60. package/dist/index127.js.map +1 -1
  61. package/dist/index128.js +53 -6
  62. package/dist/index128.js.map +1 -1
  63. package/dist/index129.js +72 -5
  64. package/dist/index129.js.map +1 -1
  65. package/dist/index130.js +9 -23
  66. package/dist/index130.js.map +1 -1
  67. package/dist/index131.js +19 -33
  68. package/dist/index131.js.map +1 -1
  69. package/dist/index132.js +17 -16
  70. package/dist/index132.js.map +1 -1
  71. package/dist/index133.js +23 -6
  72. package/dist/index133.js.map +1 -1
  73. package/dist/index134.js +6 -4
  74. package/dist/index134.js.map +1 -1
  75. package/dist/index135.js +5 -4
  76. package/dist/index135.js.map +1 -1
  77. package/dist/index136.js +23 -4
  78. package/dist/index136.js.map +1 -1
  79. package/dist/index137.js +35 -5
  80. package/dist/index137.js.map +1 -1
  81. package/dist/index138.js +16 -4
  82. package/dist/index138.js.map +1 -1
  83. package/dist/index139.js +5 -5
  84. package/dist/index139.js.map +1 -1
  85. package/dist/index140.js +5 -24
  86. package/dist/index140.js.map +1 -1
  87. package/dist/index141.js +4 -7
  88. package/dist/index141.js.map +1 -1
  89. package/dist/index142.js +4 -6
  90. package/dist/index142.js.map +1 -1
  91. package/dist/index143.js +4 -5
  92. package/dist/index143.js.map +1 -1
  93. package/dist/index144.js +3 -3
  94. package/dist/index144.js.map +1 -1
  95. package/dist/index145.js +6 -3
  96. package/dist/index145.js.map +1 -1
  97. package/dist/index146.js +24 -5
  98. package/dist/index146.js.map +1 -1
  99. package/dist/index147.js +7 -3
  100. package/dist/index147.js.map +1 -1
  101. package/dist/index148.js +6 -4
  102. package/dist/index148.js.map +1 -1
  103. package/dist/index149.js +5 -3
  104. package/dist/index149.js.map +1 -1
  105. package/dist/index150.js +3 -3
  106. package/dist/index150.js.map +1 -1
  107. package/dist/index151.js +3 -3
  108. package/dist/index151.js.map +1 -1
  109. package/dist/index152.js +4 -46
  110. package/dist/index152.js.map +1 -1
  111. package/dist/index153.js +3 -205
  112. package/dist/index153.js.map +1 -1
  113. package/dist/index154.js +5 -22
  114. package/dist/index154.js.map +1 -1
  115. package/dist/index155.js +3 -24
  116. package/dist/index155.js.map +1 -1
  117. package/dist/index156.js +3 -399
  118. package/dist/index156.js.map +1 -1
  119. package/dist/index157.js +3 -605
  120. package/dist/index157.js.map +1 -1
  121. package/dist/index179.js +67 -58
  122. package/dist/index179.js.map +1 -1
  123. package/dist/index180.js +180 -8
  124. package/dist/index180.js.map +1 -1
  125. package/dist/index181.js +42 -62
  126. package/dist/index181.js.map +1 -1
  127. package/dist/index182.js +23 -18
  128. package/dist/index182.js.map +1 -1
  129. package/dist/index183.js +29 -17
  130. package/dist/index183.js.map +1 -1
  131. package/dist/index184.js +5 -6
  132. package/dist/index184.js.map +1 -1
  133. package/dist/index185.js +15 -4
  134. package/dist/index185.js.map +1 -1
  135. package/dist/index186.js +5 -6
  136. package/dist/index186.js.map +1 -1
  137. package/dist/index187.js +5 -4
  138. package/dist/index187.js.map +1 -1
  139. package/dist/index188.js +58 -7
  140. package/dist/index188.js.map +1 -1
  141. package/dist/index189.js +66 -17
  142. package/dist/index189.js.map +1 -1
  143. package/dist/index19.js +505 -557
  144. package/dist/index19.js.map +1 -1
  145. package/dist/index190.js +6 -5
  146. package/dist/index190.js.map +1 -1
  147. package/dist/index191.js +4 -5
  148. package/dist/index191.js.map +1 -1
  149. package/dist/index192.js +7 -13
  150. package/dist/index192.js.map +1 -1
  151. package/dist/index193.js +16 -9
  152. package/dist/index193.js.map +1 -1
  153. package/dist/index194.js +5 -14
  154. package/dist/index194.js.map +1 -1
  155. package/dist/index195.js +5 -14
  156. package/dist/index195.js.map +1 -1
  157. package/dist/index196.js +13 -5
  158. package/dist/index196.js.map +1 -1
  159. package/dist/index197.js +9 -5
  160. package/dist/index197.js.map +1 -1
  161. package/dist/index198.js +14 -7
  162. package/dist/index198.js.map +1 -1
  163. package/dist/index199.js +14 -6
  164. package/dist/index199.js.map +1 -1
  165. package/dist/index200.js +5 -9
  166. package/dist/index200.js.map +1 -1
  167. package/dist/index201.js +6 -5
  168. package/dist/index201.js.map +1 -1
  169. package/dist/index202.js +7 -5
  170. package/dist/index202.js.map +1 -1
  171. package/dist/index203.js +6 -9
  172. package/dist/index203.js.map +1 -1
  173. package/dist/index204.js +9 -5
  174. package/dist/index204.js.map +1 -1
  175. package/dist/index205.js +5 -5
  176. package/dist/index205.js.map +1 -1
  177. package/dist/index206.js +5 -4
  178. package/dist/index206.js.map +1 -1
  179. package/dist/index207.js +9 -11
  180. package/dist/index207.js.map +1 -1
  181. package/dist/index208.js +5 -10
  182. package/dist/index208.js.map +1 -1
  183. package/dist/index209.js +5 -10
  184. package/dist/index209.js.map +1 -1
  185. package/dist/index210.js +4 -11
  186. package/dist/index210.js.map +1 -1
  187. package/dist/index211.js +11 -11
  188. package/dist/index211.js.map +1 -1
  189. package/dist/index212.js +10 -10
  190. package/dist/index212.js.map +1 -1
  191. package/dist/index213.js +10 -7
  192. package/dist/index213.js.map +1 -1
  193. package/dist/index214.js +11 -6
  194. package/dist/index214.js.map +1 -1
  195. package/dist/index215.js +11 -5
  196. package/dist/index215.js.map +1 -1
  197. package/dist/index216.js +10 -6
  198. package/dist/index216.js.map +1 -1
  199. package/dist/index217.js +7 -7
  200. package/dist/index217.js.map +1 -1
  201. package/dist/index218.js +6 -6
  202. package/dist/index218.js.map +1 -1
  203. package/dist/index219.js +5 -55
  204. package/dist/index219.js.map +1 -1
  205. package/dist/index220.js +6 -16
  206. package/dist/index220.js.map +1 -1
  207. package/dist/index221.js +7 -7
  208. package/dist/index221.js.map +1 -1
  209. package/dist/index222.js +6 -10
  210. package/dist/index222.js.map +1 -1
  211. package/dist/index223.js +55 -10
  212. package/dist/index223.js.map +1 -1
  213. package/dist/index224.js +8 -21
  214. package/dist/index224.js.map +1 -1
  215. package/dist/index225.js +19 -10
  216. package/dist/index225.js.map +1 -1
  217. package/dist/index226.js +16 -9
  218. package/dist/index226.js.map +1 -1
  219. package/dist/index227.js +7 -9
  220. package/dist/index227.js.map +1 -1
  221. package/dist/index228.js +10 -4
  222. package/dist/index228.js.map +1 -1
  223. package/dist/index229.js +10 -5
  224. package/dist/index229.js.map +1 -1
  225. package/dist/index230.js +21 -16
  226. package/dist/index230.js.map +1 -1
  227. package/dist/index231.js +10 -9
  228. package/dist/index231.js.map +1 -1
  229. package/dist/index232.js +9 -18
  230. package/dist/index232.js.map +1 -1
  231. package/dist/index233.js +9 -15
  232. package/dist/index233.js.map +1 -1
  233. package/dist/index234.js +4 -12
  234. package/dist/index234.js.map +1 -1
  235. package/dist/index235.js +5 -29
  236. package/dist/index235.js.map +1 -1
  237. package/dist/index236.js +15 -11
  238. package/dist/index236.js.map +1 -1
  239. package/dist/index237.js +9 -25
  240. package/dist/index237.js.map +1 -1
  241. package/dist/index238.js +18 -5
  242. package/dist/index238.js.map +1 -1
  243. package/dist/index239.js +15 -24
  244. package/dist/index239.js.map +1 -1
  245. package/dist/index24.js +1 -1
  246. package/dist/index240.js +13 -29
  247. package/dist/index240.js.map +1 -1
  248. package/dist/index241.js +30 -5
  249. package/dist/index241.js.map +1 -1
  250. package/dist/index242.js +12 -67
  251. package/dist/index242.js.map +1 -1
  252. package/dist/index243.js +23 -178
  253. package/dist/index243.js.map +1 -1
  254. package/dist/index244.js +5 -46
  255. package/dist/index244.js.map +1 -1
  256. package/dist/index270.js +5 -5
  257. package/dist/index270.js.map +1 -1
  258. package/dist/index271.js +3 -19
  259. package/dist/index271.js.map +1 -1
  260. package/dist/index272.js +23 -12
  261. package/dist/index272.js.map +1 -1
  262. package/dist/index273.js +113 -5
  263. package/dist/index273.js.map +1 -1
  264. package/dist/index274.js +16 -3
  265. package/dist/index274.js.map +1 -1
  266. package/dist/index275.js +522 -21
  267. package/dist/index275.js.map +1 -1
  268. package/dist/index276.js +127 -112
  269. package/dist/index276.js.map +1 -1
  270. package/dist/index277.js +133 -15
  271. package/dist/index277.js.map +1 -1
  272. package/dist/index278.js +4 -524
  273. package/dist/index278.js.map +1 -1
  274. package/dist/index279.js +18 -127
  275. package/dist/index279.js.map +1 -1
  276. package/dist/index280.js +12 -133
  277. package/dist/index280.js.map +1 -1
  278. package/dist/index282.js +69 -6
  279. package/dist/index282.js.map +1 -1
  280. package/dist/index283.js +9 -6
  281. package/dist/index283.js.map +1 -1
  282. package/dist/index284.js +14 -4
  283. package/dist/index284.js.map +1 -1
  284. package/dist/index285.js +65 -15
  285. package/dist/index285.js.map +1 -1
  286. package/dist/index286.js +64 -8
  287. package/dist/index286.js.map +1 -1
  288. package/dist/index287.js +5 -5
  289. package/dist/index287.js.map +1 -1
  290. package/dist/index288.js +5 -4
  291. package/dist/index288.js.map +1 -1
  292. package/dist/index289.js +4 -546
  293. package/dist/index289.js.map +1 -1
  294. package/dist/index290.js +16 -47
  295. package/dist/index290.js.map +1 -1
  296. package/dist/index291.js +8 -17
  297. package/dist/index291.js.map +1 -1
  298. package/dist/index292.js +5 -6
  299. package/dist/index292.js.map +1 -1
  300. package/dist/index293.js +4 -8
  301. package/dist/index293.js.map +1 -1
  302. package/dist/index294.js +545 -7
  303. package/dist/index294.js.map +1 -1
  304. package/dist/index295.js +47 -9
  305. package/dist/index295.js.map +1 -1
  306. package/dist/index296.js +17 -12
  307. package/dist/index296.js.map +1 -1
  308. package/dist/index297.js +6 -9
  309. package/dist/index297.js.map +1 -1
  310. package/dist/index298.js +8 -13
  311. package/dist/index298.js.map +1 -1
  312. package/dist/index299.js +7 -64
  313. package/dist/index299.js.map +1 -1
  314. package/dist/index300.js +9 -69
  315. package/dist/index300.js.map +1 -1
  316. package/dist/index301.js +13 -9
  317. package/dist/index301.js.map +1 -1
  318. package/dist/index302.js +10 -14
  319. package/dist/index302.js.map +1 -1
  320. package/dist/index303.js +14 -66
  321. package/dist/index303.js.map +1 -1
  322. package/dist/index304.js +3 -4
  323. package/dist/index304.js.map +1 -1
  324. package/dist/index305.js +23 -56
  325. package/dist/index305.js.map +1 -1
  326. package/dist/index306.js +5 -68
  327. package/dist/index306.js.map +1 -1
  328. package/dist/index307.js +55 -30
  329. package/dist/index307.js.map +1 -1
  330. package/dist/index308.js +68 -9
  331. package/dist/index308.js.map +1 -1
  332. package/dist/index309.js +26 -148
  333. package/dist/index309.js.map +1 -1
  334. package/dist/index31.js +5 -5
  335. package/dist/index310.js +9 -108
  336. package/dist/index310.js.map +1 -1
  337. package/dist/index311.js +153 -4
  338. package/dist/index311.js.map +1 -1
  339. package/dist/index312.js +108 -23
  340. package/dist/index312.js.map +1 -1
  341. package/dist/index313.js +22 -15
  342. package/dist/index313.js.map +1 -1
  343. package/dist/index314.js +12 -28
  344. package/dist/index314.js.map +1 -1
  345. package/dist/index315.js +27 -12
  346. package/dist/index315.js.map +1 -1
  347. package/dist/index316.js +5 -7
  348. package/dist/index316.js.map +1 -1
  349. package/dist/index317.js +15 -22
  350. package/dist/index317.js.map +1 -1
  351. package/dist/index318.js +28 -12
  352. package/dist/index318.js.map +1 -1
  353. package/dist/index319.js +12 -27
  354. package/dist/index319.js.map +1 -1
  355. package/dist/index32.js +24 -24
  356. package/dist/index320.js +7 -5
  357. package/dist/index320.js.map +1 -1
  358. package/dist/index33.js +3 -3
  359. package/dist/index41.js +20 -20
  360. package/dist/index45.js +1 -1
  361. package/dist/index46.js +1 -1
  362. package/dist/index49.js +1 -1
  363. package/dist/index50.js +1 -1
  364. package/dist/index51.js +205 -2
  365. package/dist/index51.js.map +1 -1
  366. package/dist/index52.js +7 -2
  367. package/dist/index52.js.map +1 -1
  368. package/dist/index53.js +33 -6
  369. package/dist/index53.js.map +1 -1
  370. package/dist/index54.js +26 -33
  371. package/dist/index54.js.map +1 -1
  372. package/dist/index55.js +7 -26
  373. package/dist/index55.js.map +1 -1
  374. package/dist/index56.js +11 -7
  375. package/dist/index56.js.map +1 -1
  376. package/dist/index57.js +3 -11
  377. package/dist/index57.js.map +1 -1
  378. package/dist/index58.js +48 -2
  379. package/dist/index58.js.map +1 -1
  380. package/dist/index59.js +51 -2
  381. package/dist/index59.js.map +1 -1
  382. package/dist/index60.js +8 -205
  383. package/dist/index60.js.map +1 -1
  384. package/dist/index61.js +14 -3
  385. package/dist/index61.js.map +1 -1
  386. package/dist/index62.js +129 -43
  387. package/dist/index62.js.map +1 -1
  388. package/dist/index63.js +10 -50
  389. package/dist/index63.js.map +1 -1
  390. package/dist/index64.js +216 -7
  391. package/dist/index64.js.map +1 -1
  392. package/dist/index65.js +13 -15
  393. package/dist/index65.js.map +1 -1
  394. package/dist/index66.js +41 -128
  395. package/dist/index66.js.map +1 -1
  396. package/dist/index67.js +48 -9
  397. package/dist/index67.js.map +1 -1
  398. package/dist/index68.js +3 -216
  399. package/dist/index68.js.map +1 -1
  400. package/dist/index69.js +6 -13
  401. package/dist/index69.js.map +1 -1
  402. package/dist/index70.js +27 -46
  403. package/dist/index70.js.map +1 -1
  404. package/dist/index71.js +50 -50
  405. package/dist/index71.js.map +1 -1
  406. package/dist/index72.js +9 -4
  407. package/dist/index72.js.map +1 -1
  408. package/dist/index73.js +2 -6
  409. package/dist/index73.js.map +1 -1
  410. package/dist/index74.js +2 -28
  411. package/dist/index74.js.map +1 -1
  412. package/dist/index75.js +2 -50
  413. package/dist/index75.js.map +1 -1
  414. package/dist/index76.js +2 -9
  415. package/dist/index76.js.map +1 -1
  416. package/dist/index80.js +599 -40
  417. package/dist/index80.js.map +1 -1
  418. package/dist/index81.js +47 -52
  419. package/dist/index81.js.map +1 -1
  420. package/dist/index82.js +46 -4
  421. package/dist/index82.js.map +1 -1
  422. package/dist/index83.js +205 -4
  423. package/dist/index83.js.map +1 -1
  424. package/dist/index84.js +21 -15
  425. package/dist/index84.js.map +1 -1
  426. package/dist/index85.js +24 -5
  427. package/dist/index85.js.map +1 -1
  428. package/dist/index86.js +399 -7
  429. package/dist/index86.js.map +1 -1
  430. package/dist/index87.js +52 -17
  431. package/dist/index87.js.map +1 -1
  432. package/dist/index88.js +4 -4
  433. package/dist/index88.js.map +1 -1
  434. package/dist/index89.js +3 -3
  435. package/dist/index89.js.map +1 -1
  436. package/dist/index90.js +15 -5
  437. package/dist/index90.js.map +1 -1
  438. package/dist/index91.js +5 -5
  439. package/dist/index91.js.map +1 -1
  440. package/dist/index92.js +6 -3
  441. package/dist/index92.js.map +1 -1
  442. package/dist/index93.js +15 -3
  443. package/dist/index93.js.map +1 -1
  444. package/dist/index94.js +4 -6
  445. package/dist/index94.js.map +1 -1
  446. package/dist/index95.js +4 -24
  447. package/dist/index95.js.map +1 -1
  448. package/dist/index96.js +5 -6
  449. package/dist/index96.js.map +1 -1
  450. package/dist/index97.js +5 -4
  451. package/dist/index97.js.map +1 -1
  452. package/dist/index98.js +3 -5
  453. package/dist/index98.js.map +1 -1
  454. package/dist/index99.js +3 -4
  455. package/dist/index99.js.map +1 -1
  456. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index157.js","sources":["../../../node_modules/@radix-ui/react-menu/dist/index.mjs"],"sourcesContent":["\"use client\";\n\n// 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 { createSlot } 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 Slot = createSlot(\"MenuContent.ScrollLock\");\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 ii = polygon[i];\n const jj = polygon[j];\n const xi = ii.x;\n const yi = ii.y;\n const xj = jj.x;\n const yj = jj.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","Slot","createSlot","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","handleTypeaheadSearch","key","search","items","item","currentItem","currentMatch","values","nextMatch","getNextMatch","newItem","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","v","isPointInPolygon","point","polygon","x","y","inside","i","j","ii","jj","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
+ {"version":3,"file":"index157.js","sources":["../../../node_modules/react-day-picker/dist/esm/labels/labelYearDropdown.js"],"sourcesContent":["/**\n * Generates the ARIA label for the years dropdown.\n *\n * @defaultValue `\"Choose the Year\"`\n * @param options - Optional configuration for the date formatting library.\n * @returns The ARIA label for the years dropdown.\n * @group Labels\n * @see https://daypicker.dev/docs/translation#aria-labels\n */\nexport function labelYearDropdown(_options) {\n return \"Choose the Year\";\n}\n"],"names":["labelYearDropdown","_options"],"mappings":"AASO,SAASA,EAAkBC,GAAU;AACxC,SAAO;AACX;","x_google_ignoreList":[0]}
package/dist/index179.js CHANGED
@@ -1,62 +1,71 @@
1
- import { tzName as r } from "./index180.js";
2
- import { TZDateMini as s } from "./index181.js";
3
- class o extends s {
4
- //#region static
5
- static tz(t, ...e) {
6
- return e.length ? new o(...e, t) : new o(Date.now(), t);
7
- }
8
- //#endregion
9
- //#region representation
10
- toISOString() {
11
- const [t, e, n] = this.tzComponents(), i = `${t}${e}:${n}`;
12
- return this.internal.toISOString().slice(0, -1) + i;
13
- }
14
- toString() {
15
- return `${this.toDateString()} ${this.toTimeString()}`;
16
- }
17
- toDateString() {
18
- const [t, e, n, i] = this.internal.toUTCString().split(" ");
19
- return `${t?.slice(0, -1)} ${n} ${e} ${i}`;
20
- }
21
- toTimeString() {
22
- const t = this.internal.toUTCString().split(" ")[4], [e, n, i] = this.tzComponents();
23
- return `${t} GMT${e}${n}${i} (${r(this.timeZone, this)})`;
24
- }
25
- toLocaleString(t, e) {
26
- return Date.prototype.toLocaleString.call(this, t, {
27
- ...e,
28
- timeZone: e?.timeZone || this.timeZone
29
- });
30
- }
31
- toLocaleDateString(t, e) {
32
- return Date.prototype.toLocaleDateString.call(this, t, {
33
- ...e,
34
- timeZone: e?.timeZone || this.timeZone
35
- });
36
- }
37
- toLocaleTimeString(t, e) {
38
- return Date.prototype.toLocaleTimeString.call(this, t, {
39
- ...e,
40
- timeZone: e?.timeZone || this.timeZone
41
- });
42
- }
43
- //#endregion
44
- //#region private
45
- tzComponents() {
46
- const t = this.getTimezoneOffset(), e = t > 0 ? "-" : "+", n = String(Math.floor(Math.abs(t) / 60)).padStart(2, "0"), i = String(Math.abs(t) % 60).padStart(2, "0");
47
- return [e, n, i];
48
- }
49
- //#endregion
50
- withTimeZone(t) {
51
- return new o(+this, t);
52
- }
53
- //#region date-fns integration
54
- [/* @__PURE__ */ Symbol.for("constructDateFrom")](t) {
55
- return new o(+new Date(t), this.timeZone);
56
- }
57
- //#endregion
1
+ import * as i from "react";
2
+ import { useComposedRefs as O } from "./index54.js";
3
+ import { useLayoutEffect as A } from "./index68.js";
4
+ function E(n, e) {
5
+ return i.useReducer((t, r) => e[t][r] ?? t, n);
6
+ }
7
+ var T = (n) => {
8
+ const { present: e, children: t } = n, r = R(e), a = typeof t == "function" ? t({ present: r.isPresent }) : i.Children.only(t), c = O(r.ref, v(a));
9
+ return typeof t == "function" || r.isPresent ? i.cloneElement(a, { ref: c }) : null;
10
+ };
11
+ T.displayName = "Presence";
12
+ function R(n) {
13
+ const [e, t] = i.useState(), r = i.useRef(null), a = i.useRef(n), c = i.useRef("none"), p = n ? "mounted" : "unmounted", [N, s] = E(p, {
14
+ mounted: {
15
+ UNMOUNT: "unmounted",
16
+ ANIMATION_OUT: "unmountSuspended"
17
+ },
18
+ unmountSuspended: {
19
+ MOUNT: "mounted",
20
+ ANIMATION_END: "unmounted"
21
+ },
22
+ unmounted: {
23
+ MOUNT: "mounted"
24
+ }
25
+ });
26
+ return i.useEffect(() => {
27
+ const o = l(r.current);
28
+ c.current = N === "mounted" ? o : "none";
29
+ }, [N]), A(() => {
30
+ const o = r.current, m = a.current;
31
+ if (m !== n) {
32
+ const f = c.current, u = l(o);
33
+ n ? s("MOUNT") : u === "none" || o?.display === "none" ? s("UNMOUNT") : s(m && f !== u ? "ANIMATION_OUT" : "UNMOUNT"), a.current = n;
34
+ }
35
+ }, [n, s]), A(() => {
36
+ if (e) {
37
+ let o;
38
+ const m = e.ownerDocument.defaultView ?? window, d = (u) => {
39
+ const g = l(r.current).includes(CSS.escape(u.animationName));
40
+ if (u.target === e && g && (s("ANIMATION_END"), !a.current)) {
41
+ const y = e.style.animationFillMode;
42
+ e.style.animationFillMode = "forwards", o = m.setTimeout(() => {
43
+ e.style.animationFillMode === "forwards" && (e.style.animationFillMode = y);
44
+ });
45
+ }
46
+ }, f = (u) => {
47
+ u.target === e && (c.current = l(r.current));
48
+ };
49
+ return e.addEventListener("animationstart", f), e.addEventListener("animationcancel", d), e.addEventListener("animationend", d), () => {
50
+ m.clearTimeout(o), e.removeEventListener("animationstart", f), e.removeEventListener("animationcancel", d), e.removeEventListener("animationend", d);
51
+ };
52
+ } else
53
+ s("ANIMATION_END");
54
+ }, [e, s]), {
55
+ isPresent: ["mounted", "unmountSuspended"].includes(N),
56
+ ref: i.useCallback((o) => {
57
+ r.current = o ? getComputedStyle(o) : null, t(o);
58
+ }, [])
59
+ };
60
+ }
61
+ function l(n) {
62
+ return n?.animationName || "none";
63
+ }
64
+ function v(n) {
65
+ let e = Object.getOwnPropertyDescriptor(n.props, "ref")?.get, t = e && "isReactWarning" in e && e.isReactWarning;
66
+ return t ? n.ref : (e = Object.getOwnPropertyDescriptor(n, "ref")?.get, t = e && "isReactWarning" in e && e.isReactWarning, t ? n.props.ref : n.props.ref || n.ref);
58
67
  }
59
68
  export {
60
- o as TZDate
69
+ T as Presence
61
70
  };
62
71
  //# sourceMappingURL=index179.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index179.js","sources":["../../../node_modules/@date-fns/tz/date/index.js"],"sourcesContent":["import { tzName } from \"../tzName/index.js\";\nimport { TZDateMini } from \"./mini.js\";\nexport class TZDate extends TZDateMini {\n //#region static\n\n static tz(tz, ...args) {\n return args.length ? new TZDate(...args, tz) : new TZDate(Date.now(), tz);\n }\n\n //#endregion\n\n //#region representation\n\n toISOString() {\n const [sign, hours, minutes] = this.tzComponents();\n const tz = `${sign}${hours}:${minutes}`;\n return this.internal.toISOString().slice(0, -1) + tz;\n }\n toString() {\n // \"Tue Aug 13 2024 07:50:19 GMT+0800 (Singapore Standard Time)\";\n return `${this.toDateString()} ${this.toTimeString()}`;\n }\n toDateString() {\n // toUTCString returns RFC 7231 (\"Mon, 12 Aug 2024 23:36:08 GMT\")\n const [day, date, month, year] = this.internal.toUTCString().split(\" \");\n // \"Tue Aug 13 2024\"\n return `${day?.slice(0, -1) /* Remove \",\" */} ${month} ${date} ${year}`;\n }\n toTimeString() {\n // toUTCString returns RFC 7231 (\"Mon, 12 Aug 2024 23:36:08 GMT\")\n const time = this.internal.toUTCString().split(\" \")[4];\n const [sign, hours, minutes] = this.tzComponents();\n // \"07:42:23 GMT+0800 (Singapore Standard Time)\"\n return `${time} GMT${sign}${hours}${minutes} (${tzName(this.timeZone, this)})`;\n }\n toLocaleString(locales, options) {\n return Date.prototype.toLocaleString.call(this, locales, {\n ...options,\n timeZone: options?.timeZone || this.timeZone\n });\n }\n toLocaleDateString(locales, options) {\n return Date.prototype.toLocaleDateString.call(this, locales, {\n ...options,\n timeZone: options?.timeZone || this.timeZone\n });\n }\n toLocaleTimeString(locales, options) {\n return Date.prototype.toLocaleTimeString.call(this, locales, {\n ...options,\n timeZone: options?.timeZone || this.timeZone\n });\n }\n\n //#endregion\n\n //#region private\n\n tzComponents() {\n const offset = this.getTimezoneOffset();\n const sign = offset > 0 ? \"-\" : \"+\";\n const hours = String(Math.floor(Math.abs(offset) / 60)).padStart(2, \"0\");\n const minutes = String(Math.abs(offset) % 60).padStart(2, \"0\");\n return [sign, hours, minutes];\n }\n\n //#endregion\n\n withTimeZone(timeZone) {\n return new TZDate(+this, timeZone);\n }\n\n //#region date-fns integration\n\n [Symbol.for(\"constructDateFrom\")](date) {\n return new TZDate(+new Date(date), this.timeZone);\n }\n\n //#endregion\n}"],"names":["TZDate","TZDateMini","tz","args","sign","hours","minutes","day","date","month","year","time","tzName","locales","options","offset","timeZone"],"mappings":";;AAEO,MAAMA,UAAeC,EAAW;AAAA;AAAA,EAGrC,OAAO,GAAGC,MAAOC,GAAM;AACrB,WAAOA,EAAK,SAAS,IAAIH,EAAO,GAAGG,GAAMD,CAAE,IAAI,IAAIF,EAAO,KAAK,IAAG,GAAIE,CAAE;AAAA,EAC1E;AAAA;AAAA;AAAA,EAMA,cAAc;AACZ,UAAM,CAACE,GAAMC,GAAOC,CAAO,IAAI,KAAK,aAAY,GAC1CJ,IAAK,GAAGE,CAAI,GAAGC,CAAK,IAAIC,CAAO;AACrC,WAAO,KAAK,SAAS,YAAW,EAAG,MAAM,GAAG,EAAE,IAAIJ;AAAA,EACpD;AAAA,EACA,WAAW;AAET,WAAO,GAAG,KAAK,aAAY,CAAE,IAAI,KAAK,aAAY,CAAE;AAAA,EACtD;AAAA,EACA,eAAe;AAEb,UAAM,CAACK,GAAKC,GAAMC,GAAOC,CAAI,IAAI,KAAK,SAAS,cAAc,MAAM,GAAG;AAEtE,WAAO,GAAGH,GAAK,MAAM,GAAG,EAAE,CAAC,IAAqBE,CAAK,IAAID,CAAI,IAAIE,CAAI;AAAA,EACvE;AAAA,EACA,eAAe;AAEb,UAAMC,IAAO,KAAK,SAAS,YAAW,EAAG,MAAM,GAAG,EAAE,CAAC,GAC/C,CAACP,GAAMC,GAAOC,CAAO,IAAI,KAAK,aAAY;AAEhD,WAAO,GAAGK,CAAI,OAAOP,CAAI,GAAGC,CAAK,GAAGC,CAAO,KAAKM,EAAO,KAAK,UAAU,IAAI,CAAC;AAAA,EAC7E;AAAA,EACA,eAAeC,GAASC,GAAS;AAC/B,WAAO,KAAK,UAAU,eAAe,KAAK,MAAMD,GAAS;AAAA,MACvD,GAAGC;AAAA,MACH,UAAUA,GAAS,YAAY,KAAK;AAAA,IAC1C,CAAK;AAAA,EACH;AAAA,EACA,mBAAmBD,GAASC,GAAS;AACnC,WAAO,KAAK,UAAU,mBAAmB,KAAK,MAAMD,GAAS;AAAA,MAC3D,GAAGC;AAAA,MACH,UAAUA,GAAS,YAAY,KAAK;AAAA,IAC1C,CAAK;AAAA,EACH;AAAA,EACA,mBAAmBD,GAASC,GAAS;AACnC,WAAO,KAAK,UAAU,mBAAmB,KAAK,MAAMD,GAAS;AAAA,MAC3D,GAAGC;AAAA,MACH,UAAUA,GAAS,YAAY,KAAK;AAAA,IAC1C,CAAK;AAAA,EACH;AAAA;AAAA;AAAA,EAMA,eAAe;AACb,UAAMC,IAAS,KAAK,kBAAiB,GAC/BX,IAAOW,IAAS,IAAI,MAAM,KAC1BV,IAAQ,OAAO,KAAK,MAAM,KAAK,IAAIU,CAAM,IAAI,EAAE,CAAC,EAAE,SAAS,GAAG,GAAG,GACjET,IAAU,OAAO,KAAK,IAAIS,CAAM,IAAI,EAAE,EAAE,SAAS,GAAG,GAAG;AAC7D,WAAO,CAACX,GAAMC,GAAOC,CAAO;AAAA,EAC9B;AAAA;AAAA,EAIA,aAAaU,GAAU;AACrB,WAAO,IAAIhB,EAAO,CAAC,MAAMgB,CAAQ;AAAA,EACnC;AAAA;AAAA,EAIA,CAAC,uBAAO,IAAI,mBAAmB,CAAC,EAAER,GAAM;AACtC,WAAO,IAAIR,EAAO,CAAC,IAAI,KAAKQ,CAAI,GAAG,KAAK,QAAQ;AAAA,EAClD;AAAA;AAGF;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index179.js","sources":["../../../node_modules/@radix-ui/react-presence/dist/index.mjs"],"sourcesContent":["\"use client\";\n\n// src/presence.tsx\nimport * as React2 from \"react\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\n\n// src/use-state-machine.tsx\nimport * as React from \"react\";\nfunction useStateMachine(initialState, machine) {\n return React.useReducer((state, event) => {\n const nextState = machine[state][event];\n return nextState ?? state;\n }, initialState);\n}\n\n// src/presence.tsx\nvar Presence = (props) => {\n const { present, children } = props;\n const presence = usePresence(present);\n const child = typeof children === \"function\" ? children({ present: presence.isPresent }) : React2.Children.only(children);\n const ref = useComposedRefs(presence.ref, getElementRef(child));\n const forceMount = typeof children === \"function\";\n return forceMount || presence.isPresent ? React2.cloneElement(child, { ref }) : null;\n};\nPresence.displayName = \"Presence\";\nfunction usePresence(present) {\n const [node, setNode] = React2.useState();\n const stylesRef = React2.useRef(null);\n const prevPresentRef = React2.useRef(present);\n const prevAnimationNameRef = React2.useRef(\"none\");\n const initialState = present ? \"mounted\" : \"unmounted\";\n const [state, send] = useStateMachine(initialState, {\n mounted: {\n UNMOUNT: \"unmounted\",\n ANIMATION_OUT: \"unmountSuspended\"\n },\n unmountSuspended: {\n MOUNT: \"mounted\",\n ANIMATION_END: \"unmounted\"\n },\n unmounted: {\n MOUNT: \"mounted\"\n }\n });\n React2.useEffect(() => {\n const currentAnimationName = getAnimationName(stylesRef.current);\n prevAnimationNameRef.current = state === \"mounted\" ? currentAnimationName : \"none\";\n }, [state]);\n useLayoutEffect(() => {\n const styles = stylesRef.current;\n const wasPresent = prevPresentRef.current;\n const hasPresentChanged = wasPresent !== present;\n if (hasPresentChanged) {\n const prevAnimationName = prevAnimationNameRef.current;\n const currentAnimationName = getAnimationName(styles);\n if (present) {\n send(\"MOUNT\");\n } else if (currentAnimationName === \"none\" || styles?.display === \"none\") {\n send(\"UNMOUNT\");\n } else {\n const isAnimating = prevAnimationName !== currentAnimationName;\n if (wasPresent && isAnimating) {\n send(\"ANIMATION_OUT\");\n } else {\n send(\"UNMOUNT\");\n }\n }\n prevPresentRef.current = present;\n }\n }, [present, send]);\n useLayoutEffect(() => {\n if (node) {\n let timeoutId;\n const ownerWindow = node.ownerDocument.defaultView ?? window;\n const handleAnimationEnd = (event) => {\n const currentAnimationName = getAnimationName(stylesRef.current);\n const isCurrentAnimation = currentAnimationName.includes(CSS.escape(event.animationName));\n if (event.target === node && isCurrentAnimation) {\n send(\"ANIMATION_END\");\n if (!prevPresentRef.current) {\n const currentFillMode = node.style.animationFillMode;\n node.style.animationFillMode = \"forwards\";\n timeoutId = ownerWindow.setTimeout(() => {\n if (node.style.animationFillMode === \"forwards\") {\n node.style.animationFillMode = currentFillMode;\n }\n });\n }\n }\n };\n const handleAnimationStart = (event) => {\n if (event.target === node) {\n prevAnimationNameRef.current = getAnimationName(stylesRef.current);\n }\n };\n node.addEventListener(\"animationstart\", handleAnimationStart);\n node.addEventListener(\"animationcancel\", handleAnimationEnd);\n node.addEventListener(\"animationend\", handleAnimationEnd);\n return () => {\n ownerWindow.clearTimeout(timeoutId);\n node.removeEventListener(\"animationstart\", handleAnimationStart);\n node.removeEventListener(\"animationcancel\", handleAnimationEnd);\n node.removeEventListener(\"animationend\", handleAnimationEnd);\n };\n } else {\n send(\"ANIMATION_END\");\n }\n }, [node, send]);\n return {\n isPresent: [\"mounted\", \"unmountSuspended\"].includes(state),\n ref: React2.useCallback((node2) => {\n stylesRef.current = node2 ? getComputedStyle(node2) : null;\n setNode(node2);\n }, [])\n };\n}\nfunction getAnimationName(styles) {\n return styles?.animationName || \"none\";\n}\nfunction getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\nvar Root = Presence;\nexport {\n Presence,\n Root\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["useStateMachine","initialState","machine","React","state","event","Presence","props","present","children","presence","usePresence","child","React2","ref","useComposedRefs","getElementRef","node","setNode","stylesRef","prevPresentRef","prevAnimationNameRef","send","currentAnimationName","getAnimationName","useLayoutEffect","styles","wasPresent","prevAnimationName","timeoutId","ownerWindow","handleAnimationEnd","isCurrentAnimation","currentFillMode","handleAnimationStart","node2","element","getter","mayWarn"],"mappings":"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","x_google_ignoreList":[0]}
package/dist/index180.js CHANGED
@@ -1,12 +1,184 @@
1
- function o(e, n, t = "long") {
2
- return new Intl.DateTimeFormat("en-US", {
3
- // Enforces engine to render the time. Without the option JavaScriptCore omits it.
4
- hour: "numeric",
5
- timeZone: e,
6
- timeZoneName: t
7
- }).format(n).split(/\s/g).slice(2).join(" ");
1
+ import * as s from "react";
2
+ import { composeEventHandlers as p } from "./index52.js";
3
+ import { createCollection as H } from "./index58.js";
4
+ import { useComposedRefs as V } from "./index54.js";
5
+ import { createContextScope as z } from "./index59.js";
6
+ import { useId as q } from "./index63.js";
7
+ import { Primitive as G } from "./index53.js";
8
+ import { useCallbackRef as J } from "./index55.js";
9
+ import { useControllableState as Q } from "./index67.js";
10
+ import { useDirection as W } from "./index60.js";
11
+ import { j as d } from "./index30.js";
12
+ var _ = "rovingFocusGroup.onEntryFocus", X = { bubbles: !1, cancelable: !0 }, I = "RovingFocusGroup", [y, N, Z] = H(I), [$, Fe] = z(
13
+ I,
14
+ [Z]
15
+ ), [ee, oe] = $(I), O = s.forwardRef(
16
+ (e, r) => /* @__PURE__ */ d.jsx(y.Provider, { scope: e.__scopeRovingFocusGroup, children: /* @__PURE__ */ d.jsx(y.Slot, { scope: e.__scopeRovingFocusGroup, children: /* @__PURE__ */ d.jsx(te, { ...e, ref: r }) }) })
17
+ );
18
+ O.displayName = I;
19
+ var te = s.forwardRef((e, r) => {
20
+ const {
21
+ __scopeRovingFocusGroup: c,
22
+ orientation: o,
23
+ loop: T = !1,
24
+ dir: w,
25
+ currentTabStopId: v,
26
+ defaultCurrentTabStopId: C,
27
+ onCurrentTabStopIdChange: S,
28
+ onEntryFocus: m,
29
+ preventScrollOnEntryFocus: u = !1,
30
+ ...b
31
+ } = e, F = s.useRef(null), g = V(r, F), R = W(w), [E, t] = Q({
32
+ prop: v,
33
+ defaultProp: C ?? null,
34
+ onChange: S,
35
+ caller: I
36
+ }), [i, h] = s.useState(!1), a = J(m), l = N(c), x = s.useRef(!1), [k, D] = s.useState(0);
37
+ return s.useEffect(() => {
38
+ const n = F.current;
39
+ if (n)
40
+ return n.addEventListener(_, a), () => n.removeEventListener(_, a);
41
+ }, [a]), /* @__PURE__ */ d.jsx(
42
+ ee,
43
+ {
44
+ scope: c,
45
+ orientation: o,
46
+ dir: R,
47
+ loop: T,
48
+ currentTabStopId: E,
49
+ onItemFocus: s.useCallback(
50
+ (n) => t(n),
51
+ [t]
52
+ ),
53
+ onItemShiftTab: s.useCallback(() => h(!0), []),
54
+ onFocusableItemAdd: s.useCallback(
55
+ () => D((n) => n + 1),
56
+ []
57
+ ),
58
+ onFocusableItemRemove: s.useCallback(
59
+ () => D((n) => n - 1),
60
+ []
61
+ ),
62
+ children: /* @__PURE__ */ d.jsx(
63
+ G.div,
64
+ {
65
+ tabIndex: i || k === 0 ? -1 : 0,
66
+ "data-orientation": o,
67
+ ...b,
68
+ ref: g,
69
+ style: { outline: "none", ...e.style },
70
+ onMouseDown: p(e.onMouseDown, () => {
71
+ x.current = !0;
72
+ }),
73
+ onFocus: p(e.onFocus, (n) => {
74
+ const L = !x.current;
75
+ if (n.target === n.currentTarget && L && !i) {
76
+ const P = new CustomEvent(_, X);
77
+ if (n.currentTarget.dispatchEvent(P), !P.defaultPrevented) {
78
+ const A = l().filter((f) => f.focusable), U = A.find((f) => f.active), B = A.find((f) => f.id === E), Y = [U, B, ...A].filter(
79
+ Boolean
80
+ ).map((f) => f.ref.current);
81
+ M(Y, u);
82
+ }
83
+ }
84
+ x.current = !1;
85
+ }),
86
+ onBlur: p(e.onBlur, () => h(!1))
87
+ }
88
+ )
89
+ }
90
+ );
91
+ }), K = "RovingFocusGroupItem", j = s.forwardRef(
92
+ (e, r) => {
93
+ const {
94
+ __scopeRovingFocusGroup: c,
95
+ focusable: o = !0,
96
+ active: T = !1,
97
+ tabStopId: w,
98
+ children: v,
99
+ ...C
100
+ } = e, S = q(), m = w || S, u = oe(K, c), b = u.currentTabStopId === m, F = N(c), { onFocusableItemAdd: g, onFocusableItemRemove: R, currentTabStopId: E } = u;
101
+ return s.useEffect(() => {
102
+ if (o)
103
+ return g(), () => R();
104
+ }, [o, g, R]), /* @__PURE__ */ d.jsx(
105
+ y.ItemSlot,
106
+ {
107
+ scope: c,
108
+ id: m,
109
+ focusable: o,
110
+ active: T,
111
+ children: /* @__PURE__ */ d.jsx(
112
+ G.span,
113
+ {
114
+ tabIndex: b ? 0 : -1,
115
+ "data-orientation": u.orientation,
116
+ ...C,
117
+ ref: r,
118
+ onMouseDown: p(e.onMouseDown, (t) => {
119
+ o ? u.onItemFocus(m) : t.preventDefault();
120
+ }),
121
+ onFocus: p(e.onFocus, () => u.onItemFocus(m)),
122
+ onKeyDown: p(e.onKeyDown, (t) => {
123
+ if (t.key === "Tab" && t.shiftKey) {
124
+ u.onItemShiftTab();
125
+ return;
126
+ }
127
+ if (t.target !== t.currentTarget) return;
128
+ const i = se(t, u.orientation, u.dir);
129
+ if (i !== void 0) {
130
+ if (t.metaKey || t.ctrlKey || t.altKey || t.shiftKey) return;
131
+ t.preventDefault();
132
+ let a = F().filter((l) => l.focusable).map((l) => l.ref.current);
133
+ if (i === "last") a.reverse();
134
+ else if (i === "prev" || i === "next") {
135
+ i === "prev" && a.reverse();
136
+ const l = a.indexOf(t.currentTarget);
137
+ a = u.loop ? ce(a, l + 1) : a.slice(l + 1);
138
+ }
139
+ setTimeout(() => M(a));
140
+ }
141
+ }),
142
+ children: typeof v == "function" ? v({ isCurrentTabStop: b, hasTabStop: E != null }) : v
143
+ }
144
+ )
145
+ }
146
+ );
147
+ }
148
+ );
149
+ j.displayName = K;
150
+ var re = {
151
+ ArrowLeft: "prev",
152
+ ArrowUp: "prev",
153
+ ArrowRight: "next",
154
+ ArrowDown: "next",
155
+ PageUp: "first",
156
+ Home: "first",
157
+ PageDown: "last",
158
+ End: "last"
159
+ };
160
+ function ne(e, r) {
161
+ return r !== "rtl" ? e : e === "ArrowLeft" ? "ArrowRight" : e === "ArrowRight" ? "ArrowLeft" : e;
162
+ }
163
+ function se(e, r, c) {
164
+ const o = ne(e.key, c);
165
+ if (!(r === "vertical" && ["ArrowLeft", "ArrowRight"].includes(o)) && !(r === "horizontal" && ["ArrowUp", "ArrowDown"].includes(o)))
166
+ return re[o];
167
+ }
168
+ function M(e, r = !1) {
169
+ const c = document.activeElement;
170
+ for (const o of e)
171
+ if (o === c || (o.focus({ preventScroll: r }), document.activeElement !== c)) return;
172
+ }
173
+ function ce(e, r) {
174
+ return e.map((c, o) => e[(r + o) % e.length]);
8
175
  }
176
+ var ge = O, Re = j;
9
177
  export {
10
- o as tzName
178
+ Re as Item,
179
+ ge as Root,
180
+ O as RovingFocusGroup,
181
+ j as RovingFocusGroupItem,
182
+ Fe as createRovingFocusGroupScope
11
183
  };
12
184
  //# sourceMappingURL=index180.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index180.js","sources":["../../../node_modules/@date-fns/tz/tzName/index.js"],"sourcesContent":["/**\n * Time zone name format.\n */\n\n/**\n * The function returns the time zone name for the given date in the specified\n * time zone.\n *\n * It uses the `Intl.DateTimeFormat` API and by default outputs the time zone\n * name in a long format, e.g. \"Pacific Standard Time\" or\n * \"Singapore Standard Time\".\n *\n * It is possible to specify the format as the third argument using one of the following options\n *\n * - \"short\": e.g. \"EDT\" or \"GMT+8\".\n * - \"long\": e.g. \"Eastern Daylight Time\".\n * - \"shortGeneric\": e.g. \"ET\" or \"Singapore Time\".\n * - \"longGeneric\": e.g. \"Eastern Time\" or \"Singapore Standard Time\".\n *\n * These options correspond to TR35 tokens `z..zzz`, `zzzz`, `v`, and `vvvv` respectively: https://www.unicode.org/reports/tr35/tr35-dates.html#dfst-zone\n *\n * @param timeZone - Time zone name (IANA or UTC offset)\n * @param date - Date object to get the time zone name for\n * @param format - Optional format of the time zone name. Defaults to \"long\". Can be \"short\", \"long\", \"shortGeneric\", or \"longGeneric\".\n *\n * @returns Time zone name (e.g. \"Singapore Standard Time\")\n */\nexport function tzName(timeZone, date, format = \"long\") {\n return new Intl.DateTimeFormat(\"en-US\", {\n // Enforces engine to render the time. Without the option JavaScriptCore omits it.\n hour: \"numeric\",\n timeZone: timeZone,\n timeZoneName: format\n }).format(date).split(/\\s/g) // Format.JS uses non-breaking spaces\n .slice(2) // Skip the hour and AM/PM parts\n .join(\" \");\n}"],"names":["tzName","timeZone","date","format"],"mappings":"AA2BO,SAASA,EAAOC,GAAUC,GAAMC,IAAS,QAAQ;AACtD,SAAO,IAAI,KAAK,eAAe,SAAS;AAAA;AAAA,IAEtC,MAAM;AAAA,IACN,UAAUF;AAAA,IACV,cAAcE;AAAA,EAClB,CAAG,EAAE,OAAOD,CAAI,EAAE,MAAM,KAAK,EAC1B,MAAM,CAAC,EACP,KAAK,GAAG;AACX;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index180.js","sources":["../../../node_modules/@radix-ui/react-roving-focus/dist/index.mjs"],"sourcesContent":["\"use client\";\n\n// src/roving-focus-group.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createCollection } from \"@radix-ui/react-collection\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useId } from \"@radix-ui/react-id\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { jsx } from \"react/jsx-runtime\";\nvar ENTRY_FOCUS = \"rovingFocusGroup.onEntryFocus\";\nvar EVENT_OPTIONS = { bubbles: false, cancelable: true };\nvar GROUP_NAME = \"RovingFocusGroup\";\nvar [Collection, useCollection, createCollectionScope] = createCollection(GROUP_NAME);\nvar [createRovingFocusGroupContext, createRovingFocusGroupScope] = createContextScope(\n GROUP_NAME,\n [createCollectionScope]\n);\nvar [RovingFocusProvider, useRovingFocusContext] = createRovingFocusGroupContext(GROUP_NAME);\nvar RovingFocusGroup = React.forwardRef(\n (props, forwardedRef) => {\n return /* @__PURE__ */ jsx(Collection.Provider, { scope: props.__scopeRovingFocusGroup, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeRovingFocusGroup, children: /* @__PURE__ */ jsx(RovingFocusGroupImpl, { ...props, ref: forwardedRef }) }) });\n }\n);\nRovingFocusGroup.displayName = GROUP_NAME;\nvar RovingFocusGroupImpl = React.forwardRef((props, forwardedRef) => {\n const {\n __scopeRovingFocusGroup,\n orientation,\n loop = false,\n dir,\n currentTabStopId: currentTabStopIdProp,\n defaultCurrentTabStopId,\n onCurrentTabStopIdChange,\n onEntryFocus,\n preventScrollOnEntryFocus = false,\n ...groupProps\n } = props;\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const direction = useDirection(dir);\n const [currentTabStopId, setCurrentTabStopId] = useControllableState({\n prop: currentTabStopIdProp,\n defaultProp: defaultCurrentTabStopId ?? null,\n onChange: onCurrentTabStopIdChange,\n caller: GROUP_NAME\n });\n const [isTabbingBackOut, setIsTabbingBackOut] = React.useState(false);\n const handleEntryFocus = useCallbackRef(onEntryFocus);\n const getItems = useCollection(__scopeRovingFocusGroup);\n const isClickFocusRef = React.useRef(false);\n const [focusableItemsCount, setFocusableItemsCount] = React.useState(0);\n React.useEffect(() => {\n const node = ref.current;\n if (node) {\n node.addEventListener(ENTRY_FOCUS, handleEntryFocus);\n return () => node.removeEventListener(ENTRY_FOCUS, handleEntryFocus);\n }\n }, [handleEntryFocus]);\n return /* @__PURE__ */ jsx(\n RovingFocusProvider,\n {\n scope: __scopeRovingFocusGroup,\n orientation,\n dir: direction,\n loop,\n currentTabStopId,\n onItemFocus: React.useCallback(\n (tabStopId) => setCurrentTabStopId(tabStopId),\n [setCurrentTabStopId]\n ),\n onItemShiftTab: React.useCallback(() => setIsTabbingBackOut(true), []),\n onFocusableItemAdd: React.useCallback(\n () => setFocusableItemsCount((prevCount) => prevCount + 1),\n []\n ),\n onFocusableItemRemove: React.useCallback(\n () => setFocusableItemsCount((prevCount) => prevCount - 1),\n []\n ),\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n tabIndex: isTabbingBackOut || focusableItemsCount === 0 ? -1 : 0,\n \"data-orientation\": orientation,\n ...groupProps,\n ref: composedRefs,\n style: { outline: \"none\", ...props.style },\n onMouseDown: composeEventHandlers(props.onMouseDown, () => {\n isClickFocusRef.current = true;\n }),\n onFocus: composeEventHandlers(props.onFocus, (event) => {\n const isKeyboardFocus = !isClickFocusRef.current;\n if (event.target === event.currentTarget && isKeyboardFocus && !isTabbingBackOut) {\n const entryFocusEvent = new CustomEvent(ENTRY_FOCUS, EVENT_OPTIONS);\n event.currentTarget.dispatchEvent(entryFocusEvent);\n if (!entryFocusEvent.defaultPrevented) {\n const items = getItems().filter((item) => item.focusable);\n const activeItem = items.find((item) => item.active);\n const currentItem = items.find((item) => item.id === currentTabStopId);\n const candidateItems = [activeItem, currentItem, ...items].filter(\n Boolean\n );\n const candidateNodes = candidateItems.map((item) => item.ref.current);\n focusFirst(candidateNodes, preventScrollOnEntryFocus);\n }\n }\n isClickFocusRef.current = false;\n }),\n onBlur: composeEventHandlers(props.onBlur, () => setIsTabbingBackOut(false))\n }\n )\n }\n );\n});\nvar ITEM_NAME = \"RovingFocusGroupItem\";\nvar RovingFocusGroupItem = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeRovingFocusGroup,\n focusable = true,\n active = false,\n tabStopId,\n children,\n ...itemProps\n } = props;\n const autoId = useId();\n const id = tabStopId || autoId;\n const context = useRovingFocusContext(ITEM_NAME, __scopeRovingFocusGroup);\n const isCurrentTabStop = context.currentTabStopId === id;\n const getItems = useCollection(__scopeRovingFocusGroup);\n const { onFocusableItemAdd, onFocusableItemRemove, currentTabStopId } = context;\n React.useEffect(() => {\n if (focusable) {\n onFocusableItemAdd();\n return () => onFocusableItemRemove();\n }\n }, [focusable, onFocusableItemAdd, onFocusableItemRemove]);\n return /* @__PURE__ */ jsx(\n Collection.ItemSlot,\n {\n scope: __scopeRovingFocusGroup,\n id,\n focusable,\n active,\n children: /* @__PURE__ */ jsx(\n Primitive.span,\n {\n tabIndex: isCurrentTabStop ? 0 : -1,\n \"data-orientation\": context.orientation,\n ...itemProps,\n ref: forwardedRef,\n onMouseDown: composeEventHandlers(props.onMouseDown, (event) => {\n if (!focusable) event.preventDefault();\n else context.onItemFocus(id);\n }),\n onFocus: composeEventHandlers(props.onFocus, () => context.onItemFocus(id)),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n if (event.key === \"Tab\" && event.shiftKey) {\n context.onItemShiftTab();\n return;\n }\n if (event.target !== event.currentTarget) return;\n const focusIntent = getFocusIntent(event, context.orientation, context.dir);\n if (focusIntent !== void 0) {\n if (event.metaKey || event.ctrlKey || event.altKey || event.shiftKey) return;\n event.preventDefault();\n const items = getItems().filter((item) => item.focusable);\n let candidateNodes = items.map((item) => item.ref.current);\n if (focusIntent === \"last\") candidateNodes.reverse();\n else if (focusIntent === \"prev\" || focusIntent === \"next\") {\n if (focusIntent === \"prev\") candidateNodes.reverse();\n const currentIndex = candidateNodes.indexOf(event.currentTarget);\n candidateNodes = context.loop ? wrapArray(candidateNodes, currentIndex + 1) : candidateNodes.slice(currentIndex + 1);\n }\n setTimeout(() => focusFirst(candidateNodes));\n }\n }),\n children: typeof children === \"function\" ? children({ isCurrentTabStop, hasTabStop: currentTabStopId != null }) : children\n }\n )\n }\n );\n }\n);\nRovingFocusGroupItem.displayName = ITEM_NAME;\nvar MAP_KEY_TO_FOCUS_INTENT = {\n ArrowLeft: \"prev\",\n ArrowUp: \"prev\",\n ArrowRight: \"next\",\n ArrowDown: \"next\",\n PageUp: \"first\",\n Home: \"first\",\n PageDown: \"last\",\n End: \"last\"\n};\nfunction getDirectionAwareKey(key, dir) {\n if (dir !== \"rtl\") return key;\n return key === \"ArrowLeft\" ? \"ArrowRight\" : key === \"ArrowRight\" ? \"ArrowLeft\" : key;\n}\nfunction getFocusIntent(event, orientation, dir) {\n const key = getDirectionAwareKey(event.key, dir);\n if (orientation === \"vertical\" && [\"ArrowLeft\", \"ArrowRight\"].includes(key)) return void 0;\n if (orientation === \"horizontal\" && [\"ArrowUp\", \"ArrowDown\"].includes(key)) return void 0;\n return MAP_KEY_TO_FOCUS_INTENT[key];\n}\nfunction focusFirst(candidates, preventScroll = false) {\n const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;\n for (const candidate of candidates) {\n if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n candidate.focus({ preventScroll });\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}\nvar Root = RovingFocusGroup;\nvar Item = RovingFocusGroupItem;\nexport {\n Item,\n Root,\n RovingFocusGroup,\n RovingFocusGroupItem,\n createRovingFocusGroupScope\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["ENTRY_FOCUS","EVENT_OPTIONS","GROUP_NAME","Collection","useCollection","createCollectionScope","createCollection","createRovingFocusGroupContext","createRovingFocusGroupScope","createContextScope","RovingFocusProvider","useRovingFocusContext","RovingFocusGroup","React","props","forwardedRef","jsx","RovingFocusGroupImpl","__scopeRovingFocusGroup","orientation","loop","dir","currentTabStopIdProp","defaultCurrentTabStopId","onCurrentTabStopIdChange","onEntryFocus","preventScrollOnEntryFocus","groupProps","ref","composedRefs","useComposedRefs","direction","useDirection","currentTabStopId","setCurrentTabStopId","useControllableState","isTabbingBackOut","setIsTabbingBackOut","handleEntryFocus","useCallbackRef","getItems","isClickFocusRef","focusableItemsCount","setFocusableItemsCount","node","tabStopId","prevCount","Primitive","composeEventHandlers","event","isKeyboardFocus","entryFocusEvent","items","item","activeItem","currentItem","candidateNodes","focusFirst","ITEM_NAME","RovingFocusGroupItem","focusable","active","children","itemProps","autoId","useId","id","context","isCurrentTabStop","onFocusableItemAdd","onFocusableItemRemove","focusIntent","getFocusIntent","currentIndex","wrapArray","MAP_KEY_TO_FOCUS_INTENT","getDirectionAwareKey","key","candidates","preventScroll","PREVIOUSLY_FOCUSED_ELEMENT","candidate","array","startIndex","_","index","Root","Item"],"mappings":"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","x_google_ignoreList":[0]}