@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.
- package/dist/helpers/useScrollPagination.d.ts.map +1 -1
- package/dist/index100.js +6 -8
- package/dist/index100.js.map +1 -1
- package/dist/index101.js +5 -4
- package/dist/index101.js.map +1 -1
- package/dist/index102.js +4 -5
- package/dist/index102.js.map +1 -1
- package/dist/index103.js +3 -3
- package/dist/index103.js.map +1 -1
- package/dist/index104.js +6 -466
- package/dist/index104.js.map +1 -1
- package/dist/index105.js +24 -185
- package/dist/index105.js.map +1 -1
- package/dist/index106.js +6 -107
- package/dist/index106.js.map +1 -1
- package/dist/index107.js +4 -262
- package/dist/index107.js.map +1 -1
- package/dist/index108.js +6 -9
- package/dist/index108.js.map +1 -1
- package/dist/index109.js +5 -42
- package/dist/index109.js.map +1 -1
- package/dist/index110.js +4 -4
- package/dist/index110.js.map +1 -1
- package/dist/index111.js +6 -52
- package/dist/index111.js.map +1 -1
- package/dist/index112.js +4 -4
- package/dist/index112.js.map +1 -1
- package/dist/index113.js +8 -4
- package/dist/index113.js.map +1 -1
- package/dist/index114.js +5 -15
- package/dist/index114.js.map +1 -1
- package/dist/index115.js +4 -5
- package/dist/index115.js.map +1 -1
- package/dist/index116.js +4 -7
- package/dist/index116.js.map +1 -1
- package/dist/index117.js +6 -16
- package/dist/index117.js.map +1 -1
- package/dist/index118.js +145 -4
- package/dist/index118.js.map +1 -1
- package/dist/index119.js +39 -4
- package/dist/index119.js.map +1 -1
- package/dist/index120.js +4 -5
- package/dist/index120.js.map +1 -1
- package/dist/index121.js +7 -5
- package/dist/index121.js.map +1 -1
- package/dist/index122.js +13 -4
- package/dist/index122.js.map +1 -1
- package/dist/index123.js +13 -4
- package/dist/index123.js.map +1 -1
- package/dist/index124.js +7 -6
- package/dist/index124.js.map +1 -1
- package/dist/index125.js +31 -24
- package/dist/index125.js.map +1 -1
- package/dist/index126.js +10 -6
- package/dist/index126.js.map +1 -1
- package/dist/index127.js +10 -4
- package/dist/index127.js.map +1 -1
- package/dist/index128.js +8 -6
- package/dist/index128.js.map +1 -1
- package/dist/index129.js +13 -5
- package/dist/index129.js.map +1 -1
- package/dist/index130.js +101 -4
- package/dist/index130.js.map +1 -1
- package/dist/index131.js +20 -6
- package/dist/index131.js.map +1 -1
- package/dist/index132.js +53 -4
- package/dist/index132.js.map +1 -1
- package/dist/index133.js +71 -7
- package/dist/index133.js.map +1 -1
- package/dist/index134.js +9 -5
- package/dist/index134.js.map +1 -1
- package/dist/index135.js +20 -4
- package/dist/index135.js.map +1 -1
- package/dist/index136.js +16 -4
- package/dist/index136.js.map +1 -1
- package/dist/index137.js +23 -6
- package/dist/index137.js.map +1 -1
- package/dist/index138.js +6 -145
- package/dist/index138.js.map +1 -1
- package/dist/index139.js +5 -39
- package/dist/index139.js.map +1 -1
- package/dist/index140.js +23 -4
- package/dist/index140.js.map +1 -1
- package/dist/index141.js +35 -8
- package/dist/index141.js.map +1 -1
- package/dist/index142.js +16 -14
- package/dist/index142.js.map +1 -1
- package/dist/index143.js +6 -13
- package/dist/index143.js.map +1 -1
- package/dist/index144.js +4 -7
- package/dist/index144.js.map +1 -1
- package/dist/index145.js +4 -31
- package/dist/index145.js.map +1 -1
- package/dist/index146.js +4 -10
- package/dist/index146.js.map +1 -1
- package/dist/index147.js +4 -10
- package/dist/index147.js.map +1 -1
- package/dist/index148.js +3 -8
- package/dist/index148.js.map +1 -1
- package/dist/index149.js +6 -13
- package/dist/index149.js.map +1 -1
- package/dist/index150.js +24 -102
- package/dist/index150.js.map +1 -1
- package/dist/index151.js +8 -20
- package/dist/index151.js.map +1 -1
- package/dist/index152.js +6 -53
- package/dist/index152.js.map +1 -1
- package/dist/index153.js +5 -72
- package/dist/index153.js.map +1 -1
- package/dist/index154.js +3 -9
- package/dist/index154.js.map +1 -1
- package/dist/index155.js +3 -20
- package/dist/index155.js.map +1 -1
- package/dist/index156.js +4 -16
- package/dist/index156.js.map +1 -1
- package/dist/index157.js +3 -23
- package/dist/index157.js.map +1 -1
- package/dist/index158.js +4 -6
- package/dist/index158.js.map +1 -1
- package/dist/index159.js +3 -5
- package/dist/index159.js.map +1 -1
- package/dist/index160.js +2 -22
- package/dist/index160.js.map +1 -1
- package/dist/index161.js +4 -35
- package/dist/index161.js.map +1 -1
- package/dist/index162.js +6 -16
- package/dist/index162.js.map +1 -1
- package/dist/index163.js +68 -6
- package/dist/index163.js.map +1 -1
- package/dist/index164.js +2 -5
- package/dist/index164.js.map +1 -1
- package/dist/index165.js +363 -4
- package/dist/index165.js.map +1 -1
- package/dist/index166.js +261 -4
- package/dist/index166.js.map +1 -1
- package/dist/index167.js +60 -4
- package/dist/index167.js.map +1 -1
- package/dist/index168.js +46 -3
- package/dist/index168.js.map +1 -1
- package/dist/index169.js +169 -6
- package/dist/index169.js.map +1 -1
- package/dist/index170.js +110 -24
- package/dist/index170.js.map +1 -1
- package/dist/index171.js +24 -7
- package/dist/index171.js.map +1 -1
- package/dist/index172.js +8 -7
- package/dist/index172.js.map +1 -1
- package/dist/index173.js +4 -5
- package/dist/index173.js.map +1 -1
- package/dist/index174.js +5 -3
- package/dist/index174.js.map +1 -1
- package/dist/index175.js +4 -3
- package/dist/index175.js.map +1 -1
- package/dist/index176.js +466 -4
- package/dist/index176.js.map +1 -1
- package/dist/index177.js +185 -3
- package/dist/index177.js.map +1 -1
- package/dist/index178.js +107 -4
- package/dist/index178.js.map +1 -1
- package/dist/index179.js +262 -3
- package/dist/index179.js.map +1 -1
- package/dist/index180.js +9 -3
- package/dist/index180.js.map +1 -1
- package/dist/index181.js +42 -3
- package/dist/index181.js.map +1 -1
- package/dist/index182.js +4 -605
- package/dist/index182.js.map +1 -1
- package/dist/index186.js +66 -12
- package/dist/index186.js.map +1 -1
- package/dist/index187.js +176 -150
- package/dist/index187.js.map +1 -1
- package/dist/index188.js +43 -27
- package/dist/index188.js.map +1 -1
- package/dist/index189.js +58 -9
- package/dist/index189.js.map +1 -1
- package/dist/index190.js +8 -47
- package/dist/index190.js.map +1 -1
- package/dist/index191.js +65 -10
- package/dist/index191.js.map +1 -1
- package/dist/index192.js +18 -43
- package/dist/index192.js.map +1 -1
- package/dist/index193.js +14 -93
- package/dist/index193.js.map +1 -1
- package/dist/index194.js +4 -85
- package/dist/index194.js.map +1 -1
- package/dist/index195.js +4 -104
- package/dist/index195.js.map +1 -1
- package/dist/index196.js +6 -52
- package/dist/index196.js.map +1 -1
- package/dist/index197.js +4 -11
- package/dist/index197.js.map +1 -1
- package/dist/index198.js +7 -37
- package/dist/index198.js.map +1 -1
- package/dist/index199.js +17 -8
- package/dist/index199.js.map +1 -1
- package/dist/index200.js +5 -116
- package/dist/index200.js.map +1 -1
- package/dist/index201.js +5 -17
- package/dist/index201.js.map +1 -1
- package/dist/index202.js +13 -15
- package/dist/index202.js.map +1 -1
- package/dist/index203.js +10 -3
- package/dist/index203.js.map +1 -1
- package/dist/index204.js +14 -36
- package/dist/index204.js.map +1 -1
- package/dist/index205.js +14 -20
- package/dist/index205.js.map +1 -1
- package/dist/index206.js +5 -9
- package/dist/index206.js.map +1 -1
- package/dist/index207.js +6 -8
- package/dist/index207.js.map +1 -1
- package/dist/index208.js +7 -19
- package/dist/index208.js.map +1 -1
- package/dist/index209.js +6 -28
- package/dist/index209.js.map +1 -1
- package/dist/index210.js +9 -16
- package/dist/index210.js.map +1 -1
- package/dist/index211.js +5 -58
- package/dist/index211.js.map +1 -1
- package/dist/index212.js +5 -8
- package/dist/index212.js.map +1 -1
- package/dist/index213.js +9 -66
- package/dist/index213.js.map +1 -1
- package/dist/index214.js +5 -19
- package/dist/index214.js.map +1 -1
- package/dist/index215.js +5 -16
- package/dist/index215.js.map +1 -1
- package/dist/index216.js +4 -5
- package/dist/index216.js.map +1 -1
- package/dist/index217.js +11 -5
- package/dist/index217.js.map +1 -1
- package/dist/index218.js +10 -6
- package/dist/index218.js.map +1 -1
- package/dist/index219.js +10 -4
- package/dist/index219.js.map +1 -1
- package/dist/index220.js +11 -7
- package/dist/index220.js.map +1 -1
- package/dist/index221.js +11 -17
- package/dist/index221.js.map +1 -1
- package/dist/index222.js +10 -5
- package/dist/index222.js.map +1 -1
- package/dist/index223.js +7 -5
- package/dist/index223.js.map +1 -1
- package/dist/index224.js +6 -13
- package/dist/index224.js.map +1 -1
- package/dist/index225.js +5 -10
- package/dist/index225.js.map +1 -1
- package/dist/index226.js +6 -14
- package/dist/index226.js.map +1 -1
- package/dist/index227.js +7 -14
- package/dist/index227.js.map +1 -1
- package/dist/index228.js +6 -5
- package/dist/index228.js.map +1 -1
- package/dist/index229.js +55 -6
- package/dist/index229.js.map +1 -1
- package/dist/index230.js +16 -7
- package/dist/index230.js.map +1 -1
- package/dist/index231.js +7 -6
- package/dist/index231.js.map +1 -1
- package/dist/index232.js +10 -9
- package/dist/index232.js.map +1 -1
- package/dist/index233.js +10 -5
- package/dist/index233.js.map +1 -1
- package/dist/index234.js +21 -5
- package/dist/index234.js.map +1 -1
- package/dist/index235.js +10 -9
- package/dist/index235.js.map +1 -1
- package/dist/index236.js +9 -5
- package/dist/index236.js.map +1 -1
- package/dist/index237.js +9 -5
- package/dist/index237.js.map +1 -1
- package/dist/index238.js +4 -4
- package/dist/index238.js.map +1 -1
- package/dist/index239.js +5 -11
- package/dist/index239.js.map +1 -1
- package/dist/index24.js +1 -1
- package/dist/index240.js +16 -10
- package/dist/index240.js.map +1 -1
- package/dist/index241.js +9 -10
- package/dist/index241.js.map +1 -1
- package/dist/index242.js +18 -11
- package/dist/index242.js.map +1 -1
- package/dist/index243.js +15 -11
- package/dist/index243.js.map +1 -1
- package/dist/index244.js +12 -10
- package/dist/index244.js.map +1 -1
- package/dist/index245.js +29 -7
- package/dist/index245.js.map +1 -1
- package/dist/index246.js +12 -6
- package/dist/index246.js.map +1 -1
- package/dist/index247.js +25 -5
- package/dist/index247.js.map +1 -1
- package/dist/index248.js +5 -6
- package/dist/index248.js.map +1 -1
- package/dist/index249.js +13 -7
- package/dist/index249.js.map +1 -1
- package/dist/index250.js +154 -6
- package/dist/index250.js.map +1 -1
- package/dist/index251.js +28 -53
- package/dist/index251.js.map +1 -1
- package/dist/index252.js +9 -16
- package/dist/index252.js.map +1 -1
- package/dist/index253.js +47 -7
- package/dist/index253.js.map +1 -1
- package/dist/index254.js +11 -10
- package/dist/index254.js.map +1 -1
- package/dist/index255.js +43 -9
- package/dist/index255.js.map +1 -1
- package/dist/index256.js +93 -19
- package/dist/index256.js.map +1 -1
- package/dist/index257.js +86 -10
- package/dist/index257.js.map +1 -1
- package/dist/index258.js +105 -9
- package/dist/index258.js.map +1 -1
- package/dist/index259.js +52 -9
- package/dist/index259.js.map +1 -1
- package/dist/index260.js +11 -4
- package/dist/index260.js.map +1 -1
- package/dist/index261.js +37 -5
- package/dist/index261.js.map +1 -1
- package/dist/index262.js +8 -16
- package/dist/index262.js.map +1 -1
- package/dist/index263.js +116 -9
- package/dist/index263.js.map +1 -1
- package/dist/index264.js +17 -18
- package/dist/index264.js.map +1 -1
- package/dist/index265.js +15 -15
- package/dist/index265.js.map +1 -1
- package/dist/index266.js +3 -12
- package/dist/index266.js.map +1 -1
- package/dist/index267.js +35 -28
- package/dist/index267.js.map +1 -1
- package/dist/index268.js +19 -11
- package/dist/index268.js.map +1 -1
- package/dist/index269.js +9 -25
- package/dist/index269.js.map +1 -1
- package/dist/index270.js +8 -5
- package/dist/index270.js.map +1 -1
- package/dist/index271.js +17 -65
- package/dist/index271.js.map +1 -1
- package/dist/index272.js +26 -178
- package/dist/index272.js.map +1 -1
- package/dist/index273.js +14 -44
- package/dist/index273.js.map +1 -1
- package/dist/index282.js +4 -20
- package/dist/index282.js.map +1 -1
- package/dist/index283.js +19 -5
- package/dist/index283.js.map +1 -1
- package/dist/index284.js +13 -19
- package/dist/index284.js.map +1 -1
- package/dist/index285.js +20 -12
- package/dist/index285.js.map +1 -1
- package/dist/index287.js +1 -1
- package/dist/index288.js +1 -1
- package/dist/index298.js +2 -2
- package/dist/index301.js +1 -1
- package/dist/index302.js +2 -2
- package/dist/index304.js +1 -1
- package/dist/index305.js +1 -1
- package/dist/index306.js +1 -1
- package/dist/index307.js +1 -1
- package/dist/index31.js +5 -5
- package/dist/index317.js +21 -11
- package/dist/index317.js.map +1 -1
- package/dist/index318.js +11 -26
- package/dist/index318.js.map +1 -1
- package/dist/index319.js +27 -4
- package/dist/index319.js.map +1 -1
- package/dist/index32.js +24 -24
- package/dist/index320.js +4 -22
- package/dist/index320.js.map +1 -1
- package/dist/index33.js +3 -3
- package/dist/index35.js +1 -1
- package/dist/index39.js +1 -1
- package/dist/index40.js +2 -2
- package/dist/index43.js +2 -2
- package/dist/index44.js +20 -20
- package/dist/index48.js +1 -1
- package/dist/index49.js +1 -1
- package/dist/index52.js +1 -1
- package/dist/index53.js +1 -1
- package/dist/index54.js +205 -4
- package/dist/index54.js.map +1 -1
- package/dist/index55.js +3 -6
- package/dist/index55.js.map +1 -1
- package/dist/index56.js +5 -46
- package/dist/index56.js.map +1 -1
- package/dist/index57.js +46 -25
- package/dist/index57.js.map +1 -1
- package/dist/index58.js +24 -48
- package/dist/index58.js.map +1 -1
- package/dist/index59.js +50 -7
- package/dist/index59.js.map +1 -1
- package/dist/index6.js +132 -121
- package/dist/index6.js.map +1 -1
- package/dist/index60.js +7 -14
- package/dist/index60.js.map +1 -1
- package/dist/index61.js +14 -133
- package/dist/index61.js.map +1 -1
- package/dist/index62.js +133 -10
- package/dist/index62.js.map +1 -1
- package/dist/index63.js +10 -216
- package/dist/index63.js.map +1 -1
- package/dist/index64.js +216 -12
- package/dist/index64.js.map +1 -1
- package/dist/index65.js +13 -34
- package/dist/index65.js.map +1 -1
- package/dist/index66.js +31 -44
- package/dist/index66.js.map +1 -1
- package/dist/index67.js +46 -7
- package/dist/index67.js.map +1 -1
- package/dist/index68.js +7 -49
- package/dist/index68.js.map +1 -1
- package/dist/index69.js +50 -4
- package/dist/index69.js.map +1 -1
- package/dist/index70.js +4 -6
- package/dist/index70.js.map +1 -1
- package/dist/index71.js +6 -28
- package/dist/index71.js.map +1 -1
- package/dist/index72.js +28 -50
- package/dist/index72.js.map +1 -1
- package/dist/index73.js +50 -9
- package/dist/index73.js.map +1 -1
- package/dist/index74.js +9 -6
- package/dist/index74.js.map +1 -1
- package/dist/index75.js +2 -8
- package/dist/index75.js.map +1 -1
- package/dist/index76.js +2 -6
- package/dist/index76.js.map +1 -1
- package/dist/index77.js +12 -2
- package/dist/index77.js.map +1 -1
- package/dist/index78.js +2 -2
- package/dist/index79.js +2 -54
- package/dist/index79.js.map +1 -1
- package/dist/index80.js +6 -2
- package/dist/index80.js.map +1 -1
- package/dist/index81.js +8 -2
- package/dist/index81.js.map +1 -1
- package/dist/index82.js +5 -11
- package/dist/index82.js.map +1 -1
- package/dist/index83.js +53 -204
- package/dist/index83.js.map +1 -1
- package/dist/index84.js +1 -1
- package/dist/index86.js +1 -1
- package/dist/index87.js +1 -1
- package/dist/index89.js +1 -1
- package/dist/index90.js +605 -5
- package/dist/index90.js.map +1 -1
- package/dist/index91.js +52 -69
- package/dist/index91.js.map +1 -1
- package/dist/index92.js +5 -2
- package/dist/index92.js.map +1 -1
- package/dist/index93.js +4 -363
- package/dist/index93.js.map +1 -1
- package/dist/index94.js +15 -261
- package/dist/index94.js.map +1 -1
- package/dist/index95.js +5 -60
- package/dist/index95.js.map +1 -1
- package/dist/index96.js +7 -46
- package/dist/index96.js.map +1 -1
- package/dist/index97.js +16 -169
- package/dist/index97.js.map +1 -1
- package/dist/index98.js +4 -109
- package/dist/index98.js.map +1 -1
- package/dist/index99.js +4 -24
- package/dist/index99.js.map +1 -1
- 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
|
|
3
|
-
const
|
|
4
|
-
const
|
|
5
|
-
return
|
|
6
|
-
},
|
|
7
|
-
const
|
|
8
|
-
return
|
|
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
|
|
10
|
+
function Fe(x) {
|
|
11
11
|
const e = xe.c(80), {
|
|
12
12
|
containerRef: t,
|
|
13
|
-
enabled:
|
|
14
|
-
hasPreviousPage:
|
|
13
|
+
enabled: v,
|
|
14
|
+
hasPreviousPage: p,
|
|
15
15
|
hasNextPage: ne,
|
|
16
|
-
onStartReached:
|
|
17
|
-
onEndReached:
|
|
16
|
+
onStartReached: F,
|
|
17
|
+
onEndReached: O,
|
|
18
18
|
startReachedOffsetPx: se,
|
|
19
|
-
endReachedOffsetPx:
|
|
20
|
-
maintainScrollOnStartFetch:
|
|
21
|
-
} =
|
|
22
|
-
let
|
|
23
|
-
e[0] !==
|
|
24
|
-
_.current =
|
|
25
|
-
},
|
|
26
|
-
let
|
|
27
|
-
e[3] !==
|
|
28
|
-
E.current =
|
|
29
|
-
},
|
|
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] !==
|
|
32
|
-
le.current =
|
|
33
|
-
}, 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[
|
|
40
|
-
|
|
41
|
-
}, A = [
|
|
42
|
-
let
|
|
43
|
-
e[
|
|
44
|
-
|
|
45
|
-
},
|
|
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[
|
|
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[
|
|
52
|
-
|
|
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
|
-
|
|
57
|
-
const
|
|
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 (!
|
|
59
|
+
if (!m || !n.isConnected)
|
|
60
60
|
return;
|
|
61
|
-
await new Promise(
|
|
62
|
-
const
|
|
63
|
-
|
|
61
|
+
await new Promise(Se);
|
|
62
|
+
const u = n.scrollHeight - d;
|
|
63
|
+
u <= 0 || (n.scrollTop = c + u);
|
|
64
64
|
}).finally(() => {
|
|
65
|
-
_.current = !1,
|
|
65
|
+
_.current = !1, ce(!1);
|
|
66
66
|
});
|
|
67
|
-
}, e[21] =
|
|
68
|
-
const b =
|
|
69
|
-
let
|
|
70
|
-
e[23] !== t || e[24] !==
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
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
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
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 || !
|
|
97
|
+
if (!n || !o)
|
|
87
98
|
return;
|
|
88
|
-
const
|
|
89
|
-
const
|
|
90
|
-
if (
|
|
91
|
-
if (!
|
|
92
|
-
|
|
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,
|
|
110
|
+
rootMargin: `${Math.max(0, a)}px 0px 0px 0px`,
|
|
100
111
|
threshold: 0
|
|
101
112
|
});
|
|
102
|
-
return
|
|
103
|
-
|
|
113
|
+
return c.observe(o), () => {
|
|
114
|
+
c.disconnect();
|
|
104
115
|
};
|
|
105
|
-
}, e[27] = t, e[28] = r, e[29] = b, e[30] =
|
|
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[
|
|
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 || !
|
|
124
|
+
if (!n || !o)
|
|
114
125
|
return;
|
|
115
|
-
const
|
|
116
|
-
if (
|
|
126
|
+
const c = fe.current;
|
|
127
|
+
if (fe.current = l, !l || c)
|
|
117
128
|
return;
|
|
118
|
-
const
|
|
119
|
-
if (!Pe(
|
|
120
|
-
|
|
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] =
|
|
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[
|
|
127
|
-
|
|
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
|
|
135
|
-
const
|
|
136
|
-
if (
|
|
137
|
-
if (!
|
|
138
|
-
|
|
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
|
-
|
|
152
|
+
g();
|
|
142
153
|
}
|
|
143
154
|
}, {
|
|
144
155
|
root: n,
|
|
145
|
-
rootMargin: `0px 0px ${Math.max(0,
|
|
156
|
+
rootMargin: `0px 0px ${Math.max(0, i)}px 0px`,
|
|
146
157
|
threshold: 0
|
|
147
158
|
});
|
|
148
|
-
return
|
|
149
|
-
|
|
159
|
+
return c.observe(s), () => {
|
|
160
|
+
c.disconnect();
|
|
150
161
|
};
|
|
151
|
-
}, e[53] = t, e[54] = r, e[55] =
|
|
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[
|
|
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
|
|
162
|
-
if (
|
|
172
|
+
const c = ae.current;
|
|
173
|
+
if (ae.current = f, !f || c)
|
|
163
174
|
return;
|
|
164
|
-
const
|
|
165
|
-
if (!
|
|
166
|
-
|
|
175
|
+
const d = Math.max(0, i);
|
|
176
|
+
if (!Re(s, n, d)) {
|
|
177
|
+
w.current = !0;
|
|
167
178
|
return;
|
|
168
179
|
}
|
|
169
|
-
|
|
170
|
-
}, e[64] = t, e[65] = r, e[66] =
|
|
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
|
-
|
|
173
|
-
|
|
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:
|
|
178
|
-
isFetchingNext:
|
|
179
|
-
}, e[77] =
|
|
188
|
+
isFetchingPrevious: P,
|
|
189
|
+
isFetchingNext: S
|
|
190
|
+
}, e[77] = S, e[78] = P, e[79] = Y) : Y = e[79], Y;
|
|
180
191
|
}
|
|
181
|
-
function
|
|
192
|
+
function Se(x) {
|
|
182
193
|
window.requestAnimationFrame(() => {
|
|
183
|
-
window.requestAnimationFrame(() =>
|
|
194
|
+
window.requestAnimationFrame(() => x());
|
|
184
195
|
});
|
|
185
196
|
}
|
|
186
197
|
export {
|
|
187
|
-
|
|
198
|
+
Fe as useScrollPagination
|
|
188
199
|
};
|
|
189
200
|
//# sourceMappingURL=index6.js.map
|
package/dist/index6.js.map
CHANGED
|
@@ -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
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
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
|
-
|
|
9
|
+
n as useDirection
|
|
17
10
|
};
|
|
18
11
|
//# sourceMappingURL=index60.js.map
|
package/dist/index60.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index60.js","sources":["../../../node_modules/@radix-ui/react-
|
|
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
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
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
|
-
|
|
16
|
+
a as useFocusGuards
|
|
136
17
|
};
|
|
137
18
|
//# sourceMappingURL=index61.js.map
|