@rio-cloud/uikit-mcp 1.1.4 → 1.1.6

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