@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.
Files changed (191) hide show
  1. package/dist/doc-metadata.json +117 -127
  2. package/dist/docs/components/accentBar.md +2 -34
  3. package/dist/docs/components/activity.md +2 -13
  4. package/dist/docs/components/animatedNumber.md +4 -17
  5. package/dist/docs/components/animatedTextReveal.md +7 -54
  6. package/dist/docs/components/animations.md +42 -34
  7. package/dist/docs/components/appHeader.md +2 -73
  8. package/dist/docs/components/appLayout.md +36 -496
  9. package/dist/docs/components/appNavigationBar.md +2 -54
  10. package/dist/docs/components/areaCharts.md +37 -37
  11. package/dist/docs/components/aspectRatioPlaceholder.md +2 -11
  12. package/dist/docs/components/assetTree.md +435 -901
  13. package/dist/docs/components/autosuggests.md +4 -4
  14. package/dist/docs/components/avatar.md +2 -24
  15. package/dist/docs/components/banner.md +2 -2
  16. package/dist/docs/components/barCharts.md +186 -186
  17. package/dist/docs/components/barList.md +12 -46
  18. package/dist/docs/components/basicMap.md +7 -7
  19. package/dist/docs/components/bottomSheet.md +3 -100
  20. package/dist/docs/components/button.md +16 -71
  21. package/dist/docs/components/buttonToolbar.md +2 -9
  22. package/dist/docs/components/calendarStripe.md +95 -121
  23. package/dist/docs/components/card.md +2 -10
  24. package/dist/docs/components/carousel.md +1 -1
  25. package/dist/docs/components/chartColors.md +1 -1
  26. package/dist/docs/components/chartsGettingStarted.md +1 -1
  27. package/dist/docs/components/chat.md +4 -1
  28. package/dist/docs/components/checkbox.md +11 -111
  29. package/dist/docs/components/clearableInput.md +7 -111
  30. package/dist/docs/components/collapse.md +3 -29
  31. package/dist/docs/components/composedCharts.md +31 -31
  32. package/dist/docs/components/contentLoader.md +104 -122
  33. package/dist/docs/components/dataTabs.md +24 -194
  34. package/dist/docs/components/datepickers.md +727 -769
  35. package/dist/docs/components/dialogs.md +15 -262
  36. package/dist/docs/components/divider.md +2 -14
  37. package/dist/docs/components/dropdowns.md +4387 -4550
  38. package/dist/docs/components/editableContent.md +2 -186
  39. package/dist/docs/components/expander.md +23 -70
  40. package/dist/docs/components/fade.md +6 -41
  41. package/dist/docs/components/fadeExpander.md +2 -11
  42. package/dist/docs/components/fadeUp.md +3 -23
  43. package/dist/docs/components/feedback.md +2 -42
  44. package/dist/docs/components/filePickers.md +2 -44
  45. package/dist/docs/components/formLabel.md +2 -18
  46. package/dist/docs/components/groupedItemList.md +2 -53
  47. package/dist/docs/components/iconList.md +3 -3
  48. package/dist/docs/components/imagePreloader.md +2 -6
  49. package/dist/docs/components/labeledElement.md +2 -11
  50. package/dist/docs/components/licensePlate.md +2 -10
  51. package/dist/docs/components/lineCharts.md +60 -60
  52. package/dist/docs/components/listMenu.md +2 -50
  53. package/dist/docs/components/loadMore.md +2 -28
  54. package/dist/docs/components/mainNavigation.md +1 -1
  55. package/dist/docs/components/mapCircle.md +3 -3
  56. package/dist/docs/components/mapCluster.md +5 -5
  57. package/dist/docs/components/mapContext.md +3 -3
  58. package/dist/docs/components/mapDraggableMarker.md +3 -3
  59. package/dist/docs/components/mapGettingStarted.md +1 -1
  60. package/dist/docs/components/mapInfoBubble.md +3 -3
  61. package/dist/docs/components/mapLayerGroup.md +3 -3
  62. package/dist/docs/components/mapMarker.md +341 -347
  63. package/dist/docs/components/mapPolygon.md +20 -24
  64. package/dist/docs/components/mapRoute.md +26 -32
  65. package/dist/docs/components/mapRouteGenerator.md +1 -1
  66. package/dist/docs/components/mapSettings.md +273 -284
  67. package/dist/docs/components/mapUtils.md +3 -5
  68. package/dist/docs/components/multiselects.md +1 -1
  69. package/dist/docs/components/noData.md +2 -22
  70. package/dist/docs/components/notifications.md +1 -1
  71. package/dist/docs/components/numbercontrol.md +2 -48
  72. package/dist/docs/components/onboarding.md +2 -46
  73. package/dist/docs/components/page.md +2 -32
  74. package/dist/docs/components/pager.md +2 -14
  75. package/dist/docs/components/pieCharts.md +125 -157
  76. package/dist/docs/components/popover.md +2 -56
  77. package/dist/docs/components/position.md +2 -10
  78. package/dist/docs/components/radialBarCharts.md +506 -506
  79. package/dist/docs/components/radiobutton.md +81 -191
  80. package/dist/docs/components/releaseNotes.md +1 -12
  81. package/dist/docs/components/resizer.md +2 -14
  82. package/dist/docs/components/responsiveColumnStripe.md +2 -19
  83. package/dist/docs/components/responsiveVideo.md +2 -11
  84. package/dist/docs/components/rioglyph.md +2 -12
  85. package/dist/docs/components/rules.md +69 -133
  86. package/dist/docs/components/saveableInput.md +279 -393
  87. package/dist/docs/components/selects.md +9996 -15
  88. package/dist/docs/components/sidebar.md +2 -39
  89. package/dist/docs/components/sliders.md +2 -37
  90. package/dist/docs/components/smoothScrollbars.md +2 -56
  91. package/dist/docs/components/spinners.md +5 -51
  92. package/dist/docs/components/states.md +21 -245
  93. package/dist/docs/components/statsWidgets.md +2 -113
  94. package/dist/docs/components/statusBar.md +2 -28
  95. package/dist/docs/components/stepButton.md +2 -8
  96. package/dist/docs/components/steppedProgressBars.md +2 -66
  97. package/dist/docs/components/subNavigation.md +1 -8
  98. package/dist/docs/components/supportMarker.md +1 -1
  99. package/dist/docs/components/svgImage.md +2 -12
  100. package/dist/docs/components/switch.md +2 -11
  101. package/dist/docs/components/tables.md +1 -1
  102. package/dist/docs/components/tagManager.md +4 -58
  103. package/dist/docs/components/tags.md +2 -31
  104. package/dist/docs/components/teaser.md +2 -30
  105. package/dist/docs/components/timeline.md +1 -1
  106. package/dist/docs/components/timepicker.md +2 -26
  107. package/dist/docs/components/toggleButton.md +7 -29
  108. package/dist/docs/components/tooltip.md +9 -40
  109. package/dist/docs/components/virtualList.md +73 -99
  110. package/dist/docs/foundations.md +167 -167
  111. package/dist/docs/start/changelog.md +23 -1
  112. package/dist/docs/start/goodtoknow.md +1 -1
  113. package/dist/docs/start/guidelines/color-combinations.md +1 -1
  114. package/dist/docs/start/guidelines/custom-css.md +1 -1
  115. package/dist/docs/start/guidelines/custom-rioglyph.md +1 -1
  116. package/dist/docs/start/guidelines/formatting.md +1 -1
  117. package/dist/docs/start/guidelines/iframe.md +80 -27
  118. package/dist/docs/start/guidelines/obfuscate-data.md +1 -1
  119. package/dist/docs/start/guidelines/print-css.md +1 -1
  120. package/dist/docs/start/guidelines/spinner.md +81 -81
  121. package/dist/docs/start/guidelines/supported-browsers.md +1 -1
  122. package/dist/docs/start/guidelines/writing.md +1 -1
  123. package/dist/docs/start/howto.md +9 -9
  124. package/dist/docs/start/intro.md +1 -1
  125. package/dist/docs/start/responsiveness.md +1 -1
  126. package/dist/docs/templates/common-table.md +11 -11
  127. package/dist/docs/templates/detail-views.md +2 -2
  128. package/dist/docs/templates/expandable-details.md +1 -1
  129. package/dist/docs/templates/feature-cards.md +55 -55
  130. package/dist/docs/templates/form-summary.md +22 -22
  131. package/dist/docs/templates/form-toggle.md +1 -1
  132. package/dist/docs/templates/list-blocks.md +200 -200
  133. package/dist/docs/templates/loading-progress.md +3 -3
  134. package/dist/docs/templates/options-panel.md +1 -1
  135. package/dist/docs/templates/panel-variants.md +1 -1
  136. package/dist/docs/templates/progress-cards.md +1 -1
  137. package/dist/docs/templates/progress-success.md +1 -1
  138. package/dist/docs/templates/settings-form.md +23 -23
  139. package/dist/docs/templates/stats-blocks.md +41 -41
  140. package/dist/docs/templates/table-panel.md +1 -1
  141. package/dist/docs/templates/table-row-animation.md +1 -1
  142. package/dist/docs/templates/usage-cards.md +1 -1
  143. package/dist/docs/utilities/deviceUtils.md +6 -3
  144. package/dist/docs/utilities/featureToggles.md +1 -1
  145. package/dist/docs/utilities/fuelTypeUtils.md +1 -1
  146. package/dist/docs/utilities/routeUtils.md +59 -23
  147. package/dist/docs/utilities/useAfterMount.md +1 -1
  148. package/dist/docs/utilities/useAutoAnimate.md +1 -1
  149. package/dist/docs/utilities/useAverage.md +1 -1
  150. package/dist/docs/utilities/useClickOutside.md +1 -1
  151. package/dist/docs/utilities/useClipboard.md +2 -2
  152. package/dist/docs/utilities/useCount.md +1 -1
  153. package/dist/docs/utilities/useDarkMode.md +1 -1
  154. package/dist/docs/utilities/useDebugInfo.md +4 -4
  155. package/dist/docs/utilities/useEffectOnce.md +1 -1
  156. package/dist/docs/utilities/useElapsedTime.md +1 -1
  157. package/dist/docs/utilities/useElementSize.md +1 -1
  158. package/dist/docs/utilities/useEsc.md +1 -1
  159. package/dist/docs/utilities/useEvent.md +1 -1
  160. package/dist/docs/utilities/useFocusTrap.md +1 -1
  161. package/dist/docs/utilities/useFullscreen.md +1 -1
  162. package/dist/docs/utilities/useHover.md +1 -1
  163. package/dist/docs/utilities/useIncomingPostMessages.md +1 -1
  164. package/dist/docs/utilities/useInterval.md +1 -1
  165. package/dist/docs/utilities/useIsFocusWithin.md +1 -1
  166. package/dist/docs/utilities/useKey.md +7 -5
  167. package/dist/docs/utilities/useLocalStorage.md +1 -1
  168. package/dist/docs/utilities/useLocationSuggestions.md +1 -1
  169. package/dist/docs/utilities/useMax.md +1 -1
  170. package/dist/docs/utilities/useMin.md +1 -1
  171. package/dist/docs/utilities/useMutationObserver.md +1 -1
  172. package/dist/docs/utilities/useOnScreen.md +1 -1
  173. package/dist/docs/utilities/useOnlineStatus.md +1 -1
  174. package/dist/docs/utilities/usePostMessage.md +2 -2
  175. package/dist/docs/utilities/usePostMessageSender.md +1 -1
  176. package/dist/docs/utilities/usePrevious.md +1 -1
  177. package/dist/docs/utilities/useResizeObserver.md +1 -1
  178. package/dist/docs/utilities/useScrollPosition.md +1 -1
  179. package/dist/docs/utilities/useSearch.md +1 -1
  180. package/dist/docs/utilities/useSorting.md +1 -1
  181. package/dist/docs/utilities/useStateWithValidation.md +1 -1
  182. package/dist/docs/utilities/useSum.md +1 -1
  183. package/dist/docs/utilities/useTableExport.md +54 -54
  184. package/dist/docs/utilities/useTableSelection.md +93 -93
  185. package/dist/docs/utilities/useTimeout.md +1 -1
  186. package/dist/docs/utilities/useToggle.md +1 -1
  187. package/dist/docs/utilities/useWindowResize.md +1 -1
  188. package/dist/index.mjs +8 -2
  189. package/dist/version.json +2 -2
  190. package/package.json +8 -8
  191. 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:* 2025-12-15T15:02:46.765Z
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
- Eget ligula consectetur posuere viverra lorem In ipsum malesuada
17
+ Aliquam in massa, Integer lorem neque.
18
18
 
