@rpcbase/ui 0.186.0 → 0.188.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 (467) hide show
  1. package/dist/helpers/useScrollPagination.d.ts.map +1 -1
  2. package/dist/index100.js +6 -8
  3. package/dist/index100.js.map +1 -1
  4. package/dist/index101.js +5 -4
  5. package/dist/index101.js.map +1 -1
  6. package/dist/index102.js +4 -5
  7. package/dist/index102.js.map +1 -1
  8. package/dist/index103.js +3 -3
  9. package/dist/index103.js.map +1 -1
  10. package/dist/index104.js +6 -466
  11. package/dist/index104.js.map +1 -1
  12. package/dist/index105.js +24 -185
  13. package/dist/index105.js.map +1 -1
  14. package/dist/index106.js +6 -107
  15. package/dist/index106.js.map +1 -1
  16. package/dist/index107.js +4 -262
  17. package/dist/index107.js.map +1 -1
  18. package/dist/index108.js +6 -9
  19. package/dist/index108.js.map +1 -1
  20. package/dist/index109.js +5 -42
  21. package/dist/index109.js.map +1 -1
  22. package/dist/index110.js +4 -4
  23. package/dist/index110.js.map +1 -1
  24. package/dist/index111.js +6 -52
  25. package/dist/index111.js.map +1 -1
  26. package/dist/index112.js +4 -4
  27. package/dist/index112.js.map +1 -1
  28. package/dist/index113.js +8 -4
  29. package/dist/index113.js.map +1 -1
  30. package/dist/index114.js +5 -15
  31. package/dist/index114.js.map +1 -1
  32. package/dist/index115.js +4 -5
  33. package/dist/index115.js.map +1 -1
  34. package/dist/index116.js +4 -7
  35. package/dist/index116.js.map +1 -1
  36. package/dist/index117.js +6 -16
  37. package/dist/index117.js.map +1 -1
  38. package/dist/index118.js +145 -4
  39. package/dist/index118.js.map +1 -1
  40. package/dist/index119.js +39 -4
  41. package/dist/index119.js.map +1 -1
  42. package/dist/index120.js +4 -5
  43. package/dist/index120.js.map +1 -1
  44. package/dist/index121.js +7 -5
  45. package/dist/index121.js.map +1 -1
  46. package/dist/index122.js +13 -4
  47. package/dist/index122.js.map +1 -1
  48. package/dist/index123.js +13 -4
  49. package/dist/index123.js.map +1 -1
  50. package/dist/index124.js +7 -6
  51. package/dist/index124.js.map +1 -1
  52. package/dist/index125.js +31 -24
  53. package/dist/index125.js.map +1 -1
  54. package/dist/index126.js +10 -6
  55. package/dist/index126.js.map +1 -1
  56. package/dist/index127.js +10 -4
  57. package/dist/index127.js.map +1 -1
  58. package/dist/index128.js +8 -6
  59. package/dist/index128.js.map +1 -1
  60. package/dist/index129.js +13 -5
  61. package/dist/index129.js.map +1 -1
  62. package/dist/index130.js +101 -4
  63. package/dist/index130.js.map +1 -1
  64. package/dist/index131.js +20 -6
  65. package/dist/index131.js.map +1 -1
  66. package/dist/index132.js +53 -4
  67. package/dist/index132.js.map +1 -1
  68. package/dist/index133.js +71 -7
  69. package/dist/index133.js.map +1 -1
  70. package/dist/index134.js +9 -5
  71. package/dist/index134.js.map +1 -1
  72. package/dist/index135.js +20 -4
  73. package/dist/index135.js.map +1 -1
  74. package/dist/index136.js +16 -4
  75. package/dist/index136.js.map +1 -1
  76. package/dist/index137.js +23 -6
  77. package/dist/index137.js.map +1 -1
  78. package/dist/index138.js +6 -145
  79. package/dist/index138.js.map +1 -1
  80. package/dist/index139.js +5 -39
  81. package/dist/index139.js.map +1 -1
  82. package/dist/index140.js +23 -4
  83. package/dist/index140.js.map +1 -1
  84. package/dist/index141.js +35 -8
  85. package/dist/index141.js.map +1 -1
  86. package/dist/index142.js +16 -14
  87. package/dist/index142.js.map +1 -1
  88. package/dist/index143.js +6 -13
  89. package/dist/index143.js.map +1 -1
  90. package/dist/index144.js +4 -7
  91. package/dist/index144.js.map +1 -1
  92. package/dist/index145.js +4 -31
  93. package/dist/index145.js.map +1 -1
  94. package/dist/index146.js +4 -10
  95. package/dist/index146.js.map +1 -1
  96. package/dist/index147.js +4 -10
  97. package/dist/index147.js.map +1 -1
  98. package/dist/index148.js +3 -8
  99. package/dist/index148.js.map +1 -1
  100. package/dist/index149.js +6 -13
  101. package/dist/index149.js.map +1 -1
  102. package/dist/index150.js +24 -102
  103. package/dist/index150.js.map +1 -1
  104. package/dist/index151.js +8 -20
  105. package/dist/index151.js.map +1 -1
  106. package/dist/index152.js +6 -53
  107. package/dist/index152.js.map +1 -1
  108. package/dist/index153.js +5 -72
  109. package/dist/index153.js.map +1 -1
  110. package/dist/index154.js +3 -9
  111. package/dist/index154.js.map +1 -1
  112. package/dist/index155.js +3 -20
  113. package/dist/index155.js.map +1 -1
  114. package/dist/index156.js +4 -16
  115. package/dist/index156.js.map +1 -1
  116. package/dist/index157.js +3 -23
  117. package/dist/index157.js.map +1 -1
  118. package/dist/index158.js +4 -6
  119. package/dist/index158.js.map +1 -1
  120. package/dist/index159.js +3 -5
  121. package/dist/index159.js.map +1 -1
  122. package/dist/index160.js +2 -22
  123. package/dist/index160.js.map +1 -1
  124. package/dist/index161.js +4 -35
  125. package/dist/index161.js.map +1 -1
  126. package/dist/index162.js +6 -16
  127. package/dist/index162.js.map +1 -1
  128. package/dist/index163.js +68 -6
  129. package/dist/index163.js.map +1 -1
  130. package/dist/index164.js +2 -5
  131. package/dist/index164.js.map +1 -1
  132. package/dist/index165.js +363 -4
  133. package/dist/index165.js.map +1 -1
  134. package/dist/index166.js +261 -4
  135. package/dist/index166.js.map +1 -1
  136. package/dist/index167.js +60 -4
  137. package/dist/index167.js.map +1 -1
  138. package/dist/index168.js +46 -3
  139. package/dist/index168.js.map +1 -1
  140. package/dist/index169.js +169 -6
  141. package/dist/index169.js.map +1 -1
  142. package/dist/index170.js +110 -24
  143. package/dist/index170.js.map +1 -1
  144. package/dist/index171.js +24 -7
  145. package/dist/index171.js.map +1 -1
  146. package/dist/index172.js +8 -7
  147. package/dist/index172.js.map +1 -1
  148. package/dist/index173.js +4 -5
  149. package/dist/index173.js.map +1 -1
  150. package/dist/index174.js +5 -3
  151. package/dist/index174.js.map +1 -1
  152. package/dist/index175.js +4 -3
  153. package/dist/index175.js.map +1 -1
  154. package/dist/index176.js +466 -4
  155. package/dist/index176.js.map +1 -1
  156. package/dist/index177.js +185 -3
  157. package/dist/index177.js.map +1 -1
  158. package/dist/index178.js +107 -4
  159. package/dist/index178.js.map +1 -1
  160. package/dist/index179.js +262 -3
  161. package/dist/index179.js.map +1 -1
  162. package/dist/index180.js +9 -3
  163. package/dist/index180.js.map +1 -1
  164. package/dist/index181.js +42 -3
  165. package/dist/index181.js.map +1 -1
  166. package/dist/index182.js +4 -605
  167. package/dist/index182.js.map +1 -1
  168. package/dist/index186.js +66 -12
  169. package/dist/index186.js.map +1 -1
  170. package/dist/index187.js +176 -150
  171. package/dist/index187.js.map +1 -1
  172. package/dist/index188.js +43 -27
  173. package/dist/index188.js.map +1 -1
  174. package/dist/index189.js +58 -9
  175. package/dist/index189.js.map +1 -1
  176. package/dist/index190.js +8 -47
  177. package/dist/index190.js.map +1 -1
  178. package/dist/index191.js +65 -10
  179. package/dist/index191.js.map +1 -1
  180. package/dist/index192.js +18 -43
  181. package/dist/index192.js.map +1 -1
  182. package/dist/index193.js +14 -93
  183. package/dist/index193.js.map +1 -1
  184. package/dist/index194.js +4 -85
  185. package/dist/index194.js.map +1 -1
  186. package/dist/index195.js +4 -104
  187. package/dist/index195.js.map +1 -1
  188. package/dist/index196.js +6 -52
  189. package/dist/index196.js.map +1 -1
  190. package/dist/index197.js +4 -11
  191. package/dist/index197.js.map +1 -1
  192. package/dist/index198.js +7 -37
  193. package/dist/index198.js.map +1 -1
  194. package/dist/index199.js +17 -8
  195. package/dist/index199.js.map +1 -1
  196. package/dist/index200.js +5 -116
  197. package/dist/index200.js.map +1 -1
  198. package/dist/index201.js +5 -17
  199. package/dist/index201.js.map +1 -1
  200. package/dist/index202.js +13 -15
  201. package/dist/index202.js.map +1 -1
  202. package/dist/index203.js +10 -3
  203. package/dist/index203.js.map +1 -1
  204. package/dist/index204.js +14 -36
  205. package/dist/index204.js.map +1 -1
  206. package/dist/index205.js +14 -20
  207. package/dist/index205.js.map +1 -1
  208. package/dist/index206.js +5 -9
  209. package/dist/index206.js.map +1 -1
  210. package/dist/index207.js +6 -8
  211. package/dist/index207.js.map +1 -1
  212. package/dist/index208.js +7 -19
  213. package/dist/index208.js.map +1 -1
  214. package/dist/index209.js +6 -28
  215. package/dist/index209.js.map +1 -1
  216. package/dist/index210.js +9 -16
  217. package/dist/index210.js.map +1 -1
  218. package/dist/index211.js +5 -58
  219. package/dist/index211.js.map +1 -1
  220. package/dist/index212.js +5 -8
  221. package/dist/index212.js.map +1 -1
  222. package/dist/index213.js +9 -66
  223. package/dist/index213.js.map +1 -1
  224. package/dist/index214.js +5 -19
  225. package/dist/index214.js.map +1 -1
  226. package/dist/index215.js +5 -16
  227. package/dist/index215.js.map +1 -1
  228. package/dist/index216.js +4 -5
  229. package/dist/index216.js.map +1 -1
  230. package/dist/index217.js +11 -5
  231. package/dist/index217.js.map +1 -1
  232. package/dist/index218.js +10 -6
  233. package/dist/index218.js.map +1 -1
  234. package/dist/index219.js +10 -4
  235. package/dist/index219.js.map +1 -1
  236. package/dist/index220.js +11 -7
  237. package/dist/index220.js.map +1 -1
  238. package/dist/index221.js +11 -17
  239. package/dist/index221.js.map +1 -1
  240. package/dist/index222.js +10 -5
  241. package/dist/index222.js.map +1 -1
  242. package/dist/index223.js +7 -5
  243. package/dist/index223.js.map +1 -1
  244. package/dist/index224.js +6 -13
  245. package/dist/index224.js.map +1 -1
  246. package/dist/index225.js +5 -10
  247. package/dist/index225.js.map +1 -1
  248. package/dist/index226.js +6 -14
  249. package/dist/index226.js.map +1 -1
  250. package/dist/index227.js +7 -14
  251. package/dist/index227.js.map +1 -1
  252. package/dist/index228.js +6 -5
  253. package/dist/index228.js.map +1 -1
  254. package/dist/index229.js +55 -6
  255. package/dist/index229.js.map +1 -1
  256. package/dist/index230.js +16 -7
  257. package/dist/index230.js.map +1 -1
  258. package/dist/index231.js +7 -6
  259. package/dist/index231.js.map +1 -1
  260. package/dist/index232.js +10 -9
  261. package/dist/index232.js.map +1 -1
  262. package/dist/index233.js +10 -5
  263. package/dist/index233.js.map +1 -1
  264. package/dist/index234.js +21 -5
  265. package/dist/index234.js.map +1 -1
  266. package/dist/index235.js +10 -9
  267. package/dist/index235.js.map +1 -1
  268. package/dist/index236.js +9 -5
  269. package/dist/index236.js.map +1 -1
  270. package/dist/index237.js +9 -5
  271. package/dist/index237.js.map +1 -1
  272. package/dist/index238.js +4 -4
  273. package/dist/index238.js.map +1 -1
  274. package/dist/index239.js +5 -11
  275. package/dist/index239.js.map +1 -1
  276. package/dist/index24.js +1 -1
  277. package/dist/index240.js +16 -10
  278. package/dist/index240.js.map +1 -1
  279. package/dist/index241.js +9 -10
  280. package/dist/index241.js.map +1 -1
  281. package/dist/index242.js +18 -11
  282. package/dist/index242.js.map +1 -1
  283. package/dist/index243.js +15 -11
  284. package/dist/index243.js.map +1 -1
  285. package/dist/index244.js +12 -10
  286. package/dist/index244.js.map +1 -1
  287. package/dist/index245.js +29 -7
  288. package/dist/index245.js.map +1 -1
  289. package/dist/index246.js +12 -6
  290. package/dist/index246.js.map +1 -1
  291. package/dist/index247.js +25 -5
  292. package/dist/index247.js.map +1 -1
  293. package/dist/index248.js +5 -6
  294. package/dist/index248.js.map +1 -1
  295. package/dist/index249.js +13 -7
  296. package/dist/index249.js.map +1 -1
  297. package/dist/index250.js +154 -6
  298. package/dist/index250.js.map +1 -1
  299. package/dist/index251.js +28 -53
  300. package/dist/index251.js.map +1 -1
  301. package/dist/index252.js +9 -16
  302. package/dist/index252.js.map +1 -1
  303. package/dist/index253.js +47 -7
  304. package/dist/index253.js.map +1 -1
  305. package/dist/index254.js +11 -10
  306. package/dist/index254.js.map +1 -1
  307. package/dist/index255.js +43 -9
  308. package/dist/index255.js.map +1 -1
  309. package/dist/index256.js +93 -19
  310. package/dist/index256.js.map +1 -1
  311. package/dist/index257.js +86 -10
  312. package/dist/index257.js.map +1 -1
  313. package/dist/index258.js +105 -9
  314. package/dist/index258.js.map +1 -1
  315. package/dist/index259.js +52 -9
  316. package/dist/index259.js.map +1 -1
  317. package/dist/index260.js +11 -4
  318. package/dist/index260.js.map +1 -1
  319. package/dist/index261.js +37 -5
  320. package/dist/index261.js.map +1 -1
  321. package/dist/index262.js +8 -16
  322. package/dist/index262.js.map +1 -1
  323. package/dist/index263.js +116 -9
  324. package/dist/index263.js.map +1 -1
  325. package/dist/index264.js +17 -18
  326. package/dist/index264.js.map +1 -1
  327. package/dist/index265.js +15 -15
  328. package/dist/index265.js.map +1 -1
  329. package/dist/index266.js +3 -12
  330. package/dist/index266.js.map +1 -1
  331. package/dist/index267.js +35 -28
  332. package/dist/index267.js.map +1 -1
  333. package/dist/index268.js +19 -11
  334. package/dist/index268.js.map +1 -1
  335. package/dist/index269.js +9 -25
  336. package/dist/index269.js.map +1 -1
  337. package/dist/index270.js +8 -5
  338. package/dist/index270.js.map +1 -1
  339. package/dist/index271.js +17 -65
  340. package/dist/index271.js.map +1 -1
  341. package/dist/index272.js +26 -178
  342. package/dist/index272.js.map +1 -1
  343. package/dist/index273.js +14 -44
  344. package/dist/index273.js.map +1 -1
  345. package/dist/index282.js +4 -20
  346. package/dist/index282.js.map +1 -1
  347. package/dist/index283.js +19 -5
  348. package/dist/index283.js.map +1 -1
  349. package/dist/index284.js +13 -19
  350. package/dist/index284.js.map +1 -1
  351. package/dist/index285.js +20 -12
  352. package/dist/index285.js.map +1 -1
  353. package/dist/index287.js +1 -1
  354. package/dist/index288.js +1 -1
  355. package/dist/index298.js +2 -2
  356. package/dist/index301.js +1 -1
  357. package/dist/index302.js +2 -2
  358. package/dist/index304.js +1 -1
  359. package/dist/index305.js +1 -1
  360. package/dist/index306.js +1 -1
  361. package/dist/index307.js +1 -1
  362. package/dist/index31.js +5 -5
  363. package/dist/index317.js +21 -11
  364. package/dist/index317.js.map +1 -1
  365. package/dist/index318.js +11 -26
  366. package/dist/index318.js.map +1 -1
  367. package/dist/index319.js +27 -4
  368. package/dist/index319.js.map +1 -1
  369. package/dist/index32.js +24 -24
  370. package/dist/index320.js +4 -22
  371. package/dist/index320.js.map +1 -1
  372. package/dist/index33.js +3 -3
  373. package/dist/index35.js +1 -1
  374. package/dist/index39.js +1 -1
  375. package/dist/index40.js +2 -2
  376. package/dist/index43.js +2 -2
  377. package/dist/index44.js +20 -20
  378. package/dist/index48.js +1 -1
  379. package/dist/index49.js +1 -1
  380. package/dist/index52.js +1 -1
  381. package/dist/index53.js +1 -1
  382. package/dist/index54.js +205 -4
  383. package/dist/index54.js.map +1 -1
  384. package/dist/index55.js +3 -6
  385. package/dist/index55.js.map +1 -1
  386. package/dist/index56.js +5 -46
  387. package/dist/index56.js.map +1 -1
  388. package/dist/index57.js +46 -25
  389. package/dist/index57.js.map +1 -1
  390. package/dist/index58.js +24 -48
  391. package/dist/index58.js.map +1 -1
  392. package/dist/index59.js +50 -7
  393. package/dist/index59.js.map +1 -1
  394. package/dist/index6.js +132 -121
  395. package/dist/index6.js.map +1 -1
  396. package/dist/index60.js +7 -14
  397. package/dist/index60.js.map +1 -1
  398. package/dist/index61.js +14 -133
  399. package/dist/index61.js.map +1 -1
  400. package/dist/index62.js +133 -10
  401. package/dist/index62.js.map +1 -1
  402. package/dist/index63.js +10 -216
  403. package/dist/index63.js.map +1 -1
  404. package/dist/index64.js +216 -12
  405. package/dist/index64.js.map +1 -1
  406. package/dist/index65.js +13 -34
  407. package/dist/index65.js.map +1 -1
  408. package/dist/index66.js +31 -44
  409. package/dist/index66.js.map +1 -1
  410. package/dist/index67.js +46 -7
  411. package/dist/index67.js.map +1 -1
  412. package/dist/index68.js +7 -49
  413. package/dist/index68.js.map +1 -1
  414. package/dist/index69.js +50 -4
  415. package/dist/index69.js.map +1 -1
  416. package/dist/index70.js +4 -6
  417. package/dist/index70.js.map +1 -1
  418. package/dist/index71.js +6 -28
  419. package/dist/index71.js.map +1 -1
  420. package/dist/index72.js +28 -50
  421. package/dist/index72.js.map +1 -1
  422. package/dist/index73.js +50 -9
  423. package/dist/index73.js.map +1 -1
  424. package/dist/index74.js +9 -6
  425. package/dist/index74.js.map +1 -1
  426. package/dist/index75.js +2 -8
  427. package/dist/index75.js.map +1 -1
  428. package/dist/index76.js +2 -6
  429. package/dist/index76.js.map +1 -1
  430. package/dist/index77.js +12 -2
  431. package/dist/index77.js.map +1 -1
  432. package/dist/index78.js +2 -2
  433. package/dist/index79.js +2 -54
  434. package/dist/index79.js.map +1 -1
  435. package/dist/index80.js +6 -2
  436. package/dist/index80.js.map +1 -1
  437. package/dist/index81.js +8 -2
  438. package/dist/index81.js.map +1 -1
  439. package/dist/index82.js +5 -11
  440. package/dist/index82.js.map +1 -1
  441. package/dist/index83.js +53 -204
  442. package/dist/index83.js.map +1 -1
  443. package/dist/index84.js +1 -1
  444. package/dist/index86.js +1 -1
  445. package/dist/index87.js +1 -1
  446. package/dist/index89.js +1 -1
  447. package/dist/index90.js +605 -5
  448. package/dist/index90.js.map +1 -1
  449. package/dist/index91.js +52 -69
  450. package/dist/index91.js.map +1 -1
  451. package/dist/index92.js +5 -2
  452. package/dist/index92.js.map +1 -1
  453. package/dist/index93.js +4 -363
  454. package/dist/index93.js.map +1 -1
  455. package/dist/index94.js +15 -261
  456. package/dist/index94.js.map +1 -1
  457. package/dist/index95.js +5 -60
  458. package/dist/index95.js.map +1 -1
  459. package/dist/index96.js +7 -46
  460. package/dist/index96.js.map +1 -1
  461. package/dist/index97.js +16 -169
  462. package/dist/index97.js.map +1 -1
  463. package/dist/index98.js +4 -109
  464. package/dist/index98.js.map +1 -1
  465. package/dist/index99.js +4 -24
  466. package/dist/index99.js.map +1 -1
  467. package/package.json +1 -1
