@rio-cloud/uikit-mcp 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (388) hide show
  1. package/README.md +75 -40
  2. package/dist/doc-metadata.json +1872 -0
  3. package/dist/docs/components/accentBar.md +582 -0
  4. package/dist/docs/components/activity.md +330 -0
  5. package/dist/docs/components/animatedNumber.md +88 -0
  6. package/dist/docs/components/animatedTextReveal.md +381 -0
  7. package/dist/docs/components/animations.md +459 -0
  8. package/dist/docs/components/appHeader.md +737 -0
  9. package/dist/docs/components/appLayout.md +2016 -0
  10. package/dist/docs/components/appNavigationBar.md +274 -0
  11. package/dist/docs/components/areaCharts.md +828 -0
  12. package/dist/docs/components/aspectRatioPlaceholder.md +106 -0
  13. package/dist/docs/components/assetTree.md +3223 -0
  14. package/dist/docs/components/autosuggests.md +1177 -0
  15. package/dist/docs/components/avatar.md +206 -0
  16. package/dist/docs/components/banner.md +668 -0
  17. package/dist/docs/components/barCharts.md +2785 -0
  18. package/dist/docs/components/barList.md +517 -0
  19. package/dist/docs/components/basicMap.md +167 -0
  20. package/dist/docs/components/bottomSheet.md +721 -0
  21. package/dist/docs/components/button.md +775 -0
  22. package/dist/docs/components/buttonToolbar.md +134 -0
  23. package/dist/docs/components/calendarStripe.md +525 -0
  24. package/dist/docs/components/card.md +86 -0
  25. package/dist/docs/components/carousel.md +128 -0
  26. package/dist/docs/components/chartColors.md +716 -0
  27. package/dist/docs/components/chartsGettingStarted.md +28 -0
  28. package/dist/docs/components/chat.md +932 -0
  29. package/dist/docs/components/checkbox.md +996 -0
  30. package/dist/docs/components/clearableInput.md +806 -0
  31. package/dist/docs/components/collapse.md +189 -0
  32. package/dist/docs/components/composedCharts.md +424 -0
  33. package/dist/docs/components/contentLoader.md +674 -0
  34. package/dist/docs/components/dataTabs.md +1251 -0
  35. package/dist/docs/components/datepickers.md +2543 -0
  36. package/dist/docs/components/dialogs.md +2244 -0
  37. package/dist/docs/components/divider.md +219 -0
  38. package/dist/docs/components/dropdowns.md +17550 -0
  39. package/dist/docs/components/editableContent.md +1127 -0
  40. package/dist/docs/components/expander.md +970 -0
  41. package/dist/docs/components/fade.md +836 -0
  42. package/dist/docs/components/fadeExpander.md +180 -0
  43. package/dist/docs/components/fadeUp.md +396 -0
  44. package/dist/docs/components/feedback.md +758 -0
  45. package/dist/docs/components/filePickers.md +370 -0
  46. package/dist/docs/components/formLabel.md +251 -0
  47. package/dist/docs/components/fullscreenMap.md +10 -0
  48. package/dist/docs/components/groupedItemList.md +1001 -0
  49. package/dist/docs/components/iconList.md +306 -0
  50. package/dist/docs/components/imagePreloader.md +167 -0
  51. package/dist/docs/components/labeledElement.md +115 -0
  52. package/dist/docs/components/licensePlate.md +412 -0
  53. package/dist/docs/components/lineCharts.md +2014 -0
  54. package/dist/docs/components/listMenu.md +392 -0
  55. package/dist/docs/components/loadMore.md +219 -0
  56. package/dist/docs/components/mainNavigation.md +129 -0
  57. package/dist/docs/components/mapCircle.md +93 -0
  58. package/dist/docs/components/mapCluster.md +337 -0
  59. package/dist/docs/components/mapContext.md +284 -0
  60. package/dist/docs/components/mapDraggableMarker.md +150 -0
  61. package/dist/docs/components/mapGettingStarted.md +39 -0
  62. package/dist/docs/components/mapInfoBubble.md +135 -0
  63. package/dist/docs/components/mapLayerGroup.md +94 -0
  64. package/dist/docs/components/mapMarker.md +1814 -0
  65. package/dist/docs/components/mapPolygon.md +959 -0
  66. package/dist/docs/components/mapRoute.md +3816 -0
  67. package/dist/docs/components/mapRouteGenerator.md +6 -0
  68. package/dist/docs/components/mapSettings.md +1040 -0
  69. package/dist/docs/components/mapUtils.md +132 -0
  70. package/dist/docs/components/multiselects.md +1921 -0
  71. package/dist/docs/components/noData.md +210 -0
  72. package/dist/docs/components/notifications.md +314 -0
  73. package/dist/docs/components/numbercontrol.md +706 -0
  74. package/dist/docs/components/onboarding.md +297 -0
  75. package/dist/docs/components/page.md +241 -0
  76. package/dist/docs/components/pager.md +133 -0
  77. package/dist/docs/components/pieCharts.md +1284 -0
  78. package/dist/docs/components/popover.md +222 -0
  79. package/dist/docs/components/position.md +50 -0
  80. package/dist/docs/components/radialBarCharts.md +3663 -0
  81. package/dist/docs/components/radiobutton.md +1271 -0
  82. package/dist/docs/components/releaseNotes.md +135 -0
  83. package/dist/docs/components/resizer.md +162 -0
  84. package/dist/docs/components/responsiveColumnStripe.md +435 -0
  85. package/dist/docs/components/responsiveVideo.md +71 -0
  86. package/dist/docs/components/rioglyph.md +331 -0
  87. package/dist/docs/components/rules.md +965 -0
  88. package/dist/docs/components/saveableInput.md +1721 -0
  89. package/dist/docs/components/selects.md +1993 -0
  90. package/dist/docs/components/sidebar.md +332 -0
  91. package/dist/docs/components/sliders.md +376 -0
  92. package/dist/docs/components/smoothScrollbars.md +1180 -0
  93. package/dist/docs/components/spinners.md +506 -0
  94. package/dist/docs/components/states.md +1176 -0
  95. package/dist/docs/components/statsWidgets.md +636 -0
  96. package/dist/docs/components/statusBar.md +644 -0
  97. package/dist/docs/components/stepButton.md +61 -0
  98. package/dist/docs/components/steppedProgressBars.md +1064 -0
  99. package/dist/docs/components/subNavigation.md +470 -0
  100. package/dist/docs/components/supportMarker.md +115 -0
  101. package/dist/docs/components/svgImage.md +248 -0
  102. package/dist/docs/components/switch.md +554 -0
  103. package/dist/docs/components/tables.md +8 -0
  104. package/dist/docs/components/tagManager.md +476 -0
  105. package/dist/docs/components/tags.md +785 -0
  106. package/dist/docs/components/teaser.md +925 -0
  107. package/dist/docs/components/timeline.md +514 -0
  108. package/dist/docs/components/timepicker.md +262 -0
  109. package/dist/docs/components/toggleButton.md +178 -0
  110. package/dist/docs/components/tooltip.md +454 -0
  111. package/dist/docs/components/virtualList.md +483 -0
  112. package/dist/docs/foundations.md +20901 -0
  113. package/dist/docs/start/changelog.md +439 -0
  114. package/dist/docs/start/goodtoknow.md +14 -0
  115. package/dist/docs/start/guidelines/color-combinations.md +678 -0
  116. package/dist/docs/start/guidelines/custom-css.md +42 -0
  117. package/dist/docs/start/guidelines/custom-rioglyph.md +35 -0
  118. package/dist/docs/start/guidelines/formatting.md +587 -0
  119. package/dist/docs/start/guidelines/iframe.md +323 -0
  120. package/dist/docs/start/guidelines/obfuscate-data.md +30 -0
  121. package/dist/docs/start/guidelines/print-css.md +36 -0
  122. package/dist/docs/start/guidelines/spinner.md +710 -0
  123. package/dist/docs/start/guidelines/supported-browsers.md +10 -0
  124. package/dist/docs/start/guidelines/writing.md +635 -0
  125. package/dist/docs/start/howto.md +187 -0
  126. package/dist/docs/start/intro.md +43 -0
  127. package/dist/docs/start/responsiveness.md +98 -0
  128. package/dist/docs/templates/common-table.md +1111 -0
  129. package/dist/docs/templates/detail-views.md +942 -0
  130. package/dist/docs/templates/expandable-details.md +228 -0
  131. package/dist/docs/templates/feature-cards.md +549 -0
  132. package/dist/docs/templates/form-summary.md +199 -0
  133. package/dist/docs/templates/form-toggle.md +367 -0
  134. package/dist/docs/templates/list-blocks.md +1021 -0
  135. package/dist/docs/templates/loading-progress.md +109 -0
  136. package/dist/docs/templates/options-panel.md +152 -0
  137. package/dist/docs/templates/panel-variants.md +164 -0
  138. package/dist/docs/templates/progress-cards.md +607 -0
  139. package/dist/docs/templates/progress-success.md +142 -0
  140. package/dist/docs/templates/settings-form.md +434 -0
  141. package/dist/docs/templates/stats-blocks.md +1381 -0
  142. package/dist/docs/templates/table-panel.md +184 -0
  143. package/dist/docs/templates/table-row-animation.md +317 -0
  144. package/dist/docs/templates/usage-cards.md +227 -0
  145. package/dist/docs/utilities/deviceUtils.md +123 -0
  146. package/dist/docs/utilities/featureToggles.md +90 -0
  147. package/dist/docs/utilities/fuelTypeUtils.md +186 -0
  148. package/dist/docs/utilities/routeUtils.md +138 -0
  149. package/dist/docs/utilities/useAfterMount.md +66 -0
  150. package/dist/docs/utilities/useAutoAnimate.md +193 -0
  151. package/dist/docs/utilities/useAverage.md +95 -0
  152. package/dist/docs/utilities/useClickOutside.md +61 -0
  153. package/dist/docs/utilities/useClipboard.md +93 -0
  154. package/dist/docs/utilities/useCount.md +178 -0
  155. package/dist/docs/utilities/useDarkMode.md +49 -0
  156. package/dist/docs/utilities/useDebugInfo.md +126 -0
  157. package/dist/docs/utilities/useEffectOnce.md +58 -0
  158. package/dist/docs/utilities/useElapsedTime.md +58 -0
  159. package/dist/docs/utilities/useElementSize.md +71 -0
  160. package/dist/docs/utilities/useEsc.md +58 -0
  161. package/dist/docs/utilities/useEvent.md +64 -0
  162. package/dist/docs/utilities/useFocusTrap.md +85 -0
  163. package/dist/docs/utilities/useFullscreen.md +198 -0
  164. package/dist/docs/utilities/useHover.md +55 -0
  165. package/dist/docs/utilities/useIncomingPostMessages.md +237 -0
  166. package/dist/docs/utilities/useInterval.md +85 -0
  167. package/dist/docs/utilities/useIsFocusWithin.md +114 -0
  168. package/dist/docs/utilities/useKey.md +151 -0
  169. package/dist/docs/utilities/useLocalStorage.md +91 -0
  170. package/dist/docs/utilities/useLocationSuggestions.md +114 -0
  171. package/dist/docs/utilities/useMax.md +62 -0
  172. package/dist/docs/utilities/useMin.md +78 -0
  173. package/dist/docs/utilities/useMutationObserver.md +113 -0
  174. package/dist/docs/utilities/useOnScreen.md +138 -0
  175. package/dist/docs/utilities/useOnlineStatus.md +49 -0
  176. package/dist/docs/utilities/usePostMessage.md +117 -0
  177. package/dist/docs/utilities/usePostMessageSender.md +257 -0
  178. package/dist/docs/utilities/usePrevious.md +101 -0
  179. package/dist/docs/utilities/useResizeObserver.md +151 -0
  180. package/dist/docs/utilities/useScrollPosition.md +252 -0
  181. package/dist/docs/utilities/useSearch.md +228 -0
  182. package/dist/docs/utilities/useSorting.md +389 -0
  183. package/dist/docs/utilities/useStateWithValidation.md +83 -0
  184. package/dist/docs/utilities/useSum.md +155 -0
  185. package/dist/docs/utilities/useTableExport.md +404 -0
  186. package/dist/docs/utilities/useTableSelection.md +1120 -0
  187. package/dist/docs/utilities/useTimeout.md +55 -0
  188. package/dist/docs/utilities/useToggle.md +115 -0
  189. package/dist/docs/utilities/useWindowResize.md +70 -0
  190. package/dist/index.mjs +271 -0
  191. package/dist/search-synonyms.json +134 -0
  192. package/dist/version.json +4 -0
  193. package/package.json +23 -19
  194. package/bin/uikit-mcp.mjs +0 -23
  195. package/data/pages/Components/components/accentbar.json +0 -207
  196. package/data/pages/Components/components/activity.json +0 -87
  197. package/data/pages/Components/components/animatednumber.json +0 -99
  198. package/data/pages/Components/components/animations.json +0 -87
  199. package/data/pages/Components/components/appheader.json +0 -291
  200. package/data/pages/Components/components/applayout.json +0 -1198
  201. package/data/pages/Components/components/appnavigationbar.json +0 -327
  202. package/data/pages/Components/components/areacharts.json +0 -563
  203. package/data/pages/Components/components/aspectratioplaceholder.json +0 -75
  204. package/data/pages/Components/components/assettree.json +0 -3080
  205. package/data/pages/Components/components/autosuggests.json +0 -710
  206. package/data/pages/Components/components/avatar.json +0 -157
  207. package/data/pages/Components/components/banner.json +0 -599
  208. package/data/pages/Components/components/barcharts.json +0 -1507
  209. package/data/pages/Components/components/barlist.json +0 -223
  210. package/data/pages/Components/components/basicmap.json +0 -68
  211. package/data/pages/Components/components/bottomsheet.json +0 -601
  212. package/data/pages/Components/components/button.json +0 -583
  213. package/data/pages/Components/components/buttontoolbar.json +0 -63
  214. package/data/pages/Components/components/calendarstripe.json +0 -235
  215. package/data/pages/Components/components/card.json +0 -69
  216. package/data/pages/Components/components/carousel.json +0 -39
  217. package/data/pages/Components/components/chartcolors.json +0 -34
  218. package/data/pages/Components/components/chartsgettingstarted.json +0 -32
  219. package/data/pages/Components/components/chat.json +0 -39
  220. package/data/pages/Components/components/checkbox.json +0 -847
  221. package/data/pages/Components/components/clearableinput.json +0 -789
  222. package/data/pages/Components/components/collapse.json +0 -175
  223. package/data/pages/Components/components/composedcharts.json +0 -159
  224. package/data/pages/Components/components/contentloader.json +0 -233
  225. package/data/pages/Components/components/datatabs.json +0 -680
  226. package/data/pages/Components/components/datepickers.json +0 -287
  227. package/data/pages/Components/components/dialogs.json +0 -1492
  228. package/data/pages/Components/components/divider.json +0 -93
  229. package/data/pages/Components/components/dropdowns.json +0 -936
  230. package/data/pages/Components/components/editablecontent.json +0 -1117
  231. package/data/pages/Components/components/expander.json +0 -377
  232. package/data/pages/Components/components/fade.json +0 -403
  233. package/data/pages/Components/components/fadeexpander.json +0 -75
  234. package/data/pages/Components/components/fadeup.json +0 -127
  235. package/data/pages/Components/components/feedback.json +0 -269
  236. package/data/pages/Components/components/filepickers.json +0 -269
  237. package/data/pages/Components/components/formlabel.json +0 -115
  238. package/data/pages/Components/components/fullscreenmap.json +0 -22
  239. package/data/pages/Components/components/groupeditemlist.json +0 -323
  240. package/data/pages/Components/components/iconlist.json +0 -45
  241. package/data/pages/Components/components/imagepreloader.json +0 -81
  242. package/data/pages/Components/components/labeledelement.json +0 -75
  243. package/data/pages/Components/components/licenseplate.json +0 -69
  244. package/data/pages/Components/components/linecharts.json +0 -987
  245. package/data/pages/Components/components/listmenu.json +0 -313
  246. package/data/pages/Components/components/loadmore.json +0 -175
  247. package/data/pages/Components/components/mainnavigation.json +0 -39
  248. package/data/pages/Components/components/mapcircle.json +0 -34
  249. package/data/pages/Components/components/mapcluster.json +0 -51
  250. package/data/pages/Components/components/mapcontext.json +0 -105
  251. package/data/pages/Components/components/mapdraggablemarker.json +0 -34
  252. package/data/pages/Components/components/mapgettingstarted.json +0 -27
  253. package/data/pages/Components/components/mapgroup.json +0 -1198
  254. package/data/pages/Components/components/mapinfobubble.json +0 -34
  255. package/data/pages/Components/components/maplayergroup.json +0 -34
  256. package/data/pages/Components/components/mapmarker.json +0 -700
  257. package/data/pages/Components/components/mappolygon.json +0 -45
  258. package/data/pages/Components/components/maproute.json +0 -623
  259. package/data/pages/Components/components/maproutegenerator.json +0 -16
  260. package/data/pages/Components/components/mapsettings.json +0 -51
  261. package/data/pages/Components/components/maputils.json +0 -34
  262. package/data/pages/Components/components/multiselects.json +0 -1451
  263. package/data/pages/Components/components/nodata.json +0 -139
  264. package/data/pages/Components/components/notifications.json +0 -65
  265. package/data/pages/Components/components/numbercontrol.json +0 -301
  266. package/data/pages/Components/components/onboarding.json +0 -302
  267. package/data/pages/Components/components/page.json +0 -197
  268. package/data/pages/Components/components/pager.json +0 -93
  269. package/data/pages/Components/components/piecharts.json +0 -731
  270. package/data/pages/Components/components/popover.json +0 -251
  271. package/data/pages/Components/components/position.json +0 -69
  272. package/data/pages/Components/components/radialbarcharts.json +0 -1304
  273. package/data/pages/Components/components/radiobutton.json +0 -1105
  274. package/data/pages/Components/components/releasenotes.json +0 -44
  275. package/data/pages/Components/components/resizer.json +0 -93
  276. package/data/pages/Components/components/responsivecolumnstripe.json +0 -123
  277. package/data/pages/Components/components/responsivevideo.json +0 -75
  278. package/data/pages/Components/components/rioglyph.json +0 -93
  279. package/data/pages/Components/components/rules.json +0 -410
  280. package/data/pages/Components/components/saveableinput.json +0 -703
  281. package/data/pages/Components/components/selects.json +0 -701
  282. package/data/pages/Components/components/sidebar.json +0 -243
  283. package/data/pages/Components/components/sliders.json +0 -235
  284. package/data/pages/Components/components/smoothscrollbars.json +0 -335
  285. package/data/pages/Components/components/spinners.json +0 -343
  286. package/data/pages/Components/components/states.json +0 -1705
  287. package/data/pages/Components/components/statswidgets.json +0 -314
  288. package/data/pages/Components/components/statusbar.json +0 -177
  289. package/data/pages/Components/components/stepbutton.json +0 -57
  290. package/data/pages/Components/components/steppedprogressbars.json +0 -417
  291. package/data/pages/Components/components/subnavigation.json +0 -107
  292. package/data/pages/Components/components/supportmarker.json +0 -45
  293. package/data/pages/Components/components/svgimage.json +0 -81
  294. package/data/pages/Components/components/switch.json +0 -111
  295. package/data/pages/Components/components/tables.json +0 -144
  296. package/data/pages/Components/components/tagmanager.json +0 -86
  297. package/data/pages/Components/components/tags.json +0 -146
  298. package/data/pages/Components/components/teaser.json +0 -188
  299. package/data/pages/Components/components/timeline.json +0 -45
  300. package/data/pages/Components/components/timepicker.json +0 -163
  301. package/data/pages/Components/components/togglebutton.json +0 -247
  302. package/data/pages/Components/components/tooltip.json +0 -270
  303. package/data/pages/Components/components/virtuallist.json +0 -175
  304. package/data/pages/Foundations/foundations.json +0 -2475
  305. package/data/pages/Getting-started/start/changelog.json +0 -22
  306. package/data/pages/Getting-started/start/goodtoknow.json +0 -32
  307. package/data/pages/Getting-started/start/guidelines/color-combinations.json +0 -58
  308. package/data/pages/Getting-started/start/guidelines/custom-css.json +0 -27
  309. package/data/pages/Getting-started/start/guidelines/custom-rioglyph.json +0 -22
  310. package/data/pages/Getting-started/start/guidelines/formatting.json +0 -97
  311. package/data/pages/Getting-started/start/guidelines/iframe.json +0 -93
  312. package/data/pages/Getting-started/start/guidelines/obfuscate-data.json +0 -22
  313. package/data/pages/Getting-started/start/guidelines/print-css.json +0 -37
  314. package/data/pages/Getting-started/start/guidelines/spinner.json +0 -144
  315. package/data/pages/Getting-started/start/guidelines/supported-browsers.json +0 -22
  316. package/data/pages/Getting-started/start/guidelines/writing.json +0 -242
  317. package/data/pages/Getting-started/start/howto.json +0 -72
  318. package/data/pages/Getting-started/start/intro.json +0 -37
  319. package/data/pages/Getting-started/start/responsiveness.json +0 -52
  320. package/data/pages/Templates/templates/common-table.json +0 -39
  321. package/data/pages/Templates/templates/detail-views.json +0 -71
  322. package/data/pages/Templates/templates/expandable-details.json +0 -39
  323. package/data/pages/Templates/templates/feature-cards.json +0 -103
  324. package/data/pages/Templates/templates/form-summary.json +0 -39
  325. package/data/pages/Templates/templates/form-toggle.json +0 -39
  326. package/data/pages/Templates/templates/list-blocks.json +0 -119
  327. package/data/pages/Templates/templates/loading-progress.json +0 -39
  328. package/data/pages/Templates/templates/options-panel.json +0 -39
  329. package/data/pages/Templates/templates/panel-variants.json +0 -39
  330. package/data/pages/Templates/templates/progress-cards.json +0 -71
  331. package/data/pages/Templates/templates/progress-success.json +0 -39
  332. package/data/pages/Templates/templates/settings-form.json +0 -39
  333. package/data/pages/Templates/templates/stats-blocks.json +0 -135
  334. package/data/pages/Templates/templates/table-panel.json +0 -39
  335. package/data/pages/Templates/templates/table-row-animation.json +0 -39
  336. package/data/pages/Templates/templates/usage-cards.json +0 -39
  337. package/data/pages/Utilities/utilities/deviceutils.json +0 -39
  338. package/data/pages/Utilities/utilities/featuretoggles.json +0 -42
  339. package/data/pages/Utilities/utilities/fueltypeutils.json +0 -118
  340. package/data/pages/Utilities/utilities/routeutils.json +0 -34
  341. package/data/pages/Utilities/utilities/useaftermount.json +0 -63
  342. package/data/pages/Utilities/utilities/useaverage.json +0 -86
  343. package/data/pages/Utilities/utilities/useclickoutside.json +0 -69
  344. package/data/pages/Utilities/utilities/useclipboard.json +0 -57
  345. package/data/pages/Utilities/utilities/usecount.json +0 -92
  346. package/data/pages/Utilities/utilities/usedarkmode.json +0 -50
  347. package/data/pages/Utilities/utilities/usedebuginfo.json +0 -63
  348. package/data/pages/Utilities/utilities/useeffectonce.json +0 -57
  349. package/data/pages/Utilities/utilities/useelapsedtime.json +0 -57
  350. package/data/pages/Utilities/utilities/useelementsize.json +0 -63
  351. package/data/pages/Utilities/utilities/useesc.json +0 -57
  352. package/data/pages/Utilities/utilities/useevent.json +0 -75
  353. package/data/pages/Utilities/utilities/usefocustrap.json +0 -57
  354. package/data/pages/Utilities/utilities/usefullscreen.json +0 -197
  355. package/data/pages/Utilities/utilities/usehover.json +0 -57
  356. package/data/pages/Utilities/utilities/useinterval.json +0 -63
  357. package/data/pages/Utilities/utilities/useisfocuswithin.json +0 -75
  358. package/data/pages/Utilities/utilities/usekey.json +0 -75
  359. package/data/pages/Utilities/utilities/uselocalstorage.json +0 -69
  360. package/data/pages/Utilities/utilities/uselocationsuggestions.json +0 -110
  361. package/data/pages/Utilities/utilities/usemax.json +0 -86
  362. package/data/pages/Utilities/utilities/usemin.json +0 -86
  363. package/data/pages/Utilities/utilities/usemutationobserver.json +0 -69
  364. package/data/pages/Utilities/utilities/useonlinestatus.json +0 -39
  365. package/data/pages/Utilities/utilities/useonscreen.json +0 -63
  366. package/data/pages/Utilities/utilities/usepostmessage.json +0 -80
  367. package/data/pages/Utilities/utilities/useprevious.json +0 -63
  368. package/data/pages/Utilities/utilities/useresizeobserver.json +0 -65
  369. package/data/pages/Utilities/utilities/usescrollposition.json +0 -103
  370. package/data/pages/Utilities/utilities/usesearch.json +0 -197
  371. package/data/pages/Utilities/utilities/usesorting.json +0 -139
  372. package/data/pages/Utilities/utilities/usestatewithvalidation.json +0 -69
  373. package/data/pages/Utilities/utilities/usesum.json +0 -86
  374. package/data/pages/Utilities/utilities/usetableexport.json +0 -87
  375. package/data/pages/Utilities/utilities/usetableselection.json +0 -311
  376. package/data/pages/Utilities/utilities/usetimeout.json +0 -63
  377. package/data/pages/Utilities/utilities/usetoggle.json +0 -75
  378. package/data/pages/Utilities/utilities/usewindowresize.json +0 -63
  379. package/data/version.json +0 -4
  380. package/docs/content-schema.md +0 -147
  381. package/docs/navigation-inventory.json +0 -1310
  382. package/docs/search-synonyms.json +0 -43
  383. package/server/index.mjs +0 -268
  384. package/server/lib/load-docs.mjs +0 -48
  385. package/server/lib/normalise-doc.mjs +0 -220
  386. package/server/lib/render-markdown.mjs +0 -82
  387. package/server/lib/search-index.mjs +0 -49
  388. package/server/lib/types.js +0 -99