19
19
  Item 2
20
- Fringilla elit. efficitur ipsum in elit. massa Duis
20
+ Nunc Duis consectetur purus primis sit metus Sed ipsum consectetur adipiscing vel
21
21
 
22
22
  Item 3
23
- Orci felis. iaculis. rutrum semper. ante
23
+ Efficitur ac Sed felis. tincidunt. elementum bibendum, finibus ac pharetra sit scelerisque
24
24
 
25
25
  Item 4
26
- Et tincidunt. metus quis, massa, lorem et orci neque. ut elementum efficitur ante massa,
26
+ Elementum consectetur tortor dui volutpat
27
27
 
28
28
  Item 5
29
- Ipsum iaculis. sit primis ut orci
29
+ Hendrerit ipsum ante
30
+ Lorem massa neque. orci pretium est Ut faucibus. ac primis quis,
30
31
 
31
32
  Item 6
32
- Nec in sit posuere malesuada pretium adipiscing sagittis metus efficitur enim eget in
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
- Vivamus In vitae semper in pretium finibus Sed consectetur in, dolor et dolor lorem in,
39
+ In,
40
+ Lorem molestie ligula ante primis
40
41
 
41
42
  Item 9
42
- Efficitur felis. Duis bibendum, massa,
43
+ Vivamus hendrerit fames Integer enim in tincidunt. ante Duis in ac ante ante ut Fusce
43
44
 
