@rpcbase/ui 0.207.0 → 0.209.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 (553) hide show
  1. package/dist/index.js +13 -13
  2. package/dist/index100.js +3 -3
  3. package/dist/index100.js.map +1 -1
  4. package/dist/index101.js +9 -3
  5. package/dist/index101.js.map +1 -1
  6. package/dist/index102.js +4 -9
  7. package/dist/index102.js.map +1 -1
  8. package/dist/index103.js +9 -4
  9. package/dist/index103.js.map +1 -1
  10. package/dist/index104.js +18 -12
  11. package/dist/index104.js.map +1 -1
  12. package/dist/index105.js +25 -18
  13. package/dist/index105.js.map +1 -1
  14. package/dist/index106.js +5 -24
  15. package/dist/index106.js.map +1 -1
  16. package/dist/index107.js +2 -2
  17. package/dist/index107.js.map +1 -1
  18. package/dist/index108.js +4 -3
  19. package/dist/index108.js.map +1 -1
  20. package/dist/index109.js +3 -3
  21. package/dist/index109.js.map +1 -1
  22. package/dist/index110.js +3 -4
  23. package/dist/index110.js.map +1 -1
  24. package/dist/index111.js +3 -3
  25. package/dist/index111.js.map +1 -1
  26. package/dist/index112.js +8 -5
  27. package/dist/index112.js.map +1 -1
  28. package/dist/index113.js +7 -8
  29. package/dist/index113.js.map +1 -1
  30. package/dist/index114.js +34 -7
  31. package/dist/index114.js.map +1 -1
  32. package/dist/index115.js +7 -34
  33. package/dist/index115.js.map +1 -1
  34. package/dist/index116.js +5 -7
  35. package/dist/index116.js.map +1 -1
  36. package/dist/index117.js +7 -5
  37. package/dist/index117.js.map +1 -1
  38. package/dist/index118.js +9 -7
  39. package/dist/index118.js.map +1 -1
  40. package/dist/index119.js +3 -7
  41. package/dist/index119.js.map +1 -1
  42. package/dist/index120.js +4 -3
  43. package/dist/index120.js.map +1 -1
  44. package/dist/index121.js +3 -4
  45. package/dist/index121.js.map +1 -1
  46. package/dist/index122.js +3 -3
  47. package/dist/index122.js.map +1 -1
  48. package/dist/index123.js +4 -3
  49. package/dist/index123.js.map +1 -1
  50. package/dist/index124.js +3 -4
  51. package/dist/index124.js.map +1 -1
  52. package/dist/index125.js +3 -3
  53. package/dist/index125.js.map +1 -1
  54. package/dist/index126.js +7 -5
  55. package/dist/index126.js.map +1 -1
  56. package/dist/index127.js +57 -8
  57. package/dist/index127.js.map +1 -1
  58. package/dist/index128.js +7 -57
  59. package/dist/index128.js.map +1 -1
  60. package/dist/index129.js +19 -6
  61. package/dist/index129.js.map +1 -1
  62. package/dist/index130.js +19 -19
  63. package/dist/index130.js.map +1 -1
  64. package/dist/index131.js +34 -19
  65. package/dist/index131.js.map +1 -1
  66. package/dist/index132.js +5 -34
  67. package/dist/index132.js.map +1 -1
  68. package/dist/index133.js +8 -5
  69. package/dist/index133.js.map +1 -1
  70. package/dist/index134.js +13 -7
  71. package/dist/index134.js.map +1 -1
  72. package/dist/index135.js +10 -14
  73. package/dist/index135.js.map +1 -1
  74. package/dist/index136.js +6 -10
  75. package/dist/index136.js.map +1 -1
  76. package/dist/index137.js +4 -5
  77. package/dist/index137.js.map +1 -1
  78. package/dist/index138.js +5 -5
  79. package/dist/index138.js.map +1 -1
  80. package/dist/index139.js +5 -5
  81. package/dist/index139.js.map +1 -1
  82. package/dist/index140.js +5 -5
  83. package/dist/index140.js.map +1 -1
  84. package/dist/index141.js +4 -5
  85. package/dist/index141.js.map +1 -1
  86. package/dist/index142.js +6 -4
  87. package/dist/index142.js.map +1 -1
  88. package/dist/index143.js +21 -7
  89. package/dist/index143.js.map +1 -1
  90. package/dist/index144.js +9 -21
  91. package/dist/index144.js.map +1 -1
  92. package/dist/index145.js +7 -8
  93. package/dist/index145.js.map +1 -1
  94. package/dist/index146.js +5 -6
  95. package/dist/index146.js.map +1 -1
  96. package/dist/index147.js +6 -6
  97. package/dist/index147.js.map +1 -1
  98. package/dist/index148.js +4 -6
  99. package/dist/index148.js.map +1 -1
  100. package/dist/index149.js +4 -4
  101. package/dist/index149.js.map +1 -1
  102. package/dist/index150.js +5 -4
  103. package/dist/index150.js.map +1 -1
  104. package/dist/index151.js +4 -5
  105. package/dist/index151.js.map +1 -1
  106. package/dist/index152.js +5 -4
  107. package/dist/index152.js.map +1 -1
  108. package/dist/index153.js +4 -5
  109. package/dist/index153.js.map +1 -1
  110. package/dist/index154.js +4 -4
  111. package/dist/index154.js.map +1 -1
  112. package/dist/index155.js +3 -3
  113. package/dist/index155.js.map +1 -1
  114. package/dist/index156.js +29 -5
  115. package/dist/index156.js.map +1 -1
  116. package/dist/index157.js +33 -29
  117. package/dist/index157.js.map +1 -1
  118. package/dist/index158.js +15 -32
  119. package/dist/index158.js.map +1 -1
  120. package/dist/index159.js +10 -14
  121. package/dist/index159.js.map +1 -1
  122. package/dist/index160.js +9 -11
  123. package/dist/index160.js.map +1 -1
  124. package/dist/index161.js +16 -9
  125. package/dist/index161.js.map +1 -1
  126. package/dist/index162.js +86 -16
  127. package/dist/index162.js.map +1 -1
  128. package/dist/index163.js +47 -86
  129. package/dist/index163.js.map +1 -1
  130. package/dist/index164.js +16 -46
  131. package/dist/index164.js.map +1 -1
  132. package/dist/index165.js +8 -17
  133. package/dist/index165.js.map +1 -1
  134. package/dist/index166.js +10 -8
  135. package/dist/index166.js.map +1 -1
  136. package/dist/index167.js +4 -9
  137. package/dist/index167.js.map +1 -1
  138. package/dist/index168.js +22 -5
  139. package/dist/index168.js.map +1 -1
  140. package/dist/index169.js +7 -22
  141. package/dist/index169.js.map +1 -1
  142. package/dist/index170.js +6 -7
  143. package/dist/index170.js.map +1 -1
  144. package/dist/index171.js +4 -4
  145. package/dist/index171.js.map +1 -1
  146. package/dist/index172.js +4 -6
  147. package/dist/index172.js.map +1 -1
  148. package/dist/index173.js +6 -4
  149. package/dist/index173.js.map +1 -1
  150. package/dist/index174.js +67 -6
  151. package/dist/index174.js.map +1 -1
  152. package/dist/index175.js +17 -67
  153. package/dist/index175.js.map +1 -1
  154. package/dist/index176.js +12 -17
  155. package/dist/index176.js.map +1 -1
  156. package/dist/index177.js +9 -12
  157. package/dist/index177.js.map +1 -1
  158. package/dist/index178.js +20 -9
  159. package/dist/index178.js.map +1 -1
  160. package/dist/index179.js +14 -17
  161. package/dist/index179.js.map +1 -1
  162. package/dist/index180.js +54 -16
  163. package/dist/index180.js.map +1 -1
  164. package/dist/index181.js +9 -54
  165. package/dist/index181.js.map +1 -1
  166. package/dist/index182.js +6 -10
  167. package/dist/index182.js.map +1 -1
  168. package/dist/index183.js +26 -6
  169. package/dist/index183.js.map +1 -1
  170. package/dist/index184.js +26 -26
  171. package/dist/index184.js.map +1 -1
  172. package/dist/index185.js +10 -23
  173. package/dist/index185.js.map +1 -1
  174. package/dist/index186.js +13 -13
  175. package/dist/index186.js.map +1 -1
  176. package/dist/index187.js +6 -13
  177. package/dist/index187.js.map +1 -1
  178. package/dist/index188.js +23 -6
  179. package/dist/index188.js.map +1 -1
  180. package/dist/index189.js +385 -23
  181. package/dist/index189.js.map +1 -1
  182. package/dist/index19.js +1 -1
  183. package/dist/index19.js.map +1 -1
  184. package/dist/index190.js +487 -377
  185. package/dist/index190.js.map +1 -1
  186. package/dist/index191.js +122 -487
  187. package/dist/index191.js.map +1 -1
  188. package/dist/index192.js +53 -131
  189. package/dist/index192.js.map +1 -1
  190. package/dist/index193.js +76 -51
  191. package/dist/index193.js.map +1 -1
  192. package/dist/index194.js +897 -75
  193. package/dist/index194.js.map +1 -1
  194. package/dist/index195.js +19 -899
  195. package/dist/index195.js.map +1 -1
  196. package/dist/index196.js +446 -17
  197. package/dist/index196.js.map +1 -1
  198. package/dist/index197.js +4 -448
  199. package/dist/index197.js.map +1 -1
  200. package/dist/index198.js +57 -4
  201. package/dist/index198.js.map +1 -1
  202. package/dist/index199.js +56 -52
  203. package/dist/index199.js.map +1 -1
  204. package/dist/index200.js +5 -5
  205. package/dist/index213.js +1 -1
  206. package/dist/index215.js +58 -40
  207. package/dist/index215.js.map +1 -1
  208. package/dist/index216.js +43 -9
  209. package/dist/index216.js.map +1 -1
  210. package/dist/index217.js +10 -25
  211. package/dist/index217.js.map +1 -1
  212. package/dist/index218.js +25 -45
  213. package/dist/index218.js.map +1 -1
  214. package/dist/index219.js +44 -17
  215. package/dist/index219.js.map +1 -1
  216. package/dist/index220.js +18 -3
  217. package/dist/index220.js.map +1 -1
  218. package/dist/index221.js +3 -5
  219. package/dist/index221.js.map +1 -1
  220. package/dist/index222.js +4 -20
  221. package/dist/index222.js.map +1 -1
  222. package/dist/index223.js +20 -24
  223. package/dist/index223.js.map +1 -1
  224. package/dist/index224.js +23 -66
  225. package/dist/index224.js.map +1 -1
  226. package/dist/index225.js +67 -14
  227. package/dist/index225.js.map +1 -1
  228. package/dist/index226.js +15 -4
  229. package/dist/index226.js.map +1 -1
  230. package/dist/index227.js +4 -51
  231. package/dist/index227.js.map +1 -1
  232. package/dist/index228.js +50 -5
  233. package/dist/index228.js.map +1 -1
  234. package/dist/index229.js +5 -26
  235. package/dist/index229.js.map +1 -1
  236. package/dist/index230.js +24 -11
  237. package/dist/index230.js.map +1 -1
  238. package/dist/index231.js +12 -8
  239. package/dist/index231.js.map +1 -1
  240. package/dist/index232.js +13 -3
  241. package/dist/index232.js.map +1 -0
  242. package/dist/index233.js +3 -29
  243. package/dist/index234.js +25 -68
  244. package/dist/index234.js.map +1 -1
  245. package/dist/index235.js +71 -2
  246. package/dist/index235.js.map +1 -0
  247. package/dist/index236.js +3 -15
  248. package/dist/index237.js +12 -51
  249. package/dist/index237.js.map +1 -1
  250. package/dist/index238.js +50 -114
  251. package/dist/index238.js.map +1 -1
  252. package/dist/index239.js +115 -6
  253. package/dist/index239.js.map +1 -1
  254. package/dist/index24.js +9 -0
  255. package/dist/index24.js.map +1 -1
  256. package/dist/index240.js +6 -13
  257. package/dist/index240.js.map +1 -1
  258. package/dist/index241.js +13 -687
  259. package/dist/index241.js.map +1 -1
  260. package/dist/index242.js +668 -234
  261. package/dist/index242.js.map +1 -1
  262. package/dist/index243.js +222 -670
  263. package/dist/index243.js.map +1 -1
  264. package/dist/index244.js +700 -7430
  265. package/dist/index244.js.map +1 -1
  266. package/dist/index245.js +7431 -7
  267. package/dist/index245.js.map +1 -1
  268. package/dist/index246.js +6 -12
  269. package/dist/index246.js.map +1 -1
  270. package/dist/index247.js +12 -5
  271. package/dist/index247.js.map +1 -1
  272. package/dist/index248.js +5 -459
  273. package/dist/index248.js.map +1 -1
  274. package/dist/index249.js +454 -32
  275. package/dist/index249.js.map +1 -1
  276. package/dist/index25.js +20 -8
  277. package/dist/index25.js.map +1 -1
  278. package/dist/index250.js +36 -18
  279. package/dist/index250.js.map +1 -1
  280. package/dist/index251.js +17 -25
  281. package/dist/index251.js.map +1 -1
  282. package/dist/index252.js +27 -4
  283. package/dist/index252.js.map +1 -1
  284. package/dist/index253.js +4 -58
  285. package/dist/index253.js.map +1 -1
  286. package/dist/index254.js +58 -7
  287. package/dist/index254.js.map +1 -1
  288. package/dist/index255.js +7 -12
  289. package/dist/index255.js.map +1 -1
  290. package/dist/index256.js +13 -3
  291. package/dist/index256.js.map +1 -1
  292. package/dist/index257.js +3 -17
  293. package/dist/index257.js.map +1 -1
  294. package/dist/index258.js +14 -23
  295. package/dist/index258.js.map +1 -1
  296. package/dist/index259.js +23 -41
  297. package/dist/index259.js.map +1 -1
  298. package/dist/index26.js +56 -18
  299. package/dist/index26.js.map +1 -1
  300. package/dist/index260.js +43 -13
  301. package/dist/index260.js.map +1 -1
  302. package/dist/index261.js +13 -25
  303. package/dist/index261.js.map +1 -1
  304. package/dist/index262.js +24 -16
  305. package/dist/index262.js.map +1 -1
  306. package/dist/index263.js +15 -33
  307. package/dist/index263.js.map +1 -1
  308. package/dist/index264.js +35 -5
  309. package/dist/index264.js.map +1 -1
  310. package/dist/index265.js +5 -9
  311. package/dist/index265.js.map +1 -1
  312. package/dist/index266.js +8 -7
  313. package/dist/index266.js.map +1 -1
  314. package/dist/index267.js +8 -9
  315. package/dist/index267.js.map +1 -1
  316. package/dist/index268.js +9 -10
  317. package/dist/index268.js.map +1 -1
  318. package/dist/index269.js +10 -7
  319. package/dist/index269.js.map +1 -1
  320. package/dist/index27.js +50 -53
  321. package/dist/index27.js.map +1 -1
  322. package/dist/index270.js +7 -73
  323. package/dist/index270.js.map +1 -1
  324. package/dist/index271.js +63 -161
  325. package/dist/index271.js.map +1 -1
  326. package/dist/index272.js +157 -100
  327. package/dist/index272.js.map +1 -1
  328. package/dist/index273.js +113 -13
  329. package/dist/index273.js.map +1 -1
  330. package/dist/index274.js +12 -78
  331. package/dist/index274.js.map +1 -1
  332. package/dist/index275.js +57 -23
  333. package/dist/index275.js.map +1 -1
  334. package/dist/index276.js +45 -12
  335. package/dist/index276.js.map +1 -1
  336. package/dist/index277.js +13 -16
  337. package/dist/index277.js.map +1 -1
  338. package/dist/index278.js +15 -98
  339. package/dist/index278.js.map +1 -1
  340. package/dist/index279.js +93 -50
  341. package/dist/index279.js.map +1 -1
  342. package/dist/index28.js +1 -59
  343. package/dist/index280.js +5 -57
  344. package/dist/index280.js.map +1 -1
  345. package/dist/index281.js +78 -41
  346. package/dist/index281.js.map +1 -1
  347. package/dist/index282.js +58 -100
  348. package/dist/index282.js.map +1 -1
  349. package/dist/index283.js +104 -46
  350. package/dist/index283.js.map +1 -1
  351. package/dist/index284.js +51 -39
  352. package/dist/index284.js.map +1 -1
  353. package/dist/index285.js +42 -141
  354. package/dist/index285.js.map +1 -1
  355. package/dist/index286.js +122 -119
  356. package/dist/index286.js.map +1 -1
  357. package/dist/index287.js +107 -222
  358. package/dist/index287.js.map +1 -1
  359. package/dist/index288.js +173 -159
  360. package/dist/index288.js.map +1 -1
  361. package/dist/index289.js +119 -177
  362. package/dist/index289.js.map +1 -1
  363. package/dist/index29.js +4 -0
  364. package/dist/index290.js +298 -5
  365. package/dist/index290.js.map +1 -1
  366. package/dist/index291.js +5 -6
  367. package/dist/index291.js.map +1 -1
  368. package/dist/index292.js +6 -7
  369. package/dist/index292.js.map +1 -1
  370. package/dist/index293.js +6 -5
  371. package/dist/index293.js.map +1 -1
  372. package/dist/index294.js +4 -4
  373. package/dist/index294.js.map +1 -1
  374. package/dist/index295.js +6 -21
  375. package/dist/index295.js.map +1 -1
  376. package/dist/index296.js +21 -10
  377. package/dist/index296.js.map +1 -1
  378. package/dist/index297.js +10 -126
  379. package/dist/index297.js.map +1 -1
  380. package/dist/index298.js +108 -146
  381. package/dist/index298.js.map +1 -1
  382. package/dist/index299.js +151 -55
  383. package/dist/index299.js.map +1 -1
  384. package/dist/index30.js +8 -6
  385. package/dist/index30.js.map +1 -0
  386. package/dist/index300.js +66 -107
  387. package/dist/index300.js.map +1 -1
  388. package/dist/index301.js +107 -489
  389. package/dist/index301.js.map +1 -1
  390. package/dist/index302.js +492 -63
  391. package/dist/index302.js.map +1 -1
  392. package/dist/index303.js +63 -4
  393. package/dist/index303.js.map +1 -1
  394. package/dist/index304.js +4 -28
  395. package/dist/index304.js.map +1 -1
  396. package/dist/index305.js +27 -65
  397. package/dist/index305.js.map +1 -1
  398. package/dist/index306.js +60 -147
  399. package/dist/index306.js.map +1 -1
  400. package/dist/index307.js +137 -546
  401. package/dist/index307.js.map +1 -1
  402. package/dist/index308.js +60 -209
  403. package/dist/index308.js.map +1 -1
  404. package/dist/index309.js +551 -321
  405. package/dist/index309.js.map +1 -1
  406. package/dist/index31.js +6 -5
  407. package/dist/index31.js.map +1 -1
  408. package/dist/index310.js +206 -264
  409. package/dist/index310.js.map +1 -1
  410. package/dist/index311.js +335 -0
  411. package/dist/index311.js.map +1 -0
  412. package/dist/index312.js +272 -0
  413. package/dist/index312.js.map +1 -0
  414. package/dist/index32.js +3 -3
  415. package/dist/index32.js.map +1 -1
  416. package/dist/index33.js +7 -5
  417. package/dist/index33.js.map +1 -1
  418. package/dist/index34.js +7 -4
  419. package/dist/index34.js.map +1 -1
  420. package/dist/index35.js +5 -10
  421. package/dist/index35.js.map +1 -1
  422. package/dist/index36.js +7 -5
  423. package/dist/index36.js.map +1 -1
  424. package/dist/index37.js +8 -7
  425. package/dist/index37.js.map +1 -1
  426. package/dist/index38.js +12 -8
  427. package/dist/index38.js.map +1 -1
  428. package/dist/index39.js +5 -11
  429. package/dist/index39.js.map +1 -1
  430. package/dist/index40.js +6 -6
  431. package/dist/index40.js.map +1 -1
  432. package/dist/index41.js +5 -5
  433. package/dist/index41.js.map +1 -1
  434. package/dist/index42.js +9 -6
  435. package/dist/index42.js.map +1 -1
  436. package/dist/index43.js +8 -9
  437. package/dist/index43.js.map +1 -1
  438. package/dist/index44.js +5 -8
  439. package/dist/index44.js.map +1 -1
  440. package/dist/index45.js +2 -2
  441. package/dist/index45.js.map +1 -1
  442. package/dist/index46.js +11 -5
  443. package/dist/index46.js.map +1 -1
  444. package/dist/index47.js +4 -4
  445. package/dist/index47.js.map +1 -1
  446. package/dist/index48.js +6 -10
  447. package/dist/index48.js.map +1 -1
  448. package/dist/index49.js +4 -7
  449. package/dist/index49.js.map +1 -1
  450. package/dist/index50.js +6 -4
  451. package/dist/index50.js.map +1 -1
  452. package/dist/index51.js +6 -6
  453. package/dist/index51.js.map +1 -1
  454. package/dist/index52.js +5 -5
  455. package/dist/index52.js.map +1 -1
  456. package/dist/index53.js +8 -5
  457. package/dist/index53.js.map +1 -1
  458. package/dist/index54.js +13 -9
  459. package/dist/index54.js.map +1 -1
  460. package/dist/index55.js +5 -12
  461. package/dist/index55.js.map +1 -1
  462. package/dist/index56.js +4 -4
  463. package/dist/index56.js.map +1 -1
  464. package/dist/index57.js +4 -4
  465. package/dist/index57.js.map +1 -1
  466. package/dist/index58.js +13 -6
  467. package/dist/index58.js.map +1 -1
  468. package/dist/index59.js +4 -10
  469. package/dist/index59.js.map +1 -1
  470. package/dist/index60.js +8 -7
  471. package/dist/index60.js.map +1 -1
  472. package/dist/index61.js +68 -9
  473. package/dist/index61.js.map +1 -1
  474. package/dist/index62.js +8 -68
  475. package/dist/index62.js.map +1 -1
  476. package/dist/index63.js +31 -8
  477. package/dist/index63.js.map +1 -1
  478. package/dist/index64.js +10 -31
  479. package/dist/index64.js.map +1 -1
  480. package/dist/index65.js +16 -10
  481. package/dist/index65.js.map +1 -1
  482. package/dist/index66.js +200 -15
  483. package/dist/index66.js.map +1 -1
  484. package/dist/index67.js +21 -201
  485. package/dist/index67.js.map +1 -1
  486. package/dist/index68.js +12 -16
  487. package/dist/index68.js.map +1 -1
  488. package/dist/index69.js +123 -17
  489. package/dist/index69.js.map +1 -1
  490. package/dist/index70.js +18 -122
  491. package/dist/index70.js.map +1 -1
  492. package/dist/index71.js +9 -19
  493. package/dist/index71.js.map +1 -1
  494. package/dist/index72.js +9 -8
  495. package/dist/index72.js.map +1 -1
  496. package/dist/index73.js +11 -7
  497. package/dist/index73.js.map +1 -1
  498. package/dist/index74.js +7 -11
  499. package/dist/index74.js.map +1 -1
  500. package/dist/index75.js +6 -6
  501. package/dist/index75.js.map +1 -1
  502. package/dist/index76.js +4 -9
  503. package/dist/index76.js.map +1 -1
  504. package/dist/index77.js +42 -5
  505. package/dist/index77.js.map +1 -1
  506. package/dist/index78.js +368 -29
  507. package/dist/index78.js.map +1 -1
  508. package/dist/index79.js +37 -379
  509. package/dist/index79.js.map +1 -1
  510. package/dist/index80.js +22 -39
  511. package/dist/index80.js.map +1 -1
  512. package/dist/index81.js +56 -20
  513. package/dist/index81.js.map +1 -1
  514. package/dist/index82.js +7 -57
  515. package/dist/index82.js.map +1 -1
  516. package/dist/index83.js +4 -6
  517. package/dist/index83.js.map +1 -1
  518. package/dist/index84.js +3 -3
  519. package/dist/index84.js.map +1 -1
  520. package/dist/index85.js +3 -3
  521. package/dist/index85.js.map +1 -1
  522. package/dist/index86.js +3 -3
  523. package/dist/index86.js.map +1 -1
  524. package/dist/index87.js +5 -4
  525. package/dist/index87.js.map +1 -1
  526. package/dist/index88.js +3 -3
  527. package/dist/index88.js.map +1 -1
  528. package/dist/index89.js +10 -6
  529. package/dist/index89.js.map +1 -1
  530. package/dist/index90.js +7 -10
  531. package/dist/index90.js.map +1 -1
  532. package/dist/index91.js +6 -7
  533. package/dist/index91.js.map +1 -1
  534. package/dist/index92.js +5 -6
  535. package/dist/index92.js.map +1 -1
  536. package/dist/index93.js +7 -5
  537. package/dist/index93.js.map +1 -1
  538. package/dist/index94.js +48 -8
  539. package/dist/index94.js.map +1 -1
  540. package/dist/index95.js +104 -46
  541. package/dist/index95.js.map +1 -1
  542. package/dist/index96.js +8 -103
  543. package/dist/index96.js.map +1 -1
  544. package/dist/index97.js +5 -9
  545. package/dist/index97.js.map +1 -1
  546. package/dist/index98.js +3 -3
  547. package/dist/index98.js.map +1 -1
  548. package/dist/index99.js +6 -7
  549. package/dist/index99.js.map +1 -1
  550. package/package.json +3 -3
  551. package/dist/index233.js.map +0 -1
  552. package/dist/index236.js.map +0 -1
  553. package/dist/index28.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index309.js","names":["createContext","useCallback","useContext","useEffect","useMemo","useState","Context","DialogPrimitive","DropdownMenuPrimitive","Loader2","MoreVertical","X","cn","NotificationItem","NotificationsRealtimeState","ListResponse","ok","error","notifications","unreadCount","unseenCount","DayGroup","key","label","items","toMs","iso","ms","Date","parse","Number","isFinite","getDayKey","date","getTime","year","getFullYear","month","String","getMonth","padStart","day","getDate","formatDayLabel","yearRaw","monthRaw","dayRaw","split","now","includeYear","toLocaleDateString","undefined","weekday","groupByDay","groups","currentKey","item","createdAt","push","length","EmptyRealtimeContext","NotificationsDrawer","open","onOpenChange","className","limit","defaultUnreadOnly","realtimeContext","realtime","setItems","setUnreadCount","setUnseenCount","loading","setLoading","setError","unreadOnly","setUnreadOnly","mergedItems","mergedUnreadCount","mergedUnseenCount","mergedLoading","mergedError","Error","message","visibleItems","slice","unread","filter","n","readAt","read","Boolean","unreadGroups","readGroups","refresh","markSeen","res","fetch","method","headers","credentials","body","JSON","stringify","json","catch","nextItems","Array","isArray","Math","max","floor","keepalive","markAsRead","id","encodeURIComponent","nowIso","toISOString","current","target","find","count","seenAt","map","archive","v","group","NotificationRow","t0","$","_c","notification","onMarkRead","onArchive","isUnread","t1","bb0","toLocaleString","createdAtLabel","t2","t3","t4","url","window","location","href","t5","title","t6","t7","t8","t9","t10","t11","Symbol","for","t12","t13","t14","t15","t16","t17","t18"],"sources":["../src/components/Notifications/NotificationsDrawer.tsx"],"sourcesContent":["import { createContext, useCallback, useContext, useEffect, useMemo, useState, type Context } from \"react\"\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\"\nimport * as DropdownMenuPrimitive from \"@radix-ui/react-dropdown-menu\"\nimport { Loader2, MoreVertical, X } from \"lucide-react\"\n\nimport { cn } from \"@/lib/utils\"\n\nimport type { NotificationItem, NotificationsRealtimeState } from \"./types\"\n\n\ntype ListResponse = {\n ok?: boolean\n error?: string\n notifications?: NotificationItem[]\n unreadCount?: number\n unseenCount?: number\n}\n\ntype DayGroup = {\n key: string\n label: string\n items: NotificationItem[]\n}\n\nconst toMs = (iso: string): number => {\n const ms = Date.parse(iso)\n return Number.isFinite(ms) ? ms : 0\n}\n\nconst getDayKey = (iso: string): string => {\n const date = new Date(toMs(iso))\n if (!Number.isFinite(date.getTime())) return \"unknown\"\n\n const year = date.getFullYear()\n const month = String(date.getMonth() + 1).padStart(2, \"0\")\n const day = String(date.getDate()).padStart(2, \"0\")\n\n return `${year}-${month}-${day}`\n}\n\nconst formatDayLabel = (key: string): string => {\n if (key === \"unknown\") return \"Unknown date\"\n const [yearRaw, monthRaw, dayRaw] = key.split(\"-\")\n const year = Number(yearRaw)\n const month = Number(monthRaw)\n const day = Number(dayRaw)\n\n if (!Number.isFinite(year) || !Number.isFinite(month) || !Number.isFinite(day)) return \"Unknown date\"\n\n const date = new Date(year, month - 1, day)\n if (!Number.isFinite(date.getTime())) return \"Unknown date\"\n\n const now = new Date()\n const includeYear = now.getFullYear() !== year\n return date.toLocaleDateString(undefined, includeYear\n ? { weekday: \"short\", month: \"short\", day: \"numeric\", year: \"numeric\" }\n : { weekday: \"short\", month: \"short\", day: \"numeric\" })\n}\n\nconst groupByDay = (items: NotificationItem[]): DayGroup[] => {\n const groups: DayGroup[] = []\n let currentKey: string | null = null\n\n for (const item of items) {\n const key = getDayKey(item.createdAt)\n if (key !== currentKey) {\n currentKey = key\n groups.push({ key, label: formatDayLabel(key), items: [] })\n }\n groups[groups.length - 1]!.items.push(item)\n }\n\n return groups\n}\n\nconst EmptyRealtimeContext = createContext<NotificationsRealtimeState | null>(null)\n\nexport function NotificationsDrawer({\n open,\n onOpenChange,\n className,\n limit = 50,\n defaultUnreadOnly = false,\n realtimeContext,\n}: {\n open: boolean\n onOpenChange: (open: boolean) => void\n className?: string\n limit?: number\n defaultUnreadOnly?: boolean\n realtimeContext?: Context<NotificationsRealtimeState | null>\n}) {\n const realtime = useContext(realtimeContext ?? EmptyRealtimeContext)\n\n const [items, setItems] = useState<NotificationItem[]>([])\n const [unreadCount, setUnreadCount] = useState<number>(0)\n const [unseenCount, setUnseenCount] = useState<number>(0)\n const [loading, setLoading] = useState(false)\n const [error, setError] = useState<string | null>(null)\n const [unreadOnly, setUnreadOnly] = useState<boolean>(defaultUnreadOnly)\n\n const mergedItems = realtime?.notifications ?? items\n const mergedUnreadCount = realtime?.unreadCount ?? unreadCount\n const mergedUnseenCount = realtime?.unseenCount ?? unseenCount\n const mergedLoading = realtime?.loading ?? loading\n const mergedError = realtime?.error\n ? (realtime.error instanceof Error ? realtime.error.message : String(realtime.error))\n : error\n\n const visibleItems = useMemo(() => mergedItems.slice(0, limit), [limit, mergedItems])\n\n const unread = useMemo(() => visibleItems.filter((n) => !n.readAt), [visibleItems])\n const read = useMemo(() => visibleItems.filter((n) => Boolean(n.readAt)), [visibleItems])\n const unreadGroups = useMemo(() => groupByDay(unread), [unread])\n const readGroups = useMemo(() => groupByDay(read), [read])\n\n const refresh = useCallback(async ({ unreadOnly, markSeen }: { unreadOnly: boolean; markSeen: boolean }) => {\n setLoading(true)\n setError(null)\n\n try {\n const res = await fetch(\"/api/rb/notifications\", {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n credentials: \"include\",\n body: JSON.stringify({ limit, unreadOnly, markSeen }),\n })\n\n const json = (await res.json().catch(() => null)) as ListResponse | null\n if (!res.ok || !json?.ok) {\n setError(json?.error || \"Unable to load notifications.\")\n return\n }\n\n const nextItems = Array.isArray(json.notifications) ? json.notifications : []\n setItems(nextItems)\n setUnreadCount(Number.isFinite(json.unreadCount) ? Math.max(0, Math.floor(json.unreadCount ?? 0)) : 0)\n setUnseenCount(Number.isFinite(json.unseenCount) ? Math.max(0, Math.floor(json.unseenCount ?? 0)) : 0)\n } catch {\n setError(\"Unable to load notifications.\")\n } finally {\n setLoading(false)\n }\n }, [limit])\n\n useEffect(() => {\n if (!open) return\n if (realtime) {\n void (async () => {\n try {\n await fetch(\"/api/rb/notifications\", {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n credentials: \"include\",\n keepalive: true,\n body: JSON.stringify({ limit: 1, markSeen: true }),\n })\n } catch {\n return\n }\n })()\n return\n }\n void refresh({ unreadOnly, markSeen: true })\n }, [open, realtime, refresh, unreadOnly])\n\n useEffect(() => {\n if (!open) return\n if (realtime) return\n void refresh({ unreadOnly, markSeen: false })\n }, [open, realtime, refresh, unreadOnly])\n\n const markAsRead = async (id: string) => {\n try {\n const res = await fetch(`/api/rb/notifications/${encodeURIComponent(id)}/read`, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n credentials: \"include\",\n keepalive: true,\n body: \"{}\",\n })\n\n const json = (await res.json().catch(() => null)) as { ok?: boolean } | null\n if (!res.ok || !json?.ok) return\n\n const nowIso = new Date().toISOString()\n if (realtime) return\n setItems((current) => {\n const target = current.find((n) => n.id === id)\n if (target && !target.readAt) {\n setUnreadCount((count) => Math.max(0, count - 1))\n }\n if (target && !target.seenAt) {\n setUnseenCount((count) => Math.max(0, count - 1))\n }\n return current.map((n) => (n.id === id && !n.readAt ? { ...n, readAt: nowIso, ...(n.seenAt ? {} : { seenAt: nowIso }) } : n))\n })\n } catch {\n return\n }\n }\n\n const archive = async (id: string) => {\n try {\n const res = await fetch(`/api/rb/notifications/${encodeURIComponent(id)}/archive`, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n credentials: \"include\",\n body: \"{}\",\n })\n\n const json = (await res.json().catch(() => null)) as { ok?: boolean } | null\n if (!res.ok || !json?.ok) return\n\n if (realtime) return\n setItems((current) => {\n const target = current.find((n) => n.id === id)\n if (target && !target.readAt) {\n setUnreadCount((count) => Math.max(0, count - 1))\n }\n if (target && !target.seenAt) {\n setUnseenCount((count) => Math.max(0, count - 1))\n }\n return current.filter((n) => n.id !== id)\n })\n } catch {\n return\n }\n }\n\n return (\n <DialogPrimitive.Root open={open} onOpenChange={onOpenChange}>\n <DialogPrimitive.Portal>\n <DialogPrimitive.Overlay className=\"fixed inset-0 z-50 bg-black/50\" />\n <DialogPrimitive.Content\n className={cn(\n \"fixed right-0 top-0 z-50 flex h-full w-full max-w-md flex-col border-l bg-background shadow-xl outline-none\",\n className,\n )}\n >\n <header className=\"flex items-center justify-between gap-2 border-b px-4 py-3\">\n <div className=\"flex min-w-0 flex-col\">\n <DialogPrimitive.Title className=\"text-sm font-semibold\">Notifications</DialogPrimitive.Title>\n <span className=\"text-xs text-muted-foreground\">\n {mergedUnreadCount > 0 ? `${mergedUnreadCount} unread` : mergedUnseenCount > 0 ? `${mergedUnseenCount} new` : \"All caught up\"}\n </span>\n </div>\n <div className=\"flex items-center gap-2\">\n <button\n type=\"button\"\n onClick={() => setUnreadOnly((v) => !v)}\n className={cn(\n \"rounded-md border px-2 py-1 text-xs\",\n unreadOnly ? \"bg-accent text-foreground\" : \"bg-background text-muted-foreground hover:bg-accent\",\n )}\n >\n {unreadOnly ? \"Unread\" : \"All\"}\n </button>\n <DialogPrimitive.Close asChild>\n <button type=\"button\" className=\"inline-flex h-8 w-8 items-center justify-center rounded-md hover:bg-accent\">\n <X className=\"h-4 w-4\" />\n </button>\n </DialogPrimitive.Close>\n </div>\n </header>\n\n <div className=\"flex-1 overflow-y-auto px-4 pb-3\">\n {mergedLoading ? (\n <div className=\"flex items-center justify-center py-10 text-muted-foreground\">\n <Loader2 className=\"h-4 w-4 animate-spin\" />\n </div>\n ) : mergedError ? (\n <div className=\"py-10 text-center text-sm text-muted-foreground\">{mergedError}</div>\n ) : visibleItems.length === 0 ? (\n <div className=\"py-10 text-center text-sm text-muted-foreground\">No notifications.</div>\n ) : (\n <div className=\"flex flex-col gap-4\">\n <div>\n <div className=\"sticky top-0 z-20 -mx-4 flex h-8 items-center border-b bg-background px-4 text-xs font-semibold text-muted-foreground\">\n Unread notifications\n </div>\n {unreadGroups.length === 0 ? (\n <div className=\"py-6 text-center text-sm text-muted-foreground\">No unread notifications.</div>\n ) : (\n unreadGroups.map((group) => (\n <div key={`unread:${group.key}`}>\n <div className=\"sticky top-8 z-10 -mx-4 flex h-7 items-center bg-background px-4 text-[11px] font-semibold text-muted-foreground\">\n {group.label}\n </div>\n <div className=\"-mx-4 flex flex-col divide-y divide-border\">\n {group.items.map((n) => (\n <NotificationRow\n key={n.id}\n notification={n}\n onMarkRead={markAsRead}\n onArchive={archive}\n />\n ))}\n </div>\n </div>\n ))\n )}\n </div>\n\n {unreadOnly ? null : (\n <div>\n <div className=\"sticky top-0 z-20 -mx-4 flex h-8 items-center border-b bg-background px-4 text-xs font-semibold text-muted-foreground\">\n Previous notifications\n </div>\n {readGroups.length === 0 ? (\n <div className=\"py-6 text-center text-sm text-muted-foreground\">No previous notifications.</div>\n ) : (\n readGroups.map((group) => (\n <div key={`previous:${group.key}`}>\n <div className=\"sticky top-8 z-10 -mx-4 flex h-7 items-center bg-background px-4 text-[11px] font-semibold text-muted-foreground\">\n {group.label}\n </div>\n <div className=\"-mx-4 flex flex-col divide-y divide-border\">\n {group.items.map((n) => (\n <NotificationRow\n key={n.id}\n notification={n}\n onMarkRead={markAsRead}\n onArchive={archive}\n />\n ))}\n </div>\n </div>\n ))\n )}\n </div>\n )}\n </div>\n )}\n </div>\n </DialogPrimitive.Content>\n </DialogPrimitive.Portal>\n </DialogPrimitive.Root>\n )\n}\n\nfunction NotificationRow({\n notification,\n onMarkRead,\n onArchive,\n}: {\n notification: NotificationItem\n onMarkRead: (id: string) => void\n onArchive: (id: string) => void\n}) {\n const isUnread = !notification.readAt\n const createdAtLabel = (() => {\n const date = new Date(toMs(notification.createdAt))\n if (!Number.isFinite(date.getTime())) return \"\"\n return date.toLocaleString()\n })()\n\n return (\n <div\n className={cn(\n \"group flex w-full gap-3 px-4 py-3 hover:bg-accent/40\",\n isUnread ? \"bg-primary/5\" : \"bg-background\",\n )}\n >\n <button\n type=\"button\"\n className=\"min-w-0 flex-1 text-left\"\n onClick={() => {\n if (isUnread) {\n void onMarkRead(notification.id)\n }\n if (notification.url) {\n window.location.href = notification.url\n }\n }}\n >\n <div className=\"min-w-0\">\n <div className=\"truncate text-sm font-semibold\">{notification.title}</div>\n {notification.body ? (\n <div className=\"mt-0.5 line-clamp-2 text-xs text-muted-foreground\">{notification.body}</div>\n ) : null}\n </div>\n {notification.url ? <div className=\"mt-2 truncate text-xs text-primary\">{notification.url}</div> : null}\n {createdAtLabel ? (\n <div className=\"mt-2 text-[11px] text-muted-foreground\">{createdAtLabel}</div>\n ) : null}\n </button>\n <div className=\"flex items-start\">\n <DropdownMenuPrimitive.Root>\n <DropdownMenuPrimitive.Trigger asChild>\n <button\n type=\"button\"\n className=\"inline-flex h-8 w-8 items-center justify-center rounded-md hover:bg-accent\"\n aria-label=\"Notification options\"\n >\n <MoreVertical className=\"h-4 w-4\" />\n </button>\n </DropdownMenuPrimitive.Trigger>\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n align=\"end\"\n sideOffset={6}\n className={cn(\n \"z-50 min-w-[10rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md\",\n \"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95\",\n \"data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n )}\n >\n <DropdownMenuPrimitive.Item\n className=\"relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\"\n onSelect={() => onArchive(notification.id)}\n >\n Archive\n </DropdownMenuPrimitive.Item>\n <DropdownMenuPrimitive.Item\n className=\"relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\"\n disabled={!isUnread}\n onSelect={() => onMarkRead(notification.id)}\n >\n Mark as read\n </DropdownMenuPrimitive.Item>\n </DropdownMenuPrimitive.Content>\n </DropdownMenuPrimitive.Portal>\n </DropdownMenuPrimitive.Root>\n </div>\n </div>\n )\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"index309.js","names":["React","PopperPrimitive.Root","PopperPrimitive.Anchor","PortalPrimitive","RemoveScroll","RovingFocusGroup.Root","PopperPrimitive.Content","RovingFocusGroup.Item","PopperPrimitive.Arrow"],"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"],"x_google_ignoreList":[0],"mappings":"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"}
