@ringcentral/juno 2.4.1 → 2.5.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/components/Buttons/IconButton/IconButton.d.ts +6 -2
- package/components/Buttons/IconButton/IconButton.js +9 -7
- package/components/Buttons/IconButton/styles/StyledIconButton.js +15 -7
- package/components/Buttons/IconButton/utils/IconButtonUtils.d.ts +1 -1
- package/components/Buttons/IconButton/utils/IconButtonUtils.js +9 -1
- package/components/Dialer/DialPad/DialPad.d.ts +25 -7
- package/components/Dialer/DialPad/DialPad.js +6 -6
- package/components/Dialer/DialPad/utils/useDialKeyboard.d.ts +8 -9
- package/components/Dialer/DialTextField/DialTextField.d.ts +3 -1
- package/components/Dialer/DialTextField/DialTextField.js +7 -6
- package/components/Downshift/SuggestionList/SuggestionList.d.ts +74 -2
- package/components/Downshift/SuggestionList/SuggestionList.js +4 -1
- package/components/Downshift/styles/DownshiftStyle.d.ts +1 -1
- package/components/Forms/Picker/DatePicker/styles/StyledDatePickerHeader.d.ts +1 -1
- package/components/Forms/Picker/DatePicker/styles/StyledYear.d.ts +1 -1
- package/components/Forms/Picker/TimePicker/styles/StyledSelectionItem.d.ts +1 -1
- package/components/Forms/Picker/TimePicker/styles/StyledTimeIconButton.d.ts +1 -1
- package/components/Forms/Picker/styles/PickerBaseIconButton.d.ts +1 -1
- package/components/Forms/TextField/styles/ClearIconButton.d.ts +2 -2
- package/components/Grid/Grid.d.ts +1 -1
- package/components/Pagination/Pagination/Pagination.d.ts +1 -1
- package/components/Stepper/StepButton/StepButton.d.ts +1 -1
- package/components/Stepper/StepLabel/StepLabel.d.ts +1 -1
- package/components/Table/TableCell/styles/TableCellStyle.js +3 -1
- package/components/Table/types.d.ts +1 -1
- package/components/TablePagination/TablePagination.d.ts +1 -1
- package/components/VirtualizedMenu/VirtualizedMenu.js +11 -0
- package/components/VirtualizedMenu/VirtualizedMenuList.js +7 -14
- package/components/Virtuoso/react-virtuoso/AATree.js +15 -15
- package/components/Virtuoso/react-virtuoso/Grid.d.ts +193 -106
- package/components/Virtuoso/react-virtuoso/Grid.js +19 -24
- package/components/Virtuoso/react-virtuoso/List.d.ts +2664 -596
- package/components/Virtuoso/react-virtuoso/List.js +83 -70
- package/components/Virtuoso/react-virtuoso/Table.d.ts +6253 -0
- package/components/Virtuoso/react-virtuoso/Table.js +184 -0
- package/components/Virtuoso/react-virtuoso/alignToBottomSystem.d.ts +153 -37
- package/components/Virtuoso/react-virtuoso/components.d.ts +248 -41
- package/components/Virtuoso/react-virtuoso/components.js +2 -0
- package/components/Virtuoso/react-virtuoso/domIOSystem.d.ts +2 -4
- package/components/Virtuoso/react-virtuoso/domIOSystem.js +12 -10
- package/components/Virtuoso/react-virtuoso/followOutputSystem.d.ts +146 -27
- package/components/Virtuoso/react-virtuoso/followOutputSystem.js +28 -15
- package/components/Virtuoso/react-virtuoso/gridSystem.d.ts +67 -52
- package/components/Virtuoso/react-virtuoso/gridSystem.js +17 -15
- package/components/Virtuoso/react-virtuoso/groupedListSystem.d.ts +17 -3
- package/components/Virtuoso/react-virtuoso/hooks/useChangedChildSizes.d.ts +2 -1
- package/components/Virtuoso/react-virtuoso/hooks/useChangedChildSizes.js +32 -7
- package/components/Virtuoso/react-virtuoso/hooks/useScrollTop.d.ts +1 -1
- package/components/Virtuoso/react-virtuoso/hooks/useScrollTop.js +40 -26
- package/components/Virtuoso/react-virtuoso/hooks/useSize.d.ts +2 -2
- package/components/Virtuoso/react-virtuoso/hooks/useSize.js +26 -28
- package/components/Virtuoso/react-virtuoso/hooks/useWindowViewportRect.d.ts +1 -1
- package/components/Virtuoso/react-virtuoso/hooks/useWindowViewportRect.js +32 -12
- package/components/Virtuoso/react-virtuoso/index.d.ts +1 -0
- package/components/Virtuoso/react-virtuoso/index.js +2 -0
- package/components/Virtuoso/react-virtuoso/initialItemCountSystem.d.ts +165 -35
- package/components/Virtuoso/react-virtuoso/initialItemCountSystem.js +1 -8
- package/components/Virtuoso/react-virtuoso/initialScrollTopSystem.d.ts +160 -38
- package/components/Virtuoso/react-virtuoso/initialTopMostItemIndexSystem.d.ts +54 -12
- package/components/Virtuoso/react-virtuoso/initialTopMostItemIndexSystem.js +26 -10
- package/components/Virtuoso/react-virtuoso/interfaces.d.ts +134 -28
- package/components/Virtuoso/react-virtuoso/listStateSystem.d.ts +141 -32
- package/components/Virtuoso/react-virtuoso/listStateSystem.js +1 -2
- package/components/Virtuoso/react-virtuoso/listSystem.d.ts +2123 -407
- package/components/Virtuoso/react-virtuoso/listSystem.js +10 -7
- package/components/Virtuoso/react-virtuoso/loggerSystem.d.ts +17 -0
- package/components/Virtuoso/react-virtuoso/loggerSystem.js +37 -0
- package/components/Virtuoso/react-virtuoso/propsReadySystem.d.ts +8 -1
- package/components/Virtuoso/react-virtuoso/propsReadySystem.js +8 -2
- package/components/Virtuoso/react-virtuoso/scrollIntoViewSystem.d.ts +641 -0
- package/components/Virtuoso/react-virtuoso/scrollIntoViewSystem.js +42 -0
- package/components/Virtuoso/react-virtuoso/scrollSeekSystem.d.ts +52 -67
- package/components/Virtuoso/react-virtuoso/scrollSeekSystem.js +11 -25
- package/components/Virtuoso/react-virtuoso/scrollToIndexSystem.d.ts +26 -5
- package/components/Virtuoso/react-virtuoso/scrollToIndexSystem.js +37 -13
- package/components/Virtuoso/react-virtuoso/sizeRangeSystem.d.ts +11 -4
- package/components/Virtuoso/react-virtuoso/sizeRangeSystem.js +44 -15
- package/components/Virtuoso/react-virtuoso/sizeSystem.d.ts +12 -2
- package/components/Virtuoso/react-virtuoso/sizeSystem.js +109 -52
- package/components/Virtuoso/react-virtuoso/stateFlagsSystem.d.ts +17 -5
- package/components/Virtuoso/react-virtuoso/stateFlagsSystem.js +87 -18
- package/components/Virtuoso/react-virtuoso/topItemCountSystem.d.ts +145 -33
- package/components/Virtuoso/react-virtuoso/totalListHeightSystem.d.ts +149 -35
- package/components/Virtuoso/react-virtuoso/upwardScrollFixSystem.d.ts +183 -42
- package/components/Virtuoso/react-virtuoso/upwardScrollFixSystem.js +37 -26
- package/components/Virtuoso/react-virtuoso/utils/correctItemSize.d.ts +1 -0
- package/components/Virtuoso/react-virtuoso/utils/correctItemSize.js +6 -0
- package/components/Virtuoso/react-virtuoso/windowScrollerSystem.d.ts +7 -4
- package/components/Virtuoso/react-virtuoso/windowScrollerSystem.js +9 -7
- package/components/Virtuoso/utils/useHighlightScroll.d.ts +4 -0
- package/components/Virtuoso/utils/useHighlightScroll.js +17 -0
- package/es6/components/Buttons/IconButton/IconButton.js +11 -9
- package/es6/components/Buttons/IconButton/styles/StyledIconButton.js +16 -8
- package/es6/components/Buttons/IconButton/utils/IconButtonUtils.js +9 -1
- package/es6/components/Dialer/DialPad/DialPad.js +6 -6
- package/es6/components/Dialer/DialTextField/DialTextField.js +7 -6
- package/es6/components/Downshift/SuggestionList/SuggestionList.js +5 -2
- package/es6/components/Table/TableCell/TableCell.js +2 -2
- package/es6/components/Table/TableCell/styles/TableCellStyle.js +3 -1
- package/es6/components/VirtualizedMenu/VirtualizedMenu.js +13 -2
- package/es6/components/VirtualizedMenu/VirtualizedMenuList.js +9 -16
- package/es6/components/Virtuoso/react-virtuoso/AATree.js +15 -15
- package/es6/components/Virtuoso/react-virtuoso/Grid.js +20 -25
- package/es6/components/Virtuoso/react-virtuoso/List.js +84 -72
- package/es6/components/Virtuoso/react-virtuoso/Table.js +182 -0
- package/es6/components/Virtuoso/react-virtuoso/components.js +2 -0
- package/es6/components/Virtuoso/react-virtuoso/domIOSystem.js +13 -10
- package/es6/components/Virtuoso/react-virtuoso/followOutputSystem.js +28 -15
- package/es6/components/Virtuoso/react-virtuoso/gridSystem.js +17 -15
- package/es6/components/Virtuoso/react-virtuoso/hooks/useChangedChildSizes.js +31 -6
- package/es6/components/Virtuoso/react-virtuoso/hooks/useScrollTop.js +40 -26
- package/es6/components/Virtuoso/react-virtuoso/hooks/useSize.js +27 -29
- package/es6/components/Virtuoso/react-virtuoso/hooks/useWindowViewportRect.js +32 -12
- package/es6/components/Virtuoso/react-virtuoso/index.js +1 -0
- package/es6/components/Virtuoso/react-virtuoso/initialItemCountSystem.js +1 -8
- package/es6/components/Virtuoso/react-virtuoso/initialTopMostItemIndexSystem.js +25 -10
- package/es6/components/Virtuoso/react-virtuoso/listStateSystem.js +2 -3
- package/es6/components/Virtuoso/react-virtuoso/listSystem.js +10 -7
- package/es6/components/Virtuoso/react-virtuoso/loggerSystem.js +34 -0
- package/es6/components/Virtuoso/react-virtuoso/propsReadySystem.js +9 -2
- package/es6/components/Virtuoso/react-virtuoso/scrollIntoViewSystem.js +40 -0
- package/es6/components/Virtuoso/react-virtuoso/scrollSeekSystem.js +11 -25
- package/es6/components/Virtuoso/react-virtuoso/scrollToIndexSystem.js +37 -13
- package/es6/components/Virtuoso/react-virtuoso/sizeRangeSystem.js +39 -11
- package/es6/components/Virtuoso/react-virtuoso/sizeSystem.js +109 -52
- package/es6/components/Virtuoso/react-virtuoso/stateFlagsSystem.js +87 -18
- package/es6/components/Virtuoso/react-virtuoso/upwardScrollFixSystem.js +39 -28
- package/es6/components/Virtuoso/react-virtuoso/utils/correctItemSize.js +3 -0
- package/es6/components/Virtuoso/react-virtuoso/windowScrollerSystem.js +9 -7
- package/es6/components/Virtuoso/utils/useHighlightScroll.js +16 -0
- package/es6/foundation/hooks/useLongPress/useLongPress.js +7 -7
- package/es6/foundation/index.js +1 -1
- package/es6/foundation/isWebKit154.js +57 -0
- package/es6/foundation/theme/ThemeProvider.js +4 -4
- package/foundation/hooks/useLongPress/useLongPress.d.ts +3 -1
- package/foundation/hooks/useLongPress/useLongPress.js +7 -7
- package/foundation/index.d.ts +1 -1
- package/foundation/index.js +1 -1
- package/foundation/isWebKit154.d.ts +20 -0
- package/foundation/{isSafari154.js → isWebKit154.js} +22 -17
- package/foundation/theme/ThemeProvider.d.ts +1 -1
- package/foundation/theme/ThemeProvider.js +4 -4
- package/package.json +2 -2
- package/es6/foundation/isSafari154.js +0 -52
- package/foundation/isSafari154.d.ts +0 -15
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import * as u from '@virtuoso.dev/urx';
|
|
2
|
-
import { IndexLocation } from './scrollToIndexSystem';
|
|
3
2
|
export interface ElementDimensions {
|
|
4
3
|
width: number;
|
|
5
4
|
height: number;
|
|
@@ -19,26 +18,28 @@ export interface GridState extends GridLayout {
|
|
|
19
18
|
itemWidth: number;
|
|
20
19
|
}
|
|
21
20
|
export declare const gridSystem: u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[], () => {
|
|
21
|
+
scrollContainerState: u.Stream<[number, number]>;
|
|
22
22
|
scrollTop: u.Stream<number>;
|
|
23
23
|
viewportHeight: u.Stream<number>;
|
|
24
24
|
headerHeight: u.StatefulStream<number>;
|
|
25
25
|
footerHeight: u.StatefulStream<number>;
|
|
26
|
+
scrollHeight: u.Stream<number>;
|
|
26
27
|
smoothScrollTargetReached: u.Stream<true>;
|
|
27
28
|
scrollTo: u.Stream<ScrollToOptions>;
|
|
28
29
|
scrollBy: u.Stream<ScrollToOptions>;
|
|
29
|
-
scrollDirection: u.StatefulStream<import("./domIOSystem").ScrollDirection>;
|
|
30
30
|
statefulScrollTop: u.StatefulStream<number>;
|
|
31
31
|
deviation: u.StatefulStream<number>;
|
|
32
32
|
scrollingInProgress: u.StatefulStream<boolean>;
|
|
33
33
|
}>], ([{ scrollTop, viewportHeight, deviation, headerHeight }]: [{
|
|
34
|
+
scrollContainerState: u.Stream<[number, number]>;
|
|
34
35
|
scrollTop: u.Stream<number>;
|
|
35
36
|
viewportHeight: u.Stream<number>;
|
|
36
37
|
headerHeight: u.StatefulStream<number>;
|
|
37
38
|
footerHeight: u.StatefulStream<number>;
|
|
39
|
+
scrollHeight: u.Stream<number>;
|
|
38
40
|
smoothScrollTargetReached: u.Stream<true>;
|
|
39
41
|
scrollTo: u.Stream<ScrollToOptions>;
|
|
40
42
|
scrollBy: u.Stream<ScrollToOptions>;
|
|
41
|
-
scrollDirection: u.StatefulStream<import("./domIOSystem").ScrollDirection>;
|
|
42
43
|
statefulScrollTop: u.StatefulStream<number>;
|
|
43
44
|
deviation: u.StatefulStream<number>;
|
|
44
45
|
scrollingInProgress: u.StatefulStream<boolean>;
|
|
@@ -46,40 +47,45 @@ export declare const gridSystem: u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[
|
|
|
46
47
|
listBoundary: u.Stream<import("./sizeRangeSystem").NumberTuple>;
|
|
47
48
|
overscan: u.StatefulStream<import("./sizeRangeSystem").Overscan>;
|
|
48
49
|
topListHeight: u.StatefulStream<number>;
|
|
50
|
+
fixedHeaderHeight: u.StatefulStream<number>;
|
|
51
|
+
increaseViewportBy: u.StatefulStream<import("./sizeRangeSystem").ViewportIncrease>;
|
|
49
52
|
visibleRange: u.StatefulStream<import("./sizeRangeSystem").NumberTuple>;
|
|
50
53
|
}>, u.SystemSpec<never[], () => {
|
|
54
|
+
scrollContainerState: u.Stream<[number, number]>;
|
|
51
55
|
scrollTop: u.Stream<number>;
|
|
52
56
|
viewportHeight: u.Stream<number>;
|
|
53
57
|
headerHeight: u.StatefulStream<number>;
|
|
54
58
|
footerHeight: u.StatefulStream<number>;
|
|
59
|
+
scrollHeight: u.Stream<number>;
|
|
55
60
|
smoothScrollTargetReached: u.Stream<true>;
|
|
56
61
|
scrollTo: u.Stream<ScrollToOptions>;
|
|
57
62
|
scrollBy: u.Stream<ScrollToOptions>;
|
|
58
|
-
scrollDirection: u.StatefulStream<import("./domIOSystem").ScrollDirection>;
|
|
59
63
|
statefulScrollTop: u.StatefulStream<number>;
|
|
60
64
|
deviation: u.StatefulStream<number>;
|
|
61
65
|
scrollingInProgress: u.StatefulStream<boolean>;
|
|
62
66
|
}>, u.SystemSpec<[u.SystemSpec<never[], () => {
|
|
67
|
+
scrollContainerState: u.Stream<[number, number]>;
|
|
63
68
|
scrollTop: u.Stream<number>;
|
|
64
69
|
viewportHeight: u.Stream<number>;
|
|
65
70
|
headerHeight: u.StatefulStream<number>;
|
|
66
71
|
footerHeight: u.StatefulStream<number>;
|
|
72
|
+
scrollHeight: u.Stream<number>;
|
|
67
73
|
smoothScrollTargetReached: u.Stream<true>;
|
|
68
74
|
scrollTo: u.Stream<ScrollToOptions>;
|
|
69
75
|
scrollBy: u.Stream<ScrollToOptions>;
|
|
70
|
-
scrollDirection: u.StatefulStream<import("./domIOSystem").ScrollDirection>;
|
|
71
76
|
statefulScrollTop: u.StatefulStream<number>;
|
|
72
77
|
deviation: u.StatefulStream<number>;
|
|
73
78
|
scrollingInProgress: u.StatefulStream<boolean>;
|
|
74
|
-
}>], ([{ scrollTop, viewportHeight }]: [{
|
|
79
|
+
}>], ([{ scrollContainerState, scrollTop, viewportHeight, headerHeight, footerHeight, scrollBy, },]: [{
|
|
80
|
+
scrollContainerState: u.Stream<[number, number]>;
|
|
75
81
|
scrollTop: u.Stream<number>;
|
|
76
82
|
viewportHeight: u.Stream<number>;
|
|
77
83
|
headerHeight: u.StatefulStream<number>;
|
|
78
84
|
footerHeight: u.StatefulStream<number>;
|
|
85
|
+
scrollHeight: u.Stream<number>;
|
|
79
86
|
smoothScrollTargetReached: u.Stream<true>;
|
|
80
87
|
scrollTo: u.Stream<ScrollToOptions>;
|
|
81
88
|
scrollBy: u.Stream<ScrollToOptions>;
|
|
82
|
-
scrollDirection: u.StatefulStream<import("./domIOSystem").ScrollDirection>;
|
|
83
89
|
statefulScrollTop: u.StatefulStream<number>;
|
|
84
90
|
deviation: u.StatefulStream<number>;
|
|
85
91
|
scrollingInProgress: u.StatefulStream<boolean>;
|
|
@@ -90,40 +96,33 @@ export declare const gridSystem: u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[
|
|
|
90
96
|
atBottomState: u.Stream<import("./stateFlagsSystem").AtBottomState>;
|
|
91
97
|
atTopStateChange: u.Stream<boolean>;
|
|
92
98
|
atBottomStateChange: u.Stream<boolean>;
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
smoothScrollTargetReached: u.Stream<true>;
|
|
100
|
-
scrollTo: u.Stream<ScrollToOptions>;
|
|
101
|
-
scrollBy: u.Stream<ScrollToOptions>;
|
|
102
|
-
scrollDirection: u.StatefulStream<import("./domIOSystem").ScrollDirection>;
|
|
103
|
-
statefulScrollTop: u.StatefulStream<number>;
|
|
104
|
-
deviation: u.StatefulStream<number>;
|
|
105
|
-
scrollingInProgress: u.StatefulStream<boolean>;
|
|
106
|
-
}>, u.SystemSpec<[u.SystemSpec<never[], () => {
|
|
99
|
+
scrollDirection: u.StatefulStream<import("./stateFlagsSystem").ScrollDirection>;
|
|
100
|
+
atBottomThreshold: u.StatefulStream<number>;
|
|
101
|
+
scrollVelocity: u.StatefulStream<number>;
|
|
102
|
+
lastJumpDueToItemResize: u.StatefulStream<number>;
|
|
103
|
+
}>, u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[], () => {
|
|
104
|
+
scrollContainerState: u.Stream<[number, number]>;
|
|
107
105
|
scrollTop: u.Stream<number>;
|
|
108
106
|
viewportHeight: u.Stream<number>;
|
|
109
107
|
headerHeight: u.StatefulStream<number>;
|
|
110
108
|
footerHeight: u.StatefulStream<number>;
|
|
109
|
+
scrollHeight: u.Stream<number>;
|
|
111
110
|
smoothScrollTargetReached: u.Stream<true>;
|
|
112
111
|
scrollTo: u.Stream<ScrollToOptions>;
|
|
113
112
|
scrollBy: u.Stream<ScrollToOptions>;
|
|
114
|
-
scrollDirection: u.StatefulStream<import("./domIOSystem").ScrollDirection>;
|
|
115
113
|
statefulScrollTop: u.StatefulStream<number>;
|
|
116
114
|
deviation: u.StatefulStream<number>;
|
|
117
115
|
scrollingInProgress: u.StatefulStream<boolean>;
|
|
118
|
-
}>], ([{ scrollTop, viewportHeight }]: [{
|
|
116
|
+
}>], ([{ scrollContainerState, scrollTop, viewportHeight, headerHeight, footerHeight, scrollBy, },]: [{
|
|
117
|
+
scrollContainerState: u.Stream<[number, number]>;
|
|
119
118
|
scrollTop: u.Stream<number>;
|
|
120
119
|
viewportHeight: u.Stream<number>;
|
|
121
120
|
headerHeight: u.StatefulStream<number>;
|
|
122
121
|
footerHeight: u.StatefulStream<number>;
|
|
122
|
+
scrollHeight: u.Stream<number>;
|
|
123
123
|
smoothScrollTargetReached: u.Stream<true>;
|
|
124
124
|
scrollTo: u.Stream<ScrollToOptions>;
|
|
125
125
|
scrollBy: u.Stream<ScrollToOptions>;
|
|
126
|
-
scrollDirection: u.StatefulStream<import("./domIOSystem").ScrollDirection>;
|
|
127
126
|
statefulScrollTop: u.StatefulStream<number>;
|
|
128
127
|
deviation: u.StatefulStream<number>;
|
|
129
128
|
scrollingInProgress: u.StatefulStream<boolean>;
|
|
@@ -134,78 +133,84 @@ export declare const gridSystem: u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[
|
|
|
134
133
|
atBottomState: u.Stream<import("./stateFlagsSystem").AtBottomState>;
|
|
135
134
|
atTopStateChange: u.Stream<boolean>;
|
|
136
135
|
atBottomStateChange: u.Stream<boolean>;
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
footerHeight: u.StatefulStream<number>;
|
|
143
|
-
smoothScrollTargetReached: u.Stream<true>;
|
|
144
|
-
scrollTo: u.Stream<ScrollToOptions>;
|
|
145
|
-
scrollBy: u.Stream<ScrollToOptions>;
|
|
146
|
-
scrollDirection: u.StatefulStream<import("./domIOSystem").ScrollDirection>;
|
|
147
|
-
statefulScrollTop: u.StatefulStream<number>;
|
|
148
|
-
deviation: u.StatefulStream<number>;
|
|
149
|
-
scrollingInProgress: u.StatefulStream<boolean>;
|
|
150
|
-
}, {
|
|
136
|
+
scrollDirection: u.StatefulStream<import("./stateFlagsSystem").ScrollDirection>;
|
|
137
|
+
atBottomThreshold: u.StatefulStream<number>;
|
|
138
|
+
scrollVelocity: u.StatefulStream<number>;
|
|
139
|
+
lastJumpDueToItemResize: u.StatefulStream<number>;
|
|
140
|
+
}>], ([{ scrollVelocity }]: [{
|
|
151
141
|
isScrolling: u.Stream<boolean>;
|
|
152
142
|
isAtTop: u.StatefulStream<boolean>;
|
|
153
143
|
isAtBottom: u.StatefulStream<boolean>;
|
|
154
144
|
atBottomState: u.Stream<import("./stateFlagsSystem").AtBottomState>;
|
|
155
145
|
atTopStateChange: u.Stream<boolean>;
|
|
156
146
|
atBottomStateChange: u.Stream<boolean>;
|
|
157
|
-
|
|
147
|
+
scrollDirection: u.StatefulStream<import("./stateFlagsSystem").ScrollDirection>;
|
|
148
|
+
atBottomThreshold: u.StatefulStream<number>;
|
|
149
|
+
scrollVelocity: u.StatefulStream<number>;
|
|
150
|
+
lastJumpDueToItemResize: u.StatefulStream<number>;
|
|
158
151
|
}]) => {
|
|
159
152
|
isSeeking: u.StatefulStream<boolean>;
|
|
160
153
|
scrollSeekConfiguration: u.StatefulStream<false | import("./interfaces").ScrollSeekConfiguration | undefined>;
|
|
161
154
|
scrollVelocity: u.StatefulStream<number>;
|
|
162
155
|
scrollSeekRangeChanged: u.Stream<import("./interfaces").ListRange>;
|
|
163
|
-
}>, u.SystemSpec<never[], () => {
|
|
156
|
+
}>, u.SystemSpec<[u.SystemSpec<never[], () => {
|
|
157
|
+
log: u.StatefulStream<import("./loggerSystem").Log>;
|
|
158
|
+
logLevel: u.StatefulStream<import("./loggerSystem").LogLevel>;
|
|
159
|
+
}>], ([{ log }]: [{
|
|
160
|
+
log: u.StatefulStream<import("./loggerSystem").Log>;
|
|
161
|
+
logLevel: u.StatefulStream<import("./loggerSystem").LogLevel>;
|
|
162
|
+
}]) => {
|
|
164
163
|
propsReady: u.StatefulStream<boolean>;
|
|
165
164
|
didMount: u.Stream<boolean>;
|
|
166
165
|
}>, u.SystemSpec<[u.SystemSpec<never[], () => {
|
|
166
|
+
scrollContainerState: u.Stream<[number, number]>;
|
|
167
167
|
scrollTop: u.Stream<number>;
|
|
168
168
|
viewportHeight: u.Stream<number>;
|
|
169
169
|
headerHeight: u.StatefulStream<number>;
|
|
170
170
|
footerHeight: u.StatefulStream<number>;
|
|
171
|
+
scrollHeight: u.Stream<number>;
|
|
171
172
|
smoothScrollTargetReached: u.Stream<true>;
|
|
172
173
|
scrollTo: u.Stream<ScrollToOptions>;
|
|
173
174
|
scrollBy: u.Stream<ScrollToOptions>;
|
|
174
|
-
scrollDirection: u.StatefulStream<import("./domIOSystem").ScrollDirection>;
|
|
175
175
|
statefulScrollTop: u.StatefulStream<number>;
|
|
176
176
|
deviation: u.StatefulStream<number>;
|
|
177
177
|
scrollingInProgress: u.StatefulStream<boolean>;
|
|
178
|
-
}>], ([{
|
|
178
|
+
}>], ([{ scrollTo, scrollContainerState }]: [{
|
|
179
|
+
scrollContainerState: u.Stream<[number, number]>;
|
|
179
180
|
scrollTop: u.Stream<number>;
|
|
180
181
|
viewportHeight: u.Stream<number>;
|
|
181
182
|
headerHeight: u.StatefulStream<number>;
|
|
182
183
|
footerHeight: u.StatefulStream<number>;
|
|
184
|
+
scrollHeight: u.Stream<number>;
|
|
183
185
|
smoothScrollTargetReached: u.Stream<true>;
|
|
184
186
|
scrollTo: u.Stream<ScrollToOptions>;
|
|
185
187
|
scrollBy: u.Stream<ScrollToOptions>;
|
|
186
|
-
scrollDirection: u.StatefulStream<import("./domIOSystem").ScrollDirection>;
|
|
187
188
|
statefulScrollTop: u.StatefulStream<number>;
|
|
188
189
|
deviation: u.StatefulStream<number>;
|
|
189
190
|
scrollingInProgress: u.StatefulStream<boolean>;
|
|
190
191
|
}]) => {
|
|
191
192
|
useWindowScroll: u.StatefulStream<boolean>;
|
|
192
|
-
|
|
193
|
+
customScrollParent: u.StatefulStream<HTMLElement | undefined>;
|
|
194
|
+
windowScrollContainerState: u.Stream<[number, number]>;
|
|
193
195
|
windowViewportRect: u.Stream<import("./interfaces").WindowViewportInfo>;
|
|
194
196
|
windowScrollTo: u.Stream<ScrollToOptions>;
|
|
195
|
-
}>], ([{ overscan, visibleRange, listBoundary }, { scrollTop, viewportHeight, scrollBy, scrollTo, smoothScrollTargetReached, }, stateFlags, scrollSeek, { propsReady, didMount }, { windowViewportRect, windowScrollTo, useWindowScroll,
|
|
197
|
+
}>], ([{ overscan, visibleRange, listBoundary }, { scrollTop, viewportHeight, scrollBy, scrollTo, smoothScrollTargetReached, scrollContainerState, }, stateFlags, scrollSeek, { propsReady, didMount }, { windowViewportRect, windowScrollTo, useWindowScroll, customScrollParent, windowScrollContainerState, },]: [{
|
|
196
198
|
listBoundary: u.Stream<import("./sizeRangeSystem").NumberTuple>;
|
|
197
199
|
overscan: u.StatefulStream<import("./sizeRangeSystem").Overscan>;
|
|
198
200
|
topListHeight: u.StatefulStream<number>;
|
|
201
|
+
fixedHeaderHeight: u.StatefulStream<number>;
|
|
202
|
+
increaseViewportBy: u.StatefulStream<import("./sizeRangeSystem").ViewportIncrease>;
|
|
199
203
|
visibleRange: u.StatefulStream<import("./sizeRangeSystem").NumberTuple>;
|
|
200
204
|
}, {
|
|
205
|
+
scrollContainerState: u.Stream<[number, number]>;
|
|
201
206
|
scrollTop: u.Stream<number>;
|
|
202
207
|
viewportHeight: u.Stream<number>;
|
|
203
208
|
headerHeight: u.StatefulStream<number>;
|
|
204
209
|
footerHeight: u.StatefulStream<number>;
|
|
210
|
+
scrollHeight: u.Stream<number>;
|
|
205
211
|
smoothScrollTargetReached: u.Stream<true>;
|
|
206
212
|
scrollTo: u.Stream<ScrollToOptions>;
|
|
207
213
|
scrollBy: u.Stream<ScrollToOptions>;
|
|
208
|
-
scrollDirection: u.StatefulStream<import("./domIOSystem").ScrollDirection>;
|
|
209
214
|
statefulScrollTop: u.StatefulStream<number>;
|
|
210
215
|
deviation: u.StatefulStream<number>;
|
|
211
216
|
scrollingInProgress: u.StatefulStream<boolean>;
|
|
@@ -216,7 +221,10 @@ export declare const gridSystem: u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[
|
|
|
216
221
|
atBottomState: u.Stream<import("./stateFlagsSystem").AtBottomState>;
|
|
217
222
|
atTopStateChange: u.Stream<boolean>;
|
|
218
223
|
atBottomStateChange: u.Stream<boolean>;
|
|
219
|
-
|
|
224
|
+
scrollDirection: u.StatefulStream<import("./stateFlagsSystem").ScrollDirection>;
|
|
225
|
+
atBottomThreshold: u.StatefulStream<number>;
|
|
226
|
+
scrollVelocity: u.StatefulStream<number>;
|
|
227
|
+
lastJumpDueToItemResize: u.StatefulStream<number>;
|
|
220
228
|
}, {
|
|
221
229
|
isSeeking: u.StatefulStream<boolean>;
|
|
222
230
|
scrollSeekConfiguration: u.StatefulStream<false | import("./interfaces").ScrollSeekConfiguration | undefined>;
|
|
@@ -227,7 +235,8 @@ export declare const gridSystem: u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[
|
|
|
227
235
|
didMount: u.Stream<boolean>;
|
|
228
236
|
}, {
|
|
229
237
|
useWindowScroll: u.StatefulStream<boolean>;
|
|
230
|
-
|
|
238
|
+
customScrollParent: u.StatefulStream<HTMLElement | undefined>;
|
|
239
|
+
windowScrollContainerState: u.Stream<[number, number]>;
|
|
231
240
|
windowViewportRect: u.Stream<import("./interfaces").WindowViewportInfo>;
|
|
232
241
|
windowScrollTo: u.Stream<ScrollToOptions>;
|
|
233
242
|
}]) => {
|
|
@@ -241,25 +250,31 @@ export declare const gridSystem: u.SystemSpec<[u.SystemSpec<[u.SystemSpec<never[
|
|
|
241
250
|
atBottomState: u.Stream<import("./stateFlagsSystem").AtBottomState>;
|
|
242
251
|
atTopStateChange: u.Stream<boolean>;
|
|
243
252
|
atBottomStateChange: u.Stream<boolean>;
|
|
244
|
-
|
|
253
|
+
scrollDirection: u.StatefulStream<import("./stateFlagsSystem").ScrollDirection>;
|
|
254
|
+
atBottomThreshold: u.StatefulStream<number>;
|
|
255
|
+
scrollVelocity: u.StatefulStream<number>;
|
|
256
|
+
lastJumpDueToItemResize: u.StatefulStream<number>;
|
|
245
257
|
gridState: u.StatefulStream<GridState>;
|
|
246
258
|
totalListHeight: u.StatefulStream<number>;
|
|
247
259
|
isSeeking: u.StatefulStream<boolean>;
|
|
248
260
|
scrollSeekConfiguration: u.StatefulStream<false | import("./interfaces").ScrollSeekConfiguration | undefined>;
|
|
249
|
-
scrollVelocity: u.StatefulStream<number>;
|
|
250
261
|
scrollSeekRangeChanged: u.Stream<import("./interfaces").ListRange>;
|
|
251
262
|
totalCount: u.StatefulStream<number>;
|
|
252
263
|
viewportDimensions: u.StatefulStream<ElementDimensions>;
|
|
253
264
|
itemDimensions: u.StatefulStream<ElementDimensions>;
|
|
254
265
|
scrollTop: u.Stream<number>;
|
|
266
|
+
scrollHeight: u.Stream<number>;
|
|
255
267
|
overscan: u.StatefulStream<import("./sizeRangeSystem").Overscan>;
|
|
256
268
|
scrollBy: u.Stream<ScrollToOptions>;
|
|
257
269
|
scrollTo: u.Stream<ScrollToOptions>;
|
|
258
|
-
scrollToIndex: u.Stream<
|
|
270
|
+
scrollToIndex: u.Stream<number | import("./interfaces").IndexLocationWithAlign>;
|
|
259
271
|
smoothScrollTargetReached: u.Stream<true>;
|
|
260
272
|
windowViewportRect: u.Stream<import("./interfaces").WindowViewportInfo>;
|
|
261
273
|
windowScrollTo: u.Stream<ScrollToOptions>;
|
|
262
274
|
useWindowScroll: u.StatefulStream<boolean>;
|
|
263
|
-
|
|
275
|
+
customScrollParent: u.StatefulStream<HTMLElement | undefined>;
|
|
276
|
+
windowScrollContainerState: u.Stream<[number, number]>;
|
|
277
|
+
deviation: u.StatefulStream<number>;
|
|
278
|
+
scrollContainerState: u.Stream<[number, number]>;
|
|
264
279
|
initialItemCount: u.StatefulStream<number>;
|
|
265
280
|
}>;
|
|
@@ -28,15 +28,12 @@ var PROBE_GRID_STATE = {
|
|
|
28
28
|
itemHeight: 0,
|
|
29
29
|
itemWidth: 0,
|
|
30
30
|
};
|
|
31
|
-
var ceil = Math.ceil, floor = Math.floor, min = Math.min, max = Math.max;
|
|
32
|
-
function hackFloor(val) {
|
|
33
|
-
return ceil(val) - val < 0.03 ? ceil(val) : floor(val);
|
|
34
|
-
}
|
|
31
|
+
var round = Math.round, ceil = Math.ceil, floor = Math.floor, min = Math.min, max = Math.max;
|
|
35
32
|
function buildItems(startIndex, endIndex) {
|
|
36
33
|
return Array.from({ length: endIndex - startIndex + 1 }).map(function (_, i) { return ({ index: i + startIndex }); });
|
|
37
34
|
}
|
|
38
35
|
exports.gridSystem = u.system(function (_a) {
|
|
39
|
-
var _b = tslib_1.__read(_a, 6), _c = _b[0], overscan = _c.overscan, visibleRange = _c.visibleRange, listBoundary = _c.listBoundary, _d = _b[1], scrollTop = _d.scrollTop, viewportHeight = _d.viewportHeight, scrollBy = _d.scrollBy, scrollTo = _d.scrollTo, smoothScrollTargetReached = _d.smoothScrollTargetReached, stateFlags = _b[2], scrollSeek = _b[3], _e = _b[4], propsReady = _e.propsReady, didMount = _e.didMount, _f = _b[5], windowViewportRect = _f.windowViewportRect, windowScrollTo = _f.windowScrollTo, useWindowScroll = _f.useWindowScroll,
|
|
36
|
+
var _b = tslib_1.__read(_a, 6), _c = _b[0], overscan = _c.overscan, visibleRange = _c.visibleRange, listBoundary = _c.listBoundary, _d = _b[1], scrollTop = _d.scrollTop, viewportHeight = _d.viewportHeight, scrollBy = _d.scrollBy, scrollTo = _d.scrollTo, smoothScrollTargetReached = _d.smoothScrollTargetReached, scrollContainerState = _d.scrollContainerState, stateFlags = _b[2], scrollSeek = _b[3], _e = _b[4], propsReady = _e.propsReady, didMount = _e.didMount, _f = _b[5], windowViewportRect = _f.windowViewportRect, windowScrollTo = _f.windowScrollTo, useWindowScroll = _f.useWindowScroll, customScrollParent = _f.customScrollParent, windowScrollContainerState = _f.windowScrollContainerState;
|
|
40
37
|
var totalCount = u.statefulStream(0);
|
|
41
38
|
var initialItemCount = u.statefulStream(0);
|
|
42
39
|
var gridState = u.statefulStream(INITIAL_GRID_STATE);
|
|
@@ -49,6 +46,8 @@ exports.gridSystem = u.system(function (_a) {
|
|
|
49
46
|
width: 0,
|
|
50
47
|
});
|
|
51
48
|
var scrollToIndex = u.stream();
|
|
49
|
+
var scrollHeight = u.stream();
|
|
50
|
+
var deviation = u.statefulStream(0);
|
|
52
51
|
u.connect(u.pipe(didMount, u.withLatestFrom(initialItemCount), u.filter(function (_a) {
|
|
53
52
|
var _b = tslib_1.__read(_a, 2), count = _b[1];
|
|
54
53
|
return count !== 0;
|
|
@@ -76,7 +75,7 @@ exports.gridSystem = u.system(function (_a) {
|
|
|
76
75
|
if (itemWidth === 0) {
|
|
77
76
|
return PROBE_GRID_STATE;
|
|
78
77
|
}
|
|
79
|
-
var perRow =
|
|
78
|
+
var perRow = itemsPerRow(viewportWidth, itemWidth);
|
|
80
79
|
var startIndex = perRow * floor(startOffset / itemHeight);
|
|
81
80
|
var endIndex = perRow * ceil(endOffset / itemHeight) - 1;
|
|
82
81
|
endIndex = min(totalCount - 1, endIndex);
|
|
@@ -104,10 +103,6 @@ exports.gridSystem = u.system(function (_a) {
|
|
|
104
103
|
var _c = gridLayout(viewportDimensions, item, items), top = _c.top, bottom = _c.bottom;
|
|
105
104
|
return [top, bottom];
|
|
106
105
|
}), u.distinctUntilChanged(comparators_1.tupleComparator)), listBoundary);
|
|
107
|
-
u.connect(u.pipe(listBoundary, u.withLatestFrom(gridState), u.map(function (_a) {
|
|
108
|
-
var _b = tslib_1.__read(_a, 2), _c = tslib_1.__read(_b[0], 2), bottom = _c[1], offsetBottom = _b[1].offsetBottom;
|
|
109
|
-
return { bottom: bottom, offsetBottom: offsetBottom };
|
|
110
|
-
})), stateFlags.listStateListener);
|
|
111
106
|
var endReached = u.streamFromEmitter(u.pipe(u.duc(gridState), u.filter(function (_a) {
|
|
112
107
|
var items = _a.items;
|
|
113
108
|
return items.length > 0;
|
|
@@ -138,13 +133,16 @@ exports.gridSystem = u.system(function (_a) {
|
|
|
138
133
|
var normalLocation = scrollToIndexSystem_1.normalizeIndexLocation(location);
|
|
139
134
|
var align = normalLocation.align, behavior = normalLocation.behavior, offset = normalLocation.offset;
|
|
140
135
|
var index = normalLocation.index;
|
|
141
|
-
|
|
136
|
+
if (index === 'LAST') {
|
|
137
|
+
index = totalCount - 1;
|
|
138
|
+
}
|
|
139
|
+
index = max(0, index, min(totalCount - 1, index));
|
|
142
140
|
var top = itemTop(viewport, item, index);
|
|
143
141
|
if (align === 'end') {
|
|
144
|
-
top =
|
|
142
|
+
top = round(top - viewport.height + item.height);
|
|
145
143
|
}
|
|
146
144
|
else if (align === 'center') {
|
|
147
|
-
top =
|
|
145
|
+
top = round(top - viewport.height / 2 + item.height / 2);
|
|
148
146
|
}
|
|
149
147
|
if (offset) {
|
|
150
148
|
top += offset;
|
|
@@ -164,6 +162,7 @@ exports.gridSystem = u.system(function (_a) {
|
|
|
164
162
|
viewportDimensions: viewportDimensions,
|
|
165
163
|
itemDimensions: itemDimensions,
|
|
166
164
|
scrollTop: scrollTop,
|
|
165
|
+
scrollHeight: scrollHeight,
|
|
167
166
|
overscan: overscan,
|
|
168
167
|
scrollBy: scrollBy,
|
|
169
168
|
scrollTo: scrollTo,
|
|
@@ -172,7 +171,10 @@ exports.gridSystem = u.system(function (_a) {
|
|
|
172
171
|
windowViewportRect: windowViewportRect,
|
|
173
172
|
windowScrollTo: windowScrollTo,
|
|
174
173
|
useWindowScroll: useWindowScroll,
|
|
175
|
-
|
|
174
|
+
customScrollParent: customScrollParent,
|
|
175
|
+
windowScrollContainerState: windowScrollContainerState,
|
|
176
|
+
deviation: deviation,
|
|
177
|
+
scrollContainerState: scrollContainerState,
|
|
176
178
|
initialItemCount: initialItemCount }, scrollSeek), {
|
|
177
179
|
// output
|
|
178
180
|
gridState: gridState,
|
|
@@ -195,5 +197,5 @@ function itemTop(viewport, item, index) {
|
|
|
195
197
|
return floor(index / perRow) * item.height;
|
|
196
198
|
}
|
|
197
199
|
function itemsPerRow(viewportWidth, itemWidth) {
|
|
198
|
-
return
|
|
200
|
+
return max(1, floor(viewportWidth / itemWidth));
|
|
199
201
|
}
|
|
@@ -3,7 +3,13 @@ export interface GroupIndexesAndCount {
|
|
|
3
3
|
groupIndices: number[];
|
|
4
4
|
}
|
|
5
5
|
export declare function groupCountsToIndicesAndCount(counts: number[]): GroupIndexesAndCount;
|
|
6
|
-
export declare const groupedListSystem: import("@virtuoso.dev/urx").SystemSpec<[import("@virtuoso.dev/urx").SystemSpec<never[], () => {
|
|
6
|
+
export declare const groupedListSystem: import("@virtuoso.dev/urx").SystemSpec<[import("@virtuoso.dev/urx").SystemSpec<[import("@virtuoso.dev/urx").SystemSpec<never[], () => {
|
|
7
|
+
log: import("@virtuoso.dev/urx").StatefulStream<import("./loggerSystem").Log>;
|
|
8
|
+
logLevel: import("@virtuoso.dev/urx").StatefulStream<import("./loggerSystem").LogLevel>;
|
|
9
|
+
}>], ([{ log }]: [{
|
|
10
|
+
log: import("@virtuoso.dev/urx").StatefulStream<import("./loggerSystem").Log>;
|
|
11
|
+
logLevel: import("@virtuoso.dev/urx").StatefulStream<import("./loggerSystem").LogLevel>;
|
|
12
|
+
}]) => {
|
|
7
13
|
data: import("@virtuoso.dev/urx").StatefulStream<import("./sizeSystem").Data>;
|
|
8
14
|
totalCount: import("@virtuoso.dev/urx").Stream<number>;
|
|
9
15
|
sizeRanges: import("@virtuoso.dev/urx").Stream<import("./sizeSystem").SizeRange[]>;
|
|
@@ -11,21 +17,25 @@ export declare const groupedListSystem: import("@virtuoso.dev/urx").SystemSpec<[
|
|
|
11
17
|
defaultItemSize: import("@virtuoso.dev/urx").StatefulStream<number | undefined>;
|
|
12
18
|
fixedItemSize: import("@virtuoso.dev/urx").StatefulStream<number | undefined>;
|
|
13
19
|
unshiftWith: import("@virtuoso.dev/urx").Stream<number>;
|
|
20
|
+
shiftWith: import("@virtuoso.dev/urx").Stream<number>;
|
|
21
|
+
shiftWithOffset: import("@virtuoso.dev/urx").Stream<number>;
|
|
14
22
|
beforeUnshiftWith: import("@virtuoso.dev/urx").Stream<number>;
|
|
15
23
|
firstItemIndex: import("@virtuoso.dev/urx").StatefulStream<number>;
|
|
16
24
|
sizes: import("@virtuoso.dev/urx").StatefulStream<import("./sizeSystem").SizeState>;
|
|
17
25
|
listRefresh: import("@virtuoso.dev/urx").Stream<boolean>;
|
|
26
|
+
statefulTotalCount: import("@virtuoso.dev/urx").StatefulStream<number>;
|
|
18
27
|
trackItemSizes: import("@virtuoso.dev/urx").StatefulStream<boolean>;
|
|
19
28
|
itemSize: import("@virtuoso.dev/urx").StatefulStream<import("./sizeSystem").SizeFunction>;
|
|
20
29
|
}>, import("@virtuoso.dev/urx").SystemSpec<never[], () => {
|
|
30
|
+
scrollContainerState: import("@virtuoso.dev/urx").Stream<[number, number]>;
|
|
21
31
|
scrollTop: import("@virtuoso.dev/urx").Stream<number>;
|
|
22
32
|
viewportHeight: import("@virtuoso.dev/urx").Stream<number>;
|
|
23
33
|
headerHeight: import("@virtuoso.dev/urx").StatefulStream<number>;
|
|
24
34
|
footerHeight: import("@virtuoso.dev/urx").StatefulStream<number>;
|
|
35
|
+
scrollHeight: import("@virtuoso.dev/urx").Stream<number>;
|
|
25
36
|
smoothScrollTargetReached: import("@virtuoso.dev/urx").Stream<true>;
|
|
26
37
|
scrollTo: import("@virtuoso.dev/urx").Stream<ScrollToOptions>;
|
|
27
38
|
scrollBy: import("@virtuoso.dev/urx").Stream<ScrollToOptions>;
|
|
28
|
-
scrollDirection: import("@virtuoso.dev/urx").StatefulStream<import("./domIOSystem").ScrollDirection>;
|
|
29
39
|
statefulScrollTop: import("@virtuoso.dev/urx").StatefulStream<number>;
|
|
30
40
|
deviation: import("@virtuoso.dev/urx").StatefulStream<number>;
|
|
31
41
|
scrollingInProgress: import("@virtuoso.dev/urx").StatefulStream<boolean>;
|
|
@@ -37,21 +47,25 @@ export declare const groupedListSystem: import("@virtuoso.dev/urx").SystemSpec<[
|
|
|
37
47
|
defaultItemSize: import("@virtuoso.dev/urx").StatefulStream<number | undefined>;
|
|
38
48
|
fixedItemSize: import("@virtuoso.dev/urx").StatefulStream<number | undefined>;
|
|
39
49
|
unshiftWith: import("@virtuoso.dev/urx").Stream<number>;
|
|
50
|
+
shiftWith: import("@virtuoso.dev/urx").Stream<number>;
|
|
51
|
+
shiftWithOffset: import("@virtuoso.dev/urx").Stream<number>;
|
|
40
52
|
beforeUnshiftWith: import("@virtuoso.dev/urx").Stream<number>;
|
|
41
53
|
firstItemIndex: import("@virtuoso.dev/urx").StatefulStream<number>;
|
|
42
54
|
sizes: import("@virtuoso.dev/urx").StatefulStream<import("./sizeSystem").SizeState>;
|
|
43
55
|
listRefresh: import("@virtuoso.dev/urx").Stream<boolean>;
|
|
56
|
+
statefulTotalCount: import("@virtuoso.dev/urx").StatefulStream<number>;
|
|
44
57
|
trackItemSizes: import("@virtuoso.dev/urx").StatefulStream<boolean>;
|
|
45
58
|
itemSize: import("@virtuoso.dev/urx").StatefulStream<import("./sizeSystem").SizeFunction>;
|
|
46
59
|
}, {
|
|
60
|
+
scrollContainerState: import("@virtuoso.dev/urx").Stream<[number, number]>;
|
|
47
61
|
scrollTop: import("@virtuoso.dev/urx").Stream<number>;
|
|
48
62
|
viewportHeight: import("@virtuoso.dev/urx").Stream<number>;
|
|
49
63
|
headerHeight: import("@virtuoso.dev/urx").StatefulStream<number>;
|
|
50
64
|
footerHeight: import("@virtuoso.dev/urx").StatefulStream<number>;
|
|
65
|
+
scrollHeight: import("@virtuoso.dev/urx").Stream<number>;
|
|
51
66
|
smoothScrollTargetReached: import("@virtuoso.dev/urx").Stream<true>;
|
|
52
67
|
scrollTo: import("@virtuoso.dev/urx").Stream<ScrollToOptions>;
|
|
53
68
|
scrollBy: import("@virtuoso.dev/urx").Stream<ScrollToOptions>;
|
|
54
|
-
scrollDirection: import("@virtuoso.dev/urx").StatefulStream<import("./domIOSystem").ScrollDirection>;
|
|
55
69
|
statefulScrollTop: import("@virtuoso.dev/urx").StatefulStream<number>;
|
|
56
70
|
deviation: import("@virtuoso.dev/urx").StatefulStream<number>;
|
|
57
71
|
scrollingInProgress: import("@virtuoso.dev/urx").StatefulStream<boolean>;
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
+
import { Log } from '../loggerSystem';
|
|
1
2
|
import { SizeFunction, SizeRange } from '../sizeSystem';
|
|
2
|
-
export default function
|
|
3
|
+
export default function useChangedListContentsSizes(callback: (ranges: SizeRange[]) => void, itemSize: SizeFunction, enabled: boolean, scrollContainerStateCallback: (state: [number, number]) => void, log: Log, customScrollParent?: HTMLElement): (_el: HTMLElement | null) => void;
|
|
@@ -1,17 +1,41 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
var tslib_1 = require("tslib");
|
|
4
|
+
/* eslint-disable no-continue */
|
|
5
|
+
var foundation_1 = require("../../../../foundation");
|
|
6
|
+
var loggerSystem_1 = require("../loggerSystem");
|
|
4
7
|
var useSize_1 = tslib_1.__importDefault(require("./useSize"));
|
|
5
|
-
function
|
|
8
|
+
function useChangedListContentsSizes(callback, itemSize, enabled, scrollContainerStateCallback, log, customScrollParent) {
|
|
9
|
+
var _a = foundation_1.useRcPortalWindowContext().externalWindow, externalWindow = _a === void 0 ? window : _a;
|
|
6
10
|
return useSize_1.default(function (el) {
|
|
7
|
-
var ranges = getChangedChildSizes(el.children, itemSize, 'offsetHeight');
|
|
11
|
+
var ranges = getChangedChildSizes(el.children, itemSize, 'offsetHeight', log);
|
|
12
|
+
var scrollableElement = el.parentElement;
|
|
13
|
+
while (!scrollableElement.dataset['virtuosoScroller']) {
|
|
14
|
+
scrollableElement = scrollableElement.parentElement;
|
|
15
|
+
}
|
|
16
|
+
var scrollTop = customScrollParent
|
|
17
|
+
? customScrollParent.scrollTop
|
|
18
|
+
: // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
|
19
|
+
scrollableElement.firstElementChild.dataset['viewportType'] === 'window'
|
|
20
|
+
? externalWindow.pageYOffset ||
|
|
21
|
+
externalWindow.document.documentElement.scrollTop
|
|
22
|
+
: scrollableElement.scrollTop;
|
|
23
|
+
customScrollParent
|
|
24
|
+
? scrollContainerStateCallback([
|
|
25
|
+
Math.max(scrollTop, 0),
|
|
26
|
+
customScrollParent.scrollHeight,
|
|
27
|
+
])
|
|
28
|
+
: scrollContainerStateCallback([
|
|
29
|
+
Math.max(scrollTop, 0),
|
|
30
|
+
scrollableElement.scrollHeight,
|
|
31
|
+
]);
|
|
8
32
|
if (ranges !== null) {
|
|
9
33
|
callback(ranges);
|
|
10
34
|
}
|
|
11
35
|
}, enabled);
|
|
12
36
|
}
|
|
13
|
-
exports.default =
|
|
14
|
-
function getChangedChildSizes(children, itemSize, field) {
|
|
37
|
+
exports.default = useChangedListContentsSizes;
|
|
38
|
+
function getChangedChildSizes(children, itemSize, field, log) {
|
|
15
39
|
var length = children.length;
|
|
16
40
|
if (length === 0) {
|
|
17
41
|
return null;
|
|
@@ -22,11 +46,12 @@ function getChangedChildSizes(children, itemSize, field) {
|
|
|
22
46
|
if (!child || child.dataset.index === undefined) {
|
|
23
47
|
continue;
|
|
24
48
|
}
|
|
25
|
-
|
|
26
|
-
var
|
|
49
|
+
// eslint-disable-next-line radix
|
|
50
|
+
var index = parseInt(child.dataset.index);
|
|
51
|
+
var knownSize = parseFloat(child.dataset.knownSize);
|
|
27
52
|
var size = itemSize(child, field);
|
|
28
53
|
if (size === 0) {
|
|
29
|
-
|
|
54
|
+
log('Zero-sized element, this should not happen', { child: child }, loggerSystem_1.LogLevel.ERROR);
|
|
30
55
|
}
|
|
31
56
|
if (size === knownSize) {
|
|
32
57
|
continue;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
/// <reference types="styled-jsx" />
|
|
3
3
|
export declare type ScrollerRef = Window | HTMLElement | null;
|
|
4
|
-
export default function useScrollTop(
|
|
4
|
+
export default function useScrollTop(scrollContainerStateCallback: (state: [number, number]) => void, smoothScrollTargetReached: (yes: true) => void, scrollerElement: any, scrollerRefCallback?: (ref: ScrollerRef) => void, customScrollParent?: HTMLElement): {
|
|
5
5
|
scrollerRef: import("react").MutableRefObject<HTMLElement | Window | null>;
|
|
6
6
|
scrollByCallback: (location: ScrollToOptions) => void;
|
|
7
7
|
scrollToCallback: (location: ScrollToOptions) => void;
|