44
45
  Item 10
45
- Sagittis ac scelerisque posuere faucibus. vel eget In quis,
46
+ Enim tortor finibus in, posuere dolor efficitur
46
47
 
47
48
  #### Summary
48
49
 
49
50
  Virtual list with 100 itemsItem 1
50
- Eget ligula consectetur posuere viverra lorem In ipsum malesuada
51
+ Aliquam in massa, Integer lorem neque.
51
52
 
52
53
  Item 2
53
- Fringilla elit. efficitur ipsum in elit. massa Duis
54
+ Nunc Duis consectetur purus primis sit metus Sed ipsum consectetur adipiscing vel
54
55
 
55
56
  Item 3
56
- Orci felis. iaculis. rutrum semper. ante
57
+ Efficitur ac Sed felis. tincidunt. elementum bibendum, finibus ac pharetra sit scelerisque
57
58
 
58
59
  Item 4
59
- Et tincidunt. metus quis, massa, lorem et orci neque. ut elementum efficitur ante massa,
60
+ Elementum consectetur tortor dui volutpat
60
61
 
61
62
  Item 5
62
- Ipsum iaculis. sit primis ut orci
63
+ Hendrerit ipsum ante
64
+ Lorem massa neque. orci pretium est Ut faucibus. ac primis quis,
63
65
 
