@rio-cloud/uikit-mcp 1.1.2 → 1.1.4
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/doc-metadata.json +117 -127
- package/dist/docs/components/accentBar.md +2 -34
- package/dist/docs/components/activity.md +2 -13
- package/dist/docs/components/animatedNumber.md +4 -17
- package/dist/docs/components/animatedTextReveal.md +7 -54
- package/dist/docs/components/animations.md +42 -34
- package/dist/docs/components/appHeader.md +2 -73
- package/dist/docs/components/appLayout.md +36 -496
- package/dist/docs/components/appNavigationBar.md +2 -54
- package/dist/docs/components/areaCharts.md +37 -37
- package/dist/docs/components/aspectRatioPlaceholder.md +2 -11
- package/dist/docs/components/assetTree.md +435 -901
- package/dist/docs/components/autosuggests.md +4 -4
- package/dist/docs/components/avatar.md +2 -24
- package/dist/docs/components/banner.md +2 -2
- package/dist/docs/components/barCharts.md +186 -186
- package/dist/docs/components/barList.md +12 -46
- package/dist/docs/components/basicMap.md +7 -7
- package/dist/docs/components/bottomSheet.md +3 -100
- package/dist/docs/components/button.md +16 -71
- package/dist/docs/components/buttonToolbar.md +2 -9
- package/dist/docs/components/calendarStripe.md +95 -121
- package/dist/docs/components/card.md +2 -10
- package/dist/docs/components/carousel.md +1 -1
- package/dist/docs/components/chartColors.md +1 -1
- package/dist/docs/components/chartsGettingStarted.md +1 -1
- package/dist/docs/components/chat.md +4 -1
- package/dist/docs/components/checkbox.md +11 -111
- package/dist/docs/components/clearableInput.md +7 -111
- package/dist/docs/components/collapse.md +3 -29
- package/dist/docs/components/composedCharts.md +31 -31
- package/dist/docs/components/contentLoader.md +104 -122
- package/dist/docs/components/dataTabs.md +24 -194
- package/dist/docs/components/datepickers.md +727 -769
- package/dist/docs/components/dialogs.md +15 -262
- package/dist/docs/components/divider.md +2 -14
- package/dist/docs/components/dropdowns.md +4387 -4550
- package/dist/docs/components/editableContent.md +2 -186
- package/dist/docs/components/expander.md +23 -70
- package/dist/docs/components/fade.md +6 -41
- package/dist/docs/components/fadeExpander.md +2 -11
- package/dist/docs/components/fadeUp.md +3 -23
- package/dist/docs/components/feedback.md +2 -42
- package/dist/docs/components/filePickers.md +2 -44
- package/dist/docs/components/formLabel.md +2 -18
- package/dist/docs/components/groupedItemList.md +2 -53
- package/dist/docs/components/iconList.md +3 -3
- package/dist/docs/components/imagePreloader.md +2 -6
- package/dist/docs/components/labeledElement.md +2 -11
- package/dist/docs/components/licensePlate.md +2 -10
- package/dist/docs/components/lineCharts.md +60 -60
- package/dist/docs/components/listMenu.md +2 -50
- package/dist/docs/components/loadMore.md +2 -28
- package/dist/docs/components/mainNavigation.md +1 -1
- package/dist/docs/components/mapCircle.md +3 -3
- package/dist/docs/components/mapCluster.md +5 -5
- package/dist/docs/components/mapContext.md +3 -3
- package/dist/docs/components/mapDraggableMarker.md +3 -3
- package/dist/docs/components/mapGettingStarted.md +1 -1
- package/dist/docs/components/mapInfoBubble.md +3 -3
- package/dist/docs/components/mapLayerGroup.md +3 -3
- package/dist/docs/components/mapMarker.md +341 -347
- package/dist/docs/components/mapPolygon.md +20 -24
- package/dist/docs/components/mapRoute.md +26 -32
- package/dist/docs/components/mapRouteGenerator.md +1 -1
- package/dist/docs/components/mapSettings.md +273 -284
- package/dist/docs/components/mapUtils.md +3 -5
- package/dist/docs/components/multiselects.md +1 -1
- package/dist/docs/components/noData.md +2 -22
- package/dist/docs/components/notifications.md +1 -1
- package/dist/docs/components/numbercontrol.md +2 -48
- package/dist/docs/components/onboarding.md +2 -46
- package/dist/docs/components/page.md +2 -32
- package/dist/docs/components/pager.md +2 -14
- package/dist/docs/components/pieCharts.md +125 -157
- package/dist/docs/components/popover.md +2 -56
- package/dist/docs/components/position.md +2 -10
- package/dist/docs/components/radialBarCharts.md +506 -506
- package/dist/docs/components/radiobutton.md +81 -191
- package/dist/docs/components/releaseNotes.md +1 -12
- package/dist/docs/components/resizer.md +2 -14
- package/dist/docs/components/responsiveColumnStripe.md +2 -19
- package/dist/docs/components/responsiveVideo.md +2 -11
- package/dist/docs/components/rioglyph.md +2 -12
- package/dist/docs/components/rules.md +69 -133
- package/dist/docs/components/saveableInput.md +279 -393
- package/dist/docs/components/selects.md +9996 -15
- package/dist/docs/components/sidebar.md +2 -39
- package/dist/docs/components/sliders.md +2 -37
- package/dist/docs/components/smoothScrollbars.md +2 -56
- package/dist/docs/components/spinners.md +5 -51
- package/dist/docs/components/states.md +21 -245
- package/dist/docs/components/statsWidgets.md +2 -113
- package/dist/docs/components/statusBar.md +2 -28
- package/dist/docs/components/stepButton.md +2 -8
- package/dist/docs/components/steppedProgressBars.md +2 -66
- package/dist/docs/components/subNavigation.md +1 -8
- package/dist/docs/components/supportMarker.md +1 -1
- package/dist/docs/components/svgImage.md +2 -12
- package/dist/docs/components/switch.md +2 -11
- package/dist/docs/components/tables.md +1 -1
- package/dist/docs/components/tagManager.md +4 -58
- package/dist/docs/components/tags.md +2 -31
- package/dist/docs/components/teaser.md +2 -30
- package/dist/docs/components/timeline.md +1 -1
- package/dist/docs/components/timepicker.md +2 -26
- package/dist/docs/components/toggleButton.md +7 -29
- package/dist/docs/components/tooltip.md +9 -40
- package/dist/docs/components/virtualList.md +73 -99
- package/dist/docs/foundations.md +167 -167
- package/dist/docs/start/changelog.md +23 -1
- package/dist/docs/start/goodtoknow.md +1 -1
- package/dist/docs/start/guidelines/color-combinations.md +1 -1
- package/dist/docs/start/guidelines/custom-css.md +1 -1
- package/dist/docs/start/guidelines/custom-rioglyph.md +1 -1
- package/dist/docs/start/guidelines/formatting.md +1 -1
- package/dist/docs/start/guidelines/iframe.md +80 -27
- package/dist/docs/start/guidelines/obfuscate-data.md +1 -1
- package/dist/docs/start/guidelines/print-css.md +1 -1
- package/dist/docs/start/guidelines/spinner.md +81 -81
- package/dist/docs/start/guidelines/supported-browsers.md +1 -1
- package/dist/docs/start/guidelines/writing.md +1 -1
- package/dist/docs/start/howto.md +9 -9
- package/dist/docs/start/intro.md +1 -1
- package/dist/docs/start/responsiveness.md +1 -1
- package/dist/docs/templates/common-table.md +11 -11
- package/dist/docs/templates/detail-views.md +2 -2
- package/dist/docs/templates/expandable-details.md +1 -1
- package/dist/docs/templates/feature-cards.md +55 -55
- package/dist/docs/templates/form-summary.md +22 -22
- package/dist/docs/templates/form-toggle.md +1 -1
- package/dist/docs/templates/list-blocks.md +200 -200
- package/dist/docs/templates/loading-progress.md +3 -3
- package/dist/docs/templates/options-panel.md +1 -1
- package/dist/docs/templates/panel-variants.md +1 -1
- package/dist/docs/templates/progress-cards.md +1 -1
- package/dist/docs/templates/progress-success.md +1 -1
- package/dist/docs/templates/settings-form.md +23 -23
- package/dist/docs/templates/stats-blocks.md +41 -41
- package/dist/docs/templates/table-panel.md +1 -1
- package/dist/docs/templates/table-row-animation.md +1 -1
- package/dist/docs/templates/usage-cards.md +1 -1
- package/dist/docs/utilities/deviceUtils.md +6 -3
- package/dist/docs/utilities/featureToggles.md +1 -1
- package/dist/docs/utilities/fuelTypeUtils.md +1 -1
- package/dist/docs/utilities/routeUtils.md +59 -23
- package/dist/docs/utilities/useAfterMount.md +1 -1
- package/dist/docs/utilities/useAutoAnimate.md +1 -1
- package/dist/docs/utilities/useAverage.md +1 -1
- package/dist/docs/utilities/useClickOutside.md +1 -1
- package/dist/docs/utilities/useClipboard.md +2 -2
- package/dist/docs/utilities/useCount.md +1 -1
- package/dist/docs/utilities/useDarkMode.md +1 -1
- package/dist/docs/utilities/useDebugInfo.md +4 -4
- package/dist/docs/utilities/useEffectOnce.md +1 -1
- package/dist/docs/utilities/useElapsedTime.md +1 -1
- package/dist/docs/utilities/useElementSize.md +1 -1
- package/dist/docs/utilities/useEsc.md +1 -1
- package/dist/docs/utilities/useEvent.md +1 -1
- package/dist/docs/utilities/useFocusTrap.md +1 -1
- package/dist/docs/utilities/useFullscreen.md +1 -1
- package/dist/docs/utilities/useHover.md +1 -1
- package/dist/docs/utilities/useIncomingPostMessages.md +1 -1
- package/dist/docs/utilities/useInterval.md +1 -1
- package/dist/docs/utilities/useIsFocusWithin.md +1 -1
- package/dist/docs/utilities/useKey.md +7 -5
- package/dist/docs/utilities/useLocalStorage.md +1 -1
- package/dist/docs/utilities/useLocationSuggestions.md +1 -1
- package/dist/docs/utilities/useMax.md +1 -1
- package/dist/docs/utilities/useMin.md +1 -1
- package/dist/docs/utilities/useMutationObserver.md +1 -1
- package/dist/docs/utilities/useOnScreen.md +1 -1
- package/dist/docs/utilities/useOnlineStatus.md +1 -1
- package/dist/docs/utilities/usePostMessage.md +2 -2
- package/dist/docs/utilities/usePostMessageSender.md +1 -1
- package/dist/docs/utilities/usePrevious.md +1 -1
- package/dist/docs/utilities/useResizeObserver.md +1 -1
- package/dist/docs/utilities/useScrollPosition.md +1 -1
- package/dist/docs/utilities/useSearch.md +1 -1
- package/dist/docs/utilities/useSorting.md +1 -1
- package/dist/docs/utilities/useStateWithValidation.md +1 -1
- package/dist/docs/utilities/useSum.md +1 -1
- package/dist/docs/utilities/useTableExport.md +54 -54
- package/dist/docs/utilities/useTableSelection.md +93 -93
- package/dist/docs/utilities/useTimeout.md +1 -1
- package/dist/docs/utilities/useToggle.md +1 -1
- package/dist/docs/utilities/useWindowResize.md +1 -1
- package/dist/index.mjs +8 -2
- package/dist/version.json +2 -2
- package/package.json +8 -8
- package/dist/docs/components/fullscreenMap.md +0 -10
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*Category:* Components
|
|
4
4
|
*Section:* Content
|
|
5
5
|
*Source:* https://uikit.developers.rio.cloud/#components/virtualList
|
|
6
|
-
*Captured:*
|
|
6
|
+
*Captured:* 2026-01-14T09:07:38.387Z
|
|
7
7
|
|
|
8
8
|
The VirtualList component is designed for efficiently rendering large lists of items by only displaying the visible portion of the list, also known as windowing.
|
|
9
9
|
|
|
@@ -14,68 +14,70 @@ It allows a specified number of items outside the viewport for smoother scrollin
|
|
|
14
14
|
### Example: Example 1
|
|
15
15
|
|
|
16
16
|
Virtual list with 100 itemsItem 1
|
|
17
|
-
|
|
17
|
+
Aliquam in massa, Integer lorem neque.
|
|
18
18
|
|
|
19
19
|
Item 2
|
|
20
|
-
|
|
20
|
+
Nunc Duis consectetur purus primis sit metus Sed ipsum consectetur adipiscing vel
|
|
21
21
|
|
|
22
22
|
Item 3
|
|
23
|
-
|
|
23
|
+
Efficitur ac Sed felis. tincidunt. elementum bibendum, finibus ac pharetra sit scelerisque
|
|
24
24
|
|
|
25
25
|
Item 4
|
|
26
|
-
|
|
26
|
+
Elementum consectetur tortor dui volutpat
|
|
27
27
|
|
|
28
28
|
Item 5
|
|
29
|
-
|
|
29
|
+
Hendrerit ipsum ante
|
|
30
|
+
Lorem massa neque. orci pretium est Ut faucibus. ac primis quis,
|
|
30
31
|
|
|
31
32
|
Item 6
|
|
32
|
-
|
|
33
|
+
Semper. semper malesuada ligula Fusce in,
|
|
33
34
|
|
|
34
35
|
Item 7
|
|
35
|
-
|
|
36
|
-
Lorem libero metus tortor ante In In
|
|
36
|
+
Enim iaculis. ac et pretium ante
|
|
37
37
|
|
|
38
38
|
Item 8
|
|
39
|
-
|
|
39
|
+
In,
|
|
40
|
+
Lorem molestie ligula ante primis
|
|
40
41
|
|
|
41
42
|
Item 9
|
|
42
|
-
|
|
43
|
+
Vivamus hendrerit fames Integer enim in tincidunt. ante Duis in ac ante ante ut Fusce
|
|
43
44
|
|
|
44
45
|
Item 10
|
|
45
|
-
|
|
46
|
+
Enim tortor finibus in, posuere dolor efficitur
|
|
46
47
|
|
|
47
48
|
#### Summary
|
|
48
49
|
|
|
49
50
|
Virtual list with 100 itemsItem 1
|
|
50
|
-
|
|
51
|
+
Aliquam in massa, Integer lorem neque.
|
|
51
52
|
|
|
52
53
|
Item 2
|
|
53
|
-
|
|
54
|
+
Nunc Duis consectetur purus primis sit metus Sed ipsum consectetur adipiscing vel
|
|
54
55
|
|
|
55
56
|
Item 3
|
|
56
|
-
|
|
57
|
+
Efficitur ac Sed felis. tincidunt. elementum bibendum, finibus ac pharetra sit scelerisque
|
|
57
58
|
|
|
58
59
|
Item 4
|
|
59
|
-
|
|
60
|
+
Elementum consectetur tortor dui volutpat
|
|
60
61
|
|
|
61
62
|
Item 5
|
|
62
|
-
|
|
63
|
+
Hendrerit ipsum ante
|
|
64
|
+
Lorem massa neque. orci pretium est Ut faucibus. ac primis quis,
|
|
63
65
|
|
|
64
66
|
Item 6
|
|
65
|
-
|
|
67
|
+
Semper. semper malesuada ligula Fusce in,
|
|
66
68
|
|
|
67
69
|
Item 7
|
|
68
|
-
|
|
69
|
-
Lorem libero metus tortor ante In In
|
|
70
|
+
Enim iaculis. ac et pretium ante
|
|
70
71
|
|
|
71
72
|
Item 8
|
|
72
|
-
|
|
73
|
+
In,
|
|
74
|
+
Lorem molestie ligula ante primis
|
|
73
75
|
|
|
74
76
|
Item 9
|
|
75
|
-
|
|
77
|
+
Vivamus hendrerit fames Integer enim in tincidunt. ante Duis in ac ante ante ut Fusce
|
|
76
78
|
|
|
77
79
|
Item 10
|
|
78
|
-
|
|
80
|
+
Enim tortor finibus in, posuere dolor efficitur
|
|
79
81
|
|
|
80
82
|
#### React (tsx)
|
|
81
83
|
|
|
@@ -128,62 +130,63 @@ export default () => {
|
|
|
128
130
|
<div class="VirtualListItemWrapper " data-index="0" style="position: absolute; transform: translateY(0px); width: 100%; will-change: transform;">
|
|
129
131
|
<div class="margin-bottom-10 padding-y-10 padding-x-15 bg-white rounded shadow-accent text-color-darker">
|
|
130
132
|
<div class="text-medium" data-test-ignore="text">Item 1</div>
|
|
131
|
-
<div class="word-break" data-test-ignore="text">
|
|
133
|
+
<div class="word-break" data-test-ignore="text">Aliquam in massa, Integer lorem neque.</div>
|
|
132
134
|
</div>
|
|
133
135
|
</div>
|
|
134
136
|
<div class="VirtualListItemWrapper " data-index="1" style="position: absolute; transform: translateY(70px); width: 100%; will-change: transform;">
|
|
135
137
|
<div class="margin-bottom-10 padding-y-10 padding-x-15 bg-white rounded shadow-accent text-color-darker">
|
|
136
138
|
<div class="text-medium" data-test-ignore="text">Item 2</div>
|
|
137
|
-
<div class="word-break" data-test-ignore="text">
|
|
139
|
+
<div class="word-break" data-test-ignore="text">Nunc Duis consectetur purus primis sit metus Sed ipsum consectetur adipiscing vel</div>
|
|
138
140
|
</div>
|
|
139
141
|
</div>
|
|
140
142
|
<div class="VirtualListItemWrapper " data-index="2" style="position: absolute; transform: translateY(140px); width: 100%; will-change: transform;">
|
|
141
143
|
<div class="margin-bottom-10 padding-y-10 padding-x-15 bg-white rounded shadow-accent text-color-darker">
|
|
142
144
|
<div class="text-medium" data-test-ignore="text">Item 3</div>
|
|
143
|
-
<div class="word-break" data-test-ignore="text">
|
|
145
|
+
<div class="word-break" data-test-ignore="text">Efficitur ac Sed felis. tincidunt. elementum bibendum, finibus ac pharetra sit scelerisque</div>
|
|
144
146
|
</div>
|
|
145
147
|
</div>
|
|
146
148
|
<div class="VirtualListItemWrapper " data-index="3" style="position: absolute; transform: translateY(210px); width: 100%; will-change: transform;">
|
|
147
149
|
<div class="margin-bottom-10 padding-y-10 padding-x-15 bg-white rounded shadow-accent text-color-darker">
|
|
148
150
|
<div class="text-medium" data-test-ignore="text">Item 4</div>
|
|
149
|
-
<div class="word-break" data-test-ignore="text">
|
|
151
|
+
<div class="word-break" data-test-ignore="text">Elementum consectetur tortor dui volutpat</div>
|
|
150
152
|
</div>
|
|
151
153
|
</div>
|
|
152
154
|
<div class="VirtualListItemWrapper " data-index="4" style="position: absolute; transform: translateY(280px); width: 100%; will-change: transform;">
|
|
153
155
|
<div class="margin-bottom-10 padding-y-10 padding-x-15 bg-white rounded shadow-accent text-color-darker">
|
|
154
156
|
<div class="text-medium" data-test-ignore="text">Item 5</div>
|
|
155
|
-
<div class="word-break" data-test-ignore="text">
|
|
157
|
+
<div class="word-break" data-test-ignore="text">Hendrerit ipsum ante
|
|
158
|
+
Lorem massa neque. orci pretium est Ut faucibus. ac primis quis,</div>
|
|
156
159
|
</div>
|
|
157
160
|
</div>
|
|
158
161
|
<div class="VirtualListItemWrapper " data-index="5" style="position: absolute; transform: translateY(350px); width: 100%; will-change: transform;">
|
|
159
162
|
<div class="margin-bottom-10 padding-y-10 padding-x-15 bg-white rounded shadow-accent text-color-darker">
|
|
160
163
|
<div class="text-medium" data-test-ignore="text">Item 6</div>
|
|
161
|
-
<div class="word-break" data-test-ignore="text">
|
|
164
|
+
<div class="word-break" data-test-ignore="text">Semper. semper malesuada ligula Fusce in,</div>
|
|
162
165
|
</div>
|
|
163
166
|
</div>
|
|
164
167
|
<div class="VirtualListItemWrapper " data-index="6" style="position: absolute; transform: translateY(420px); width: 100%; will-change: transform;">
|
|
165
168
|
<div class="margin-bottom-10 padding-y-10 padding-x-15 bg-white rounded shadow-accent text-color-darker">
|
|
166
169
|
<div class="text-medium" data-test-ignore="text">Item 7</div>
|
|
167
|
-
<div class="word-break" data-test-ignore="text">
|
|
168
|
-
Lorem libero metus tortor ante In In</div>
|
|
170
|
+
<div class="word-break" data-test-ignore="text">Enim iaculis. ac et pretium ante</div>
|
|
169
171
|
</div>
|
|
170
172
|
</div>
|
|
171
173
|
<div class="VirtualListItemWrapper " data-index="7" style="position: absolute; transform: translateY(490px); width: 100%; will-change: transform;">
|
|
172
174
|
<div class="margin-bottom-10 padding-y-10 padding-x-15 bg-white rounded shadow-accent text-color-darker">
|
|
173
175
|
<div class="text-medium" data-test-ignore="text">Item 8</div>
|
|
174
|
-
<div class="word-break" data-test-ignore="text">
|
|
176
|
+
<div class="word-break" data-test-ignore="text">In,
|
|
177
|
+
Lorem molestie ligula ante primis</div>
|
|
175
178
|
</div>
|
|
176
179
|
</div>
|
|
177
180
|
<div class="VirtualListItemWrapper " data-index="8" style="position: absolute; transform: translateY(560px); width: 100%; will-change: transform;">
|
|
178
181
|
<div class="margin-bottom-10 padding-y-10 padding-x-15 bg-white rounded shadow-accent text-color-darker">
|
|
179
182
|
<div class="text-medium" data-test-ignore="text">Item 9</div>
|
|
180
|
-
<div class="word-break" data-test-ignore="text">
|
|
183
|
+
<div class="word-break" data-test-ignore="text">Vivamus hendrerit fames Integer enim in tincidunt. ante Duis in ac ante ante ut Fusce</div>
|
|
181
184
|
</div>
|
|
182
185
|
</div>
|
|
183
186
|
<div class="VirtualListItemWrapper " data-index="9" style="position: absolute; transform: translateY(630px); width: 100%; will-change: transform;">
|
|
184
187
|
<div class="margin-bottom-10 padding-y-10 padding-x-15 bg-white rounded shadow-accent text-color-darker">
|
|
185
188
|
<div class="text-medium" data-test-ignore="text">Item 10</div>
|
|
186
|
-
<div class="word-break" data-test-ignore="text">
|
|
189
|
+
<div class="word-break" data-test-ignore="text">Enim tortor finibus in, posuere dolor efficitur</div>
|
|
187
190
|
</div>
|
|
188
191
|
</div>
|
|
189
192
|
</div>
|
|
@@ -192,86 +195,71 @@ export default () => {
|
|
|
192
195
|
</div>
|
|
193
196
|
```
|
|
194
197
|
|
|
195
|
-
#### Props
|
|
196
|
-
|
|
197
|
-
| Name | Type | Default | Description |
|
|
198
|
-
| --- | --- | --- | --- |
|
|
199
|
-
| items | T[] | — | The array of items to be rendered in the list. |
|
|
200
|
-
| renderItem | (item: T, index: number) => React.ReactElement | — | A function that renders an item given its data and index. |
|
|
201
|
-
| overscanCount | number | 3 | The number of items to render outside the visible area for smoother scrolling. |
|
|
202
|
-
| defaultHeight | number | 50 | The default height for items if their height cannot be determined. |
|
|
203
|
-
| scrollContainerRef | React.RefObject<HTMLElement> | — | Optional ref to an external scroll container. Use this when VirtualList is inside a scrollable container. |
|
|
204
|
-
| containerClassName | string | — | Additional classNames for the container of the list items. |
|
|
205
|
-
| listItemWrapperClassName | string | — | Additional classNames for each individual list item wrapper. This wrapper is required for proper positioning each item in the list using an absolute top value. |
|
|
206
|
-
| className | string | — | Additional classNames for the outer list container. |
|
|
207
|
-
|
|
208
198
|
### Example: Example 2
|
|
209
199
|
|
|
210
200
|
Virtual list with 5000 items
|
|
211
201
|
Vehicle 1
|
|
212
|
-
|
|
202
|
+
Faucibus. fringilla massa vel ut neque. ante in ipsum metus consectetur Mauris Mauris efficitur
|
|
213
203
|
|
|
214
204
|
Vehicle 2
|
|
215
|
-
|
|
205
|
+
Tincidunt. ante ipsum aliquam eget hendrerit pharetra et ante Interdum
|
|
216
206
|
|
|
217
207
|
Vehicle 3
|
|
218
|
-
|
|
208
|
+
Vivamus vel ipsum consectetur ut sit purus
|
|
219
209
|
|
|
220
210
|
Vehicle 4
|
|
221
|
-
|
|
211
|
+
Iaculis. ut fringilla adipiscing posuere ligula ac ligula
|
|
222
212
|
|
|
223
213
|
Vehicle 5
|
|
224
|
-
|
|
214
|
+
Fames dolor purus consectetur neque. Sed semper. sit eget in, orci,
|
|
225
215
|
|
|
226
216
|
Vehicle 6
|
|
227
|
-
|
|
217
|
+
Eget eget in efficitur fames vitae ante
|
|
228
218
|
|
|
229
219
|
Vehicle 7
|
|
230
|
-
|
|
220
|
+
Sagittis finibus Duis in, condimentum malesuada
|
|
231
221
|
|
|
232
222
|
Vehicle 8
|
|
233
|
-
|
|
223
|
+
Semper felis. consectetur libero nec tincidunt. Ut rutrum adipiscing tincidunt. molestie nunc sagittis finibus
|
|
234
224
|
|
|
235
225
|
Vehicle 9
|
|
236
|
-
|
|
237
|
-
Lorem ac pretium pharetra Vivamus
|
|
226
|
+
Tortor ipsum eget orci, ipsum
|
|
238
227
|
|
|
239
228
|
Vehicle 10
|
|
240
|
-
|
|
229
|
+
Ut tincidunt. vel fames volutpat posuere est In pharetra consectetur consectetur sagittis Mauris
|
|
241
230
|
|
|
242
231
|
#### Summary
|
|
243
232
|
|
|
244
233
|
Virtual list with 5000 items
|
|
245
234
|
Vehicle 1
|
|
246
|
-
|
|
235
|
+
Faucibus. fringilla massa vel ut neque. ante in ipsum metus consectetur Mauris Mauris efficitur
|
|
247
236
|
|
|
248
237
|
Vehicle 2
|
|
249
|
-
|
|
238
|
+
Tincidunt. ante ipsum aliquam eget hendrerit pharetra et ante Interdum
|
|
250
239
|
|
|
251
240
|
Vehicle 3
|
|
252
|
-
|
|
241
|
+
Vivamus vel ipsum consectetur ut sit purus
|
|
253
242
|
|
|
254
243
|
Vehicle 4
|
|
255
|
-
|
|
244
|
+
Iaculis. ut fringilla adipiscing posuere ligula ac ligula
|
|
256
245
|
|
|
257
246
|
Vehicle 5
|
|
258
|
-
|
|
247
|
+
Fames dolor purus consectetur neque. Sed semper. sit eget in, orci,
|
|
259
248
|
|
|
260
249
|
Vehicle 6
|
|
261
|
-
|
|
250
|
+
Eget eget in efficitur fames vitae ante
|
|
262
251
|
|
|
263
252
|
Vehicle 7
|
|
264
|
-
|
|
253
|
+
Sagittis finibus Duis in, condimentum malesuada
|
|
265
254
|
|
|
266
255
|
Vehicle 8
|
|
267
|
-
|
|
256
|
+
Semper felis. consectetur libero nec tincidunt. Ut rutrum adipiscing tincidunt. molestie nunc sagittis finibus
|
|
268
257
|
|
|
269
258
|
Vehicle 9
|
|
270
|
-
|
|
271
|
-
Lorem ac pretium pharetra Vivamus
|
|
259
|
+
Tortor ipsum eget orci, ipsum
|
|
272
260
|
|
|
273
261
|
Vehicle 10
|
|
274
|
-
|
|
262
|
+
Ut tincidunt. vel fames volutpat posuere est In pharetra consectetur consectetur sagittis Mauris
|
|
275
263
|
|
|
276
264
|
#### React (tsx)
|
|
277
265
|
|
|
@@ -341,7 +329,7 @@ export default () => {
|
|
|
341
329
|
<div class="padding-20">
|
|
342
330
|
<label>Virtual list with 5000 items</label>
|
|
343
331
|
<div class="max-width-600 max-height-400 overflow-y-auto">
|
|
344
|
-
<div class="VirtualList overflow-y-auto border rounded" style="height:
|
|
332
|
+
<div class="VirtualList overflow-y-auto border rounded" style="height: 380000px; position: relative; overflow: visible;">
|
|
345
333
|
<div class="position-relative" style="height: auto;">
|
|
346
334
|
<div class="VirtualListItemContainer list-group">
|
|
347
335
|
<div class="VirtualListItemWrapper list-group-item padding-y-15" data-index="0" style="position: absolute; transform: translateY(0px); width: 100%; will-change: transform;">
|
|
@@ -352,11 +340,11 @@ export default () => {
|
|
|
352
340
|
</div>
|
|
353
341
|
<div>
|
|
354
342
|
<div class="text-medium" data-test-ignore="text">Vehicle 1</div>
|
|
355
|
-
<div class="word-break" data-test-ignore="text">
|
|
343
|
+
<div class="word-break" data-test-ignore="text">Faucibus. fringilla massa vel ut neque. ante in ipsum metus consectetur Mauris Mauris efficitur</div>
|
|
356
344
|
</div>
|
|
357
345
|
</div>
|
|
358
346
|
</div>
|
|
359
|
-
<div class="VirtualListItemWrapper list-group-item padding-y-15" data-index="1" style="position: absolute; transform: translateY(
|
|
347
|
+
<div class="VirtualListItemWrapper list-group-item padding-y-15" data-index="1" style="position: absolute; transform: translateY(89px); width: 100%; will-change: transform;">
|
|
360
348
|
<div class="display-flex gap-15 align-items-center">
|
|
361
349
|
<div class="Avatar bg-lightest" style="height: 40px;">
|
|
362
350
|
<span class="Avatar-icon rioglyph rioglyph-truck ">
|
|
@@ -364,11 +352,11 @@ export default () => {
|
|
|
364
352
|
</div>
|
|
365
353
|
<div>
|
|
366
354
|
<div class="text-medium" data-test-ignore="text">Vehicle 2</div>
|
|
367
|
-
<div class="word-break" data-test-ignore="text">
|
|
355
|
+
<div class="word-break" data-test-ignore="text">Tincidunt. ante ipsum aliquam eget hendrerit pharetra et ante Interdum</div>
|
|
368
356
|
</div>
|
|
369
357
|
</div>
|
|
370
358
|
</div>
|
|
371
|
-
<div class="VirtualListItemWrapper list-group-item padding-y-15" data-index="2" style="position: absolute; transform: translateY(
|
|
359
|
+
<div class="VirtualListItemWrapper list-group-item padding-y-15" data-index="2" style="position: absolute; transform: translateY(159px); width: 100%; will-change: transform;">
|
|
372
360
|
<div class="display-flex gap-15 align-items-center">
|
|
373
361
|
<div class="Avatar bg-lightest" style="height: 40px;">
|
|
374
362
|
<span class="Avatar-icon rioglyph rioglyph-truck ">
|
|
@@ -376,11 +364,11 @@ export default () => {
|
|
|
376
364
|
</div>
|
|
377
365
|
<div>
|
|
378
366
|
<div class="text-medium" data-test-ignore="text">Vehicle 3</div>
|
|
379
|
-
<div class="word-break" data-test-ignore="text">
|
|
367
|
+
<div class="word-break" data-test-ignore="text">Vivamus vel ipsum consectetur ut sit purus</div>
|
|
380
368
|
</div>
|
|
381
369
|
</div>
|
|
382
370
|
</div>
|
|
383
|
-
<div class="VirtualListItemWrapper list-group-item padding-y-15" data-index="3" style="position: absolute; transform: translateY(
|
|
371
|
+
<div class="VirtualListItemWrapper list-group-item padding-y-15" data-index="3" style="position: absolute; transform: translateY(229px); width: 100%; will-change: transform;">
|
|
384
372
|
<div class="display-flex gap-15 align-items-center">
|
|
385
373
|
<div class="Avatar bg-lightest" style="height: 40px;">
|
|
386
374
|
<span class="Avatar-icon rioglyph rioglyph-truck ">
|
|
@@ -388,7 +376,7 @@ export default () => {
|
|
|
388
376
|
</div>
|
|
389
377
|
<div>
|
|
390
378
|
<div class="text-medium" data-test-ignore="text">Vehicle 4</div>
|
|
391
|
-
<div class="word-break" data-test-ignore="text">
|
|
379
|
+
<div class="word-break" data-test-ignore="text">Iaculis. ut fringilla adipiscing posuere ligula ac ligula</div>
|
|
392
380
|
</div>
|
|
393
381
|
</div>
|
|
394
382
|
</div>
|
|
@@ -400,7 +388,7 @@ export default () => {
|
|
|
400
388
|
</div>
|
|
401
389
|
<div>
|
|
402
390
|
<div class="text-medium" data-test-ignore="text">Vehicle 5</div>
|
|
403
|
-
<div class="word-break" data-test-ignore="text">
|
|
391
|
+
<div class="word-break" data-test-ignore="text">Fames dolor purus consectetur neque. Sed semper. sit eget in, orci,</div>
|
|
404
392
|
</div>
|
|
405
393
|
</div>
|
|
406
394
|
</div>
|
|
@@ -412,7 +400,7 @@ export default () => {
|
|
|
412
400
|
</div>
|
|
413
401
|
<div>
|
|
414
402
|
<div class="text-medium" data-test-ignore="text">Vehicle 6</div>
|
|
415
|
-
<div class="word-break" data-test-ignore="text">
|
|
403
|
+
<div class="word-break" data-test-ignore="text">Eget eget in efficitur fames vitae ante</div>
|
|
416
404
|
</div>
|
|
417
405
|
</div>
|
|
418
406
|
</div>
|
|
@@ -424,11 +412,11 @@ export default () => {
|
|
|
424
412
|
</div>
|
|
425
413
|
<div>
|
|
426
414
|
<div class="text-medium" data-test-ignore="text">Vehicle 7</div>
|
|
427
|
-
<div class="word-break" data-test-ignore="text">
|
|
415
|
+
<div class="word-break" data-test-ignore="text">Sagittis finibus Duis in, condimentum malesuada</div>
|
|
428
416
|
</div>
|
|
429
417
|
</div>
|
|
430
418
|
</div>
|
|
431
|
-
<div class="VirtualListItemWrapper list-group-item padding-y-15" data-index="7" style="position: absolute; transform: translateY(
|
|
419
|
+
<div class="VirtualListItemWrapper list-group-item padding-y-15" data-index="7" style="position: absolute; transform: translateY(509px); width: 100%; will-change: transform;">
|
|
432
420
|
<div class="display-flex gap-15 align-items-center">
|
|
433
421
|
<div class="Avatar bg-lightest" style="height: 40px;">
|
|
434
422
|
<span class="Avatar-icon rioglyph rioglyph-truck ">
|
|
@@ -436,7 +424,7 @@ export default () => {
|
|
|
436
424
|
</div>
|
|
437
425
|
<div>
|
|
438
426
|
<div class="text-medium" data-test-ignore="text">Vehicle 8</div>
|
|
439
|
-
<div class="word-break" data-test-ignore="text">
|
|
427
|
+
<div class="word-break" data-test-ignore="text">Semper felis. consectetur libero nec tincidunt. Ut rutrum adipiscing tincidunt. molestie nunc sagittis finibus</div>
|
|
440
428
|
</div>
|
|
441
429
|
</div>
|
|
442
430
|
</div>
|
|
@@ -448,8 +436,7 @@ export default () => {
|
|
|
448
436
|
</div>
|
|
449
437
|
<div>
|
|
450
438
|
<div class="text-medium" data-test-ignore="text">Vehicle 9</div>
|
|
451
|
-
<div class="word-break" data-test-ignore="text">
|
|
452
|
-
Lorem ac pretium pharetra Vivamus</div>
|
|
439
|
+
<div class="word-break" data-test-ignore="text">Tortor ipsum eget orci, ipsum</div>
|
|
453
440
|
</div>
|
|
454
441
|
</div>
|
|
455
442
|
</div>
|
|
@@ -461,7 +448,7 @@ export default () => {
|
|
|
461
448
|
</div>
|
|
462
449
|
<div>
|
|
463
450
|
<div class="text-medium" data-test-ignore="text">Vehicle 10</div>
|
|
464
|
-
<div class="word-break" data-test-ignore="text">
|
|
451
|
+
<div class="word-break" data-test-ignore="text">Ut tincidunt. vel fames volutpat posuere est In pharetra consectetur consectetur sagittis Mauris</div>
|
|
465
452
|
</div>
|
|
466
453
|
</div>
|
|
467
454
|
</div>
|
|
@@ -470,17 +457,4 @@ export default () => {
|
|
|
470
457
|
</div>
|
|
471
458
|
</div>
|
|
472
459
|
</div>
|
|
473
|
-
```
|
|
474
|
-
|
|
475
|
-
#### Props
|
|
476
|
-
|
|
477
|
-
| Name | Type | Default | Description |
|
|
478
|
-
| --- | --- | --- | --- |
|
|
479
|
-
| items | T[] | — | The array of items to be rendered in the list. |
|
|
480
|
-
| renderItem | (item: T, index: number) => React.ReactElement | — | A function that renders an item given its data and index. |
|
|
481
|
-
| overscanCount | number | 3 | The number of items to render outside the visible area for smoother scrolling. |
|
|
482
|
-
| defaultHeight | number | 50 | The default height for items if their height cannot be determined. |
|
|
483
|
-
| scrollContainerRef | React.RefObject<HTMLElement> | — | Optional ref to an external scroll container. Use this when VirtualList is inside a scrollable container. |
|
|
484
|
-
| containerClassName | string | — | Additional classNames for the container of the list items. |
|
|
485
|
-
| listItemWrapperClassName | string | — | Additional classNames for each individual list item wrapper. This wrapper is required for proper positioning each item in the list using an absolute top value. |
|
|
486
|
-
| className | string | — | Additional classNames for the outer list container. |
|
|
460
|
+
```
|