package/dist/index31.js CHANGED
@@ -1,8 +1,9 @@
1
- //#region ../../node_modules/date-fns/constants.js
2
- var e = 365.2425, t = 6048e5, n = 864e5, r = 3600 * 24;
3
- r * 7, r * e / 12 * 3;
4
- var i = Symbol.for("constructDateFrom");
1
+ import { constructFromSymbol as e } from "./index30.js";
2
+ //#region ../../node_modules/date-fns/constructFrom.js
3
+ function t(t, n) {
4
+ return typeof t == "function" ? t(n) : t && typeof t == "object" && e in t ? t[e](n) : t instanceof Date ? new t.constructor(n) : new Date(n);
5
+ }
5
6
  //#endregion
6
- export { i as constructFromSymbol, n as millisecondsInDay, t as millisecondsInWeek };
7
+ export { t as default };
7
8
 
8
9
  //# sourceMappingURL=index31.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index31.js","names":[],"sources":["../../../node_modules/date-fns/constants.js"],"sourcesContent":["/**\n * @module constants\n * @summary Useful constants\n * @description\n * Collection of useful date constants.\n *\n * The constants could be imported from `date-fns/constants`:\n *\n * ```ts\n * import { maxTime, minTime } from \"./constants/date-fns/constants\";\n *\n * function isAllowedTime(time) {\n * return time <= maxTime && time >= minTime;\n * }\n * ```\n */\n\n/**\n * @constant\n * @name daysInWeek\n * @summary Days in 1 week.\n */\nexport const daysInWeek = 7;\n\n/**\n * @constant\n * @name daysInYear\n * @summary Days in 1 year.\n *\n * @description\n * How many days in a year.\n *\n * One years equals 365.2425 days according to the formula:\n *\n * > Leap year occurs every 4 years, except for years that are divisible by 100 and not divisible by 400.\n * > 1 mean year = (365+1/4-1/100+1/400) days = 365.2425 days\n */\nexport const daysInYear = 365.2425;\n\n/**\n * @constant\n * @name maxTime\n * @summary Maximum allowed time.\n *\n * @example\n * import { maxTime } from \"./constants/date-fns/constants\";\n *\n * const isValid = 8640000000000001 <= maxTime;\n * //=> false\n *\n * new Date(8640000000000001);\n * //=> Invalid Date\n */\nexport const maxTime = Math.pow(10, 8) * 24 * 60 * 60 * 1000;\n\n/**\n * @constant\n * @name minTime\n * @summary Minimum allowed time.\n *\n * @example\n * import { minTime } from \"./constants/date-fns/constants\";\n *\n * const isValid = -8640000000000001 >= minTime;\n * //=> false\n *\n * new Date(-8640000000000001)\n * //=> Invalid Date\n */\nexport const minTime = -maxTime;\n\n/**\n * @constant\n * @name millisecondsInWeek\n * @summary Milliseconds in 1 week.\n */\nexport const millisecondsInWeek = 604800000;\n\n/**\n * @constant\n * @name millisecondsInDay\n * @summary Milliseconds in 1 day.\n */\nexport const millisecondsInDay = 86400000;\n\n/**\n * @constant\n * @name millisecondsInMinute\n * @summary Milliseconds in 1 minute\n */\nexport const millisecondsInMinute = 60000;\n\n/**\n * @constant\n * @name millisecondsInHour\n * @summary Milliseconds in 1 hour\n */\nexport const millisecondsInHour = 3600000;\n\n/**\n * @constant\n * @name millisecondsInSecond\n * @summary Milliseconds in 1 second\n */\nexport const millisecondsInSecond = 1000;\n\n/**\n * @constant\n * @name minutesInYear\n * @summary Minutes in 1 year.\n */\nexport const minutesInYear = 525600;\n\n/**\n * @constant\n * @name minutesInMonth\n * @summary Minutes in 1 month.\n */\nexport const minutesInMonth = 43200;\n\n/**\n * @constant\n * @name minutesInDay\n * @summary Minutes in 1 day.\n */\nexport const minutesInDay = 1440;\n\n/**\n * @constant\n * @name minutesInHour\n * @summary Minutes in 1 hour.\n */\nexport const minutesInHour = 60;\n\n/**\n * @constant\n * @name monthsInQuarter\n * @summary Months in 1 quarter.\n */\nexport const monthsInQuarter = 3;\n\n/**\n * @constant\n * @name monthsInYear\n * @summary Months in 1 year.\n */\nexport const monthsInYear = 12;\n\n/**\n * @constant\n * @name quartersInYear\n * @summary Quarters in 1 year\n */\nexport const quartersInYear = 4;\n\n/**\n * @constant\n * @name secondsInHour\n * @summary Seconds in 1 hour.\n */\nexport const secondsInHour = 3600;\n\n/**\n * @constant\n * @name secondsInMinute\n * @summary Seconds in 1 minute.\n */\nexport const secondsInMinute = 60;\n\n/**\n * @constant\n * @name secondsInDay\n * @summary Seconds in 1 day.\n */\nexport const secondsInDay = secondsInHour * 24;\n\n/**\n * @constant\n * @name secondsInWeek\n * @summary Seconds in 1 week.\n */\nexport const secondsInWeek = secondsInDay * 7;\n\n/**\n * @constant\n * @name secondsInYear\n * @summary Seconds in 1 year.\n */\nexport const secondsInYear = secondsInDay * daysInYear;\n\n/**\n * @constant\n * @name secondsInMonth\n * @summary Seconds in 1 month\n */\nexport const secondsInMonth = secondsInYear / 12;\n\n/**\n * @constant\n * @name secondsInQuarter\n * @summary Seconds in 1 quarter.\n */\nexport const secondsInQuarter = secondsInMonth * 3;\n\n/**\n * @constant\n * @name constructFromSymbol\n * @summary Symbol enabling Date extensions to inherit properties from the reference date.\n *\n * The symbol is used to enable the `constructFrom` function to construct a date\n * using a reference date and a value. It allows to transfer extra properties\n * from the reference date to the new date. It's useful for extensions like\n * [`TZDate`](https://github.com/date-fns/tz) that accept a time zone as\n * a constructor argument.\n */\nexport const constructFromSymbol = Symbol.for(\"constructDateFrom\");\n"],"x_google_ignoreList":[0],"mappings":";AAqCA,IAAa,IAAa,UAuCb,IAAqB,QAOrB,IAAoB,OA2FpB,IAdgB,OAce;AAOf,IAAe,GAOf,IAAe,IAOE,KAOG;AAajD,IAAa,IAAsB,OAAO,IAAI,oBAAoB"}