64
66
  Item 6
65
- Nec in sit posuere malesuada pretium adipiscing sagittis metus efficitur enim eget in
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
- Vivamus In vitae semper in pretium finibus Sed consectetur in, dolor et dolor lorem in,
73
+ In,
74
+ Lorem molestie ligula ante primis
73
75
 
74
76
  Item 9
75
- Efficitur felis. Duis bibendum, massa,
77
+ Vivamus hendrerit fames Integer enim in tincidunt. ante Duis in ac ante ante ut Fusce
76
78
 
77
79
  Item 10
78
- Sagittis ac scelerisque posuere faucibus. vel eget In quis,
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">Eget ligula consectetur posuere viverra lorem In ipsum malesuada</div>
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">Fringilla elit. efficitur ipsum in elit. massa Duis</div>
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">Orci felis. iaculis. rutrum semper. ante</div>
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">Et tincidunt. metus quis, massa, lorem et orci neque. ut elementum efficitur ante massa,</div>
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">Ipsum iaculis. sit primis ut orci</div>
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">Nec in sit posuere malesuada pretium adipiscing sagittis metus efficitur enim eget in</div>
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">Vivamus In vitae semper in pretium finibus Sed consectetur in, dolor et dolor lorem in,</div>
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">Efficitur felis. Duis bibendum, massa,</div>
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">Sagittis ac scelerisque posuere faucibus. vel eget In quis,</div>
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
- Posuere viverra semper Duis molestie orci
202
+ Faucibus. fringilla massa vel ut neque. ante in ipsum metus consectetur Mauris Mauris efficitur
213
203
 
214
204
  Vehicle 2
215
- Posuere vitae orci, pharetra eget orci, molestie metus ante orci,
205
+ Tincidunt. ante ipsum aliquam eget hendrerit pharetra et ante Interdum
216
206
 
217
207
  Vehicle 3
218
- In ut metus massa, consectetur iaculis. ligula molestie nunc pretium
208
+ Vivamus vel ipsum consectetur ut sit purus
219
209
 
220
210
  Vehicle 4
221
- Purus tincidunt. et primis vitae consectetur Duis est ac primis ligula Vivamus est sagittis Fusce
211
+ Iaculis. ut fringilla adipiscing posuere ligula ac ligula
222
212
 
223
213
  Vehicle 5