@@ -0,0 +1,483 @@
1
+ # VirtualList
2
+
3
+ *Category:* Components
4
+ *Section:* Content
5
+ *Source:* https://uikit.developers.rio.cloud/#components/virtualList
6
+ *Captured:* 2025-12-12T12:38:48.209Z
7
+
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
+
10
+ ## VirtualList
11
+
12
+ It allows a specified number of items outside the viewport for smoother scrolling. It optimizes performance by minimizing DOM updates and provides a customizable rendering function for each item, making it ideal for applications that require dynamic and responsive list displays.
13
+
14
+ ### Example: Example 1
15
+
16
+ Virtual list with 100 itemsItem 1
17
+ Et viverra Sed et quis, adipiscing
18
+
19
+ Item 2
20
+ Ac efficitur dolor molestie In finibus ipsum in in, nec felis. eget
21
+
22
+ Item 3
23
+ Rutrum Mauris molestie finibus faucibus. pretium
24
+
25
+ Item 4
26
+ Libero massa, Mauris ante efficitur
27
+
28
+ Item 5
29
+ In sem. in,
30
+ Lorem et
31
+
32
+ Item 6
33
+ Vivamus sem. molestie in, vitae orci, ante ac in consectetur ut
34
+
35
+ Item 7
36
+ Finibus et faucibus. elit. et tortor
37
+
38
+ Item 8
39
+ Adipiscing tortor sem. in Mauris metus ligula felis.
40
+
41
+ Item 9
42
+ Vitae in lorem dolor ante elit. efficitur finibus fames felis. et eget fringilla vel volutpat
43
+
44
+ Item 10
45
+ Duis tortor libero orci aliquam ac semper. elit. elit. finibus primis massa consectetur condimentum Vivamus
46
+
47
+ #### Summary
48
+
49
+ Virtual list with 100 itemsItem 1
50
+ Et viverra Sed et quis, adipiscing
51
+
52
+ Item 2
53
+ Ac efficitur dolor molestie In finibus ipsum in in, nec felis. eget
54
+
55
+ Item 3
56
+ Rutrum Mauris molestie finibus faucibus. pretium
57
+
58
+ Item 4
59
+ Libero massa, Mauris ante efficitur
60
+
61
+ Item 5
62
+ In sem. in,
63
+ Lorem et
64
+
65
+ Item 6
66
+ Vivamus sem. molestie in, vitae orci, ante ac in consectetur ut
67
+
68
+ Item 7
69
+ Finibus et faucibus. elit. et tortor
70
+
71
+ Item 8
72
+ Adipiscing tortor sem. in Mauris metus ligula felis.
73
+
74
+ Item 9
75
+ Vitae in lorem dolor ante elit. efficitur finibus fames felis. et eget fringilla vel volutpat
76
+
77
+ Item 10
78
+ Duis tortor libero orci aliquam ac semper. elit. elit. finibus primis massa consectetur condimentum Vivamus
79
+
80
+ #### React (tsx)
81
+
82
+ ```tsx
83
+ import VirtualList from '@rio-cloud/rio-uikit/VirtualList';
84
+
85
+ import { generateDummyText } from '../../../utils/data';
86
+
87
+ const ITEM_COUNT = 100;
88
+
89
+ export default () => {
90
+ const items = Array.from({ length: ITEM_COUNT }, (_, index) => ({
91
+ title: `Item ${index + 1}`,
92
+ description: generateDummyText(),
93
+ }));
94
+
95
+ return (
96
+ <div className='max-width-600 padding-y-20'>
97
+ <label className='padding-left-10'>Virtual list with {ITEM_COUNT} items</label>
98
+ <VirtualList
99
+ items={items}
100
+ renderItem={(item, index) => (
101
+ <div
102
+ key={index}
103
+ className='margin-bottom-10 padding-y-10 padding-x-15 bg-white rounded shadow-accent text-color-darker'
104
+ >
105
+ <div className='text-medium' data-test-ignore='text'>
106
+ {item.title}
107
+ </div>
108
+ <div className='word-break' data-test-ignore='text'>
109
+ {item.description}
110
+ </div>
111
+ </div>
112
+ )}
113
+ className='max-height-400 padding-x-10'
114
+ />
115
+ </div>
116
+ );
117
+ };
118
+ ```
119
+
120
+ #### HTML (html)
121
+
122
+ ```html
123
+ <div class="max-width-600 padding-y-20">
124
+ <label class="padding-left-10">Virtual list with 100 items</label>
125
+ <div class="VirtualList overflow-y-auto max-height-400 padding-x-10" style="height: 100%; position: relative; overflow: auto;">
126
+ <div class="position-relative" style="height: 7200px;">
127
+ <div class="VirtualListItemContainer ">
128
+ <div class="VirtualListItemWrapper " data-index="0" style="position: absolute; transform: translateY(0px); width: 100%; will-change: transform;">
129
+ <div class="margin-bottom-10 padding-y-10 padding-x-15 bg-white rounded shadow-accent text-color-darker">
130
+ <div class="text-medium" data-test-ignore="text">Item 1</div>
131
+ <div class="word-break" data-test-ignore="text">Et viverra Sed et quis, adipiscing</div>
132
+ </div>
133
+ </div>
134
+ <div class="VirtualListItemWrapper " data-index="1" style="position: absolute; transform: translateY(70px); width: 100%; will-change: transform;">
135
+ <div class="margin-bottom-10 padding-y-10 padding-x-15 bg-white rounded shadow-accent text-color-darker">
136
+ <div class="text-medium" data-test-ignore="text">Item 2</div>
137
+ <div class="word-break" data-test-ignore="text">Ac efficitur dolor molestie In finibus ipsum in in, nec felis. eget</div>
138
+ </div>
139
+ </div>
140
+ <div class="VirtualListItemWrapper " data-index="2" style="position: absolute; transform: translateY(140px); width: 100%; will-change: transform;">
141
+ <div class="margin-bottom-10 padding-y-10 padding-x-15 bg-white rounded shadow-accent text-color-darker">
142
+ <div class="text-medium" data-test-ignore="text">Item 3</div>
143
+ <div class="word-break" data-test-ignore="text">Rutrum Mauris molestie finibus faucibus. pretium</div>
144
+ </div>
145
+ </div>
146
+ <div class="VirtualListItemWrapper " data-index="3" style="position: absolute; transform: translateY(210px); width: 100%; will-change: transform;">
147
+ <div class="margin-bottom-10 padding-y-10 padding-x-15 bg-white rounded shadow-accent text-color-darker">
148
+ <div class="text-medium" data-test-ignore="text">Item 4</div>
149
+ <div class="word-break" data-test-ignore="text">Libero massa, Mauris ante efficitur</div>
150
+ </div>
151
+ </div>
152
+ <div class="VirtualListItemWrapper " data-index="4" style="position: absolute; transform: translateY(280px); width: 100%; will-change: transform;">
153
+ <div class="margin-bottom-10 padding-y-10 padding-x-15 bg-white rounded shadow-accent text-color-darker">
154
+ <div class="text-medium" data-test-ignore="text">Item 5</div>
155
+ <div class="word-break" data-test-ignore="text">In sem. in,
156
+ Lorem et</div>
157
+ </div>
158
+ </div>
159
+ <div class="VirtualListItemWrapper " data-index="5" style="position: absolute; transform: translateY(350px); width: 100%; will-change: transform;">
160
+ <div class="margin-bottom-10 padding-y-10 padding-x-15 bg-white rounded shadow-accent text-color-darker">
161
+ <div class="text-medium" data-test-ignore="text">Item 6</div>
162
+ <div class="word-break" data-test-ignore="text">Vivamus sem. molestie in, vitae orci, ante ac in consectetur ut</div>
163
+ </div>
164
+ </div>
165
+ <div class="VirtualListItemWrapper " data-index="6" style="position: absolute; transform: translateY(420px); width: 100%; will-change: transform;">
166
+ <div class="margin-bottom-10 padding-y-10 padding-x-15 bg-white rounded shadow-accent text-color-darker">
167
+ <div class="text-medium" data-test-ignore="text">Item 7</div>
168
+ <div class="word-break" data-test-ignore="text">Finibus et faucibus. elit. et tortor</div>
169
+ </div>
170
+ </div>
171
+ <div class="VirtualListItemWrapper " data-index="7" style="position: absolute; transform: translateY(490px); width: 100%; will-change: transform;">
172
+ <div class="margin-bottom-10 padding-y-10 padding-x-15 bg-white rounded shadow-accent text-color-darker">
173
+ <div class="text-medium" data-test-ignore="text">Item 8</div>
174
+ <div class="word-break" data-test-ignore="text">Adipiscing tortor sem. in Mauris metus ligula felis.</div>
175
+ </div>
176
+ </div>
177
+ <div class="VirtualListItemWrapper " data-index="8" style="position: absolute; transform: translateY(560px); width: 100%; will-change: transform;">
178
+ <div class="margin-bottom-10 padding-y-10 padding-x-15 bg-white rounded shadow-accent text-color-darker">
179
+ <div class="text-medium" data-test-ignore="text">Item 9</div>
180
+ <div class="word-break" data-test-ignore="text">Vitae in lorem dolor ante elit. efficitur finibus fames felis. et eget fringilla vel volutpat</div>
181
+ </div>
182
+ </div>
183
+ <div class="VirtualListItemWrapper " data-index="9" style="position: absolute; transform: translateY(630px); width: 100%; will-change: transform;">
184
+ <div class="margin-bottom-10 padding-y-10 padding-x-15 bg-white rounded shadow-accent text-color-darker">
185
+ <div class="text-medium" data-test-ignore="text">Item 10</div>
186
+ <div class="word-break" data-test-ignore="text">Duis tortor libero orci aliquam ac semper. elit. elit. finibus primis massa consectetur condimentum Vivamus</div>
187
+ </div>
188
+ </div>
189
+ </div>
190
+ </div>
191
+ </div>
192
+ </div>
193
+ ```
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
+
208
+ ### Example: Example 2
209
+
210
+ Virtual list with 5000 items
211
+ Vehicle 1
212
+ Ligula nec felis. in ante volutpat felis. fringilla finibus scelerisque
213
+
214
+ Vehicle 2
215
+ Libero molestie molestie pretium efficitur ac felis. dui elit. Integer fames iaculis. Duis sit
216
+
217
+ Vehicle 3
218
+ Viverra Integer dolor molestie orci, primis
219
+
220
+ Vehicle 4
221
+ Faucibus. orci, ante ut et libero primis
222
+
223
+ Vehicle 5
224
+ In orci In Vivamus libero adipiscing Sed ligula fringilla bibendum, elit. molestie ipsum ante finibus
225
+
226
+ Vehicle 6
227
+ Bibendum, adipiscing neque. ac semper in sem. Integer vel
228
+
229
+ Vehicle 7
230
+ Efficitur rutrum lorem velit. ut
231
+
232
+ Vehicle 8
233
+ Quis, eget viverra faucibus. aliquam elit. ante finibus ac fames libero finibus pretium
234
+
235
+ Vehicle 9
236
+ Orci fames Interdum felis. Integer semper. purus efficitur fames sem. ac
237
+
238
+ Vehicle 10
239
+ Dolor semper. vitae sit libero sit quis,
240
+
241
+ #### Summary
242
+
243
+ Virtual list with 5000 items
244
+ Vehicle 1
245
+ Ligula nec felis. in ante volutpat felis. fringilla finibus scelerisque
246
+
247
+ Vehicle 2
248
+ Libero molestie molestie pretium efficitur ac felis. dui elit. Integer fames iaculis. Duis sit
249
+
250
+ Vehicle 3
251
+ Viverra Integer dolor molestie orci, primis
252
+
253
+ Vehicle 4
254
+ Faucibus. orci, ante ut et libero primis
255
+
256
+ Vehicle 5
257
+ In orci In Vivamus libero adipiscing Sed ligula fringilla bibendum, elit. molestie ipsum ante finibus
258
+
259
+ Vehicle 6
260
+ Bibendum, adipiscing neque. ac semper in sem. Integer vel
261
+
262
+ Vehicle 7
263
+ Efficitur rutrum lorem velit. ut
264
+
265
+ Vehicle 8
266
+ Quis, eget viverra faucibus. aliquam elit. ante finibus ac fames libero finibus pretium
267
+
268
+ Vehicle 9
269
+ Orci fames Interdum felis. Integer semper. purus efficitur fames sem. ac
270
+
271
+ Vehicle 10
272
+ Dolor semper. vitae sit libero sit quis,
273
+
274
+ #### React (tsx)
275
+
276
+ ```tsx
277
+ import { useRef } from 'react';
278
+
279
+ import Avatar from '@rio-cloud/rio-uikit/Avatar';
280
+ import VirtualList from '@rio-cloud/rio-uikit/VirtualList';
281
+
282
+ import { generateDummyText } from '../../../utils/data';
283
+
284
+ const DemoItem = ({ title, description }: { title: string; description: string }) => (
285
+ <div className='display-flex gap-15 align-items-center'>
286
+ <Avatar iconName='truck' backgroundColor='bg-lightest' />
287
+ <div>
288
+ <div className='text-medium' data-test-ignore='text'>
289
+ {title}
290
+ </div>
291
+ <div className='word-break' data-test-ignore='text'>
292
+ {description}
293
+ </div>
294
+ </div>
295
+ </div>
296
+ );
297
+
298
+ const ITEM_COUNT = 5_000;
299
+
300
+ // This demo includes:
301
+ // - A custom item component
302
+ // - List group styling for the inner container and the items wrapper
303
+ // - The max height is defined outside on the parent of the VirtualList using a scrollContainerRef
304
+ // - A custom overscan count, means more items are loaded outside the visible window
305
+
306
+ export default () => {
307
+ const items = Array.from({ length: ITEM_COUNT }, (_, index) => ({
308
+ title: `Vehicle ${index + 1}`,
309
+ description: generateDummyText(),
310
+ }));
311
+
312
+ const scrollContainerRef = useRef<HTMLDivElement>(null);
313
+
314
+ return (
315
+ <div className='padding-20'>
316
+ <label>Virtual list with {ITEM_COUNT} items</label>
317
+ <div ref={scrollContainerRef} className='max-width-600 max-height-400 overflow-y-auto'>
318
+ <VirtualList
319
+ items={items}
320
+ renderItem={(item, index) => (
321
+ <DemoItem key={index} title={item.title} description={item.description} />
322
+ )}
323
+ className='border rounded'
324
+ containerClassName='list-group'
325
+ listItemWrapperClassName='list-group-item padding-y-15'
326
+ defaultHeight={71}
327
+ overscanCount={5}
328
+ scrollContainerRef={scrollContainerRef}
329
+ />
330
+ </div>
331
+ </div>
332
+ );
333
+ };
334
+ ```
335
+
336
+ #### HTML (html)
337
+
338
+ ```html
339
+ <div class="padding-20">
340
+ <label>Virtual list with 5000 items</label>
341
+ <div class="max-width-600 max-height-400 overflow-y-auto">
342
+ <div class="VirtualList overflow-y-auto border rounded" style="height: 360000px; position: relative; overflow: visible;">
343
+ <div class="position-relative" style="height: auto;">
344
+ <div class="VirtualListItemContainer list-group">
345
+ <div class="VirtualListItemWrapper list-group-item padding-y-15" data-index="0" style="position: absolute; transform: translateY(0px); width: 100%; will-change: transform;">
346
+ <div class="display-flex gap-15 align-items-center">
347
+ <div class="Avatar bg-lightest" style="height: 40px;">
348
+ <span class="Avatar-icon rioglyph rioglyph-truck ">
349
+ </span>
350
+ </div>
351
+ <div>
352
+ <div class="text-medium" data-test-ignore="text">Vehicle 1</div>
353
+ <div class="word-break" data-test-ignore="text">Ligula nec felis. in ante volutpat felis. fringilla finibus scelerisque</div>
354
+ </div>
355
+ </div>
356
+ </div>
357
+ <div class="VirtualListItemWrapper list-group-item padding-y-15" data-index="1" style="position: absolute; transform: translateY(69px); width: 100%; will-change: transform;">
358
+ <div class="display-flex gap-15 align-items-center">
359
+ <div class="Avatar bg-lightest" style="height: 40px;">
360
+ <span class="Avatar-icon rioglyph rioglyph-truck ">
361
+ </span>
362
+ </div>
363
+ <div>
364
+ <div class="text-medium" data-test-ignore="text">Vehicle 2</div>
365
+ <div class="word-break" data-test-ignore="text">Libero molestie molestie pretium efficitur ac felis. dui elit. Integer fames iaculis. Duis sit</div>
366
+ </div>
367
+ </div>
368
+ </div>
369
+ <div class="VirtualListItemWrapper list-group-item padding-y-15" data-index="2" style="position: absolute; transform: translateY(139px); width: 100%; will-change: transform;">
370
+ <div class="display-flex gap-15 align-items-center">
371
+ <div class="Avatar bg-lightest" style="height: 40px;">
372
+ <span class="Avatar-icon rioglyph rioglyph-truck ">
373
+ </span>
374
+ </div>
375
+ <div>
376
+ <div class="text-medium" data-test-ignore="text">Vehicle 3</div>
377
+ <div class="word-break" data-test-ignore="text">Viverra Integer dolor molestie orci, primis</div>
378
+ </div>
379
+ </div>
380
+ </div>
381
+ <div class="VirtualListItemWrapper list-group-item padding-y-15" data-index="3" style="position: absolute; transform: translateY(209px); width: 100%; will-change: transform;">
382
+ <div class="display-flex gap-15 align-items-center">
383
+ <div class="Avatar bg-lightest" style="height: 40px;">
384
+ <span class="Avatar-icon rioglyph rioglyph-truck ">
385
+ </span>
386
+ </div>
387
+ <div>
388
+ <div class="text-medium" data-test-ignore="text">Vehicle 4</div>
389
+ <div class="word-break" data-test-ignore="text">Faucibus. orci, ante ut et libero primis</div>
390
+ </div>
391
+ </div>
392
+ </div>
393
+ <div class="VirtualListItemWrapper list-group-item padding-y-15" data-index="4" style="position: absolute; transform: translateY(279px); width: 100%; will-change: transform;">
394
+ <div class="display-flex gap-15 align-items-center">
395
+ <div class="Avatar bg-lightest" style="height: 40px;">
396
+ <span class="Avatar-icon rioglyph rioglyph-truck ">
397
+ </span>
398
+ </div>
399
+ <div>
400
+ <div class="text-medium" data-test-ignore="text">Vehicle 5</div>
401
+ <div class="word-break" data-test-ignore="text">In orci In Vivamus libero adipiscing Sed ligula fringilla bibendum, elit. molestie ipsum ante finibus</div>
402
+ </div>
403
+ </div>
404
+ </div>
405
+ <div class="VirtualListItemWrapper list-group-item padding-y-15" data-index="5" style="position: absolute; transform: translateY(369px); width: 100%; will-change: transform;">
406
+ <div class="display-flex gap-15 align-items-center">
407
+ <div class="Avatar bg-lightest" style="height: 40px;">
408
+ <span class="Avatar-icon rioglyph rioglyph-truck ">
409
+ </span>
410
+ </div>
411
+ <div>
412
+ <div class="text-medium" data-test-ignore="text">Vehicle 6</div>
413
+ <div class="word-break" data-test-ignore="text">Bibendum, adipiscing neque. ac semper in sem. Integer vel</div>
414
+ </div>
415
+ </div>
416
+ </div>
417
+ <div class="VirtualListItemWrapper list-group-item padding-y-15" data-index="6" style="position: absolute; transform: translateY(439px); width: 100%; will-change: transform;">
418
+ <div class="display-flex gap-15 align-items-center">
419
+ <div class="Avatar bg-lightest" style="height: 40px;">
420
+ <span class="Avatar-icon rioglyph rioglyph-truck ">
421
+ </span>
422
+ </div>
423
+ <div>
424
+ <div class="text-medium" data-test-ignore="text">Vehicle 7</div>
425
+ <div class="word-break" data-test-ignore="text">Efficitur rutrum lorem velit. ut</div>
426
+ </div>
427
+ </div>
428
+ </div>
429
+ <div class="VirtualListItemWrapper list-group-item padding-y-15" data-index="7" style="position: absolute; transform: translateY(509px); width: 100%; will-change: transform;">
430
+ <div class="display-flex gap-15 align-items-center">
431
+ <div class="Avatar bg-lightest" style="height: 40px;">
432
+ <span class="Avatar-icon rioglyph rioglyph-truck ">
433
+ </span>
434
+ </div>
435
+ <div>
436
+ <div class="text-medium" data-test-ignore="text">Vehicle 8</div>
437
+ <div class="word-break" data-test-ignore="text">Quis, eget viverra faucibus. aliquam elit. ante finibus ac fames libero finibus pretium</div>
438
+ </div>
439
+ </div>
440
+ </div>
441
+ <div class="VirtualListItemWrapper list-group-item padding-y-15" data-index="8" style="position: absolute; transform: translateY(579px); width: 100%; will-change: transform;">
442
+ <div class="display-flex gap-15 align-items-center">
443
+ <div class="Avatar bg-lightest" style="height: 40px;">
444
+ <span class="Avatar-icon rioglyph rioglyph-truck ">
445
+ </span>
446
+ </div>
447
+ <div>
448
+ <div class="text-medium" data-test-ignore="text">Vehicle 9</div>
449
+ <div class="word-break" data-test-ignore="text">Orci fames Interdum felis. Integer semper. purus efficitur fames sem. ac</div>
450
+ </div>
451
+ </div>
452
+ </div>
453
+ <div class="VirtualListItemWrapper list-group-item padding-y-15" data-index="9" style="position: absolute; transform: translateY(649px); width: 100%; will-change: transform;">
454
+ <div class="display-flex gap-15 align-items-center">
455
+ <div class="Avatar bg-lightest" style="height: 40px;">
456
+ <span class="Avatar-icon rioglyph rioglyph-truck ">
457
+ </span>
458
+ </div>
459
+ <div>
460
+ <div class="text-medium" data-test-ignore="text">Vehicle 10</div>
461
+ <div class="word-break" data-test-ignore="text">Dolor semper. vitae sit libero sit quis,</div>
462
+ </div>
463
+ </div>
464
+ </div>
465
+ </div>
466
+ </div>
467
+ </div>
468
+ </div>
469
+ </div>
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. |