package/dist/index6.js CHANGED
@@ -1,189 +1,200 @@
1
1
  import { c as xe } from "./index28.js";
2
- import { useState as ee, useRef as d, useEffect as a } from "react";
3
- const he = () => typeof window > "u" ? !1 : "IntersectionObserver" in window, Pe = (P, e, t) => {
4
- const R = P.getBoundingClientRect(), v = e.getBoundingClientRect();
5
- return R.bottom >= v.top - t && R.top <= v.bottom;
6
- }, ge = (P, e, t) => {
7
- const R = P.getBoundingClientRect(), v = e.getBoundingClientRect();
8
- return R.top <= v.bottom + t && R.bottom >= v.top;
2
+ import { useState as Z, useRef as R, useEffect as h } from "react";
3
+ const ge = () => typeof window > "u" ? !1 : "IntersectionObserver" in window, Pe = (x, e, t) => {
4
+ const v = x.getBoundingClientRect(), p = e.getBoundingClientRect();
5
+ return v.bottom >= p.top - t && v.top <= p.bottom;
6
+ }, Re = (x, e, t) => {
7
+ const v = x.getBoundingClientRect(), p = e.getBoundingClientRect();
8
+ return v.top <= p.bottom + t && v.bottom >= p.top;
9
9
  };
10
- function be(P) {
10
+ function Fe(x) {
11
11
  const e = xe.c(80), {
12
12
  containerRef: t,
13
- enabled: R,
14
- hasPreviousPage: v,
13
+ enabled: v,
14
+ hasPreviousPage: p,
15
15
  hasNextPage: ne,
16
- onStartReached: w,
17
- onEndReached: F,
16
+ onStartReached: F,
17
+ onEndReached: O,
18
18
  startReachedOffsetPx: se,
19
- endReachedOffsetPx: oe,
20
- maintainScrollOnStartFetch: ce
21
- } = P, r = R === void 0 ? !0 : R, i = v === void 0 ? !1 : v, u = ne === void 0 ? !1 : ne, f = se === void 0 ? 160 : se, o = oe === void 0 ? 160 : oe, h = ce === void 0 ? !0 : ce, [c, Re] = ee(null), [s, ve] = ee(null), [m, ie] = ee(!1), [p, ue] = ee(!1), _ = d(!1), E = d(!1), I = d(!0), S = d(!0), le = d(i), fe = d(u), ae = d(i), de = d(u), te = d(w), re = d(F);
22
- let N, y;
23
- e[0] !== m ? (N = () => {
24
- _.current = m;
25
- }, y = [m], e[0] = m, e[1] = N, e[2] = y) : (N = e[1], y = e[2]), a(N, y);
26
- let M, H;
27
- e[3] !== p ? (H = () => {
28
- E.current = p;
29
- }, M = [p], e[3] = p, e[4] = M, e[5] = H) : (M = e[4], H = e[5]), a(H, M);
19
+ endReachedOffsetPx: ie,
20
+ maintainScrollOnStartFetch: oe
21
+ } = x, r = v === void 0 ? !0 : v, l = p === void 0 ? !1 : p, f = ne === void 0 ? !1 : ne, a = se === void 0 ? 160 : se, i = ie === void 0 ? 160 : ie, m = oe === void 0 ? !0 : oe, [o, me] = Z(null), [s, ve] = Z(null), [P, ce] = Z(!1), [S, ue] = Z(!1), _ = R(!1), E = R(!1), H = R(!0), w = R(!0), le = R(l), ee = R(f), fe = R(l), ae = R(f), te = R(F), re = R(O);
22
+ let y, I;
23
+ e[0] !== P ? (y = () => {
24
+ _.current = P;
25
+ }, I = [P], e[0] = P, e[1] = y, e[2] = I) : (y = e[1], I = e[2]), h(y, I);
26
+ let N, M;
27
+ e[3] !== S ? (M = () => {
28
+ E.current = S;
29
+ }, N = [S], e[3] = S, e[4] = N, e[5] = M) : (N = e[4], M = e[5]), h(M, N);
30
30
  let C, T;
31
- e[6] !== i ? (C = () => {
32
- le.current = i;
33
- }, T = [i], e[6] = i, e[7] = C, e[8] = T) : (C = e[7], T = e[8]), a(C, T);
34
- let B, $;
35
- e[9] !== u ? (B = () => {
36
- fe.current = u;
37
- }, $ = [u], e[9] = u, e[10] = B, e[11] = $) : (B = e[10], $ = e[11]), a(B, $);
31
+ e[6] !== l ? (C = () => {
32
+ le.current = l;
33
+ }, T = [l], e[6] = l, e[7] = C, e[8] = T) : (C = e[7], T = e[8]), h(C, T);
38
34
  let q, A;
39
- e[12] !== w ? (q = () => {
40
- te.current = w;
41
- }, A = [w], e[12] = w, e[13] = q, e[14] = A) : (q = e[13], A = e[14]), a(q, A);
42
- let W, D;
43
- e[15] !== F ? (W = () => {
44
- re.current = F;
45
- }, D = [F], e[15] = F, e[16] = W, e[17] = D) : (W = e[16], D = e[17]), a(W, D);
35
+ e[9] !== f ? (q = () => {
36
+ ee.current = f;
37
+ }, A = [f], e[9] = f, e[10] = q, e[11] = A) : (q = e[10], A = e[11]), h(q, A);
38
+ let B, W;
39
+ e[12] !== F ? (B = () => {
40
+ te.current = F;
41
+ }, W = [F], e[12] = F, e[13] = B, e[14] = W) : (B = e[13], W = e[14]), h(B, W);
42
+ let $, D;
43
+ e[15] !== O ? ($ = () => {
44
+ re.current = O;
45
+ }, D = [O], e[15] = O, e[16] = $, e[17] = D) : ($ = e[16], D = e[17]), h($, D);
46
+ let G;
47
+ e[18] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (G = () => {
48
+ H.current = !0, w.current = !0;
49
+ }, e[18] = G) : G = e[18];
46
50
  let j;
47
- e[18] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (j = () => {
48
- I.current = !0, S.current = !0;
49
- }, e[18] = j) : j = e[18];
51
+ e[19] !== r ? (j = [r], e[19] = r, e[20] = j) : j = e[20], h(G, j);
50
52
  let k;
51
- e[19] !== r ? (k = [r], e[19] = r, e[20] = k) : k = e[20], a(j, k);
52
- let z;
53
- e[21] !== h ? (z = (n) => {
54
- if (!le.current || !te.current || !I.current || _.current || E.current)
53
+ e[21] !== m ? (k = (n) => {
54
+ if (!le.current || !te.current || !H.current || _.current || E.current)
55
55
  return;
56
- I.current = !1, _.current = !0, ie(!0);
57
- const l = n.scrollTop, g = n.scrollHeight;
56
+ H.current = !1, _.current = !0, ce(!0);
57
+ const c = n.scrollTop, d = n.scrollHeight;
58
58
  Promise.resolve(te.current()).then(async () => {
59
- if (!h || !n.isConnected)
59
+ if (!m || !n.isConnected)
60
60
  return;
61
- await new Promise(me);
62
- const x = n.scrollHeight - g;
63
- x <= 0 || (n.scrollTop = l + x);
61
+ await new Promise(Se);
62
+ const u = n.scrollHeight - d;
63
+ u <= 0 || (n.scrollTop = c + u);
64
64
  }).finally(() => {
65
- _.current = !1, ie(!1);
65
+ _.current = !1, ce(!1);
66
66
  });
67
- }, e[21] = h, e[22] = z) : z = e[22];
68
- const b = z;
69
- let G;
70
- e[23] !== t || e[24] !== o || e[25] !== s ? (G = () => {
71
- fe.current && re.current && S.current && (E.current || _.current || (S.current = !1, E.current = !0, ue(!0), Promise.resolve(re.current()).finally(() => {
72
- const n = t.current;
73
- if (n && s) {
74
- const l = Math.max(0, o);
75
- ge(s, n, l) || (S.current = !0);
67
+ }, e[21] = m, e[22] = k) : k = e[22];
68
+ const b = k;
69
+ let g;
70
+ e[23] !== t || e[24] !== i || e[25] !== s ? (g = () => {
71
+ if (!ee.current || !re.current || !w.current || E.current || _.current)
72
+ return;
73
+ const c = t.current?.scrollHeight;
74
+ w.current = !1, E.current = !0, ue(!0);
75
+ let d;
76
+ Promise.resolve(re.current()).then((u) => {
77
+ d = u;
78
+ }).finally(() => {
79
+ const u = t.current;
80
+ let de = !1, he = !1;
81
+ if (u && s) {
82
+ const pe = Math.max(0, i);
83
+ de = Re(s, u, pe), typeof c == "number" && (he = u.scrollHeight > c);
76
84
  }
77
- E.current = !1, ue(!1);
78
- })));
79
- }, e[23] = t, e[24] = o, e[25] = s, e[26] = G) : G = e[26];
80
- const O = G;
81
- let J;
82
- e[27] !== t || e[28] !== r || e[29] !== b || e[30] !== f || e[31] !== c ? (J = () => {
83
- if (!r || !he())
85
+ E.current = !1, ue(!1), w.current = !0, !(d === !1 || !he || !de || !ee.current) && window.requestAnimationFrame(() => {
86
+ window.requestAnimationFrame(() => {
87
+ g();
88
+ });
89
+ });
90
+ });
91
+ }, e[23] = t, e[24] = i, e[25] = s, e[26] = g) : g = e[26];
92
+ let z;
93
+ e[27] !== t || e[28] !== r || e[29] !== b || e[30] !== a || e[31] !== o ? (z = () => {
94
+ if (!r || !ge())
84
95
  return;
85
96
  const n = t.current;
86
- if (!n || !c)
97
+ if (!n || !o)
87
98
  return;
88
- const l = new IntersectionObserver((g) => {
89
- const x = g[0];
90
- if (x) {
91
- if (!x.isIntersecting) {
92
- I.current = !0;
99
+ const c = new IntersectionObserver((d) => {
100
+ const u = d[0];
101
+ if (u) {
102
+ if (!u.isIntersecting) {
103
+ H.current = !0;
93
104
  return;
94
105
  }
95
106
  b(n);
96
107
  }
97
108
  }, {
98
109
  root: n,
99
- rootMargin: `${Math.max(0, f)}px 0px 0px 0px`,
110
+ rootMargin: `${Math.max(0, a)}px 0px 0px 0px`,
100
111
  threshold: 0
101
112
  });
102
- return l.observe(c), () => {
103
- l.disconnect();
113
+ return c.observe(o), () => {
114
+ c.disconnect();
104
115
  };
105
- }, e[27] = t, e[28] = r, e[29] = b, e[30] = f, e[31] = c, e[32] = J) : J = e[32];
116
+ }, e[27] = t, e[28] = r, e[29] = b, e[30] = a, e[31] = o, e[32] = z) : z = e[32];
117
+ let J;
118
+ e[33] !== t || e[34] !== r || e[35] !== m || e[36] !== a || e[37] !== o ? (J = [t, r, m, a, o], e[33] = t, e[34] = r, e[35] = m, e[36] = a, e[37] = o, e[38] = J) : J = e[38], h(z, J);
106
119
  let K;
107
- e[33] !== t || e[34] !== r || e[35] !== h || e[36] !== f || e[37] !== c ? (K = [t, r, h, f, c], e[33] = t, e[34] = r, e[35] = h, e[36] = f, e[37] = c, e[38] = K) : K = e[38], a(J, K);
108
- let L;
109
- e[39] !== t || e[40] !== r || e[41] !== i || e[42] !== b || e[43] !== f || e[44] !== c ? (L = () => {
120
+ e[39] !== t || e[40] !== r || e[41] !== l || e[42] !== b || e[43] !== a || e[44] !== o ? (K = () => {
110
121
  if (!r)
111
122
  return;
112
123
  const n = t.current;
113
- if (!n || !c)
124
+ if (!n || !o)
114
125
  return;
115
- const l = ae.current;
116
- if (ae.current = i, !i || l)
126
+ const c = fe.current;
127
+ if (fe.current = l, !l || c)
117
128
  return;
118
- const g = Math.max(0, f);
119
- if (!Pe(c, n, g)) {
120
- I.current = !0;
129
+ const d = Math.max(0, a);
130
+ if (!Pe(o, n, d)) {
131
+ H.current = !0;
121
132
  return;
122
133
  }
123
134
  b(n);
124
- }, e[39] = t, e[40] = r, e[41] = i, e[42] = b, e[43] = f, e[44] = c, e[45] = L) : L = e[45];
135
+ }, e[39] = t, e[40] = r, e[41] = l, e[42] = b, e[43] = a, e[44] = o, e[45] = K) : K = e[45];
136
+ let L;
137
+ e[46] !== t || e[47] !== r || e[48] !== l || e[49] !== m || e[50] !== a || e[51] !== o ? (L = [t, r, l, m, a, o], e[46] = t, e[47] = r, e[48] = l, e[49] = m, e[50] = a, e[51] = o, e[52] = L) : L = e[52], h(K, L);
125
138
  let Q;
126
- e[46] !== t || e[47] !== r || e[48] !== i || e[49] !== h || e[50] !== f || e[51] !== c ? (Q = [t, r, i, h, f, c], e[46] = t, e[47] = r, e[48] = i, e[49] = h, e[50] = f, e[51] = c, e[52] = Q) : Q = e[52], a(L, Q);
127
- let U;
128
- e[53] !== t || e[54] !== r || e[55] !== o || e[56] !== s || e[57] !== O ? (U = () => {
129
- if (!r || !he())
139
+ e[53] !== t || e[54] !== r || e[55] !== i || e[56] !== s || e[57] !== g ? (Q = () => {
140
+ if (!r || !ge())
130
141
  return;
131
142
  const n = t.current;
132
143
  if (!n || !s)
133
144
  return;
134
- const l = new IntersectionObserver((g) => {
135
- const x = g[0];
136
- if (x) {
137
- if (!x.isIntersecting) {
138
- S.current = !0;
145
+ const c = new IntersectionObserver((d) => {
146
+ const u = d[0];
147
+ if (u) {
148
+ if (!u.isIntersecting) {
149
+ w.current = !0;
139
150
  return;
140
151
  }
141
- O();
152
+ g();
142
153
  }
143
154
  }, {
144
155
  root: n,
145
- rootMargin: `0px 0px ${Math.max(0, o)}px 0px`,
156
+ rootMargin: `0px 0px ${Math.max(0, i)}px 0px`,
146
157
  threshold: 0
147
158
  });
148
- return l.observe(s), () => {
149
- l.disconnect();
159
+ return c.observe(s), () => {
160
+ c.disconnect();
150
161
  };
151
- }, e[53] = t, e[54] = r, e[55] = o, e[56] = s, e[57] = O, e[58] = U) : U = e[58];
162
+ }, e[53] = t, e[54] = r, e[55] = i, e[56] = s, e[57] = g, e[58] = Q) : Q = e[58];
163
+ let U;
164
+ e[59] !== t || e[60] !== r || e[61] !== i || e[62] !== s ? (U = [t, r, i, s], e[59] = t, e[60] = r, e[61] = i, e[62] = s, e[63] = U) : U = e[63], h(Q, U);
152
165
  let V;
153
- e[59] !== t || e[60] !== r || e[61] !== o || e[62] !== s ? (V = [t, r, o, s], e[59] = t, e[60] = r, e[61] = o, e[62] = s, e[63] = V) : V = e[63], a(U, V);
154
- let X;
155
- e[64] !== t || e[65] !== r || e[66] !== o || e[67] !== s || e[68] !== u || e[69] !== O ? (X = () => {
166
+ e[64] !== t || e[65] !== r || e[66] !== i || e[67] !== s || e[68] !== f || e[69] !== g ? (V = () => {
156
167
  if (!r)
157
168
  return;
158
169
  const n = t.current;
159
170
  if (!n || !s)
160
171
  return;
161
- const l = de.current;
162
- if (de.current = u, !u || l)
172
+ const c = ae.current;
173
+ if (ae.current = f, !f || c)
163
174
  return;
164
- const g = Math.max(0, o);
165
- if (!ge(s, n, g)) {
166
- S.current = !0;
175
+ const d = Math.max(0, i);
176
+ if (!Re(s, n, d)) {
177
+ w.current = !0;
167
178
  return;
168
179
  }
169
- O();
170
- }, e[64] = t, e[65] = r, e[66] = o, e[67] = s, e[68] = u, e[69] = O, e[70] = X) : X = e[70];
180
+ g();
181
+ }, e[64] = t, e[65] = r, e[66] = i, e[67] = s, e[68] = f, e[69] = g, e[70] = V) : V = e[70];
182
+ let X;
183
+ e[71] !== t || e[72] !== r || e[73] !== i || e[74] !== s || e[75] !== f ? (X = [t, r, i, s, f], e[71] = t, e[72] = r, e[73] = i, e[74] = s, e[75] = f, e[76] = X) : X = e[76], h(V, X);
171
184
  let Y;
172
- e[71] !== t || e[72] !== r || e[73] !== o || e[74] !== s || e[75] !== u ? (Y = [t, r, o, s, u], e[71] = t, e[72] = r, e[73] = o, e[74] = s, e[75] = u, e[76] = Y) : Y = e[76], a(X, Y);
173
- let Z;
174
- return e[77] !== p || e[78] !== m ? (Z = {
175
- startSentinelRef: Re,
185
+ return e[77] !== S || e[78] !== P ? (Y = {
186
+ startSentinelRef: me,
176
187
  endSentinelRef: ve,
177
- isFetchingPrevious: m,
178
- isFetchingNext: p
179
- }, e[77] = p, e[78] = m, e[79] = Z) : Z = e[79], Z;
188
+ isFetchingPrevious: P,
189
+ isFetchingNext: S
190
+ }, e[77] = S, e[78] = P, e[79] = Y) : Y = e[79], Y;
180
191
  }
181
- function me(P) {
192
+ function Se(x) {
182
193
  window.requestAnimationFrame(() => {
183
- window.requestAnimationFrame(() => P());
194
+ window.requestAnimationFrame(() => x());
184
195
  });
185
196
  }
186
197
  export {
187
- be as useScrollPagination
198
+ Fe as useScrollPagination
188
199
  };
189
200
  //# sourceMappingURL=index6.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index6.js","sources":["../src/helpers/useScrollPagination.ts"],"sourcesContent":["import { useEffect, useRef, useState, type RefObject } from \"react\"\n\n\ntype MaybePromise<T> = T | Promise<T>\n\ntype ReachCallback = () => MaybePromise<boolean | void>\n\nexport type UseScrollPaginationOptions = {\n containerRef: RefObject<HTMLElement | null>\n enabled?: boolean\n hasPreviousPage?: boolean\n hasNextPage?: boolean\n onStartReached?: ReachCallback\n onEndReached?: ReachCallback\n startReachedOffsetPx?: number\n endReachedOffsetPx?: number\n maintainScrollOnStartFetch?: boolean\n}\n\nexport type UseScrollPaginationResult = {\n startSentinelRef: (node: Element | null) => void\n endSentinelRef: (node: Element | null) => void\n isFetchingPrevious: boolean\n isFetchingNext: boolean\n}\n\nconst supportsIntersectionObserver = () => {\n if (typeof window === \"undefined\") return false\n return \"IntersectionObserver\" in window\n}\n\nconst isWithinStartRange = (target: Element, root: HTMLElement, offsetPx: number) => {\n const targetRect = target.getBoundingClientRect()\n const rootRect = root.getBoundingClientRect()\n return targetRect.bottom >= rootRect.top - offsetPx && targetRect.top <= rootRect.bottom\n}\n\nconst isWithinEndRange = (target: Element, root: HTMLElement, offsetPx: number) => {\n const targetRect = target.getBoundingClientRect()\n const rootRect = root.getBoundingClientRect()\n return targetRect.top <= rootRect.bottom + offsetPx && targetRect.bottom >= rootRect.top\n}\n\nexport function useScrollPagination({\n containerRef,\n enabled = true,\n hasPreviousPage = false,\n hasNextPage = false,\n onStartReached,\n onEndReached,\n startReachedOffsetPx = 160,\n endReachedOffsetPx = 160,\n maintainScrollOnStartFetch = true,\n}: UseScrollPaginationOptions): UseScrollPaginationResult {\n const [startSentinel, setStartSentinel] = useState<Element | null>(null)\n const [endSentinel, setEndSentinel] = useState<Element | null>(null)\n const [isFetchingPrevious, setIsFetchingPrevious] = useState(false)\n const [isFetchingNext, setIsFetchingNext] = useState(false)\n\n const isFetchingPreviousRef = useRef(false)\n const isFetchingNextRef = useRef(false)\n const canTriggerStartRef = useRef(true)\n const canTriggerEndRef = useRef(true)\n const hasPreviousPageRef = useRef(hasPreviousPage)\n const hasNextPageRef = useRef(hasNextPage)\n const previousHasPreviousPageRef = useRef(hasPreviousPage)\n const previousHasNextPageRef = useRef(hasNextPage)\n const onStartReachedRef = useRef<ReachCallback | undefined>(onStartReached)\n const onEndReachedRef = useRef<ReachCallback | undefined>(onEndReached)\n\n useEffect(() => {\n isFetchingPreviousRef.current = isFetchingPrevious\n }, [isFetchingPrevious])\n\n useEffect(() => {\n isFetchingNextRef.current = isFetchingNext\n }, [isFetchingNext])\n\n useEffect(() => {\n hasPreviousPageRef.current = hasPreviousPage\n }, [hasPreviousPage])\n\n useEffect(() => {\n hasNextPageRef.current = hasNextPage\n }, [hasNextPage])\n\n useEffect(() => {\n onStartReachedRef.current = onStartReached\n }, [onStartReached])\n\n useEffect(() => {\n onEndReachedRef.current = onEndReached\n }, [onEndReached])\n\n useEffect(() => {\n canTriggerStartRef.current = true\n canTriggerEndRef.current = true\n }, [enabled])\n\n const runStartFetch = (root: HTMLElement) => {\n if (!hasPreviousPageRef.current) return\n if (!onStartReachedRef.current) return\n if (!canTriggerStartRef.current) return\n if (isFetchingPreviousRef.current || isFetchingNextRef.current) return\n\n canTriggerStartRef.current = false\n isFetchingPreviousRef.current = true\n setIsFetchingPrevious(true)\n\n const previousScrollTop = root.scrollTop\n const previousScrollHeight = root.scrollHeight\n\n void Promise.resolve(onStartReachedRef.current())\n .then(async () => {\n if (!maintainScrollOnStartFetch) return\n if (!root.isConnected) return\n\n await new Promise<void>((resolve) => {\n window.requestAnimationFrame(() => {\n window.requestAnimationFrame(() => resolve())\n })\n })\n\n const scrollHeightDelta = root.scrollHeight - previousScrollHeight\n if (scrollHeightDelta <= 0) return\n root.scrollTop = previousScrollTop + scrollHeightDelta\n })\n .finally(() => {\n isFetchingPreviousRef.current = false\n setIsFetchingPrevious(false)\n })\n }\n\n const runEndFetch = () => {\n if (!hasNextPageRef.current) return\n if (!onEndReachedRef.current) return\n if (!canTriggerEndRef.current) return\n if (isFetchingNextRef.current || isFetchingPreviousRef.current) return\n\n canTriggerEndRef.current = false\n isFetchingNextRef.current = true\n setIsFetchingNext(true)\n\n void Promise.resolve(onEndReachedRef.current())\n .finally(() => {\n const root = containerRef.current\n if (root && endSentinel) {\n const resolvedOffsetPx = Math.max(0, endReachedOffsetPx)\n if (!isWithinEndRange(endSentinel, root, resolvedOffsetPx)) {\n canTriggerEndRef.current = true\n }\n }\n\n isFetchingNextRef.current = false\n setIsFetchingNext(false)\n })\n }\n\n useEffect(() => {\n if (!enabled) return\n if (!supportsIntersectionObserver()) return\n\n const root = containerRef.current\n if (!root || !startSentinel) return\n\n const observer = new IntersectionObserver((entries) => {\n const entry = entries[0]\n if (!entry) return\n\n if (!entry.isIntersecting) {\n canTriggerStartRef.current = true\n return\n }\n\n runStartFetch(root)\n }, {\n root,\n rootMargin: `${Math.max(0, startReachedOffsetPx)}px 0px 0px 0px`,\n threshold: 0,\n })\n\n observer.observe(startSentinel)\n return () => {\n observer.disconnect()\n }\n }, [containerRef, enabled, maintainScrollOnStartFetch, startReachedOffsetPx, startSentinel])\n\n useEffect(() => {\n if (!enabled) return\n\n const root = containerRef.current\n if (!root || !startSentinel) return\n\n const hadPreviousPage = previousHasPreviousPageRef.current\n previousHasPreviousPageRef.current = hasPreviousPage\n if (!hasPreviousPage || hadPreviousPage) return\n\n const resolvedOffsetPx = Math.max(0, startReachedOffsetPx)\n if (!isWithinStartRange(startSentinel, root, resolvedOffsetPx)) {\n canTriggerStartRef.current = true\n return\n }\n\n runStartFetch(root)\n }, [\n containerRef,\n enabled,\n hasPreviousPage,\n maintainScrollOnStartFetch,\n startReachedOffsetPx,\n startSentinel,\n ])\n\n useEffect(() => {\n if (!enabled) return\n if (!supportsIntersectionObserver()) return\n\n const root = containerRef.current\n if (!root || !endSentinel) return\n\n const observer = new IntersectionObserver((entries) => {\n const entry = entries[0]\n if (!entry) return\n\n if (!entry.isIntersecting) {\n canTriggerEndRef.current = true\n return\n }\n\n runEndFetch()\n }, {\n root,\n rootMargin: `0px 0px ${Math.max(0, endReachedOffsetPx)}px 0px`,\n threshold: 0,\n })\n\n observer.observe(endSentinel)\n return () => {\n observer.disconnect()\n }\n }, [containerRef, enabled, endReachedOffsetPx, endSentinel])\n\n useEffect(() => {\n if (!enabled) return\n\n const root = containerRef.current\n if (!root || !endSentinel) return\n\n const hadNextPage = previousHasNextPageRef.current\n previousHasNextPageRef.current = hasNextPage\n if (!hasNextPage || hadNextPage) return\n\n const resolvedOffsetPx = Math.max(0, endReachedOffsetPx)\n if (!isWithinEndRange(endSentinel, root, resolvedOffsetPx)) {\n canTriggerEndRef.current = true\n return\n }\n\n runEndFetch()\n }, [\n containerRef,\n enabled,\n endReachedOffsetPx,\n endSentinel,\n hasNextPage,\n ])\n\n return {\n startSentinelRef: setStartSentinel,\n endSentinelRef: setEndSentinel,\n isFetchingPrevious,\n isFetchingNext,\n }\n}\n"],"names":["supportsIntersectionObserver","window","isWithinStartRange","target","root","offsetPx","targetRect","getBoundingClientRect","rootRect","bottom","top","isWithinEndRange","useScrollPagination","t0","$","_c","containerRef","enabled","t1","hasPreviousPage","t2","hasNextPage","t3","onStartReached","onEndReached","startReachedOffsetPx","t4","endReachedOffsetPx","t5","maintainScrollOnStartFetch","t6","undefined","startSentinel","setStartSentinel","useState","endSentinel","setEndSentinel","isFetchingPrevious","setIsFetchingPrevious","isFetchingNext","setIsFetchingNext","isFetchingPreviousRef","useRef","isFetchingNextRef","canTriggerStartRef","canTriggerEndRef","hasPreviousPageRef","hasNextPageRef","previousHasPreviousPageRef","previousHasNextPageRef","onStartReachedRef","onEndReachedRef","t7","t8","current","useEffect","t10","t9","t11","t12","t13","t14","t15","t16","t17","t18","t19","Symbol","for","t20","t21","previousScrollTop","scrollTop","previousScrollHeight","scrollHeight","Promise","resolve","then","isConnected","_temp","scrollHeightDelta","finally","runStartFetch","t22","root_0","resolvedOffsetPx","Math","max","runEndFetch","t23","root_1","observer","IntersectionObserver","entries","entry","isIntersecting","rootMargin","threshold","observe","disconnect","t24","t25","root_2","hadPreviousPage","resolvedOffsetPx_0","t26","t27","root_3","observer_0","entries_0","entry_0","t28","t29","root_4","hadNextPage","resolvedOffsetPx_1","t30","t31","startSentinelRef","endSentinelRef","requestAnimationFrame"],"mappings":"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"}
1
+ {"version":3,"file":"index6.js","sources":["../src/helpers/useScrollPagination.ts"],"sourcesContent":["import { useEffect, useRef, useState, type RefObject } from \"react\"\n\n\ntype MaybePromise<T> = T | Promise<T>\n\ntype ReachCallback = () => MaybePromise<boolean | void>\n\nexport type UseScrollPaginationOptions = {\n containerRef: RefObject<HTMLElement | null>\n enabled?: boolean\n hasPreviousPage?: boolean\n hasNextPage?: boolean\n onStartReached?: ReachCallback\n onEndReached?: ReachCallback\n startReachedOffsetPx?: number\n endReachedOffsetPx?: number\n maintainScrollOnStartFetch?: boolean\n}\n\nexport type UseScrollPaginationResult = {\n startSentinelRef: (node: Element | null) => void\n endSentinelRef: (node: Element | null) => void\n isFetchingPrevious: boolean\n isFetchingNext: boolean\n}\n\nconst supportsIntersectionObserver = () => {\n if (typeof window === \"undefined\") return false\n return \"IntersectionObserver\" in window\n}\n\nconst isWithinStartRange = (target: Element, root: HTMLElement, offsetPx: number) => {\n const targetRect = target.getBoundingClientRect()\n const rootRect = root.getBoundingClientRect()\n return targetRect.bottom >= rootRect.top - offsetPx && targetRect.top <= rootRect.bottom\n}\n\nconst isWithinEndRange = (target: Element, root: HTMLElement, offsetPx: number) => {\n const targetRect = target.getBoundingClientRect()\n const rootRect = root.getBoundingClientRect()\n return targetRect.top <= rootRect.bottom + offsetPx && targetRect.bottom >= rootRect.top\n}\n\nexport function useScrollPagination({\n containerRef,\n enabled = true,\n hasPreviousPage = false,\n hasNextPage = false,\n onStartReached,\n onEndReached,\n startReachedOffsetPx = 160,\n endReachedOffsetPx = 160,\n maintainScrollOnStartFetch = true,\n}: UseScrollPaginationOptions): UseScrollPaginationResult {\n const [startSentinel, setStartSentinel] = useState<Element | null>(null)\n const [endSentinel, setEndSentinel] = useState<Element | null>(null)\n const [isFetchingPrevious, setIsFetchingPrevious] = useState(false)\n const [isFetchingNext, setIsFetchingNext] = useState(false)\n\n const isFetchingPreviousRef = useRef(false)\n const isFetchingNextRef = useRef(false)\n const canTriggerStartRef = useRef(true)\n const canTriggerEndRef = useRef(true)\n const hasPreviousPageRef = useRef(hasPreviousPage)\n const hasNextPageRef = useRef(hasNextPage)\n const previousHasPreviousPageRef = useRef(hasPreviousPage)\n const previousHasNextPageRef = useRef(hasNextPage)\n const onStartReachedRef = useRef<ReachCallback | undefined>(onStartReached)\n const onEndReachedRef = useRef<ReachCallback | undefined>(onEndReached)\n\n useEffect(() => {\n isFetchingPreviousRef.current = isFetchingPrevious\n }, [isFetchingPrevious])\n\n useEffect(() => {\n isFetchingNextRef.current = isFetchingNext\n }, [isFetchingNext])\n\n useEffect(() => {\n hasPreviousPageRef.current = hasPreviousPage\n }, [hasPreviousPage])\n\n useEffect(() => {\n hasNextPageRef.current = hasNextPage\n }, [hasNextPage])\n\n useEffect(() => {\n onStartReachedRef.current = onStartReached\n }, [onStartReached])\n\n useEffect(() => {\n onEndReachedRef.current = onEndReached\n }, [onEndReached])\n\n useEffect(() => {\n canTriggerStartRef.current = true\n canTriggerEndRef.current = true\n }, [enabled])\n\n const runStartFetch = (root: HTMLElement) => {\n if (!hasPreviousPageRef.current) return\n if (!onStartReachedRef.current) return\n if (!canTriggerStartRef.current) return\n if (isFetchingPreviousRef.current || isFetchingNextRef.current) return\n\n canTriggerStartRef.current = false\n isFetchingPreviousRef.current = true\n setIsFetchingPrevious(true)\n\n const previousScrollTop = root.scrollTop\n const previousScrollHeight = root.scrollHeight\n\n void Promise.resolve(onStartReachedRef.current())\n .then(async () => {\n if (!maintainScrollOnStartFetch) return\n if (!root.isConnected) return\n\n await new Promise<void>((resolve) => {\n window.requestAnimationFrame(() => {\n window.requestAnimationFrame(() => resolve())\n })\n })\n\n const scrollHeightDelta = root.scrollHeight - previousScrollHeight\n if (scrollHeightDelta <= 0) return\n root.scrollTop = previousScrollTop + scrollHeightDelta\n })\n .finally(() => {\n isFetchingPreviousRef.current = false\n setIsFetchingPrevious(false)\n })\n }\n\n const runEndFetch = () => {\n if (!hasNextPageRef.current) return\n if (!onEndReachedRef.current) return\n if (!canTriggerEndRef.current) return\n if (isFetchingNextRef.current || isFetchingPreviousRef.current) return\n\n const initialRoot = containerRef.current\n const previousScrollHeight = initialRoot?.scrollHeight\n canTriggerEndRef.current = false\n isFetchingNextRef.current = true\n setIsFetchingNext(true)\n\n let didFetch: boolean | void\n void Promise.resolve(onEndReachedRef.current())\n .then((result) => {\n didFetch = result\n })\n .finally(() => {\n const root = containerRef.current\n let isStillWithinEndRange = false\n let didGrow = false\n if (root && endSentinel) {\n const resolvedOffsetPx = Math.max(0, endReachedOffsetPx)\n isStillWithinEndRange = isWithinEndRange(endSentinel, root, resolvedOffsetPx)\n if (typeof previousScrollHeight === \"number\") {\n didGrow = root.scrollHeight > previousScrollHeight\n }\n }\n\n isFetchingNextRef.current = false\n setIsFetchingNext(false)\n canTriggerEndRef.current = true\n\n if (didFetch === false || !didGrow || !isStillWithinEndRange || !hasNextPageRef.current) return\n window.requestAnimationFrame(() => {\n window.requestAnimationFrame(() => {\n runEndFetch()\n })\n })\n })\n }\n\n useEffect(() => {\n if (!enabled) return\n if (!supportsIntersectionObserver()) return\n\n const root = containerRef.current\n if (!root || !startSentinel) return\n\n const observer = new IntersectionObserver((entries) => {\n const entry = entries[0]\n if (!entry) return\n\n if (!entry.isIntersecting) {\n canTriggerStartRef.current = true\n return\n }\n\n runStartFetch(root)\n }, {\n root,\n rootMargin: `${Math.max(0, startReachedOffsetPx)}px 0px 0px 0px`,\n threshold: 0,\n })\n\n observer.observe(startSentinel)\n return () => {\n observer.disconnect()\n }\n }, [containerRef, enabled, maintainScrollOnStartFetch, startReachedOffsetPx, startSentinel])\n\n useEffect(() => {\n if (!enabled) return\n\n const root = containerRef.current\n if (!root || !startSentinel) return\n\n const hadPreviousPage = previousHasPreviousPageRef.current\n previousHasPreviousPageRef.current = hasPreviousPage\n if (!hasPreviousPage || hadPreviousPage) return\n\n const resolvedOffsetPx = Math.max(0, startReachedOffsetPx)\n if (!isWithinStartRange(startSentinel, root, resolvedOffsetPx)) {\n canTriggerStartRef.current = true\n return\n }\n\n runStartFetch(root)\n }, [\n containerRef,\n enabled,\n hasPreviousPage,\n maintainScrollOnStartFetch,\n startReachedOffsetPx,\n startSentinel,\n ])\n\n useEffect(() => {\n if (!enabled) return\n if (!supportsIntersectionObserver()) return\n\n const root = containerRef.current\n if (!root || !endSentinel) return\n\n const observer = new IntersectionObserver((entries) => {\n const entry = entries[0]\n if (!entry) return\n\n if (!entry.isIntersecting) {\n canTriggerEndRef.current = true\n return\n }\n\n runEndFetch()\n }, {\n root,\n rootMargin: `0px 0px ${Math.max(0, endReachedOffsetPx)}px 0px`,\n threshold: 0,\n })\n\n observer.observe(endSentinel)\n return () => {\n observer.disconnect()\n }\n }, [containerRef, enabled, endReachedOffsetPx, endSentinel])\n\n useEffect(() => {\n if (!enabled) return\n\n const root = containerRef.current\n if (!root || !endSentinel) return\n\n const hadNextPage = previousHasNextPageRef.current\n previousHasNextPageRef.current = hasNextPage\n if (!hasNextPage || hadNextPage) return\n\n const resolvedOffsetPx = Math.max(0, endReachedOffsetPx)\n if (!isWithinEndRange(endSentinel, root, resolvedOffsetPx)) {\n canTriggerEndRef.current = true\n return\n }\n\n runEndFetch()\n }, [\n containerRef,\n enabled,\n endReachedOffsetPx,\n endSentinel,\n hasNextPage,\n ])\n\n return {\n startSentinelRef: setStartSentinel,\n endSentinelRef: setEndSentinel,\n isFetchingPrevious,\n isFetchingNext,\n }\n}\n"],"names":["supportsIntersectionObserver","window","isWithinStartRange","target","root","offsetPx","targetRect","getBoundingClientRect","rootRect","bottom","top","isWithinEndRange","useScrollPagination","t0","$","_c","containerRef","enabled","t1","hasPreviousPage","t2","hasNextPage","t3","onStartReached","onEndReached","startReachedOffsetPx","t4","endReachedOffsetPx","t5","maintainScrollOnStartFetch","t6","undefined","startSentinel","setStartSentinel","useState","endSentinel","setEndSentinel","isFetchingPrevious","setIsFetchingPrevious","isFetchingNext","setIsFetchingNext","isFetchingPreviousRef","useRef","isFetchingNextRef","canTriggerStartRef","canTriggerEndRef","hasPreviousPageRef","hasNextPageRef","previousHasPreviousPageRef","previousHasNextPageRef","onStartReachedRef","onEndReachedRef","t7","t8","current","useEffect","t10","t9","t11","t12","t13","t14","t15","t16","t17","t18","t19","Symbol","for","t20","t21","previousScrollTop","scrollTop","previousScrollHeight","scrollHeight","Promise","resolve","then","isConnected","_temp","scrollHeightDelta","finally","runStartFetch","runEndFetch","previousScrollHeight_0","didFetch","result","root_0","isStillWithinEndRange","didGrow","resolvedOffsetPx","Math","max","requestAnimationFrame","t22","root_1","observer","IntersectionObserver","entries","entry","isIntersecting","rootMargin","threshold","observe","disconnect","t23","t24","root_2","hadPreviousPage","resolvedOffsetPx_0","t25","t26","root_3","observer_0","entries_0","entry_0","t27","t28","root_4","hadNextPage","resolvedOffsetPx_1","t29","t30","startSentinelRef","endSentinelRef"],"mappings":"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"}
package/dist/index60.js CHANGED
@@ -1,18 +1,11 @@
1
- import * as r from "react";
2
- var t = 0;
3
- function a() {
4
- r.useEffect(() => {
5
- const e = document.querySelectorAll("[data-radix-focus-guard]");
6
- return document.body.insertAdjacentElement("afterbegin", e[0] ?? n()), document.body.insertAdjacentElement("beforeend", e[1] ?? n()), t++, () => {
7
- t === 1 && document.querySelectorAll("[data-radix-focus-guard]").forEach((o) => o.remove()), t--;
8
- };
9
- }, []);
10
- }
11
- function n() {
12
- const e = document.createElement("span");
13
- return e.setAttribute("data-radix-focus-guard", ""), e.tabIndex = 0, e.style.outline = "none", e.style.opacity = "0", e.style.position = "fixed", e.style.pointerEvents = "none", e;
1
+ import * as t from "react";
2
+ import "./index30.js";
3
+ var r = t.createContext(void 0);
4
+ function n(o) {
5
+ const e = t.useContext(r);
6
+ return o || e || "ltr";
14
7
  }
15
8
  export {
16
- a as useFocusGuards
9
+ n as useDirection
17
10
  };
18
11
  //# sourceMappingURL=index60.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index60.js","sources":["../../../node_modules/@radix-ui/react-focus-guards/dist/index.mjs"],"sourcesContent":["\"use client\";\n\n// src/focus-guards.tsx\nimport * as React from \"react\";\nvar count = 0;\nfunction FocusGuards(props) {\n useFocusGuards();\n return props.children;\n}\nfunction useFocusGuards() {\n React.useEffect(() => {\n const edgeGuards = document.querySelectorAll(\"[data-radix-focus-guard]\");\n document.body.insertAdjacentElement(\"afterbegin\", edgeGuards[0] ?? createFocusGuard());\n document.body.insertAdjacentElement(\"beforeend\", edgeGuards[1] ?? createFocusGuard());\n count++;\n return () => {\n if (count === 1) {\n document.querySelectorAll(\"[data-radix-focus-guard]\").forEach((node) => node.remove());\n }\n count--;\n };\n }, []);\n}\nfunction createFocusGuard() {\n const element = document.createElement(\"span\");\n element.setAttribute(\"data-radix-focus-guard\", \"\");\n element.tabIndex = 0;\n element.style.outline = \"none\";\n element.style.opacity = \"0\";\n element.style.position = \"fixed\";\n element.style.pointerEvents = \"none\";\n return element;\n}\nexport {\n FocusGuards,\n FocusGuards as Root,\n useFocusGuards\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["count","useFocusGuards","React","edgeGuards","createFocusGuard","node","element"],"mappings":";AAIA,IAAIA,IAAQ;AAKZ,SAASC,IAAiB;AACxB,EAAAC,EAAM,UAAU,MAAM;AACpB,UAAMC,IAAa,SAAS,iBAAiB,0BAA0B;AACvE,oBAAS,KAAK,sBAAsB,cAAcA,EAAW,CAAC,KAAKC,GAAkB,GACrF,SAAS,KAAK,sBAAsB,aAAaD,EAAW,CAAC,KAAKC,GAAkB,GACpFJ,KACO,MAAM;AACX,MAAIA,MAAU,KACZ,SAAS,iBAAiB,0BAA0B,EAAE,QAAQ,CAACK,MAASA,EAAK,QAAQ,GAEvFL;AAAA,IACF;AAAA,EACF,GAAG,CAAA,CAAE;AACP;AACA,SAASI,IAAmB;AAC1B,QAAME,IAAU,SAAS,cAAc,MAAM;AAC7C,SAAAA,EAAQ,aAAa,0BAA0B,EAAE,GACjDA,EAAQ,WAAW,GACnBA,EAAQ,MAAM,UAAU,QACxBA,EAAQ,MAAM,UAAU,KACxBA,EAAQ,MAAM,WAAW,SACzBA,EAAQ,MAAM,gBAAgB,QACvBA;AACT;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index60.js","sources":["../../../node_modules/@radix-ui/react-direction/dist/index.mjs"],"sourcesContent":["// packages/react/direction/src/direction.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nvar DirectionContext = React.createContext(void 0);\nvar DirectionProvider = (props) => {\n const { dir, children } = props;\n return /* @__PURE__ */ jsx(DirectionContext.Provider, { value: dir, children });\n};\nfunction useDirection(localDir) {\n const globalDir = React.useContext(DirectionContext);\n return localDir || globalDir || \"ltr\";\n}\nvar Provider = DirectionProvider;\nexport {\n DirectionProvider,\n Provider,\n useDirection\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["DirectionContext","React","useDirection","localDir","globalDir"],"mappings":";;AAGA,IAAIA,IAAmBC,EAAM,cAAc,MAAM;AAKjD,SAASC,EAAaC,GAAU;AAC9B,QAAMC,IAAYH,EAAM,WAAWD,CAAgB;AACnD,SAAOG,KAAYC,KAAa;AAClC;","x_google_ignoreList":[0]}
package/dist/index61.js CHANGED
@@ -1,137 +1,18 @@
1
- import * as d from "react";
2
- import { useComposedRefs as P } from "./index57.js";
3
- import { Primitive as M } from "./index65.js";
4
- import { useCallbackRef as y } from "./index67.js";
5
- import { j as _ } from "./index30.js";
6
- var F = "focusScope.autoFocusOnMount", T = "focusScope.autoFocusOnUnmount", N = { bubbles: !1, cancelable: !0 }, K = "FocusScope", k = d.forwardRef((e, t) => {
7
- const {
8
- loop: n = !1,
9
- trapped: u = !1,
10
- onMountAutoFocus: p,
11
- onUnmountAutoFocus: L,
12
- ...g
13
- } = e, [o, R] = d.useState(null), E = y(p), v = y(L), b = d.useRef(null), U = P(t, (s) => R(s)), a = d.useRef({
14
- paused: !1,
15
- pause() {
16
- this.paused = !0;
17
- },
18
- resume() {
19
- this.paused = !1;
20
- }
21
- }).current;
22
- d.useEffect(() => {
23
- if (u) {
24
- let s = function(i) {
25
- if (a.paused || !o) return;
26
- const c = i.target;
27
- o.contains(c) ? b.current = c : f(b.current, { select: !0 });
28
- }, l = function(i) {
29
- if (a.paused || !o) return;
30
- const c = i.relatedTarget;
31
- c !== null && (o.contains(c) || f(b.current, { select: !0 }));
32
- }, r = function(i) {
33
- if (document.activeElement === document.body)
34
- for (const h of i)
35
- h.removedNodes.length > 0 && f(o);
36
- };
37
- document.addEventListener("focusin", s), document.addEventListener("focusout", l);
38
- const m = new MutationObserver(r);
39
- return o && m.observe(o, { childList: !0, subtree: !0 }), () => {
40
- document.removeEventListener("focusin", s), document.removeEventListener("focusout", l), m.disconnect();
41
- };
42
- }
43
- }, [u, o, a.paused]), d.useEffect(() => {
44
- if (o) {
45
- O.add(a);
46
- const s = document.activeElement;
47
- if (!o.contains(s)) {
48
- const r = new CustomEvent(F, N);
49
- o.addEventListener(F, E), o.dispatchEvent(r), r.defaultPrevented || (w(V(I(o)), { select: !0 }), document.activeElement === s && f(o));
50
- }
51
- return () => {
52
- o.removeEventListener(F, E), setTimeout(() => {
53
- const r = new CustomEvent(T, N);
54
- o.addEventListener(T, v), o.dispatchEvent(r), r.defaultPrevented || f(s ?? document.body, { select: !0 }), o.removeEventListener(T, v), O.remove(a);
55
- }, 0);
56
- };
57
- }
58
- }, [o, E, v, a]);
59
- const A = d.useCallback(
60
- (s) => {
61
- if (!n && !u || a.paused) return;
62
- const l = s.key === "Tab" && !s.altKey && !s.ctrlKey && !s.metaKey, r = document.activeElement;
63
- if (l && r) {
64
- const m = s.currentTarget, [i, c] = x(m);
65
- i && c ? !s.shiftKey && r === c ? (s.preventDefault(), n && f(i, { select: !0 })) : s.shiftKey && r === i && (s.preventDefault(), n && f(c, { select: !0 })) : r === m && s.preventDefault();
66
- }
67
- },
68
- [n, u, a.paused]
69
- );
70
- return /* @__PURE__ */ _.jsx(M.div, { tabIndex: -1, ...g, ref: U, onKeyDown: A });
71
- });
72
- k.displayName = K;
73
- function w(e, { select: t = !1 } = {}) {
74
- const n = document.activeElement;
75
- for (const u of e)
76
- if (f(u, { select: t }), document.activeElement !== n) return;
77
- }
78
- function x(e) {
79
- const t = I(e), n = S(t, e), u = S(t.reverse(), e);
80
- return [n, u];
81
- }
82
- function I(e) {
83
- const t = [], n = document.createTreeWalker(e, NodeFilter.SHOW_ELEMENT, {
84
- acceptNode: (u) => {
85
- const p = u.tagName === "INPUT" && u.type === "hidden";
86
- return u.disabled || u.hidden || p ? NodeFilter.FILTER_SKIP : u.tabIndex >= 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;
87
- }
88
- });
89
- for (; n.nextNode(); ) t.push(n.currentNode);
90
- return t;
91
- }
92
- function S(e, t) {
93
- for (const n of e)
94
- if (!D(n, { upTo: t })) return n;
95
- }
96
- function D(e, { upTo: t }) {
97
- if (getComputedStyle(e).visibility === "hidden") return !0;
98
- for (; e; ) {
99
- if (t !== void 0 && e === t) return !1;
100
- if (getComputedStyle(e).display === "none") return !0;
101
- e = e.parentElement;
102
- }
103
- return !1;
104
- }
105
- function H(e) {
106
- return e instanceof HTMLInputElement && "select" in e;
107
- }
108
- function f(e, { select: t = !1 } = {}) {
109
- if (e && e.focus) {
110
- const n = document.activeElement;
111
- e.focus({ preventScroll: !0 }), e !== n && H(e) && t && e.select();
112
- }
113
- }
114
- var O = j();
115
- function j() {
116
- let e = [];
117
- return {
118
- add(t) {
119
- const n = e[0];
120
- t !== n && n?.pause(), e = C(e, t), e.unshift(t);
121
- },
122
- remove(t) {
123
- e = C(e, t), e[0]?.resume();
124
- }
125
- };
126
- }
127
- function C(e, t) {
128
- const n = [...e], u = n.indexOf(t);
129
- return u !== -1 && n.splice(u, 1), n;
130
- }
131
- function V(e) {
132
- return e.filter((t) => t.tagName !== "A");
1
+ import * as r from "react";
2
+ var t = 0;
3
+ function a() {
4
+ r.useEffect(() => {
5
+ const e = document.querySelectorAll("[data-radix-focus-guard]");
6
+ return document.body.insertAdjacentElement("afterbegin", e[0] ?? n()), document.body.insertAdjacentElement("beforeend", e[1] ?? n()), t++, () => {
7
+ t === 1 && document.querySelectorAll("[data-radix-focus-guard]").forEach((o) => o.remove()), t--;
8
+ };
9
+ }, []);
10
+ }
11
+ function n() {
12
+ const e = document.createElement("span");
13
+ return e.setAttribute("data-radix-focus-guard", ""), e.tabIndex = 0, e.style.outline = "none", e.style.opacity = "0", e.style.position = "fixed", e.style.pointerEvents = "none", e;
133
14
  }
134
15
  export {
135
- k as FocusScope
16
+ a as useFocusGuards
136
17
  };
137
18
  //# sourceMappingURL=index61.js.map