224
- Pharetra orci, volutpat aliquam eget massa pretium nec fringilla faucibus. vitae
214
+ Fames dolor purus consectetur neque. Sed semper. sit eget in, orci,
225
215
 
226
216
  Vehicle 6
227
- Iaculis. efficitur felis. tortor est
217
+ Eget eget in efficitur fames vitae ante
228
218
 
229
219
  Vehicle 7
230
- Interdum ante semper. hendrerit ante faucibus. pretium condimentum ligula hendrerit in in vitae
220
+ Sagittis finibus Duis in, condimentum malesuada
231
221
 
232
222
  Vehicle 8
233
- Tincidunt. in in orci elementum viverra Fusce in semper ut orci iaculis. Integer quis,
223
+ Semper felis. consectetur libero nec tincidunt. Ut rutrum adipiscing tincidunt. molestie nunc sagittis finibus
234
224
 
235
225
  Vehicle 9
236
- Vel orci, semper consectetur
237
- Lorem ac pretium pharetra Vivamus
226
+ Tortor ipsum eget orci, ipsum
238
227
 
239
228
  Vehicle 10
240
- Tortor sagittis metus elit. ac ante dui efficitur felis. nec malesuada
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
- Posuere viverra semper Duis molestie orci
235
+ Faucibus. fringilla massa vel ut neque. ante in ipsum metus consectetur Mauris Mauris efficitur
247
236
 
248
237
  Vehicle 2
249
- Posuere vitae orci, pharetra eget orci, molestie metus ante orci,
238
+ Tincidunt. ante ipsum aliquam eget hendrerit pharetra et ante Interdum
250
239
 
251
240
  Vehicle 3
252
- In ut metus massa, consectetur iaculis. ligula molestie nunc pretium
241
+ Vivamus vel ipsum consectetur ut sit purus
253
242
 
254
243
  Vehicle 4
255
- Purus tincidunt. et primis vitae consectetur Duis est ac primis ligula Vivamus est sagittis Fusce
244
+ Iaculis. ut fringilla adipiscing posuere ligula ac ligula
256
245
 
257
246
  Vehicle 5
258
- Pharetra orci, volutpat aliquam eget massa pretium nec fringilla faucibus. vitae
247
+ Fames dolor purus consectetur neque. Sed semper. sit eget in, orci,
259
248
 
260
249
  Vehicle 6
261
- Iaculis. efficitur felis. tortor est
250
+ Eget eget in efficitur fames vitae ante
262
251
 
263
252
  Vehicle 7
264
- Interdum ante semper. hendrerit ante faucibus. pretium condimentum ligula hendrerit in in vitae
253
+ Sagittis finibus Duis in, condimentum malesuada
265
254
 
266
255
  Vehicle 8
267
- Tincidunt. in in orci elementum viverra Fusce in semper ut orci iaculis. Integer quis,
256
+ Semper felis. consectetur libero nec tincidunt. Ut rutrum adipiscing tincidunt. molestie nunc sagittis finibus
268
257
 
269
258
  Vehicle 9
270
- Vel orci, semper consectetur
271
- Lorem ac pretium pharetra Vivamus
259
+ Tortor ipsum eget orci, ipsum
272
260
 
273
261
  Vehicle 10
274
- Tortor sagittis metus elit. ac ante dui efficitur felis. nec malesuada
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: 370000px; position: relative; overflow: visible;">
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">Posuere viverra semper Duis molestie orci</div>
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(69px); width: 100%; will-change: transform;">
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">Posuere vitae orci, pharetra eget orci, molestie metus ante orci,</div>
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(139px); width: 100%; will-change: transform;">
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">In ut metus massa, consectetur iaculis. ligula molestie nunc pretium</div>
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(209px); width: 100%; will-change: transform;">
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">Purus tincidunt. et primis vitae consectetur Duis est ac primis ligula Vivamus est sagittis Fusce</div>
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">Pharetra orci, volutpat aliquam eget massa pretium nec fringilla faucibus. vitae</div>
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">Iaculis. efficitur felis. tortor est</div>
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">Interdum ante semper. hendrerit ante faucibus. pretium condimentum ligula hendrerit in in vitae</div>
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(529px); width: 100%; will-change: transform;">
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">Tincidunt. in in orci elementum viverra Fusce in semper ut orci iaculis. Integer quis,</div>
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">Vel orci, semper consectetur
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">Tortor sagittis metus elit. ac ante dui efficitur felis. nec malesuada</div>
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
+ ```