1
+ {"version":3,"file":"index31.js","names":[],"sources":["../../../node_modules/date-fns/constructFrom.js"],"sourcesContent":["import { constructFromSymbol } from \"./constants.js\";\n\n/**\n * @name constructFrom\n * @category Generic Helpers\n * @summary Constructs a date using the reference date and the value\n *\n * @description\n * The function constructs a new date using the constructor from the reference\n * date and the given value. It helps to build generic functions that accept\n * date extensions.\n *\n * It defaults to `Date` if the passed reference date is a number or a string.\n *\n * Starting from v3.7.0, it allows to construct a date using `[Symbol.for(\"constructDateFrom\")]`\n * enabling to transfer extra properties from the reference date to the new date.\n * It's useful for extensions like [`TZDate`](https://github.com/date-fns/tz)\n * that accept a time zone as a constructor argument.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The reference date to take constructor from\n * @param value - The value to create the date\n *\n * @returns Date initialized using the given date and value\n *\n * @example\n * import { constructFrom } from \"./constructFrom/date-fns\";\n *\n * // A function that clones a date preserving the original type\n * function cloneDate<DateType extends Date>(date: DateType): DateType {\n * return constructFrom(\n * date, // Use constructor from the given date\n * date.getTime() // Use the date value to create a new date\n * );\n * }\n */\nexport function constructFrom(date, value) {\n if (typeof date === \"function\") return date(value);\n\n if (date && typeof date === \"object\" && constructFromSymbol in date)\n return date[constructFromSymbol](value);\n\n if (date instanceof Date) return new date.constructor(value);\n\n return new Date(value);\n}\n\n// Fallback for modularized imports:\nexport default constructFrom;\n"],"x_google_ignoreList":[0],"mappings":";;AAqCA,SAAgB,EAAc,GAAM,GAAO;AAQzC,QAPI,OAAO,KAAS,aAAmB,EAAK,EAAM,GAE9C,KAAQ,OAAO,KAAS,YAAY,KAAuB,IACtD,EAAK,GAAqB,EAAM,GAErC,aAAgB,OAAa,IAAI,EAAK,YAAY,EAAM,GAErD,IAAI,KAAK,EAAM"}