@rio-cloud/uikit-mcp 1.0.1 → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +75 -39
- package/dist/doc-metadata.json +1872 -0
- package/dist/docs/components/accentBar.md +582 -0
- package/dist/docs/components/activity.md +330 -0
- package/dist/docs/components/animatedNumber.md +88 -0
- package/dist/docs/components/animatedTextReveal.md +381 -0
- package/dist/docs/components/animations.md +459 -0
- package/dist/docs/components/appHeader.md +737 -0
- package/dist/docs/components/appLayout.md +2033 -0
- package/dist/docs/components/appNavigationBar.md +274 -0
- package/dist/docs/components/areaCharts.md +828 -0
- package/dist/docs/components/aspectRatioPlaceholder.md +106 -0
- package/dist/docs/components/assetTree.md +3132 -0
- package/dist/docs/components/autosuggests.md +1177 -0
- package/dist/docs/components/avatar.md +206 -0
- package/dist/docs/components/banner.md +668 -0
- package/dist/docs/components/barCharts.md +2765 -0
- package/dist/docs/components/barList.md +517 -0
- package/dist/docs/components/basicMap.md +167 -0
- package/dist/docs/components/bottomSheet.md +721 -0
- package/dist/docs/components/button.md +775 -0
- package/dist/docs/components/buttonToolbar.md +134 -0
- package/dist/docs/components/calendarStripe.md +533 -0
- package/dist/docs/components/card.md +86 -0
- package/dist/docs/components/carousel.md +128 -0
- package/dist/docs/components/chartColors.md +716 -0
- package/dist/docs/components/chartsGettingStarted.md +28 -0
- package/dist/docs/components/chat.md +935 -0
- package/dist/docs/components/checkbox.md +996 -0
- package/dist/docs/components/clearableInput.md +806 -0
- package/dist/docs/components/collapse.md +189 -0
- package/dist/docs/components/composedCharts.md +424 -0
- package/dist/docs/components/contentLoader.md +674 -0
- package/dist/docs/components/dataTabs.md +1251 -0
- package/dist/docs/components/datepickers.md +2543 -0
- package/dist/docs/components/dialogs.md +2244 -0
- package/dist/docs/components/divider.md +219 -0
- package/dist/docs/components/dropdowns.md +17538 -0
- package/dist/docs/components/editableContent.md +1127 -0
- package/dist/docs/components/expander.md +970 -0
- package/dist/docs/components/fade.md +836 -0
- package/dist/docs/components/fadeExpander.md +180 -0
- package/dist/docs/components/fadeUp.md +396 -0
- package/dist/docs/components/feedback.md +758 -0
- package/dist/docs/components/filePickers.md +370 -0
- package/dist/docs/components/formLabel.md +251 -0
- package/dist/docs/components/fullscreenMap.md +10 -0
- package/dist/docs/components/groupedItemList.md +1001 -0
- package/dist/docs/components/iconList.md +306 -0
- package/dist/docs/components/imagePreloader.md +167 -0
- package/dist/docs/components/labeledElement.md +115 -0
- package/dist/docs/components/licensePlate.md +412 -0
- package/dist/docs/components/lineCharts.md +2014 -0
- package/dist/docs/components/listMenu.md +392 -0
- package/dist/docs/components/loadMore.md +219 -0
- package/dist/docs/components/mainNavigation.md +129 -0
- package/dist/docs/components/mapCircle.md +93 -0
- package/dist/docs/components/mapCluster.md +337 -0
- package/dist/docs/components/mapContext.md +284 -0
- package/dist/docs/components/mapDraggableMarker.md +150 -0
- package/dist/docs/components/mapGettingStarted.md +39 -0
- package/dist/docs/components/mapInfoBubble.md +135 -0
- package/dist/docs/components/mapLayerGroup.md +94 -0
- package/dist/docs/components/mapMarker.md +1814 -0
- package/dist/docs/components/mapPolygon.md +959 -0
- package/dist/docs/components/mapRoute.md +3816 -0
- package/dist/docs/components/mapRouteGenerator.md +6 -0
- package/dist/docs/components/mapSettings.md +1040 -0
- package/dist/docs/components/mapUtils.md +132 -0
- package/dist/docs/components/multiselects.md +1921 -0
- package/dist/docs/components/noData.md +210 -0
- package/dist/docs/components/notifications.md +314 -0
- package/dist/docs/components/numbercontrol.md +706 -0
- package/dist/docs/components/onboarding.md +297 -0
- package/dist/docs/components/page.md +241 -0
- package/dist/docs/components/pager.md +133 -0
- package/dist/docs/components/pieCharts.md +1284 -0
- package/dist/docs/components/popover.md +222 -0
- package/dist/docs/components/position.md +50 -0
- package/dist/docs/components/radialBarCharts.md +3663 -0
- package/dist/docs/components/radiobutton.md +1271 -0
- package/dist/docs/components/releaseNotes.md +135 -0
- package/dist/docs/components/resizer.md +162 -0
- package/dist/docs/components/responsiveColumnStripe.md +435 -0
- package/dist/docs/components/responsiveVideo.md +71 -0
- package/dist/docs/components/rioglyph.md +331 -0
- package/dist/docs/components/rules.md +965 -0
- package/dist/docs/components/saveableInput.md +1721 -0
- package/dist/docs/components/selects.md +1993 -0
- package/dist/docs/components/sidebar.md +332 -0
- package/dist/docs/components/sliders.md +376 -0
- package/dist/docs/components/smoothScrollbars.md +1180 -0
- package/dist/docs/components/spinners.md +506 -0
- package/dist/docs/components/states.md +1176 -0
- package/dist/docs/components/statsWidgets.md +636 -0
- package/dist/docs/components/statusBar.md +644 -0
- package/dist/docs/components/stepButton.md +61 -0
- package/dist/docs/components/steppedProgressBars.md +1064 -0
- package/dist/docs/components/subNavigation.md +470 -0
- package/dist/docs/components/supportMarker.md +115 -0
- package/dist/docs/components/svgImage.md +248 -0
- package/dist/docs/components/switch.md +554 -0
- package/dist/docs/components/tables.md +8 -0
- package/dist/docs/components/tagManager.md +476 -0
- package/dist/docs/components/tags.md +785 -0
- package/dist/docs/components/teaser.md +925 -0
- package/dist/docs/components/timeline.md +514 -0
- package/dist/docs/components/timepicker.md +262 -0
- package/dist/docs/components/toggleButton.md +178 -0
- package/dist/docs/components/tooltip.md +454 -0
- package/dist/docs/components/virtualList.md +486 -0
- package/dist/docs/foundations.md +20901 -0
- package/dist/docs/start/changelog.md +714 -0
- package/dist/docs/start/goodtoknow.md +14 -0
- package/dist/docs/start/guidelines/color-combinations.md +678 -0
- package/dist/docs/start/guidelines/custom-css.md +42 -0
- package/dist/docs/start/guidelines/custom-rioglyph.md +35 -0
- package/dist/docs/start/guidelines/formatting.md +587 -0
- package/dist/docs/start/guidelines/iframe.md +323 -0
- package/dist/docs/start/guidelines/obfuscate-data.md +30 -0
- package/dist/docs/start/guidelines/print-css.md +36 -0
- package/dist/docs/start/guidelines/spinner.md +710 -0
- package/dist/docs/start/guidelines/supported-browsers.md +10 -0
- package/dist/docs/start/guidelines/writing.md +635 -0
- package/dist/docs/start/howto.md +187 -0
- package/dist/docs/start/intro.md +43 -0
- package/dist/docs/start/responsiveness.md +98 -0
- package/dist/docs/templates/common-table.md +1111 -0
- package/dist/docs/templates/detail-views.md +942 -0
- package/dist/docs/templates/expandable-details.md +228 -0
- package/dist/docs/templates/feature-cards.md +549 -0
- package/dist/docs/templates/form-summary.md +199 -0
- package/dist/docs/templates/form-toggle.md +367 -0
- package/dist/docs/templates/list-blocks.md +1021 -0
- package/dist/docs/templates/loading-progress.md +109 -0
- package/dist/docs/templates/options-panel.md +152 -0
- package/dist/docs/templates/panel-variants.md +164 -0
- package/dist/docs/templates/progress-cards.md +607 -0
- package/dist/docs/templates/progress-success.md +142 -0
- package/dist/docs/templates/settings-form.md +434 -0
- package/dist/docs/templates/stats-blocks.md +1381 -0
- package/dist/docs/templates/table-panel.md +184 -0
- package/dist/docs/templates/table-row-animation.md +317 -0
- package/dist/docs/templates/usage-cards.md +227 -0
- package/dist/docs/utilities/deviceUtils.md +123 -0
- package/dist/docs/utilities/featureToggles.md +90 -0
- package/dist/docs/utilities/fuelTypeUtils.md +186 -0
- package/dist/docs/utilities/routeUtils.md +138 -0
- package/dist/docs/utilities/useAfterMount.md +66 -0
- package/dist/docs/utilities/useAutoAnimate.md +193 -0
- package/dist/docs/utilities/useAverage.md +95 -0
- package/dist/docs/utilities/useClickOutside.md +61 -0
- package/dist/docs/utilities/useClipboard.md +93 -0
- package/dist/docs/utilities/useCount.md +178 -0
- package/dist/docs/utilities/useDarkMode.md +49 -0
- package/dist/docs/utilities/useDebugInfo.md +126 -0
- package/dist/docs/utilities/useEffectOnce.md +58 -0
- package/dist/docs/utilities/useElapsedTime.md +58 -0
- package/dist/docs/utilities/useElementSize.md +71 -0
- package/dist/docs/utilities/useEsc.md +58 -0
- package/dist/docs/utilities/useEvent.md +64 -0
- package/dist/docs/utilities/useFocusTrap.md +85 -0
- package/dist/docs/utilities/useFullscreen.md +198 -0
- package/dist/docs/utilities/useHover.md +55 -0
- package/dist/docs/utilities/useIncomingPostMessages.md +237 -0
- package/dist/docs/utilities/useInterval.md +85 -0
- package/dist/docs/utilities/useIsFocusWithin.md +114 -0
- package/dist/docs/utilities/useKey.md +151 -0
- package/dist/docs/utilities/useLocalStorage.md +91 -0
- package/dist/docs/utilities/useLocationSuggestions.md +114 -0
- package/dist/docs/utilities/useMax.md +62 -0
- package/dist/docs/utilities/useMin.md +78 -0
- package/dist/docs/utilities/useMutationObserver.md +113 -0
- package/dist/docs/utilities/useOnScreen.md +138 -0
- package/dist/docs/utilities/useOnlineStatus.md +49 -0
- package/dist/docs/utilities/usePostMessage.md +117 -0
- package/dist/docs/utilities/usePostMessageSender.md +257 -0
- package/dist/docs/utilities/usePrevious.md +101 -0
- package/dist/docs/utilities/useResizeObserver.md +151 -0
- package/dist/docs/utilities/useScrollPosition.md +252 -0
- package/dist/docs/utilities/useSearch.md +228 -0
- package/dist/docs/utilities/useSorting.md +389 -0
- package/dist/docs/utilities/useStateWithValidation.md +83 -0
- package/dist/docs/utilities/useSum.md +155 -0
- package/dist/docs/utilities/useTableExport.md +404 -0
- package/dist/docs/utilities/useTableSelection.md +1120 -0
- package/dist/docs/utilities/useTimeout.md +55 -0
- package/dist/docs/utilities/useToggle.md +115 -0
- package/dist/docs/utilities/useWindowResize.md +70 -0
- package/dist/index.mjs +271 -0
- package/dist/search-synonyms.json +134 -0
- package/dist/version.json +4 -0
- package/package.json +23 -19
- package/bin/uikit-mcp.mjs +0 -23
- package/data/pages/Components/components/accentbar.json +0 -207
- package/data/pages/Components/components/activity.json +0 -87
- package/data/pages/Components/components/animatednumber.json +0 -99
- package/data/pages/Components/components/animations.json +0 -87
- package/data/pages/Components/components/appheader.json +0 -291
- package/data/pages/Components/components/applayout.json +0 -1198
- package/data/pages/Components/components/appnavigationbar.json +0 -327
- package/data/pages/Components/components/areacharts.json +0 -563
- package/data/pages/Components/components/aspectratioplaceholder.json +0 -75
- package/data/pages/Components/components/assettree.json +0 -3080
- package/data/pages/Components/components/autosuggests.json +0 -710
- package/data/pages/Components/components/avatar.json +0 -157
- package/data/pages/Components/components/banner.json +0 -599
- package/data/pages/Components/components/barcharts.json +0 -1507
- package/data/pages/Components/components/barlist.json +0 -223
- package/data/pages/Components/components/basicmap.json +0 -68
- package/data/pages/Components/components/bottomsheet.json +0 -601
- package/data/pages/Components/components/button.json +0 -583
- package/data/pages/Components/components/buttontoolbar.json +0 -63
- package/data/pages/Components/components/calendarstripe.json +0 -235
- package/data/pages/Components/components/card.json +0 -69
- package/data/pages/Components/components/carousel.json +0 -39
- package/data/pages/Components/components/chartcolors.json +0 -34
- package/data/pages/Components/components/chartsgettingstarted.json +0 -32
- package/data/pages/Components/components/chat.json +0 -39
- package/data/pages/Components/components/checkbox.json +0 -847
- package/data/pages/Components/components/clearableinput.json +0 -789
- package/data/pages/Components/components/collapse.json +0 -175
- package/data/pages/Components/components/composedcharts.json +0 -159
- package/data/pages/Components/components/contentloader.json +0 -233
- package/data/pages/Components/components/datatabs.json +0 -680
- package/data/pages/Components/components/datepickers.json +0 -287
- package/data/pages/Components/components/dialogs.json +0 -1492
- package/data/pages/Components/components/divider.json +0 -93
- package/data/pages/Components/components/dropdowns.json +0 -936
- package/data/pages/Components/components/editablecontent.json +0 -1117
- package/data/pages/Components/components/expander.json +0 -377
- package/data/pages/Components/components/fade.json +0 -403
- package/data/pages/Components/components/fadeexpander.json +0 -75
- package/data/pages/Components/components/fadeup.json +0 -127
- package/data/pages/Components/components/feedback.json +0 -269
- package/data/pages/Components/components/filepickers.json +0 -269
- package/data/pages/Components/components/formlabel.json +0 -115
- package/data/pages/Components/components/fullscreenmap.json +0 -22
- package/data/pages/Components/components/groupeditemlist.json +0 -323
- package/data/pages/Components/components/iconlist.json +0 -45
- package/data/pages/Components/components/imagepreloader.json +0 -81
- package/data/pages/Components/components/labeledelement.json +0 -75
- package/data/pages/Components/components/licenseplate.json +0 -69
- package/data/pages/Components/components/linecharts.json +0 -987
- package/data/pages/Components/components/listmenu.json +0 -313
- package/data/pages/Components/components/loadmore.json +0 -175
- package/data/pages/Components/components/mainnavigation.json +0 -39
- package/data/pages/Components/components/mapcircle.json +0 -34
- package/data/pages/Components/components/mapcluster.json +0 -51
- package/data/pages/Components/components/mapcontext.json +0 -105
- package/data/pages/Components/components/mapdraggablemarker.json +0 -34
- package/data/pages/Components/components/mapgettingstarted.json +0 -27
- package/data/pages/Components/components/mapgroup.json +0 -1198
- package/data/pages/Components/components/mapinfobubble.json +0 -34
- package/data/pages/Components/components/maplayergroup.json +0 -34
- package/data/pages/Components/components/mapmarker.json +0 -700
- package/data/pages/Components/components/mappolygon.json +0 -45
- package/data/pages/Components/components/maproute.json +0 -623
- package/data/pages/Components/components/maproutegenerator.json +0 -16
- package/data/pages/Components/components/mapsettings.json +0 -51
- package/data/pages/Components/components/maputils.json +0 -34
- package/data/pages/Components/components/multiselects.json +0 -1451
- package/data/pages/Components/components/nodata.json +0 -139
- package/data/pages/Components/components/notifications.json +0 -65
- package/data/pages/Components/components/numbercontrol.json +0 -301
- package/data/pages/Components/components/onboarding.json +0 -302
- package/data/pages/Components/components/page.json +0 -197
- package/data/pages/Components/components/pager.json +0 -93
- package/data/pages/Components/components/piecharts.json +0 -731
- package/data/pages/Components/components/popover.json +0 -251
- package/data/pages/Components/components/position.json +0 -69
- package/data/pages/Components/components/radialbarcharts.json +0 -1304
- package/data/pages/Components/components/radiobutton.json +0 -1105
- package/data/pages/Components/components/releasenotes.json +0 -44
- package/data/pages/Components/components/resizer.json +0 -93
- package/data/pages/Components/components/responsivecolumnstripe.json +0 -123
- package/data/pages/Components/components/responsivevideo.json +0 -75
- package/data/pages/Components/components/rioglyph.json +0 -93
- package/data/pages/Components/components/rules.json +0 -410
- package/data/pages/Components/components/saveableinput.json +0 -703
- package/data/pages/Components/components/selects.json +0 -701
- package/data/pages/Components/components/sidebar.json +0 -243
- package/data/pages/Components/components/sliders.json +0 -235
- package/data/pages/Components/components/smoothscrollbars.json +0 -335
- package/data/pages/Components/components/spinners.json +0 -343
- package/data/pages/Components/components/states.json +0 -1705
- package/data/pages/Components/components/statswidgets.json +0 -314
- package/data/pages/Components/components/statusbar.json +0 -177
- package/data/pages/Components/components/stepbutton.json +0 -57
- package/data/pages/Components/components/steppedprogressbars.json +0 -417
- package/data/pages/Components/components/subnavigation.json +0 -107
- package/data/pages/Components/components/supportmarker.json +0 -45
- package/data/pages/Components/components/svgimage.json +0 -81
- package/data/pages/Components/components/switch.json +0 -111
- package/data/pages/Components/components/tables.json +0 -144
- package/data/pages/Components/components/tagmanager.json +0 -86
- package/data/pages/Components/components/tags.json +0 -146
- package/data/pages/Components/components/teaser.json +0 -188
- package/data/pages/Components/components/timeline.json +0 -45
- package/data/pages/Components/components/timepicker.json +0 -163
- package/data/pages/Components/components/togglebutton.json +0 -247
- package/data/pages/Components/components/tooltip.json +0 -270
- package/data/pages/Components/components/virtuallist.json +0 -175
- package/data/pages/Foundations/foundations.json +0 -2475
- package/data/pages/Getting-started/start/changelog.json +0 -22
- package/data/pages/Getting-started/start/goodtoknow.json +0 -32
- package/data/pages/Getting-started/start/guidelines/color-combinations.json +0 -58
- package/data/pages/Getting-started/start/guidelines/custom-css.json +0 -27
- package/data/pages/Getting-started/start/guidelines/custom-rioglyph.json +0 -22
- package/data/pages/Getting-started/start/guidelines/formatting.json +0 -97
- package/data/pages/Getting-started/start/guidelines/iframe.json +0 -93
- package/data/pages/Getting-started/start/guidelines/obfuscate-data.json +0 -22
- package/data/pages/Getting-started/start/guidelines/print-css.json +0 -37
- package/data/pages/Getting-started/start/guidelines/spinner.json +0 -144
- package/data/pages/Getting-started/start/guidelines/supported-browsers.json +0 -22
- package/data/pages/Getting-started/start/guidelines/writing.json +0 -242
- package/data/pages/Getting-started/start/howto.json +0 -72
- package/data/pages/Getting-started/start/intro.json +0 -37
- package/data/pages/Getting-started/start/responsiveness.json +0 -52
- package/data/pages/Templates/templates/common-table.json +0 -39
- package/data/pages/Templates/templates/detail-views.json +0 -71
- package/data/pages/Templates/templates/expandable-details.json +0 -39
- package/data/pages/Templates/templates/feature-cards.json +0 -103
- package/data/pages/Templates/templates/form-summary.json +0 -39
- package/data/pages/Templates/templates/form-toggle.json +0 -39
- package/data/pages/Templates/templates/list-blocks.json +0 -119
- package/data/pages/Templates/templates/loading-progress.json +0 -39
- package/data/pages/Templates/templates/options-panel.json +0 -39
- package/data/pages/Templates/templates/panel-variants.json +0 -39
- package/data/pages/Templates/templates/progress-cards.json +0 -71
- package/data/pages/Templates/templates/progress-success.json +0 -39
- package/data/pages/Templates/templates/settings-form.json +0 -39
- package/data/pages/Templates/templates/stats-blocks.json +0 -135
- package/data/pages/Templates/templates/table-panel.json +0 -39
- package/data/pages/Templates/templates/table-row-animation.json +0 -39
- package/data/pages/Templates/templates/usage-cards.json +0 -39
- package/data/pages/Utilities/utilities/deviceutils.json +0 -39
- package/data/pages/Utilities/utilities/featuretoggles.json +0 -42
- package/data/pages/Utilities/utilities/fueltypeutils.json +0 -118
- package/data/pages/Utilities/utilities/routeutils.json +0 -34
- package/data/pages/Utilities/utilities/useaftermount.json +0 -63
- package/data/pages/Utilities/utilities/useaverage.json +0 -86
- package/data/pages/Utilities/utilities/useclickoutside.json +0 -69
- package/data/pages/Utilities/utilities/useclipboard.json +0 -57
- package/data/pages/Utilities/utilities/usecount.json +0 -92
- package/data/pages/Utilities/utilities/usedarkmode.json +0 -50
- package/data/pages/Utilities/utilities/usedebuginfo.json +0 -63
- package/data/pages/Utilities/utilities/useeffectonce.json +0 -57
- package/data/pages/Utilities/utilities/useelapsedtime.json +0 -57
- package/data/pages/Utilities/utilities/useelementsize.json +0 -63
- package/data/pages/Utilities/utilities/useesc.json +0 -57
- package/data/pages/Utilities/utilities/useevent.json +0 -75
- package/data/pages/Utilities/utilities/usefocustrap.json +0 -57
- package/data/pages/Utilities/utilities/usefullscreen.json +0 -197
- package/data/pages/Utilities/utilities/usehover.json +0 -57
- package/data/pages/Utilities/utilities/useinterval.json +0 -63
- package/data/pages/Utilities/utilities/useisfocuswithin.json +0 -75
- package/data/pages/Utilities/utilities/usekey.json +0 -75
- package/data/pages/Utilities/utilities/uselocalstorage.json +0 -69
- package/data/pages/Utilities/utilities/uselocationsuggestions.json +0 -110
- package/data/pages/Utilities/utilities/usemax.json +0 -86
- package/data/pages/Utilities/utilities/usemin.json +0 -86
- package/data/pages/Utilities/utilities/usemutationobserver.json +0 -69
- package/data/pages/Utilities/utilities/useonlinestatus.json +0 -39
- package/data/pages/Utilities/utilities/useonscreen.json +0 -63
- package/data/pages/Utilities/utilities/usepostmessage.json +0 -80
- package/data/pages/Utilities/utilities/useprevious.json +0 -63
- package/data/pages/Utilities/utilities/useresizeobserver.json +0 -65
- package/data/pages/Utilities/utilities/usescrollposition.json +0 -103
- package/data/pages/Utilities/utilities/usesearch.json +0 -197
- package/data/pages/Utilities/utilities/usesorting.json +0 -139
- package/data/pages/Utilities/utilities/usestatewithvalidation.json +0 -69
- package/data/pages/Utilities/utilities/usesum.json +0 -86
- package/data/pages/Utilities/utilities/usetableexport.json +0 -87
- package/data/pages/Utilities/utilities/usetableselection.json +0 -311
- package/data/pages/Utilities/utilities/usetimeout.json +0 -63
- package/data/pages/Utilities/utilities/usetoggle.json +0 -75
- package/data/pages/Utilities/utilities/usewindowresize.json +0 -63
- package/data/version.json +0 -4
- package/docs/content-schema.md +0 -147
- package/docs/navigation-inventory.json +0 -1310
- package/docs/search-synonyms.json +0 -43
- package/server/index.mjs +0 -268
- package/server/lib/load-docs.mjs +0 -48
- package/server/lib/normalise-doc.mjs +0 -220
- package/server/lib/render-markdown.mjs +0 -82
- package/server/lib/search-index.mjs +0 -49
- package/server/lib/types.js +0 -99
|
@@ -0,0 +1,392 @@
|
|
|
1
|
+
# ListMenu
|
|
2
|
+
|
|
3
|
+
*Category:* Components
|
|
4
|
+
*Section:* Misc
|
|
5
|
+
*Source:* https://uikit.developers.rio.cloud/#components/listMenu
|
|
6
|
+
*Captured:* 2025-12-12T14:20:56.314Z
|
|
7
|
+
|
|
8
|
+
A simple list menu that supports grouping and filter.
|
|
9
|
+
|
|
10
|
+
## ListMenu
|
|
11
|
+
|
|
12
|
+
### Example: Example 1
|
|
13
|
+
|
|
14
|
+
ListMenu (default)
|
|
15
|
+
Group
|
|
16
|
+
Lorem
|
|
17
|
+
Disabled Ipsum
|
|
18
|
+
Dolor
|
|
19
|
+
Sit amet
|
|
20
|
+
No Link Sample
|
|
21
|
+
|
|
22
|
+
ListMenu with optional name filter
|
|
23
|
+
|
|
24
|
+
Group5 items
|
|
25
|
+
Lorem
|
|
26
|
+
Disabled Ipsum
|
|
27
|
+
Dolor
|
|
28
|
+
Sit amet
|
|
29
|
+
No Link Sample
|
|
30
|
+
|
|
31
|
+
#### Summary
|
|
32
|
+
|
|
33
|
+
ListMenu (default)
|
|
34
|
+
Group
|
|
35
|
+
Lorem
|
|
36
|
+
Disabled Ipsum
|
|
37
|
+
Dolor
|
|
38
|
+
Sit amet
|
|
39
|
+
No Link Sample
|
|
40
|
+
|
|
41
|
+
ListMenu with optional name filter
|
|
42
|
+
|
|
43
|
+
Group5 items
|
|
44
|
+
Lorem
|
|
45
|
+
Disabled Ipsum
|
|
46
|
+
Dolor
|
|
47
|
+
Sit amet
|
|
48
|
+
No Link Sample
|
|
49
|
+
|
|
50
|
+
#### React (tsx)
|
|
51
|
+
|
|
52
|
+
```tsx
|
|
53
|
+
import { useState, type MouseEvent, type MouseEventHandler } from 'react';
|
|
54
|
+
|
|
55
|
+
import ListMenu, { type ListMenuItem } from '@rio-cloud/rio-uikit/ListMenu';
|
|
56
|
+
|
|
57
|
+
const menuItems = (activeItem: string, setActiveItem: MouseEventHandler<HTMLSpanElement>): ListMenuItem[] => [
|
|
58
|
+
{
|
|
59
|
+
group: 'Group',
|
|
60
|
+
navItems: [
|
|
61
|
+
{
|
|
62
|
+
key: 'Lorem',
|
|
63
|
+
item: (
|
|
64
|
+
<span className={activeItem === '0' ? 'active' : ''} data-key='0' onClick={setActiveItem}>
|
|
65
|
+
Lorem
|
|
66
|
+
</span>
|
|
67
|
+
),
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
key: 'Lipsum',
|
|
71
|
+
disabled: true,
|
|
72
|
+
item: (
|
|
73
|
+
<span className={activeItem === '1' ? 'active' : ''} data-key='1' onClick={setActiveItem}>
|
|
74
|
+
Disabled Ipsum
|
|
75
|
+
</span>
|
|
76
|
+
),
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
key: 'Dolor',
|
|
80
|
+
item: (
|
|
81
|
+
<span className={activeItem === '2' ? 'active' : ''} data-key='2' onClick={setActiveItem}>
|
|
82
|
+
Dolor
|
|
83
|
+
</span>
|
|
84
|
+
),
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
key: 'Sit amet',
|
|
88
|
+
item: (
|
|
89
|
+
<span className={activeItem === '3' ? 'active' : ''} data-key='3' onClick={setActiveItem}>
|
|
90
|
+
Sit amet
|
|
91
|
+
</span>
|
|
92
|
+
),
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
key: 'No link',
|
|
96
|
+
item: <span>No Link Sample</span>,
|
|
97
|
+
},
|
|
98
|
+
],
|
|
99
|
+
},
|
|
100
|
+
];
|
|
101
|
+
|
|
102
|
+
export default () => {
|
|
103
|
+
const [activeItem, setActiveItem] = useState('0');
|
|
104
|
+
|
|
105
|
+
const onItemClick = (event: MouseEvent) => {
|
|
106
|
+
const key = (event.target as HTMLSpanElement).getAttribute('data-key') as string;
|
|
107
|
+
setActiveItem(key);
|
|
108
|
+
};
|
|
109
|
+
|
|
110
|
+
return (
|
|
111
|
+
<div>
|
|
112
|
+
<div className='h5 margin-bottom-20'>ListMenu (default)</div>
|
|
113
|
+
<ListMenu menuItems={menuItems(activeItem, onItemClick)} />
|
|
114
|
+
<hr />
|
|
115
|
+
<div className='h5 margin-bottom-20'>ListMenu with optional name filter</div>
|
|
116
|
+
<ListMenu
|
|
117
|
+
menuItems={menuItems(activeItem, onItemClick).map(item => ({
|
|
118
|
+
...item,
|
|
119
|
+
badge: '5 items',
|
|
120
|
+
badgeType: 'muted',
|
|
121
|
+
}))}
|
|
122
|
+
enableFilter
|
|
123
|
+
focusFilter
|
|
124
|
+
filterPlaceholder='Filter by name'
|
|
125
|
+
notFoundMessage='Nothing found'
|
|
126
|
+
/>
|
|
127
|
+
</div>
|
|
128
|
+
);
|
|
129
|
+
};
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
#### HTML (html)
|
|
133
|
+
|
|
134
|
+
```html
|
|
135
|
+
<div>
|
|
136
|
+
<div class="h5 margin-bottom-20">ListMenu (default)</div>
|
|
137
|
+
<div class="ListMenu ">
|
|
138
|
+
<ul class="ListMenuGroup ">
|
|
139
|
+
<li class="ListMenuHeader">
|
|
140
|
+
<span class="">Group</span>
|
|
141
|
+
</li>
|
|
142
|
+
<li class="">
|
|
143
|
+
<span class="active" data-key="0">Lorem</span>
|
|
144
|
+
</li>
|
|
145
|
+
<li class="disabled">
|
|
146
|
+
<span class="" data-key="1">Disabled Ipsum</span>
|
|
147
|
+
</li>
|
|
148
|
+
<li class="">
|
|
149
|
+
<span class="" data-key="2">Dolor</span>
|
|
150
|
+
</li>
|
|
151
|
+
<li class="">
|
|
152
|
+
<span class="" data-key="3">Sit amet</span>
|
|
153
|
+
</li>
|
|
154
|
+
<li class="">
|
|
155
|
+
<span>No Link Sample</span>
|
|
156
|
+
</li>
|
|
157
|
+
</ul>
|
|
158
|
+
</div>
|
|
159
|
+
<hr>
|
|
160
|
+
<div class="h5 margin-bottom-20">ListMenu with optional name filter</div>
|
|
161
|
+
<div class="ListMenu ">
|
|
162
|
+
<div class="form-group margin-bottom-5 padding-left-15 padding-right-15 padding-bottom-15 position-sticky top-0 z-index-1">
|
|
163
|
+
<div class="input-group width-100pct">
|
|
164
|
+
<span class="input-group-addon">
|
|
165
|
+
<span class="rioglyph rioglyph-search" aria-hidden="true">
|
|
166
|
+
</span>
|
|
167
|
+
</span>
|
|
168
|
+
<div class="ClearableInput input-group">
|
|
169
|
+
<input placeholder="Filter by name" class="form-control" type="text" tabindex="0" value="">
|
|
170
|
+
<span class="clearButton hide">
|
|
171
|
+
<span class="clearButtonIcon rioglyph rioglyph-remove-sign">
|
|
172
|
+
</span>
|
|
173
|
+
</span>
|
|
174
|
+
</div>
|
|
175
|
+
</div>
|
|
176
|
+
</div>
|
|
177
|
+
<ul class="ListMenuGroup ">
|
|
178
|
+
<li class="ListMenuHeader">
|
|
179
|
+
<span class="">Group</span>
|
|
180
|
+
<span class="badge badge-muted">5 items</span>
|
|
181
|
+
</li>
|
|
182
|
+
<li class="">
|
|
183
|
+
<span class="active" data-key="0">Lorem</span>
|
|
184
|
+
</li>
|
|
185
|
+
<li class="disabled">
|
|
186
|
+
<span class="" data-key="1">Disabled Ipsum</span>
|
|
187
|
+
</li>
|
|
188
|
+
<li class="">
|
|
189
|
+
<span class="" data-key="2">Dolor</span>
|
|
190
|
+
</li>
|
|
191
|
+
<li class="">
|
|
192
|
+
<span class="" data-key="3">Sit amet</span>
|
|
193
|
+
</li>
|
|
194
|
+
<li class="">
|
|
195
|
+
<span>No Link Sample</span>
|
|
196
|
+
</li>
|
|
197
|
+
</ul>
|
|
198
|
+
</div>
|
|
199
|
+
</div>
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
#### Props
|
|
203
|
+
|
|
204
|
+
| Name | Type | Default | Description |
|
|
205
|
+
| --- | --- | --- | --- |
|
|
206
|
+
| menuItems | Array of Objects | — | List of menu item groups to be shown. |
|
|
207
|
+
| └group | String \| Node | — | The optional group header to be shown. This can also be a component such as aFormattedMessage. |
|
|
208
|
+
| └badge | String \| Node | — | The optional badge displayed alongside the group or nav items. This can be a string or a React node for additional flexibility. |
|
|
209
|
+
| └badgeType | "muted" \| "success" \| "info" \| "warning" \| "danger" | — | Determines the visual style of the badge. Available types include:muted, success, info, warning, and danger. |
|
|
210
|
+
| └groupNavItem | String \| Node | — | The optional group header link to be shown. This can be a link component such asNavLink orLink. This way, the header can be a link itself. In this case, the propgroupcan be omitted. |
|
|
211
|
+
| └navItems | Array of Objects | — | The list of all menu items of a group. |
|
|
212
|
+
| └navItems.key | String | — | The name or key of the menu nav item. This key will be used for filtering, hence it should match the translated menu item name. |
|
|
213
|
+
| └navItems.item | Node | — | The menu nav item itself. This can be a simple<a>, <NavLink>, <Link> or a <span> or even a <FormattedMessage> |
|
|
214
|
+
| └navItems.disabled | Boolean | false | Disables the list item. |
|
|
215
|
+
| enableFilter | Boolean | false | Enables the filter. |
|
|
216
|
+
| focusFilter | Boolean | false | Focus the filter input. |
|
|
217
|
+
| filterKey | String | key | Define the attribute key for filter for. |
|
|
218
|
+
| filterPlaceholder | String | — | The placeholder text for the input. |
|
|
219
|
+
| notFoundMessage | String / Node | — | A localized message to be shown when filter result is empty. |
|
|
220
|
+
| responsive | Boolean | true | The menu uses collapses on smaller screens using an expander panel. |
|
|
221
|
+
| autoClose | Boolean | true | Enables automatic close of the expander panel. Only relevant when using the responsive flag. Note: make sure to not stop the events from bubbling up when clicking on an list item. Using "event.stopPropagation()" will not work for the panel to close. |
|
|
222
|
+
| trailingInputAddon | ReactNode | — | Additional addon for the input group. |
|
|
223
|
+
| groupClassName | String | — | Additional classes to be set on the menu group element. |
|
|
224
|
+
| className | String | — | Additional classes to be set on the wrapper element. |
|
|
225
|
+
|
|
226
|
+
## ListMenu with NavLinks
|
|
227
|
+
|
|
228
|
+
In case you want to navigate routes you can also use NavLink components.
|
|
229
|
+
|
|
230
|
+
In this example, all NavLinks are pointing to this ListMenu page.
|
|
231
|
+
|
|
232
|
+
### Example: Example 2
|
|
233
|
+
|
|
234
|
+
ListMenu with NavLinks
|
|
235
|
+
Group
|
|
236
|
+
Lorem
|
|
237
|
+
Lipsum
|
|
238
|
+
Dolor
|
|
239
|
+
Sit amet
|
|
240
|
+
No Link Sample
|
|
241
|
+
|
|
242
|
+
Another group
|
|
243
|
+
Lorem
|
|
244
|
+
|
|
245
|
+
#### Summary
|
|
246
|
+
|
|
247
|
+
ListMenu with NavLinks
|
|
248
|
+
Group
|
|
249
|
+
Lorem
|
|
250
|
+
Lipsum
|
|
251
|
+
Dolor
|
|
252
|
+
Sit amet
|
|
253
|
+
No Link Sample
|
|
254
|
+
|
|
255
|
+
Another group
|
|
256
|
+
Lorem
|
|
257
|
+
|
|
258
|
+
#### React (tsx)
|
|
259
|
+
|
|
260
|
+
```tsx
|
|
261
|
+
import { NavLink } from 'react-router-dom';
|
|
262
|
+
|
|
263
|
+
import ListMenu, { type ListMenuItem } from '@rio-cloud/rio-uikit/ListMenu';
|
|
264
|
+
|
|
265
|
+
const menuItems: ListMenuItem[] = [
|
|
266
|
+
{
|
|
267
|
+
group: 'Group',
|
|
268
|
+
navItems: [
|
|
269
|
+
{
|
|
270
|
+
key: 'Lorem',
|
|
271
|
+
item: (
|
|
272
|
+
<NavLink activeClassName='active' to='/components/listMenu'>
|
|
273
|
+
Lorem
|
|
274
|
+
</NavLink>
|
|
275
|
+
),
|
|
276
|
+
},
|
|
277
|
+
{
|
|
278
|
+
key: 'Lipsum',
|
|
279
|
+
item: (
|
|
280
|
+
<NavLink activeClassName='active' to='/foo'>
|
|
281
|
+
Lipsum
|
|
282
|
+
</NavLink>
|
|
283
|
+
),
|
|
284
|
+
},
|
|
285
|
+
{
|
|
286
|
+
key: 'Dolor',
|
|
287
|
+
item: (
|
|
288
|
+
<NavLink activeClassName='active' to='/foo'>
|
|
289
|
+
Dolor
|
|
290
|
+
</NavLink>
|
|
291
|
+
),
|
|
292
|
+
},
|
|
293
|
+
{
|
|
294
|
+
key: 'Sit amet',
|
|
295
|
+
item: (
|
|
296
|
+
<NavLink activeClassName='active' to='/foo'>
|
|
297
|
+
Sit amet
|
|
298
|
+
</NavLink>
|
|
299
|
+
),
|
|
300
|
+
},
|
|
301
|
+
{
|
|
302
|
+
key: 'No link',
|
|
303
|
+
item: <span>No Link Sample</span>,
|
|
304
|
+
isSubItem: true,
|
|
305
|
+
},
|
|
306
|
+
],
|
|
307
|
+
},
|
|
308
|
+
{
|
|
309
|
+
group: 'Another group',
|
|
310
|
+
isSubItem: true,
|
|
311
|
+
navItems: [
|
|
312
|
+
{
|
|
313
|
+
key: 'Lorem',
|
|
314
|
+
item: (
|
|
315
|
+
<NavLink activeClassName='active' to='/bar'>
|
|
316
|
+
Lorem
|
|
317
|
+
</NavLink>
|
|
318
|
+
),
|
|
319
|
+
},
|
|
320
|
+
],
|
|
321
|
+
},
|
|
322
|
+
];
|
|
323
|
+
|
|
324
|
+
export default () => (
|
|
325
|
+
<div>
|
|
326
|
+
<h5 className='margin-bottom-20'>ListMenu with NavLinks</h5>
|
|
327
|
+
<ListMenu menuItems={menuItems} />
|
|
328
|
+
</div>
|
|
329
|
+
);
|
|
330
|
+
```
|
|
331
|
+
|
|
332
|
+
#### HTML (html)
|
|
333
|
+
|
|
334
|
+
```html
|
|
335
|
+
<div>
|
|
336
|
+
<h5 class="margin-bottom-20">ListMenu with NavLinks</h5>
|
|
337
|
+
<div class="ListMenu ">
|
|
338
|
+
<ul class="ListMenuGroup ">
|
|
339
|
+
<li class="ListMenuHeader">
|
|
340
|
+
<span class="">Group</span>
|
|
341
|
+
</li>
|
|
342
|
+
<li class="">
|
|
343
|
+
<a aria-current="page" class="active" href="#components/listMenu">Lorem</a>
|
|
344
|
+
</li>
|
|
345
|
+
<li class="">
|
|
346
|
+
<a href="#foo">Lipsum</a>
|
|
347
|
+
</li>
|
|
348
|
+
<li class="">
|
|
349
|
+
<a href="#foo">Dolor</a>
|
|
350
|
+
</li>
|
|
351
|
+
<li class="">
|
|
352
|
+
<a href="#foo">Sit amet</a>
|
|
353
|
+
</li>
|
|
354
|
+
<li class="subitem">
|
|
355
|
+
<span>No Link Sample</span>
|
|
356
|
+
</li>
|
|
357
|
+
</ul>
|
|
358
|
+
<ul class="ListMenuGroup ">
|
|
359
|
+
<li class="ListMenuHeader">
|
|
360
|
+
<span class="">Another group</span>
|
|
361
|
+
</li>
|
|
362
|
+
<li class="">
|
|
363
|
+
<a href="#bar">Lorem</a>
|
|
364
|
+
</li>
|
|
365
|
+
</ul>
|
|
366
|
+
</div>
|
|
367
|
+
</div>
|
|
368
|
+
```
|
|
369
|
+
|
|
370
|
+
#### Props
|
|
371
|
+
|
|
372
|
+
| Name | Type | Default | Description |
|
|
373
|
+
| --- | --- | --- | --- |
|
|
374
|
+
| menuItems | Array of Objects | — | List of menu item groups to be shown. |
|
|
375
|
+
| └group | String \| Node | — | The optional group header to be shown. This can also be a component such as aFormattedMessage. |
|
|
376
|
+
| └badge | String \| Node | — | The optional badge displayed alongside the group or nav items. This can be a string or a React node for additional flexibility. |
|
|
377
|
+
| └badgeType | "muted" \| "success" \| "info" \| "warning" \| "danger" | — | Determines the visual style of the badge. Available types include:muted, success, info, warning, and danger. |
|
|
378
|
+
| └groupNavItem | String \| Node | — | The optional group header link to be shown. This can be a link component such asNavLink orLink. This way, the header can be a link itself. In this case, the propgroupcan be omitted. |
|
|
379
|
+
| └navItems | Array of Objects | — | The list of all menu items of a group. |
|
|
380
|
+
| └navItems.key | String | — | The name or key of the menu nav item. This key will be used for filtering, hence it should match the translated menu item name. |
|
|
381
|
+
| └navItems.item | Node | — | The menu nav item itself. This can be a simple<a>, <NavLink>, <Link> or a <span> or even a <FormattedMessage> |
|
|
382
|
+
| └navItems.disabled | Boolean | false | Disables the list item. |
|
|
383
|
+
| enableFilter | Boolean | false | Enables the filter. |
|
|
384
|
+
| focusFilter | Boolean | false | Focus the filter input. |
|
|
385
|
+
| filterKey | String | key | Define the attribute key for filter for. |
|
|
386
|
+
| filterPlaceholder | String | — | The placeholder text for the input. |
|
|
387
|
+
| notFoundMessage | String / Node | — | A localized message to be shown when filter result is empty. |
|
|
388
|
+
| responsive | Boolean | true | The menu uses collapses on smaller screens using an expander panel. |
|
|
389
|
+
| autoClose | Boolean | true | Enables automatic close of the expander panel. Only relevant when using the responsive flag. Note: make sure to not stop the events from bubbling up when clicking on an list item. Using "event.stopPropagation()" will not work for the panel to close. |
|
|
390
|
+
| trailingInputAddon | ReactNode | — | Additional addon for the input group. |
|
|
391
|
+
| groupClassName | String | — | Additional classes to be set on the menu group element. |
|
|
392
|
+
| className | String | — | Additional classes to be set on the wrapper element. |
|
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
# LoadMoreButton
|
|
2
|
+
|
|
3
|
+
*Category:* Components
|
|
4
|
+
*Section:* Interaction
|
|
5
|
+
*Source:* https://uikit.developers.rio.cloud/#components/loadMore
|
|
6
|
+
*Captured:* 2025-12-12T14:20:17.463Z
|
|
7
|
+
|
|
8
|
+
## LoadMoreButton
|
|
9
|
+
|
|
10
|
+
### Example: Example 1
|
|
11
|
+
|
|
12
|
+
50/150
|
|
13
|
+
|
|
14
|
+
Load more
|
|
15
|
+
|
|
16
|
+
Reset
|
|
17
|
+
|
|
18
|
+
#### Summary
|
|
19
|
+
|
|
20
|
+
50/150
|
|
21
|
+
|
|
22
|
+
Load more
|
|
23
|
+
|
|
24
|
+
Reset
|
|
25
|
+
|
|
26
|
+
#### React (tsx)
|
|
27
|
+
|
|
28
|
+
```tsx
|
|
29
|
+
import React, { useState } from 'react';
|
|
30
|
+
|
|
31
|
+
import LoadMoreButton from '@rio-cloud/rio-uikit/LoadMoreButton';
|
|
32
|
+
|
|
33
|
+
const initialState = { loaded: 50, total: 150 };
|
|
34
|
+
|
|
35
|
+
export default () => {
|
|
36
|
+
const [state, setState] = useState(initialState);
|
|
37
|
+
|
|
38
|
+
const handleLoadMore = () => {
|
|
39
|
+
const { loaded, total } = state;
|
|
40
|
+
if (loaded < total) {
|
|
41
|
+
setState({
|
|
42
|
+
...state,
|
|
43
|
+
loaded: loaded + 50,
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
const handleReset = () => setState(initialState);
|
|
49
|
+
|
|
50
|
+
return (
|
|
51
|
+
<React.Fragment>
|
|
52
|
+
<LoadMoreButton
|
|
53
|
+
loaded={state.loaded}
|
|
54
|
+
total={state.total}
|
|
55
|
+
onLoadMore={handleLoadMore}
|
|
56
|
+
loadMoreMessage='Load more'
|
|
57
|
+
noMoreMessage='Everything loaded'
|
|
58
|
+
/>
|
|
59
|
+
|
|
60
|
+
<button
|
|
61
|
+
className='position-absolute left-0 bottom-0 margin-10 btn btn-default'
|
|
62
|
+
type='button'
|
|
63
|
+
onClick={handleReset}
|
|
64
|
+
>
|
|
65
|
+
Reset
|
|
66
|
+
</button>
|
|
67
|
+
</React.Fragment>
|
|
68
|
+
);
|
|
69
|
+
};
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
#### HTML (html)
|
|
73
|
+
|
|
74
|
+
```html
|
|
75
|
+
<div class="LoadMoreButton align-items-center display-flex justify-content-center margin-top-25 margin-bottom-25 non-printable">
|
|
76
|
+
<div class="min-width-150">
|
|
77
|
+
<div class="text-center margin-bottom-3">
|
|
78
|
+
<span class="text-medium">50</span>
|
|
79
|
+
<span class="margin-left-5 margin-right-5">/</span>
|
|
80
|
+
<span class="text-medium">150</span>
|
|
81
|
+
</div>
|
|
82
|
+
<div class="progress height-2 margin-bottom-10 bg-white">
|
|
83
|
+
<div class="progress-bar" style="width: 33.3333%;">
|
|
84
|
+
</div>
|
|
85
|
+
</div>
|
|
86
|
+
<div class="display-flex justify-content-center">
|
|
87
|
+
<button class="btn btn-link padding-right-20 margin-top--5" type="button">
|
|
88
|
+
<span class="rioglyph rioglyph-arrow-down">
|
|
89
|
+
</span>Load more</button>
|
|
90
|
+
</div>
|
|
91
|
+
</div>
|
|
92
|
+
</div>
|
|
93
|
+
<button class="position-absolute left-0 bottom-0 margin-10 btn btn-default" type="button">Reset</button>
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
#### Props
|
|
97
|
+
|
|
98
|
+
| Name | Type | Default | Description |
|
|
99
|
+
| --- | --- | --- | --- |
|
|
100
|
+
| loaded | Number | 0 | The number of already loaded elements. If set to 0 the progress bar will not be shown. |
|
|
101
|
+
| total | Number | 100 | The number of all elements. If set to 0 the progress bar will not be shown. |
|
|
102
|
+
| loadMoreMessage | String / Node | — | The text for the load more button. |
|
|
103
|
+
| noMoreMessage | String / Node | — | The message that will be shown when everything is loaded. |
|
|
104
|
+
| isInteractive | Boolean | true | If set to "false", the button will not be rendered. The loadMoreMessage will be shown as text. |
|
|
105
|
+
| progressBarStyle | String | white | In case the component is used on white background, set the progress bar style to "gray". |
|
|
106
|
+
| onLoadMore | Function | () => {} | Callback fired when clicking on the load more button. |
|
|
107
|
+
| className | String | — | Additional classes to be set on the wrapper element. |
|
|
108
|
+
|
|
109
|
+
### Example: Example 2
|
|
110
|
+
|
|
111
|
+
20/100
|
|
112
|
+
|
|
113
|
+
Showing limited result.
|
|
114
|
+
Use filters to narrow down the result.
|
|
115
|
+
|
|
116
|
+
ResetLoad more
|
|
117
|
+
|
|
118
|
+
#### Summary
|
|
119
|
+
|
|
120
|
+
20/100
|
|
121
|
+
|
|
122
|
+
Showing limited result.
|
|
123
|
+
Use filters to narrow down the result.
|
|
124
|
+
|
|
125
|
+
ResetLoad more
|
|
126
|
+
|
|
127
|
+
#### React (tsx)
|
|
128
|
+
|
|
129
|
+
```tsx
|
|
130
|
+
import React, { useState } from 'react';
|
|
131
|
+
|
|
132
|
+
import LoadMoreButton from '@rio-cloud/rio-uikit/LoadMoreButton';
|
|
133
|
+
|
|
134
|
+
const initialState = { loaded: 20, total: 100 };
|
|
135
|
+
|
|
136
|
+
export default () => {
|
|
137
|
+
const [state, setState] = useState(initialState);
|
|
138
|
+
|
|
139
|
+
const handleLoadMore = () => {
|
|
140
|
+
const { loaded, total } = state;
|
|
141
|
+
if (loaded < total) {
|
|
142
|
+
setState({
|
|
143
|
+
...state,
|
|
144
|
+
loaded: loaded + 20,
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
};
|
|
148
|
+
|
|
149
|
+
const handleReset = () => setState(initialState);
|
|
150
|
+
|
|
151
|
+
return (
|
|
152
|
+
<React.Fragment>
|
|
153
|
+
<LoadMoreButton
|
|
154
|
+
loaded={state.loaded}
|
|
155
|
+
total={state.total}
|
|
156
|
+
loadMoreMessage={
|
|
157
|
+
<div className='max-width-150 text-center text-size-12 line-height-125rel'>
|
|
158
|
+
Showing limited result.
|
|
159
|
+
<br />
|
|
160
|
+
Use filters to narrow down the result.
|
|
161
|
+
</div>
|
|
162
|
+
}
|
|
163
|
+
noMoreMessage=''
|
|
164
|
+
progressBarStyle='gray'
|
|
165
|
+
isInteractive={false}
|
|
166
|
+
/>
|
|
167
|
+
|
|
168
|
+
<div className='position-absolute left-0 bottom-0 margin-10 btn-toolbar'>
|
|
169
|
+
<button className='btn btn-default' type='button' onClick={handleReset}>
|
|
170
|
+
Reset
|
|
171
|
+
</button>
|
|
172
|
+
<button className='btn btn-default' type='button' onClick={handleLoadMore}>
|
|
173
|
+
Load more
|
|
174
|
+
</button>
|
|
175
|
+
</div>
|
|
176
|
+
</React.Fragment>
|
|
177
|
+
);
|
|
178
|
+
};
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
#### HTML (html)
|
|
182
|
+
|
|
183
|
+
```html
|
|
184
|
+
<div class="LoadMoreButton align-items-center display-flex justify-content-center margin-top-25 margin-bottom-25 non-printable">
|
|
185
|
+
<div class="min-width-150">
|
|
186
|
+
<div class="text-center margin-bottom-3">
|
|
187
|
+
<span class="text-medium">20</span>
|
|
188
|
+
<span class="margin-left-5 margin-right-5">/</span>
|
|
189
|
+
<span class="text-medium">100</span>
|
|
190
|
+
</div>
|
|
191
|
+
<div class="progress height-2 margin-bottom-10 bg-lighter">
|
|
192
|
+
<div class="progress-bar border border-right-only border-color-white border-width-2" style="width: 20%;">
|
|
193
|
+
</div>
|
|
194
|
+
</div>
|
|
195
|
+
<div class="display-flex justify-content-center">
|
|
196
|
+
<span class="padding-top-4 padding-bottom-10">
|
|
197
|
+
<div class="max-width-150 text-center text-size-12 line-height-125rel">Showing limited result.<br>Use filters to narrow down the result.</div>
|
|
198
|
+
</span>
|
|
199
|
+
</div>
|
|
200
|
+
</div>
|
|
201
|
+
</div>
|
|
202
|
+
<div class="position-absolute left-0 bottom-0 margin-10 btn-toolbar">
|
|
203
|
+
<button class="btn btn-default" type="button">Reset</button>
|
|
204
|
+
<button class="btn btn-default" type="button">Load more</button>
|
|
205
|
+
</div>
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
#### Props
|
|
209
|
+
|
|
210
|
+
| Name | Type | Default | Description |
|
|
211
|
+
| --- | --- | --- | --- |
|
|
212
|
+
| loaded | Number | 0 | The number of already loaded elements. If set to 0 the progress bar will not be shown. |
|
|
213
|
+
| total | Number | 100 | The number of all elements. If set to 0 the progress bar will not be shown. |
|
|
214
|
+
| loadMoreMessage | String / Node | — | The text for the load more button. |
|
|
215
|
+
| noMoreMessage | String / Node | — | The message that will be shown when everything is loaded. |
|
|
216
|
+
| isInteractive | Boolean | true | If set to "false", the button will not be rendered. The loadMoreMessage will be shown as text. |
|
|
217
|
+
| progressBarStyle | String | white | In case the component is used on white background, set the progress bar style to "gray". |
|
|
218
|
+
| onLoadMore | Function | () => {} | Callback fired when clicking on the load more button. |
|
|
219
|
+
| className | String | — | Additional classes to be set on the wrapper element. |
|