@rio-cloud/uikit-mcp 1.0.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.
- package/LICENSE +202 -0
- package/README.md +91 -0
- package/bin/uikit-mcp.mjs +23 -0
- package/data/pages/Components/components/accentbar.json +207 -0
- package/data/pages/Components/components/activity.json +87 -0
- package/data/pages/Components/components/animatednumber.json +99 -0
- package/data/pages/Components/components/animations.json +87 -0
- package/data/pages/Components/components/appheader.json +291 -0
- package/data/pages/Components/components/applayout.json +1198 -0
- package/data/pages/Components/components/appnavigationbar.json +327 -0
- package/data/pages/Components/components/areacharts.json +563 -0
- package/data/pages/Components/components/aspectratioplaceholder.json +75 -0
- package/data/pages/Components/components/assettree.json +3080 -0
- package/data/pages/Components/components/autosuggests.json +710 -0
- package/data/pages/Components/components/avatar.json +157 -0
- package/data/pages/Components/components/banner.json +599 -0
- package/data/pages/Components/components/barcharts.json +1507 -0
- package/data/pages/Components/components/barlist.json +223 -0
- package/data/pages/Components/components/basicmap.json +68 -0
- package/data/pages/Components/components/bottomsheet.json +601 -0
- package/data/pages/Components/components/button.json +583 -0
- package/data/pages/Components/components/buttontoolbar.json +63 -0
- package/data/pages/Components/components/calendarstripe.json +235 -0
- package/data/pages/Components/components/card.json +69 -0
- package/data/pages/Components/components/carousel.json +39 -0
- package/data/pages/Components/components/chartcolors.json +34 -0
- package/data/pages/Components/components/chartsgettingstarted.json +32 -0
- package/data/pages/Components/components/chat.json +39 -0
- package/data/pages/Components/components/checkbox.json +847 -0
- package/data/pages/Components/components/clearableinput.json +789 -0
- package/data/pages/Components/components/collapse.json +175 -0
- package/data/pages/Components/components/composedcharts.json +159 -0
- package/data/pages/Components/components/contentloader.json +233 -0
- package/data/pages/Components/components/datatabs.json +680 -0
- package/data/pages/Components/components/datepickers.json +287 -0
- package/data/pages/Components/components/dialogs.json +1492 -0
- package/data/pages/Components/components/divider.json +93 -0
- package/data/pages/Components/components/dropdowns.json +936 -0
- package/data/pages/Components/components/editablecontent.json +1117 -0
- package/data/pages/Components/components/expander.json +377 -0
- package/data/pages/Components/components/fade.json +403 -0
- package/data/pages/Components/components/fadeexpander.json +75 -0
- package/data/pages/Components/components/fadeup.json +127 -0
- package/data/pages/Components/components/feedback.json +269 -0
- package/data/pages/Components/components/filepickers.json +269 -0
- package/data/pages/Components/components/formlabel.json +115 -0
- package/data/pages/Components/components/fullscreenmap.json +22 -0
- package/data/pages/Components/components/groupeditemlist.json +323 -0
- package/data/pages/Components/components/iconlist.json +45 -0
- package/data/pages/Components/components/imagepreloader.json +81 -0
- package/data/pages/Components/components/labeledelement.json +75 -0
- package/data/pages/Components/components/licenseplate.json +69 -0
- package/data/pages/Components/components/linecharts.json +987 -0
- package/data/pages/Components/components/listmenu.json +313 -0
- package/data/pages/Components/components/loadmore.json +175 -0
- package/data/pages/Components/components/mainnavigation.json +39 -0
- package/data/pages/Components/components/mapcircle.json +34 -0
- package/data/pages/Components/components/mapcluster.json +51 -0
- package/data/pages/Components/components/mapcontext.json +105 -0
- package/data/pages/Components/components/mapdraggablemarker.json +34 -0
- package/data/pages/Components/components/mapgettingstarted.json +27 -0
- package/data/pages/Components/components/mapgroup.json +1198 -0
- package/data/pages/Components/components/mapinfobubble.json +34 -0
- package/data/pages/Components/components/maplayergroup.json +34 -0
- package/data/pages/Components/components/mapmarker.json +700 -0
- package/data/pages/Components/components/mappolygon.json +45 -0
- package/data/pages/Components/components/maproute.json +623 -0
- package/data/pages/Components/components/maproutegenerator.json +16 -0
- package/data/pages/Components/components/mapsettings.json +51 -0
- package/data/pages/Components/components/maputils.json +34 -0
- package/data/pages/Components/components/multiselects.json +1451 -0
- package/data/pages/Components/components/nodata.json +139 -0
- package/data/pages/Components/components/notifications.json +65 -0
- package/data/pages/Components/components/numbercontrol.json +301 -0
- package/data/pages/Components/components/onboarding.json +302 -0
- package/data/pages/Components/components/page.json +197 -0
- package/data/pages/Components/components/pager.json +93 -0
- package/data/pages/Components/components/piecharts.json +731 -0
- package/data/pages/Components/components/popover.json +251 -0
- package/data/pages/Components/components/position.json +69 -0
- package/data/pages/Components/components/radialbarcharts.json +1304 -0
- package/data/pages/Components/components/radiobutton.json +1105 -0
- package/data/pages/Components/components/releasenotes.json +44 -0
- package/data/pages/Components/components/resizer.json +93 -0
- package/data/pages/Components/components/responsivecolumnstripe.json +123 -0
- package/data/pages/Components/components/responsivevideo.json +75 -0
- package/data/pages/Components/components/rioglyph.json +93 -0
- package/data/pages/Components/components/rules.json +410 -0
- package/data/pages/Components/components/saveableinput.json +703 -0
- package/data/pages/Components/components/selects.json +701 -0
- package/data/pages/Components/components/sidebar.json +243 -0
- package/data/pages/Components/components/sliders.json +235 -0
- package/data/pages/Components/components/smoothscrollbars.json +335 -0
- package/data/pages/Components/components/spinners.json +343 -0
- package/data/pages/Components/components/states.json +1705 -0
- package/data/pages/Components/components/statswidgets.json +314 -0
- package/data/pages/Components/components/statusbar.json +177 -0
- package/data/pages/Components/components/stepbutton.json +57 -0
- package/data/pages/Components/components/steppedprogressbars.json +417 -0
- package/data/pages/Components/components/subnavigation.json +107 -0
- package/data/pages/Components/components/supportmarker.json +45 -0
- package/data/pages/Components/components/svgimage.json +81 -0
- package/data/pages/Components/components/switch.json +111 -0
- package/data/pages/Components/components/tables.json +144 -0
- package/data/pages/Components/components/tagmanager.json +86 -0
- package/data/pages/Components/components/tags.json +146 -0
- package/data/pages/Components/components/teaser.json +188 -0
- package/data/pages/Components/components/timeline.json +45 -0
- package/data/pages/Components/components/timepicker.json +163 -0
- package/data/pages/Components/components/togglebutton.json +247 -0
- package/data/pages/Components/components/tooltip.json +270 -0
- package/data/pages/Components/components/virtuallist.json +175 -0
- package/data/pages/Foundations/foundations.json +2475 -0
- package/data/pages/Getting-started/start/changelog.json +22 -0
- package/data/pages/Getting-started/start/goodtoknow.json +32 -0
- package/data/pages/Getting-started/start/guidelines/color-combinations.json +58 -0
- package/data/pages/Getting-started/start/guidelines/custom-css.json +27 -0
- package/data/pages/Getting-started/start/guidelines/custom-rioglyph.json +22 -0
- package/data/pages/Getting-started/start/guidelines/formatting.json +97 -0
- package/data/pages/Getting-started/start/guidelines/iframe.json +93 -0
- package/data/pages/Getting-started/start/guidelines/obfuscate-data.json +22 -0
- package/data/pages/Getting-started/start/guidelines/print-css.json +37 -0
- package/data/pages/Getting-started/start/guidelines/spinner.json +144 -0
- package/data/pages/Getting-started/start/guidelines/supported-browsers.json +22 -0
- package/data/pages/Getting-started/start/guidelines/writing.json +242 -0
- package/data/pages/Getting-started/start/howto.json +72 -0
- package/data/pages/Getting-started/start/intro.json +37 -0
- package/data/pages/Getting-started/start/responsiveness.json +52 -0
- package/data/pages/Templates/templates/common-table.json +39 -0
- package/data/pages/Templates/templates/detail-views.json +71 -0
- package/data/pages/Templates/templates/expandable-details.json +39 -0
- package/data/pages/Templates/templates/feature-cards.json +103 -0
- package/data/pages/Templates/templates/form-summary.json +39 -0
- package/data/pages/Templates/templates/form-toggle.json +39 -0
- package/data/pages/Templates/templates/list-blocks.json +119 -0
- package/data/pages/Templates/templates/loading-progress.json +39 -0
- package/data/pages/Templates/templates/options-panel.json +39 -0
- package/data/pages/Templates/templates/panel-variants.json +39 -0
- package/data/pages/Templates/templates/progress-cards.json +71 -0
- package/data/pages/Templates/templates/progress-success.json +39 -0
- package/data/pages/Templates/templates/settings-form.json +39 -0
- package/data/pages/Templates/templates/stats-blocks.json +135 -0
- package/data/pages/Templates/templates/table-panel.json +39 -0
- package/data/pages/Templates/templates/table-row-animation.json +39 -0
- package/data/pages/Templates/templates/usage-cards.json +39 -0
- package/data/pages/Utilities/utilities/deviceutils.json +39 -0
- package/data/pages/Utilities/utilities/featuretoggles.json +42 -0
- package/data/pages/Utilities/utilities/fueltypeutils.json +118 -0
- package/data/pages/Utilities/utilities/routeutils.json +34 -0
- package/data/pages/Utilities/utilities/useaftermount.json +63 -0
- package/data/pages/Utilities/utilities/useaverage.json +86 -0
- package/data/pages/Utilities/utilities/useclickoutside.json +69 -0
- package/data/pages/Utilities/utilities/useclipboard.json +57 -0
- package/data/pages/Utilities/utilities/usecount.json +92 -0
- package/data/pages/Utilities/utilities/usedarkmode.json +50 -0
- package/data/pages/Utilities/utilities/usedebuginfo.json +63 -0
- package/data/pages/Utilities/utilities/useeffectonce.json +57 -0
- package/data/pages/Utilities/utilities/useelapsedtime.json +57 -0
- package/data/pages/Utilities/utilities/useelementsize.json +63 -0
- package/data/pages/Utilities/utilities/useesc.json +57 -0
- package/data/pages/Utilities/utilities/useevent.json +75 -0
- package/data/pages/Utilities/utilities/usefocustrap.json +57 -0
- package/data/pages/Utilities/utilities/usefullscreen.json +197 -0
- package/data/pages/Utilities/utilities/usehover.json +57 -0
- package/data/pages/Utilities/utilities/useinterval.json +63 -0
- package/data/pages/Utilities/utilities/useisfocuswithin.json +75 -0
- package/data/pages/Utilities/utilities/usekey.json +75 -0
- package/data/pages/Utilities/utilities/uselocalstorage.json +69 -0
- package/data/pages/Utilities/utilities/uselocationsuggestions.json +110 -0
- package/data/pages/Utilities/utilities/usemax.json +86 -0
- package/data/pages/Utilities/utilities/usemin.json +86 -0
- package/data/pages/Utilities/utilities/usemutationobserver.json +69 -0
- package/data/pages/Utilities/utilities/useonlinestatus.json +39 -0
- package/data/pages/Utilities/utilities/useonscreen.json +63 -0
- package/data/pages/Utilities/utilities/usepostmessage.json +80 -0
- package/data/pages/Utilities/utilities/useprevious.json +63 -0
- package/data/pages/Utilities/utilities/useresizeobserver.json +65 -0
- package/data/pages/Utilities/utilities/usescrollposition.json +103 -0
- package/data/pages/Utilities/utilities/usesearch.json +197 -0
- package/data/pages/Utilities/utilities/usesorting.json +139 -0
- package/data/pages/Utilities/utilities/usestatewithvalidation.json +69 -0
- package/data/pages/Utilities/utilities/usesum.json +86 -0
- package/data/pages/Utilities/utilities/usetableexport.json +87 -0
- package/data/pages/Utilities/utilities/usetableselection.json +311 -0
- package/data/pages/Utilities/utilities/usetimeout.json +63 -0
- package/data/pages/Utilities/utilities/usetoggle.json +75 -0
- package/data/pages/Utilities/utilities/usewindowresize.json +63 -0
- package/data/version.json +4 -0
- package/docs/content-schema.md +147 -0
- package/docs/navigation-inventory.json +1310 -0
- package/docs/search-synonyms.json +43 -0
- package/package.json +38 -0
- package/server/index.mjs +268 -0
- package/server/lib/load-docs.mjs +48 -0
- package/server/lib/normalise-doc.mjs +220 -0
- package/server/lib/render-markdown.mjs +82 -0
- package/server/lib/search-index.mjs +49 -0
- package/server/lib/types.js +99 -0
|
@@ -0,0 +1,314 @@
|
|
|
1
|
+
{
|
|
2
|
+
"metadata": {
|
|
3
|
+
"captured_at": "2025-11-21T12:07:43.540Z",
|
|
4
|
+
"source": "https://uikit.developers.rio.cloud/#components/statsWidgets",
|
|
5
|
+
"category": "Components",
|
|
6
|
+
"section": "Content",
|
|
7
|
+
"slug": "components/statswidgets",
|
|
8
|
+
"version": "v1.13.2",
|
|
9
|
+
"hash_algorithm": "sha256",
|
|
10
|
+
"hash": "8d298c540887d920c3f129b419021dfa47d6a5649580a8470935195f201b0865"
|
|
11
|
+
},
|
|
12
|
+
"title": "StatsWidgets",
|
|
13
|
+
"lead": null,
|
|
14
|
+
"content": [
|
|
15
|
+
{
|
|
16
|
+
"heading": "StatsWidgets",
|
|
17
|
+
"body": "StatsWidget with another body component and additional footer\n\nInteractive StatsWidget with filter option",
|
|
18
|
+
"examples": [
|
|
19
|
+
{
|
|
20
|
+
"caption": "Example 1",
|
|
21
|
+
"rendered_html": "<div class=\"playground-content bg-white padding-20 padding-bottom-25\" style=\"width: 100%;\"><div class=\"StatsWidget-wrapper margin-bottom-20\"><div class=\"StatsWidget\"><div class=\"StatsWidget-header\">Fleet</div><div class=\"StatsWidget-body\"><div class=\"StatsWidgetNumber\"><div class=\"StatsWidgetNumber-counter\"><div class=\"StatsWidgetNumber-value\">23</div></div><div class=\"StatsWidgetNumber-label\">Trucks</div></div><div class=\"StatsWidget-body-column-spacer\"></div><div class=\"StatsWidgetNumber\"><div class=\"StatsWidgetNumber-counter\"><div class=\"StatsWidgetNumber-value\">14</div></div><div class=\"StatsWidgetNumber-label\">Trailer</div></div><div class=\"StatsWidget-body-column-spacer\"></div><div class=\"StatsWidgetNumber\"><div class=\"StatsWidgetNumber-counter\"><div class=\"StatsWidgetNumber-value\">111</div></div><div class=\"StatsWidgetNumber-label\">Driver</div></div><div class=\"StatsWidget-body-column-spacer\"></div></div></div><div class=\"StatsWidget\"><div class=\"StatsWidget-header\">Notifications</div><div class=\"StatsWidget-body\"><div class=\"StatsWidgetNumber text-color-danger\"><div class=\"StatsWidgetNumber-counter\"><div class=\"StatsWidgetNumber-value\">45</div></div><div class=\"StatsWidgetNumber-label\">Exceptions</div></div><div class=\"StatsWidget-body-column-spacer\"></div><div class=\"StatsWidgetNumber text-color-warning\"><div class=\"StatsWidgetNumber-counter\"><div class=\"StatsWidgetNumber-value\">144</div></div><div class=\"StatsWidgetNumber-label\">Warnings</div></div></div></div><div class=\"StatsWidget\"><span class=\"bg-light hover-bg-highlight display-flex justify-content-center align-items-center padding-2 rounded-circle position-absolute top-15 right-15 display-block height-20 width-20 cursor-pointer\"><span class=\"rioglyph rioglyph-revert text-color-white text-size-12\"></span></span><div class=\"StatsWidget-header\">Activity</div><div class=\"StatsWidget-body\"><div class=\"StatsWidgetNumber cursor-pointer text-color-status-available\"><div class=\"StatsWidgetNumber-counter\"><div class=\"StatsWidgetNumber-value\">15</div><div class=\"StatsWidgetNumber-total\">30</div></div><div class=\"StatsWidgetNumber-label\">Availability</div></div><div class=\"StatsWidget-body-column-spacer\"></div><div class=\"StatsWidgetNumber text-color-status-driving\"><div class=\"StatsWidgetNumber-counter\"><div class=\"StatsWidgetNumber-value\">12</div></div><div class=\"StatsWidgetNumber-label\">Driving</div></div><div class=\"StatsWidget-body-column-spacer\"></div><div class=\"StatsWidgetNumber text-color-status-working\"><div class=\"StatsWidgetNumber-counter\"><div class=\"StatsWidgetNumber-value\">12</div></div><div class=\"StatsWidgetNumber-label\">Working</div></div><div class=\"StatsWidget-body-column-spacer\"></div><div class=\"StatsWidgetNumber text-color-status-resting\"><div class=\"StatsWidgetNumber-counter\"><div class=\"StatsWidgetNumber-value\">9</div></div><div class=\"StatsWidgetNumber-label\">Resting</div></div></div></div></div><div class=\"StatsWidget-wrapper\"><div class=\"StatsWidget\"><div class=\"StatsWidget-header\">Full width widget</div><div class=\"StatsWidget-body full-width\"><div class=\"StatsWidget-body-column-spacer invisible\"></div><div class=\"StatsWidgetNumber\"><div class=\"StatsWidgetNumber-counter\"><div class=\"StatsWidgetNumber-value\">23</div></div><div class=\"StatsWidgetNumber-label\">Trucks</div></div><div class=\"StatsWidget-body-column-spacer\"></div><div class=\"StatsWidgetNumber\"><div class=\"StatsWidgetNumber-counter\"><div class=\"StatsWidgetNumber-value\">14</div></div><div class=\"StatsWidgetNumber-label\">Trailer</div></div><div class=\"StatsWidget-body-column-spacer\"></div><div class=\"StatsWidgetNumber\"><div class=\"StatsWidgetNumber-counter\"><div class=\"StatsWidgetNumber-value\">111</div></div><div class=\"StatsWidgetNumber-label\">Driver</div></div><div class=\"StatsWidget-body-column-spacer invisible\"></div></div></div></div></div>",
|
|
22
|
+
"tabs": [
|
|
23
|
+
{
|
|
24
|
+
"label": "React",
|
|
25
|
+
"language": "tsx",
|
|
26
|
+
"code": "import StatsWidgets from '@rio-cloud/rio-uikit/StatsWidgets';\nimport StatsWidget from '@rio-cloud/rio-uikit/StatsWidget';\nimport StatsWidgetNumber from '@rio-cloud/rio-uikit/StatsWidgetNumber';\nimport StatsWidgetSpacer from '@rio-cloud/rio-uikit/StatsWidgetSpacer';\n\nexport default () => (\n <>\n <StatsWidgets className='margin-bottom-20'>\n <StatsWidget>\n <StatsWidget.Header>Fleet</StatsWidget.Header>\n <StatsWidget.Body>\n <StatsWidgetNumber value='23' label='Trucks' />\n <StatsWidgetSpacer />\n <StatsWidgetNumber value='14' label='Trailer' />\n <StatsWidgetSpacer />\n <StatsWidgetNumber value='111' label='Driver' />\n <StatsWidgetSpacer />\n </StatsWidget.Body>\n </StatsWidget>\n\n <StatsWidget>\n <StatsWidget.Header>Notifications</StatsWidget.Header>\n <StatsWidget.Body>\n <StatsWidgetNumber className='text-color-danger' value={45} label='Exceptions' />\n <StatsWidgetSpacer />\n <StatsWidgetNumber className='text-color-warning' value={144} label='Warnings' />\n </StatsWidget.Body>\n </StatsWidget>\n\n <StatsWidget hasFilter onFilterReset={() => {}}>\n <StatsWidget.Header>Activity</StatsWidget.Header>\n <StatsWidget.Body>\n <StatsWidgetNumber\n className='text-color-status-available'\n value={15}\n total={30}\n label='Availability'\n clickable\n />\n <StatsWidgetSpacer />\n <StatsWidgetNumber className='text-color-status-driving' value={12} label='Driving' />\n <StatsWidgetSpacer />\n <StatsWidgetNumber className='text-color-status-working' value={12} label='Working' />\n <StatsWidgetSpacer />\n <StatsWidgetNumber className='text-color-status-resting' value={9} label='Resting' />\n </StatsWidget.Body>\n </StatsWidget>\n </StatsWidgets>\n\n <StatsWidgets>\n <StatsWidget>\n <StatsWidget.Header>Full width widget</StatsWidget.Header>\n <StatsWidget.Body fullWidth>\n <StatsWidgetNumber value='23' label='Trucks' />\n <StatsWidgetSpacer />\n <StatsWidgetNumber value='14' label='Trailer' />\n <StatsWidgetSpacer />\n <StatsWidgetNumber value='111' label='Driver' />\n </StatsWidget.Body>\n </StatsWidget>\n </StatsWidgets>\n </>\n);"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"label": "HTML",
|
|
30
|
+
"language": "html",
|
|
31
|
+
"code": "<div class=\"StatsWidget-wrapper margin-bottom-20\">\n <div class=\"StatsWidget\">\n <div class=\"StatsWidget-header\">Fleet</div>\n <div class=\"StatsWidget-body\">\n <div class=\"StatsWidgetNumber\">\n <div class=\"StatsWidgetNumber-counter\">\n <div class=\"StatsWidgetNumber-value\">23</div>\n </div>\n <div class=\"StatsWidgetNumber-label\">Trucks</div>\n </div>\n <div class=\"StatsWidget-body-column-spacer\">\n </div>\n <div class=\"StatsWidgetNumber\">\n <div class=\"StatsWidgetNumber-counter\">\n <div class=\"StatsWidgetNumber-value\">14</div>\n </div>\n <div class=\"StatsWidgetNumber-label\">Trailer</div>\n </div>\n <div class=\"StatsWidget-body-column-spacer\">\n </div>\n <div class=\"StatsWidgetNumber\">\n <div class=\"StatsWidgetNumber-counter\">\n <div class=\"StatsWidgetNumber-value\">111</div>\n </div>\n <div class=\"StatsWidgetNumber-label\">Driver</div>\n </div>\n <div class=\"StatsWidget-body-column-spacer\">\n </div>\n </div>\n </div>\n <div class=\"StatsWidget\">\n <div class=\"StatsWidget-header\">Notifications</div>\n <div class=\"StatsWidget-body\">\n <div class=\"StatsWidgetNumber text-color-danger\">\n <div class=\"StatsWidgetNumber-counter\">\n <div class=\"StatsWidgetNumber-value\">45</div>\n </div>\n <div class=\"StatsWidgetNumber-label\">Exceptions</div>\n </div>\n <div class=\"StatsWidget-body-column-spacer\">\n </div>\n <div class=\"StatsWidgetNumber text-color-warning\">\n <div class=\"StatsWidgetNumber-counter\">\n <div class=\"StatsWidgetNumber-value\">144</div>\n </div>\n <div class=\"StatsWidgetNumber-label\">Warnings</div>\n </div>\n </div>\n </div>\n <div class=\"StatsWidget\">\n <span class=\"bg-light hover-bg-highlight display-flex justify-content-center align-items-center padding-2 rounded-circle position-absolute top-15 right-15 display-block height-20 width-20 cursor-pointer\">\n <span class=\"rioglyph rioglyph-revert text-color-white text-size-12\">\n </span>\n </span>\n <div class=\"StatsWidget-header\">Activity</div>\n <div class=\"StatsWidget-body\">\n <div class=\"StatsWidgetNumber cursor-pointer text-color-status-available\">\n <div class=\"StatsWidgetNumber-counter\">\n <div class=\"StatsWidgetNumber-value\">15</div>\n <div class=\"StatsWidgetNumber-total\">30</div>\n </div>\n <div class=\"StatsWidgetNumber-label\">Availability</div>\n </div>\n <div class=\"StatsWidget-body-column-spacer\">\n </div>\n <div class=\"StatsWidgetNumber text-color-status-driving\">\n <div class=\"StatsWidgetNumber-counter\">\n <div class=\"StatsWidgetNumber-value\">12</div>\n </div>\n <div class=\"StatsWidgetNumber-label\">Driving</div>\n </div>\n <div class=\"StatsWidget-body-column-spacer\">\n </div>\n <div class=\"StatsWidgetNumber text-color-status-working\">\n <div class=\"StatsWidgetNumber-counter\">\n <div class=\"StatsWidgetNumber-value\">12</div>\n </div>\n <div class=\"StatsWidgetNumber-label\">Working</div>\n </div>\n <div class=\"StatsWidget-body-column-spacer\">\n </div>\n <div class=\"StatsWidgetNumber text-color-status-resting\">\n <div class=\"StatsWidgetNumber-counter\">\n <div class=\"StatsWidgetNumber-value\">9</div>\n </div>\n <div class=\"StatsWidgetNumber-label\">Resting</div>\n </div>\n </div>\n </div>\n</div>\n<div class=\"StatsWidget-wrapper\">\n <div class=\"StatsWidget\">\n <div class=\"StatsWidget-header\">Full width widget</div>\n <div class=\"StatsWidget-body full-width\">\n <div class=\"StatsWidget-body-column-spacer invisible\">\n </div>\n <div class=\"StatsWidgetNumber\">\n <div class=\"StatsWidgetNumber-counter\">\n <div class=\"StatsWidgetNumber-value\">23</div>\n </div>\n <div class=\"StatsWidgetNumber-label\">Trucks</div>\n </div>\n <div class=\"StatsWidget-body-column-spacer\">\n </div>\n <div class=\"StatsWidgetNumber\">\n <div class=\"StatsWidgetNumber-counter\">\n <div class=\"StatsWidgetNumber-value\">14</div>\n </div>\n <div class=\"StatsWidgetNumber-label\">Trailer</div>\n </div>\n <div class=\"StatsWidget-body-column-spacer\">\n </div>\n <div class=\"StatsWidgetNumber\">\n <div class=\"StatsWidgetNumber-counter\">\n <div class=\"StatsWidgetNumber-value\">111</div>\n </div>\n <div class=\"StatsWidgetNumber-label\">Driver</div>\n </div>\n <div class=\"StatsWidget-body-column-spacer invisible\">\n </div>\n </div>\n </div>\n</div>"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"label": "Props",
|
|
35
|
+
"language": "json",
|
|
36
|
+
"code": null,
|
|
37
|
+
"props": [
|
|
38
|
+
{
|
|
39
|
+
"heading": "StatsWidgets, StatsWidget, StatsWidgetSpacer and StatsWidgetNumber",
|
|
40
|
+
"rows": [
|
|
41
|
+
{
|
|
42
|
+
"name": "className",
|
|
43
|
+
"type": "String",
|
|
44
|
+
"default": "",
|
|
45
|
+
"description": "Addional class names to be added to the element."
|
|
46
|
+
}
|
|
47
|
+
]
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"heading": "StatsWidget",
|
|
51
|
+
"rows": [
|
|
52
|
+
{
|
|
53
|
+
"name": "hasFilter",
|
|
54
|
+
"type": "Boolean",
|
|
55
|
+
"default": "false",
|
|
56
|
+
"description": "Defines whether a filter is active for this stats widget."
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"name": "onFilterReset",
|
|
60
|
+
"type": "Function",
|
|
61
|
+
"default": "",
|
|
62
|
+
"description": "Callback to reset the filter."
|
|
63
|
+
}
|
|
64
|
+
]
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"heading": "StatsWidgetBody",
|
|
68
|
+
"rows": [
|
|
69
|
+
{
|
|
70
|
+
"name": "fullWidth",
|
|
71
|
+
"type": "Boolean",
|
|
72
|
+
"default": "",
|
|
73
|
+
"description": "Whether to use flex space-between for StatsWidgetNumbers."
|
|
74
|
+
}
|
|
75
|
+
]
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"heading": "StatsWidgetNumber",
|
|
79
|
+
"rows": [
|
|
80
|
+
{
|
|
81
|
+
"name": "value",
|
|
82
|
+
"type": "String / Number / Node",
|
|
83
|
+
"default": "",
|
|
84
|
+
"description": "The value to be shown."
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
"name": "total",
|
|
88
|
+
"type": "String / Number / Node",
|
|
89
|
+
"default": "",
|
|
90
|
+
"description": "The total value to be shown i.e. in combination with an active filter."
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"name": "label",
|
|
94
|
+
"type": "String / Node",
|
|
95
|
+
"default": "",
|
|
96
|
+
"description": "The label shown below the number."
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"name": "clickable",
|
|
100
|
+
"type": "Boolean",
|
|
101
|
+
"default": "false",
|
|
102
|
+
"description": "Defines whether or not the number is clickable i.e. in combination with a filter."
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"name": "onClick",
|
|
106
|
+
"type": "Function",
|
|
107
|
+
"default": "",
|
|
108
|
+
"description": "Callback for when the user clicks the number widget."
|
|
109
|
+
}
|
|
110
|
+
]
|
|
111
|
+
}
|
|
112
|
+
]
|
|
113
|
+
}
|
|
114
|
+
]
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
"caption": "Example 2",
|
|
118
|
+
"rendered_html": "<div class=\"playground-content bg-lighter padding-20 padding-bottom-25\" style=\"width: 100%;\"><div class=\"StatsWidget-wrapper\"><div class=\"StatsWidget shadow-default\"><div class=\"StatsWidget-header\">Current activity</div><div class=\"StatsWidget-body padding-20\"><div class=\"StatusBar width-100pct display-flex align-items-end\"><div class=\"flex-order-1 margin-right-5\"><span class=\"rioglyph rioglyph-status-resting text-color-status-resting text-size-h3\"></span></div><div class=\"display-flex flex-1-0 flex-order-1 flex-column margin-bottom-10\"><div class=\"display-flex justify-content-center\"><span class=\"display-flex ellipsis-1 flex-1-0 justify-content-center text-color-status-resting width-0 text-size-16 text-bold\">42 min resting</span></div><div class=\"display-flex flex-1-0\"><div class=\"progress margin-0 flex-1-0 height-5\"><div class=\"progress-bar progress-bar-status-resting progress-divider\" style=\"width: 30%;\"></div><div class=\"progress-bar progress-bar-light progress-divider\" style=\"width: 70%;\"></div></div></div></div></div></div><div class=\"StatsWidget-footer bg-lightest text-color-gray\">Last update 2 minutes ago</div></div></div></div>",
|
|
119
|
+
"tabs": [
|
|
120
|
+
{
|
|
121
|
+
"label": "React",
|
|
122
|
+
"language": "tsx",
|
|
123
|
+
"code": "import StatsWidgets from '@rio-cloud/rio-uikit/StatsWidgets';\nimport StatsWidget from '@rio-cloud/rio-uikit/StatsWidget';\nimport StatusBar from '@rio-cloud/rio-uikit/StatusBar';\n\nexport default () => (\n <StatsWidgets>\n <StatsWidget className='shadow-default'>\n <StatsWidget.Header>Current activity</StatsWidget.Header>\n <StatsWidget.Body className='padding-20'>\n <StatusBar\n icon={{\n name: 'rioglyph-status-resting',\n color: 'text-color-status-resting',\n }}\n label={{\n value: '42 min resting',\n alignment: 'top',\n color: 'text-color-status-resting',\n }}\n progress={[\n {\n percentage: 30,\n color: 'progress-bar-status-resting',\n tooltip: <span>30%</span>,\n },\n {\n percentage: 70,\n color: 'progress-bar-light',\n tooltip: <span>70%</span>,\n },\n ]}\n />\n </StatsWidget.Body>\n <StatsWidget.Footer className='bg-lightest text-color-gray'>Last update 2 minutes ago</StatsWidget.Footer>\n </StatsWidget>\n </StatsWidgets>\n);"
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
"label": "HTML",
|
|
127
|
+
"language": "html",
|
|
128
|
+
"code": "<div class=\"StatsWidget-wrapper\">\n <div class=\"StatsWidget shadow-default\">\n <div class=\"StatsWidget-header\">Current activity</div>\n <div class=\"StatsWidget-body padding-20\">\n <div class=\"StatusBar width-100pct display-flex align-items-end\">\n <div class=\"flex-order-1 margin-right-5\">\n <span class=\"rioglyph rioglyph-status-resting text-color-status-resting text-size-h3\">\n </span>\n </div>\n <div class=\"display-flex flex-1-0 flex-order-1 flex-column margin-bottom-10\">\n <div class=\"display-flex justify-content-center\">\n <span class=\"display-flex ellipsis-1 flex-1-0 justify-content-center text-color-status-resting width-0 text-size-16 text-bold\">42 min resting</span>\n </div>\n <div class=\"display-flex flex-1-0\">\n <div class=\"progress margin-0 flex-1-0 height-5\">\n <div class=\"progress-bar progress-bar-status-resting progress-divider\" style=\"width: 30%;\">\n </div>\n <div class=\"progress-bar progress-bar-light progress-divider\" style=\"width: 70%;\">\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"StatsWidget-footer bg-lightest text-color-gray\">Last update 2 minutes ago</div>\n </div>\n</div>"
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
"label": "Props",
|
|
132
|
+
"language": "json",
|
|
133
|
+
"code": null,
|
|
134
|
+
"props": [
|
|
135
|
+
{
|
|
136
|
+
"heading": "StatsWidgets, StatsWidget, StatsWidgetSpacer and StatsWidgetNumber",
|
|
137
|
+
"rows": [
|
|
138
|
+
{
|
|
139
|
+
"name": "className",
|
|
140
|
+
"type": "String",
|
|
141
|
+
"default": "",
|
|
142
|
+
"description": "Addional class names to be added to the element."
|
|
143
|
+
}
|
|
144
|
+
]
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
"heading": "StatsWidget",
|
|
148
|
+
"rows": [
|
|
149
|
+
{
|
|
150
|
+
"name": "hasFilter",
|
|
151
|
+
"type": "Boolean",
|
|
152
|
+
"default": "false",
|
|
153
|
+
"description": "Defines whether a filter is active for this stats widget."
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
"name": "onFilterReset",
|
|
157
|
+
"type": "Function",
|
|
158
|
+
"default": "",
|
|
159
|
+
"description": "Callback to reset the filter."
|
|
160
|
+
}
|
|
161
|
+
]
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
"heading": "StatsWidgetBody",
|
|
165
|
+
"rows": [
|
|
166
|
+
{
|
|
167
|
+
"name": "fullWidth",
|
|
168
|
+
"type": "Boolean",
|
|
169
|
+
"default": "",
|
|
170
|
+
"description": "Whether to use flex space-between for StatsWidgetNumbers."
|
|
171
|
+
}
|
|
172
|
+
]
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
"heading": "StatsWidgetNumber",
|
|
176
|
+
"rows": [
|
|
177
|
+
{
|
|
178
|
+
"name": "value",
|
|
179
|
+
"type": "String / Number / Node",
|
|
180
|
+
"default": "",
|
|
181
|
+
"description": "The value to be shown."
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
"name": "total",
|
|
185
|
+
"type": "String / Number / Node",
|
|
186
|
+
"default": "",
|
|
187
|
+
"description": "The total value to be shown i.e. in combination with an active filter."
|
|
188
|
+
},
|
|
189
|
+
{
|
|
190
|
+
"name": "label",
|
|
191
|
+
"type": "String / Node",
|
|
192
|
+
"default": "",
|
|
193
|
+
"description": "The label shown below the number."
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
"name": "clickable",
|
|
197
|
+
"type": "Boolean",
|
|
198
|
+
"default": "false",
|
|
199
|
+
"description": "Defines whether or not the number is clickable i.e. in combination with a filter."
|
|
200
|
+
},
|
|
201
|
+
{
|
|
202
|
+
"name": "onClick",
|
|
203
|
+
"type": "Function",
|
|
204
|
+
"default": "",
|
|
205
|
+
"description": "Callback for when the user clicks the number widget."
|
|
206
|
+
}
|
|
207
|
+
]
|
|
208
|
+
}
|
|
209
|
+
]
|
|
210
|
+
}
|
|
211
|
+
]
|
|
212
|
+
},
|
|
213
|
+
{
|
|
214
|
+
"caption": "Example 3",
|
|
215
|
+
"rendered_html": "<div class=\"playground-content bg-white padding-20 padding-bottom-25\" style=\"width: 100%;\"><div class=\"StatsWidget-wrapper\"><div class=\"StatsWidget\"><div class=\"StatsWidget-header\">Notifications</div><div class=\"StatsWidget-body\"><div class=\"StatsWidgetNumber cursor-pointer text-color-danger\"><div class=\"StatsWidgetNumber-counter\"><div class=\"StatsWidgetNumber-value\">45</div></div><div class=\"StatsWidgetNumber-label\">Exceptions</div></div><div class=\"StatsWidget-body-column-spacer\"></div><div class=\"StatsWidgetNumber cursor-pointer text-color-warning\"><div class=\"StatsWidgetNumber-counter\"><div class=\"StatsWidgetNumber-value\">144</div></div><div class=\"StatsWidgetNumber-label\">Warnings</div></div></div></div></div></div>",
|
|
216
|
+
"tabs": [
|
|
217
|
+
{
|
|
218
|
+
"label": "React",
|
|
219
|
+
"language": "tsx",
|
|
220
|
+
"code": "import { useState } from 'react';\n\nimport StatsWidgets from '@rio-cloud/rio-uikit/StatsWidgets';\nimport StatsWidget from '@rio-cloud/rio-uikit/StatsWidget';\nimport StatsWidgetNumber from '@rio-cloud/rio-uikit/StatsWidgetNumber';\nimport StatsWidgetSpacer from '@rio-cloud/rio-uikit/StatsWidgetSpacer';\n\ntype Stat = {\n value: number;\n total?: number;\n};\n\ntype Stats = {\n exceptions: Stat;\n warnings: Stat;\n};\n\nconst defaultStats: Stats = {\n exceptions: { value: 45 },\n warnings: { value: 144 },\n};\n\nconst mockFilteredStats: Stats = {\n exceptions: { value: 17, total: 45 },\n warnings: { value: 22, total: 144 },\n};\n\nexport default () => {\n const [hasFilter, setHasFilter] = useState(false);\n\n const handleToggleFilter = () => setHasFilter(!hasFilter);\n const handleResetFilters = () => setHasFilter(false);\n\n const stats = hasFilter ? mockFilteredStats : defaultStats;\n\n return (\n <StatsWidgets>\n <StatsWidget hasFilter={hasFilter} onFilterReset={handleResetFilters}>\n <StatsWidget.Header>Notifications</StatsWidget.Header>\n <StatsWidget.Body>\n <StatsWidgetNumber\n className='text-color-danger'\n value={stats.exceptions.value}\n total={stats.exceptions.total}\n label='Exceptions'\n onClick={handleToggleFilter}\n clickable\n />\n <StatsWidgetSpacer />\n <StatsWidgetNumber\n className='text-color-warning'\n value={stats.warnings.value}\n total={stats.warnings.total}\n label='Warnings'\n onClick={handleToggleFilter}\n clickable\n />\n </StatsWidget.Body>\n </StatsWidget>\n </StatsWidgets>\n );\n};"
|
|
221
|
+
},
|
|
222
|
+
{
|
|
223
|
+
"label": "HTML",
|
|
224
|
+
"language": "html",
|
|
225
|
+
"code": "<div class=\"StatsWidget-wrapper\">\n <div class=\"StatsWidget\">\n <div class=\"StatsWidget-header\">Notifications</div>\n <div class=\"StatsWidget-body\">\n <div class=\"StatsWidgetNumber cursor-pointer text-color-danger\">\n <div class=\"StatsWidgetNumber-counter\">\n <div class=\"StatsWidgetNumber-value\">45</div>\n </div>\n <div class=\"StatsWidgetNumber-label\">Exceptions</div>\n </div>\n <div class=\"StatsWidget-body-column-spacer\">\n </div>\n <div class=\"StatsWidgetNumber cursor-pointer text-color-warning\">\n <div class=\"StatsWidgetNumber-counter\">\n <div class=\"StatsWidgetNumber-value\">144</div>\n </div>\n <div class=\"StatsWidgetNumber-label\">Warnings</div>\n </div>\n </div>\n </div>\n</div>"
|
|
226
|
+
},
|
|
227
|
+
{
|
|
228
|
+
"label": "Props",
|
|
229
|
+
"language": "json",
|
|
230
|
+
"code": null,
|
|
231
|
+
"props": [
|
|
232
|
+
{
|
|
233
|
+
"heading": "StatsWidgets, StatsWidget, StatsWidgetSpacer and StatsWidgetNumber",
|
|
234
|
+
"rows": [
|
|
235
|
+
{
|
|
236
|
+
"name": "className",
|
|
237
|
+
"type": "String",
|
|
238
|
+
"default": "",
|
|
239
|
+
"description": "Addional class names to be added to the element."
|
|
240
|
+
}
|
|
241
|
+
]
|
|
242
|
+
},
|
|
243
|
+
{
|
|
244
|
+
"heading": "StatsWidget",
|
|
245
|
+
"rows": [
|
|
246
|
+
{
|
|
247
|
+
"name": "hasFilter",
|
|
248
|
+
"type": "Boolean",
|
|
249
|
+
"default": "false",
|
|
250
|
+
"description": "Defines whether a filter is active for this stats widget."
|
|
251
|
+
},
|
|
252
|
+
{
|
|
253
|
+
"name": "onFilterReset",
|
|
254
|
+
"type": "Function",
|
|
255
|
+
"default": "",
|
|
256
|
+
"description": "Callback to reset the filter."
|
|
257
|
+
}
|
|
258
|
+
]
|
|
259
|
+
},
|
|
260
|
+
{
|
|
261
|
+
"heading": "StatsWidgetBody",
|
|
262
|
+
"rows": [
|
|
263
|
+
{
|
|
264
|
+
"name": "fullWidth",
|
|
265
|
+
"type": "Boolean",
|
|
266
|
+
"default": "",
|
|
267
|
+
"description": "Whether to use flex space-between for StatsWidgetNumbers."
|
|
268
|
+
}
|
|
269
|
+
]
|
|
270
|
+
},
|
|
271
|
+
{
|
|
272
|
+
"heading": "StatsWidgetNumber",
|
|
273
|
+
"rows": [
|
|
274
|
+
{
|
|
275
|
+
"name": "value",
|
|
276
|
+
"type": "String / Number / Node",
|
|
277
|
+
"default": "",
|
|
278
|
+
"description": "The value to be shown."
|
|
279
|
+
},
|
|
280
|
+
{
|
|
281
|
+
"name": "total",
|
|
282
|
+
"type": "String / Number / Node",
|
|
283
|
+
"default": "",
|
|
284
|
+
"description": "The total value to be shown i.e. in combination with an active filter."
|
|
285
|
+
},
|
|
286
|
+
{
|
|
287
|
+
"name": "label",
|
|
288
|
+
"type": "String / Node",
|
|
289
|
+
"default": "",
|
|
290
|
+
"description": "The label shown below the number."
|
|
291
|
+
},
|
|
292
|
+
{
|
|
293
|
+
"name": "clickable",
|
|
294
|
+
"type": "Boolean",
|
|
295
|
+
"default": "false",
|
|
296
|
+
"description": "Defines whether or not the number is clickable i.e. in combination with a filter."
|
|
297
|
+
},
|
|
298
|
+
{
|
|
299
|
+
"name": "onClick",
|
|
300
|
+
"type": "Function",
|
|
301
|
+
"default": "",
|
|
302
|
+
"description": "Callback for when the user clicks the number widget."
|
|
303
|
+
}
|
|
304
|
+
]
|
|
305
|
+
}
|
|
306
|
+
]
|
|
307
|
+
}
|
|
308
|
+
]
|
|
309
|
+
}
|
|
310
|
+
]
|
|
311
|
+
}
|
|
312
|
+
],
|
|
313
|
+
"see_also": []
|
|
314
|
+
}
|