@rio-cloud/uikit-mcp 1.1.3 → 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 +97 -97
- package/dist/docs/components/accentBar.md +2 -34
- package/dist/docs/components/activity.md +2 -13
- package/dist/docs/components/animatedNumber.md +3 -16
- 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 +44 -572
- package/dist/docs/components/appNavigationBar.md +2 -54
- package/dist/docs/components/areaCharts.md +38 -38
- package/dist/docs/components/aspectRatioPlaceholder.md +2 -11
- package/dist/docs/components/assetTree.md +417 -991
- 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 +187 -187
- package/dist/docs/components/barList.md +10 -44
- package/dist/docs/components/basicMap.md +1 -1
- 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 +46 -72
- 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 +2 -2
- 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 +32 -74
- package/dist/docs/components/dialogs.md +15 -262
- package/dist/docs/components/divider.md +2 -14
- package/dist/docs/components/dropdowns.md +4387 -4511
- 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 +4 -4
- 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 +58 -58
- 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 +1 -1
- package/dist/docs/components/mapCluster.md +1 -1
- package/dist/docs/components/mapContext.md +1 -1
- package/dist/docs/components/mapDraggableMarker.md +1 -1
- package/dist/docs/components/mapGettingStarted.md +1 -1
- package/dist/docs/components/mapInfoBubble.md +1 -1
- package/dist/docs/components/mapLayerGroup.md +1 -1
- package/dist/docs/components/mapMarker.md +339 -345
- package/dist/docs/components/mapPolygon.md +16 -20
- package/dist/docs/components/mapRoute.md +14 -20
- package/dist/docs/components/mapRouteGenerator.md +1 -1
- package/dist/docs/components/mapSettings.md +263 -274
- 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 +124 -124
- 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 +21 -135
- 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 +119 -119
- 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 +79 -26
- 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 +203 -203
- package/dist/docs/templates/loading-progress.md +1 -1
- 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 +58 -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 +92 -92
- 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 +1 -1
- package/dist/version.json +2 -2
- package/package.json +1 -1
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*Category:* Components
|
|
4
4
|
*Section:* Content
|
|
5
5
|
*Source:* https://uikit.developers.rio.cloud/#components/virtualList
|
|
6
|
-
*Captured:* 2026-01-
|
|
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,70 +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
|
-
|
|
24
|
-
Lorem orci, nec primis lorem
|
|
23
|
+
Efficitur ac Sed felis. tincidunt. elementum bibendum, finibus ac pharetra sit scelerisque
|
|
25
24
|
|
|
26
25
|
Item 4
|
|
27
|
-
|
|
26
|
+
Elementum consectetur tortor dui volutpat
|
|
28
27
|
|
|
29
28
|
Item 5
|
|
30
|
-
|
|
29
|
+
Hendrerit ipsum ante
|
|
30
|
+
Lorem massa neque. orci pretium est Ut faucibus. ac primis quis,
|
|
31
31
|
|
|
32
32
|
Item 6
|
|
33
|
-
|
|
33
|
+
Semper. semper malesuada ligula Fusce in,
|
|
34
34
|
|
|
35
35
|
Item 7
|
|
36
|
-
|
|
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
|
-
Lorem lorem tortor primis libero
|
|
46
|
+
Enim tortor finibus in, posuere dolor efficitur
|
|
47
47
|
|
|
48
48
|
#### Summary
|
|
49
49
|
|
|
50
50
|
Virtual list with 100 itemsItem 1
|
|
51
|
-
|
|
51
|
+
Aliquam in massa, Integer lorem neque.
|
|
52
52
|
|
|
53
53
|
Item 2
|
|
54
|
-
|
|
54
|
+
Nunc Duis consectetur purus primis sit metus Sed ipsum consectetur adipiscing vel
|
|
55
55
|
|
|
56
56
|
Item 3
|
|
57
|
-
|
|
58
|
-
Lorem orci, nec primis lorem
|
|
57
|
+
Efficitur ac Sed felis. tincidunt. elementum bibendum, finibus ac pharetra sit scelerisque
|
|
59
58
|
|
|
60
59
|
Item 4
|
|
61
|
-
|
|
60
|
+
Elementum consectetur tortor dui volutpat
|
|
62
61
|
|
|
63
62
|
Item 5
|
|
64
|
-
|
|
63
|
+
Hendrerit ipsum ante
|
|
64
|
+
Lorem massa neque. orci pretium est Ut faucibus. ac primis quis,
|
|
65
65
|
|
|
66
66
|
Item 6
|
|
67
|
-
|
|
67
|
+
Semper. semper malesuada ligula Fusce in,
|
|
68
68
|
|
|
69
69
|
Item 7
|
|
70
|
-
|
|
70
|
+
Enim iaculis. ac et pretium ante
|
|
71
71
|
|
|
72
72
|
Item 8
|
|
73
|
-
|
|
73
|
+
In,
|
|
74
|
+
Lorem molestie ligula ante primis
|
|
74
75
|
|
|
75
76
|
Item 9
|
|
76
|
-
|
|
77
|
+
Vivamus hendrerit fames Integer enim in tincidunt. ante Duis in ac ante ante ut Fusce
|
|
77
78
|
|
|
78
79
|
Item 10
|
|
79
|
-
|
|
80
|
-
Lorem lorem tortor primis libero
|
|
80
|
+
Enim tortor finibus in, posuere dolor efficitur
|
|
81
81
|
|
|
82
82
|
#### React (tsx)
|
|
83
83
|
|
|
@@ -130,63 +130,63 @@ export default () => {
|
|
|
130
130
|
<div class="VirtualListItemWrapper " data-index="0" style="position: absolute; transform: translateY(0px); width: 100%; will-change: transform;">
|
|
131
131
|
<div class="margin-bottom-10 padding-y-10 padding-x-15 bg-white rounded shadow-accent text-color-darker">
|
|
132
132
|
<div class="text-medium" data-test-ignore="text">Item 1</div>
|
|
133
|
-
<div class="word-break" data-test-ignore="text">
|
|
133
|
+
<div class="word-break" data-test-ignore="text">Aliquam in massa, Integer lorem neque.</div>
|
|
134
134
|
</div>
|
|
135
135
|
</div>
|
|
136
136
|
<div class="VirtualListItemWrapper " data-index="1" style="position: absolute; transform: translateY(70px); width: 100%; will-change: transform;">
|
|
137
137
|
<div class="margin-bottom-10 padding-y-10 padding-x-15 bg-white rounded shadow-accent text-color-darker">
|
|
138
138
|
<div class="text-medium" data-test-ignore="text">Item 2</div>
|
|
139
|
-
<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>
|
|
140
140
|
</div>
|
|
141
141
|
</div>
|
|
142
142
|
<div class="VirtualListItemWrapper " data-index="2" style="position: absolute; transform: translateY(140px); width: 100%; will-change: transform;">
|
|
143
143
|
<div class="margin-bottom-10 padding-y-10 padding-x-15 bg-white rounded shadow-accent text-color-darker">
|
|
144
144
|
<div class="text-medium" data-test-ignore="text">Item 3</div>
|
|
145
|
-
<div class="word-break" data-test-ignore="text">
|
|
146
|
-
Lorem orci, nec primis lorem</div>
|
|
145
|
+
<div class="word-break" data-test-ignore="text">Efficitur ac Sed felis. tincidunt. elementum bibendum, finibus ac pharetra sit scelerisque</div>
|
|
147
146
|
</div>
|
|
148
147
|
</div>
|
|
149
148
|
<div class="VirtualListItemWrapper " data-index="3" style="position: absolute; transform: translateY(210px); width: 100%; will-change: transform;">
|
|
150
149
|
<div class="margin-bottom-10 padding-y-10 padding-x-15 bg-white rounded shadow-accent text-color-darker">
|
|
151
150
|
<div class="text-medium" data-test-ignore="text">Item 4</div>
|
|
152
|
-
<div class="word-break" data-test-ignore="text">
|
|
151
|
+
<div class="word-break" data-test-ignore="text">Elementum consectetur tortor dui volutpat</div>
|
|
153
152
|
</div>
|
|
154
153
|
</div>
|
|
155
154
|
<div class="VirtualListItemWrapper " data-index="4" style="position: absolute; transform: translateY(280px); width: 100%; will-change: transform;">
|
|
156
155
|
<div class="margin-bottom-10 padding-y-10 padding-x-15 bg-white rounded shadow-accent text-color-darker">
|
|
157
156
|
<div class="text-medium" data-test-ignore="text">Item 5</div>
|
|
158
|
-
<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>
|
|
159
159
|
</div>
|
|
160
160
|
</div>
|
|
161
161
|
<div class="VirtualListItemWrapper " data-index="5" style="position: absolute; transform: translateY(350px); width: 100%; will-change: transform;">
|
|
162
162
|
<div class="margin-bottom-10 padding-y-10 padding-x-15 bg-white rounded shadow-accent text-color-darker">
|
|
163
163
|
<div class="text-medium" data-test-ignore="text">Item 6</div>
|
|
164
|
-
<div class="word-break" data-test-ignore="text">
|
|
164
|
+
<div class="word-break" data-test-ignore="text">Semper. semper malesuada ligula Fusce in,</div>
|
|
165
165
|
</div>
|
|
166
166
|
</div>
|
|
167
167
|
<div class="VirtualListItemWrapper " data-index="6" style="position: absolute; transform: translateY(420px); width: 100%; will-change: transform;">
|
|
168
168
|
<div class="margin-bottom-10 padding-y-10 padding-x-15 bg-white rounded shadow-accent text-color-darker">
|
|
169
169
|
<div class="text-medium" data-test-ignore="text">Item 7</div>
|
|
170
|
-
<div class="word-break" data-test-ignore="text">
|
|
170
|
+
<div class="word-break" data-test-ignore="text">Enim iaculis. ac et pretium ante</div>
|
|
171
171
|
</div>
|
|
172
172
|
</div>
|
|
173
173
|
<div class="VirtualListItemWrapper " data-index="7" style="position: absolute; transform: translateY(490px); width: 100%; will-change: transform;">
|
|
174
174
|
<div class="margin-bottom-10 padding-y-10 padding-x-15 bg-white rounded shadow-accent text-color-darker">
|
|
175
175
|
<div class="text-medium" data-test-ignore="text">Item 8</div>
|
|
176
|
-
<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>
|
|
177
178
|
</div>
|
|
178
179
|
</div>
|
|
179
180
|
<div class="VirtualListItemWrapper " data-index="8" style="position: absolute; transform: translateY(560px); width: 100%; will-change: transform;">
|
|
180
181
|
<div class="margin-bottom-10 padding-y-10 padding-x-15 bg-white rounded shadow-accent text-color-darker">
|
|
181
182
|
<div class="text-medium" data-test-ignore="text">Item 9</div>
|
|
182
|
-
<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>
|
|
183
184
|
</div>
|
|
184
185
|
</div>
|
|
185
186
|
<div class="VirtualListItemWrapper " data-index="9" style="position: absolute; transform: translateY(630px); width: 100%; will-change: transform;">
|
|
186
187
|
<div class="margin-bottom-10 padding-y-10 padding-x-15 bg-white rounded shadow-accent text-color-darker">
|
|
187
188
|
<div class="text-medium" data-test-ignore="text">Item 10</div>
|
|
188
|
-
<div class="word-break" data-test-ignore="text">
|
|
189
|
-
Lorem lorem tortor primis libero</div>
|
|
189
|
+
<div class="word-break" data-test-ignore="text">Enim tortor finibus in, posuere dolor efficitur</div>
|
|
190
190
|
</div>
|
|
191
191
|
</div>
|
|
192
192
|
</div>
|
|
@@ -195,84 +195,71 @@ export default () => {
|
|
|
195
195
|
</div>
|
|
196
196
|
```
|
|
197
197
|
|
|
198
|
-
#### Props
|
|
199
|
-
|
|
200
|
-
| Name | Type | Default | Description |
|
|
201
|
-
| --- | --- | --- | --- |
|
|
202
|
-
| items | T[] | — | The array of items to be rendered in the list. |
|
|
203
|
-
| renderItem | (item: T, index: number) => React.ReactElement | — | A function that renders an item given its data and index. |
|
|
204
|
-
| overscanCount | number | 3 | The number of items to render outside the visible area for smoother scrolling. |
|
|
205
|
-
| defaultHeight | number | 50 | The default height for items if their height cannot be determined. |
|
|
206
|
-
| scrollContainerRef | React.RefObject<HTMLElement> | — | Optional ref to an external scroll container. Use this when VirtualList is inside a scrollable container. |
|
|
207
|
-
| containerClassName | string | — | Additional classNames for the container of the list items. |
|
|
208
|
-
| 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. |
|
|
209
|
-
| className | string | — | Additional classNames for the outer list container. |
|
|
210
|
-
|
|
211
198
|
### Example: Example 2
|
|
212
199
|
|
|
213
200
|
Virtual list with 5000 items
|
|
214
201
|
Vehicle 1
|
|
215
|
-
|
|
202
|
+
Faucibus. fringilla massa vel ut neque. ante in ipsum metus consectetur Mauris Mauris efficitur
|
|
216
203
|
|
|
217
204
|
Vehicle 2
|
|
218
|
-
|
|
205
|
+
Tincidunt. ante ipsum aliquam eget hendrerit pharetra et ante Interdum
|
|
219
206
|
|
|
220
207
|
Vehicle 3
|
|
221
|
-
|
|
208
|
+
Vivamus vel ipsum consectetur ut sit purus
|
|
222
209
|
|
|
223
210
|
Vehicle 4
|
|
224
|
-
|
|
211
|
+
Iaculis. ut fringilla adipiscing posuere ligula ac ligula
|
|
225
212
|
|
|
226
213
|
Vehicle 5
|
|
227
|
-
|
|
214
|
+
Fames dolor purus consectetur neque. Sed semper. sit eget in, orci,
|
|
228
215
|
|
|
229
216
|
Vehicle 6
|
|
230
|
-
|
|
217
|
+
Eget eget in efficitur fames vitae ante
|
|
231
218
|
|
|
232
219
|
Vehicle 7
|
|
233
|
-
|
|
220
|
+
Sagittis finibus Duis in, condimentum malesuada
|
|
234
221
|
|
|
235
222
|
Vehicle 8
|
|
236
|
-
Ut
|
|
223
|
+
Semper felis. consectetur libero nec tincidunt. Ut rutrum adipiscing tincidunt. molestie nunc sagittis finibus
|
|
237
224
|
|
|
238
225
|
Vehicle 9
|
|
239
|
-
|
|
226
|
+
Tortor ipsum eget orci, ipsum
|
|
240
227
|
|
|
241
228
|
Vehicle 10
|
|
242
|
-
|
|
229
|
+
Ut tincidunt. vel fames volutpat posuere est In pharetra consectetur consectetur sagittis Mauris
|
|
243
230
|
|
|
244
231
|
#### Summary
|
|
245
232
|
|
|
246
233
|
Virtual list with 5000 items
|
|
247
234
|
Vehicle 1
|
|
248
|
-
|
|
235
|
+
Faucibus. fringilla massa vel ut neque. ante in ipsum metus consectetur Mauris Mauris efficitur
|
|
249
236
|
|
|
250
237
|
Vehicle 2
|
|
251
|
-
|
|
238
|
+
Tincidunt. ante ipsum aliquam eget hendrerit pharetra et ante Interdum
|
|
252
239
|
|
|
253
240
|
Vehicle 3
|
|
254
|
-
|
|
241
|
+
Vivamus vel ipsum consectetur ut sit purus
|
|
255
242
|
|
|
256
243
|
Vehicle 4
|
|
257
|
-
|
|
244
|
+
Iaculis. ut fringilla adipiscing posuere ligula ac ligula
|
|
258
245
|
|
|
259
246
|
Vehicle 5
|
|
260
|
-
|
|
247
|
+
Fames dolor purus consectetur neque. Sed semper. sit eget in, orci,
|
|
261
248
|
|
|
262
249
|
Vehicle 6
|
|
263
|
-
|
|
250
|
+
Eget eget in efficitur fames vitae ante
|
|
264
251
|
|
|
265
252
|
Vehicle 7
|
|
266
|
-
|
|
253
|
+
Sagittis finibus Duis in, condimentum malesuada
|
|
267
254
|
|
|
268
255
|
Vehicle 8
|
|
269
|
-
Ut
|
|
256
|
+
Semper felis. consectetur libero nec tincidunt. Ut rutrum adipiscing tincidunt. molestie nunc sagittis finibus
|
|
270
257
|
|
|
271
258
|
Vehicle 9
|
|
272
|
-
|
|
259
|
+
Tortor ipsum eget orci, ipsum
|
|
273
260
|
|
|
274
261
|
Vehicle 10
|
|
275
|
-
|
|
262
|
+
Ut tincidunt. vel fames volutpat posuere est In pharetra consectetur consectetur sagittis Mauris
|
|
276
263
|
|
|
277
264
|
#### React (tsx)
|
|
278
265
|
|
|
@@ -342,7 +329,7 @@ export default () => {
|
|
|
342
329
|
<div class="padding-20">
|
|
343
330
|
<label>Virtual list with 5000 items</label>
|
|
344
331
|
<div class="max-width-600 max-height-400 overflow-y-auto">
|
|
345
|
-
<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;">
|
|
346
333
|
<div class="position-relative" style="height: auto;">
|
|
347
334
|
<div class="VirtualListItemContainer list-group">
|
|
348
335
|
<div class="VirtualListItemWrapper list-group-item padding-y-15" data-index="0" style="position: absolute; transform: translateY(0px); width: 100%; will-change: transform;">
|
|
@@ -353,11 +340,11 @@ export default () => {
|
|
|
353
340
|
</div>
|
|
354
341
|
<div>
|
|
355
342
|
<div class="text-medium" data-test-ignore="text">Vehicle 1</div>
|
|
356
|
-
<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>
|
|
357
344
|
</div>
|
|
358
345
|
</div>
|
|
359
346
|
</div>
|
|
360
|
-
<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;">
|
|
361
348
|
<div class="display-flex gap-15 align-items-center">
|
|
362
349
|
<div class="Avatar bg-lightest" style="height: 40px;">
|
|
363
350
|
<span class="Avatar-icon rioglyph rioglyph-truck ">
|
|
@@ -365,11 +352,11 @@ export default () => {
|
|
|
365
352
|
</div>
|
|
366
353
|
<div>
|
|
367
354
|
<div class="text-medium" data-test-ignore="text">Vehicle 2</div>
|
|
368
|
-
<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>
|
|
369
356
|
</div>
|
|
370
357
|
</div>
|
|
371
358
|
</div>
|
|
372
|
-
<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;">
|
|
373
360
|
<div class="display-flex gap-15 align-items-center">
|
|
374
361
|
<div class="Avatar bg-lightest" style="height: 40px;">
|
|
375
362
|
<span class="Avatar-icon rioglyph rioglyph-truck ">
|
|
@@ -377,11 +364,11 @@ export default () => {
|
|
|
377
364
|
</div>
|
|
378
365
|
<div>
|
|
379
366
|
<div class="text-medium" data-test-ignore="text">Vehicle 3</div>
|
|
380
|
-
<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>
|
|
381
368
|
</div>
|
|
382
369
|
</div>
|
|
383
370
|
</div>
|
|
384
|
-
<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;">
|
|
385
372
|
<div class="display-flex gap-15 align-items-center">
|
|
386
373
|
<div class="Avatar bg-lightest" style="height: 40px;">
|
|
387
374
|
<span class="Avatar-icon rioglyph rioglyph-truck ">
|
|
@@ -389,7 +376,7 @@ export default () => {
|
|
|
389
376
|
</div>
|
|
390
377
|
<div>
|
|
391
378
|
<div class="text-medium" data-test-ignore="text">Vehicle 4</div>
|
|
392
|
-
<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>
|
|
393
380
|
</div>
|
|
394
381
|
</div>
|
|
395
382
|
</div>
|
|
@@ -401,7 +388,7 @@ export default () => {
|
|
|
401
388
|
</div>
|
|
402
389
|
<div>
|
|
403
390
|
<div class="text-medium" data-test-ignore="text">Vehicle 5</div>
|
|
404
|
-
<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>
|
|
405
392
|
</div>
|
|
406
393
|
</div>
|
|
407
394
|
</div>
|
|
@@ -413,7 +400,7 @@ export default () => {
|
|
|
413
400
|
</div>
|
|
414
401
|
<div>
|
|
415
402
|
<div class="text-medium" data-test-ignore="text">Vehicle 6</div>
|
|
416
|
-
<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>
|
|
417
404
|
</div>
|
|
418
405
|
</div>
|
|
419
406
|
</div>
|
|
@@ -425,7 +412,7 @@ export default () => {
|
|
|
425
412
|
</div>
|
|
426
413
|
<div>
|
|
427
414
|
<div class="text-medium" data-test-ignore="text">Vehicle 7</div>
|
|
428
|
-
<div class="word-break" data-test-ignore="text">
|
|
415
|
+
<div class="word-break" data-test-ignore="text">Sagittis finibus Duis in, condimentum malesuada</div>
|
|
429
416
|
</div>
|
|
430
417
|
</div>
|
|
431
418
|
</div>
|
|
@@ -437,11 +424,11 @@ export default () => {
|
|
|
437
424
|
</div>
|
|
438
425
|
<div>
|
|
439
426
|
<div class="text-medium" data-test-ignore="text">Vehicle 8</div>
|
|
440
|
-
<div class="word-break" data-test-ignore="text">Ut
|
|
427
|
+
<div class="word-break" data-test-ignore="text">Semper felis. consectetur libero nec tincidunt. Ut rutrum adipiscing tincidunt. molestie nunc sagittis finibus</div>
|
|
441
428
|
</div>
|
|
442
429
|
</div>
|
|
443
430
|
</div>
|
|
444
|
-
<div class="VirtualListItemWrapper list-group-item padding-y-15" data-index="8" style="position: absolute; transform: translateY(
|
|
431
|
+
<div class="VirtualListItemWrapper list-group-item padding-y-15" data-index="8" style="position: absolute; transform: translateY(599px); width: 100%; will-change: transform;">
|
|
445
432
|
<div class="display-flex gap-15 align-items-center">
|
|
446
433
|
<div class="Avatar bg-lightest" style="height: 40px;">
|
|
447
434
|
<span class="Avatar-icon rioglyph rioglyph-truck ">
|
|
@@ -449,7 +436,7 @@ export default () => {
|
|
|
449
436
|
</div>
|
|
450
437
|
<div>
|
|
451
438
|
<div class="text-medium" data-test-ignore="text">Vehicle 9</div>
|
|
452
|
-
<div class="word-break" data-test-ignore="text">
|
|
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
|
+
```
|