@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,1198 @@
|
|
|
1
|
+
{
|
|
2
|
+
"metadata": {
|
|
3
|
+
"captured_at": "2025-11-21T12:08:09.122Z",
|
|
4
|
+
"source": "https://uikit.developers.rio.cloud/#components/mapGroup",
|
|
5
|
+
"category": "Components",
|
|
6
|
+
"section": "Map",
|
|
7
|
+
"slug": "components/mapgroup",
|
|
8
|
+
"version": "v1.13.2",
|
|
9
|
+
"hash_algorithm": "sha256",
|
|
10
|
+
"hash": "7f6c2e927168ad24f7ba6d03aadaea80b8963a2d14e8863643eab2efa339b151"
|
|
11
|
+
},
|
|
12
|
+
"title": "ApplicationLayout",
|
|
13
|
+
"lead": "The ApplicationLayout components consists of three sub-components: ApplicationHeader, ApplicationBody, ApplicationSidebar",
|
|
14
|
+
"content": [
|
|
15
|
+
{
|
|
16
|
+
"heading": "ApplicationLayout",
|
|
17
|
+
"body": "The ApplicationHeader and ApplicationSidebar components are optional. The Body component is dedicated to the actual service content.\n\n> Note: Do not wrap direct children of ApplicationLayout, due to css height calculations. If you really need to wrap your children, use<React.Fragment> instead\n\n> Note: If you remove the ApplicationHeader from you SPA, other elements, for example the ApplicationBody, will resize the height to fill the <body> node.",
|
|
18
|
+
"examples": []
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"heading": "Default example",
|
|
22
|
+
"body": "",
|
|
23
|
+
"examples": [
|
|
24
|
+
{
|
|
25
|
+
"caption": "Example 1",
|
|
26
|
+
"rendered_html": "<div class=\"playground-content bg-white padding-20 padding-bottom-25\" style=\"width: 100%;\"><div class=\"ApplicationLayout bg-lighter\" style=\"--ApplicationLayoutBodyBottomBarHeight: 54px;\"><div class=\"ApplicationLayoutHeader\" id=\"ApplicationLayoutHeader\"><nav class=\"ApplicationHeader user-select-none\"><div class=\"navbar-header\"><span class=\"navbar-brand home-icon\"></span></div><ul class=\"ModuleNavigation AppMenu user-select-none pointer-events-none\"><li class=\"dropdown\"><a class=\"ModuleNavigation-dropdown dropdown-toggle justify-content-between inactive\" role=\"button\" id=\"basic-nav-dropdown\"><span>RIO Service</span></a></li></ul><ul class=\"SubmoduleNavigation nav\"><li class=\"submodule \" data-nav-item-key=\"1\"><a aria-current=\"page\" class=\"active\" href=\"#components/appLayout\">Navigation 1</a></li><li class=\"submodule \" data-nav-item-key=\"2\"><a href=\"#2\">Navigation 2</a></li><li class=\"submodule \" data-nav-item-key=\"3\"><a href=\"#3\">Navigation 3</a></li></ul><ul class=\"ApplicationActionBar nav navbar-nav navbar-right \"></ul></nav></div><div class=\"ApplicationLayoutBody uikitDemo\"><div class=\"module-content-wrapper\"><div class=\"module-content smooth-scrollbar-wrapper\" style=\"position: relative; overflow: hidden; width: 100%; height: 100%;\"><div class=\"scrollbar-view\" style=\"position: absolute; inset: 0px; overflow: scroll; margin-right: 0px; margin-bottom: 0px;\"><div class=\"scrollbar-content-wrapper\"><div class=\"scrollbar-content\"><div class=\"dummy-class\"></div></div></div></div><div class=\"scrollbar-track-horizontal scrollbar-track-size-large scrollbar-track-offset\" style=\"position: absolute; height: 6px; display: none;\"><div class=\"scrollbar-thumb-horizontal scrollbar-thumb-size-large\" style=\"position: relative; display: block; height: 100%;\"></div></div><div class=\"scrollbar-track-vertical scrollbar-track-size-large scrollbar-track-offset\" style=\"position: absolute; width: 6px; display: none;\"><div class=\"scrollbar-thumb-vertical scrollbar-thumb-size-large\" style=\"position: relative; display: block; width: 100%;\"></div></div></div></div><span class=\"scroll-to-top\"><button type=\"button\" class=\"btn btn-primary btn-icon-only\"><span class=\"rioglyph rioglyph-arrow-up\"></span></button></span></div></div></div>",
|
|
27
|
+
"tabs": [
|
|
28
|
+
{
|
|
29
|
+
"label": "React",
|
|
30
|
+
"language": "tsx",
|
|
31
|
+
"code": "import { NavLink } from 'react-router-dom';\n\nimport ApplicationLayout from '@rio-cloud/rio-uikit/ApplicationLayout';\nimport ApplicationHeader from '@rio-cloud/rio-uikit/ApplicationHeader';\n\nconst navItems = [\n { key: '1', route: <NavLink to='/components/appLayout'>Navigation 1</NavLink> },\n {\n key: '2',\n route: (\n <NavLink to='/2' onClick={event => event.preventDefault()}>\n Navigation 2\n </NavLink>\n ),\n },\n {\n key: '3',\n route: (\n <NavLink to='/3' onClick={event => event.preventDefault()}>\n Navigation 3\n </NavLink>\n ),\n },\n];\n\nexport default () => (\n <ApplicationLayout className='bg-lighter'>\n <ApplicationLayout.Header>\n <ApplicationHeader label='RIO Service' navItems={navItems} />\n </ApplicationLayout.Header>\n <ApplicationLayout.Body className='uikitDemo'>\n <div className='dummy-class' />\n </ApplicationLayout.Body>\n </ApplicationLayout>\n);"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"label": "HTML",
|
|
35
|
+
"language": "html",
|
|
36
|
+
"code": "<div class=\"ApplicationLayout bg-lighter\" style=\"--ApplicationLayoutBodyBottomBarHeight: 54px;\">\n <div class=\"ApplicationLayoutHeader\" id=\"ApplicationLayoutHeader\">\n <nav class=\"ApplicationHeader user-select-none\">\n <div class=\"navbar-header\">\n <span class=\"navbar-brand home-icon\">\n </span>\n </div>\n <ul class=\"ModuleNavigation AppMenu user-select-none pointer-events-none\">\n <li class=\"dropdown\">\n <a class=\"ModuleNavigation-dropdown dropdown-toggle justify-content-between inactive\" role=\"button\" id=\"basic-nav-dropdown\">\n <span>RIO Service</span>\n </a>\n </li>\n </ul>\n <ul class=\"SubmoduleNavigation nav\">\n <li class=\"submodule \" data-nav-item-key=\"1\">\n <a aria-current=\"page\" class=\"active\" href=\"#components/appLayout\">Navigation 1</a>\n </li>\n <li class=\"submodule \" data-nav-item-key=\"2\">\n <a href=\"#2\">Navigation 2</a>\n </li>\n <li class=\"submodule \" data-nav-item-key=\"3\">\n <a href=\"#3\">Navigation 3</a>\n </li>\n </ul>\n <ul class=\"ApplicationActionBar nav navbar-nav navbar-right \">\n </ul>\n </nav>\n </div>\n <div class=\"ApplicationLayoutBody uikitDemo\">\n <div class=\"module-content-wrapper\">\n <div class=\"module-content smooth-scrollbar-wrapper\" style=\"position: relative; overflow: hidden; width: 100%; height: 100%;\">\n <div class=\"scrollbar-view\" style=\"position: absolute; inset: 0px; overflow: scroll; margin-right: 0px; margin-bottom: 0px;\">\n <div class=\"scrollbar-content-wrapper\">\n <div class=\"scrollbar-content\">\n <div class=\"dummy-class\">\n </div>\n </div>\n </div>\n </div>\n <div class=\"scrollbar-track-horizontal scrollbar-track-size-large scrollbar-track-offset\" style=\"position: absolute; height: 6px; display: none;\">\n <div class=\"scrollbar-thumb-horizontal scrollbar-thumb-size-large\" style=\"position: relative; display: block; height: 100%;\">\n </div>\n </div>\n <div class=\"scrollbar-track-vertical scrollbar-track-size-large scrollbar-track-offset\" style=\"position: absolute; width: 6px; display: none;\">\n <div class=\"scrollbar-thumb-vertical scrollbar-thumb-size-large\" style=\"position: relative; display: block; width: 100%;\">\n </div>\n </div>\n </div>\n </div>\n <span class=\"scroll-to-top\">\n <button type=\"button\" class=\"btn btn-primary btn-icon-only\">\n <span class=\"rioglyph rioglyph-arrow-up\">\n </span>\n </button>\n </span>\n </div>\n</div>"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"label": "Props",
|
|
40
|
+
"language": "json",
|
|
41
|
+
"code": null,
|
|
42
|
+
"props": [
|
|
43
|
+
{
|
|
44
|
+
"heading": "ApplicationLayout",
|
|
45
|
+
"rows": [
|
|
46
|
+
{
|
|
47
|
+
"name": "layoutRef",
|
|
48
|
+
"type": "React.ref",
|
|
49
|
+
"default": "",
|
|
50
|
+
"description": "A React ref function assigned to the wrapper element."
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"name": "className",
|
|
54
|
+
"type": "String",
|
|
55
|
+
"default": "",
|
|
56
|
+
"description": "Additional class names that are added to the respective component."
|
|
57
|
+
}
|
|
58
|
+
]
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"heading": "ApplicationLayoutHeader",
|
|
62
|
+
"rows": [
|
|
63
|
+
{
|
|
64
|
+
"name": "className",
|
|
65
|
+
"type": "String",
|
|
66
|
+
"default": "",
|
|
67
|
+
"description": "Additional class names that are added to the respective component."
|
|
68
|
+
}
|
|
69
|
+
]
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"heading": "ApplicationLayoutSidebar",
|
|
73
|
+
"rows": [
|
|
74
|
+
{
|
|
75
|
+
"name": "ref",
|
|
76
|
+
"type": "React.ref",
|
|
77
|
+
"default": "",
|
|
78
|
+
"description": "A React ref function assigned to the wrapper element."
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"name": "className",
|
|
82
|
+
"type": "String",
|
|
83
|
+
"default": "",
|
|
84
|
+
"description": "Additional class names that are added to the respective component."
|
|
85
|
+
}
|
|
86
|
+
]
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"heading": "ApplicationLayoutBody",
|
|
90
|
+
"rows": [
|
|
91
|
+
{
|
|
92
|
+
"name": "className",
|
|
93
|
+
"type": "String",
|
|
94
|
+
"default": "",
|
|
95
|
+
"description": "Additional class names that are added to the respective component."
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
"name": "innerClassName",
|
|
99
|
+
"type": "String",
|
|
100
|
+
"default": "",
|
|
101
|
+
"description": "Additional class names that are added to the inner module-content component."
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
"name": "children",
|
|
105
|
+
"type": "any",
|
|
106
|
+
"default": "",
|
|
107
|
+
"description": "Any component given to the layout components will be rendered"
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
"name": "navigation",
|
|
111
|
+
"type": "any",
|
|
112
|
+
"default": "",
|
|
113
|
+
"description": "The ApplicationLayoutBodyNavigation component."
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
"name": "enableScrollToTop",
|
|
117
|
+
"type": "Boolean",
|
|
118
|
+
"default": "true",
|
|
119
|
+
"description": "Show scroll to top button after scrolling the content."
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
"name": "forceScrollbar",
|
|
123
|
+
"type": "Boolean",
|
|
124
|
+
"default": "false",
|
|
125
|
+
"description": "Always show vertical scrollbar to prevent the content from jumping."
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
"name": "bottomBar",
|
|
129
|
+
"type": "Node | String",
|
|
130
|
+
"default": "",
|
|
131
|
+
"description": "Optional bottom bar component or a simple string."
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
"name": "bottomBarHeight",
|
|
135
|
+
"type": "Number",
|
|
136
|
+
"default": "54",
|
|
137
|
+
"description": "Height of the bottomBar in pixel."
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
"name": "banner",
|
|
141
|
+
"type": "any",
|
|
142
|
+
"default": "",
|
|
143
|
+
"description": "The ApplicationLayoutBodyBanner component."
|
|
144
|
+
}
|
|
145
|
+
]
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
"heading": "ApplicationLayoutBodyNavigation",
|
|
149
|
+
"rows": [
|
|
150
|
+
{
|
|
151
|
+
"name": "className",
|
|
152
|
+
"type": "String",
|
|
153
|
+
"default": "",
|
|
154
|
+
"description": "Additional class names that are added to the respective component. Example: \"has-offset\""
|
|
155
|
+
}
|
|
156
|
+
]
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
"heading": "ApplicationLayoutBodyBottomBar",
|
|
160
|
+
"rows": [
|
|
161
|
+
{
|
|
162
|
+
"name": "className",
|
|
163
|
+
"type": "String",
|
|
164
|
+
"default": "",
|
|
165
|
+
"description": "Additional class names that are added to the respective component."
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
"name": "buttonAlignment",
|
|
169
|
+
"type": "String",
|
|
170
|
+
"default": "",
|
|
171
|
+
"description": "Tells the buttons if they are left or right aligned. Default behavior is: 1st button left and 2nd button right. ApplicationLayoutBodyBottomBar.LEFT, ApplicationLayoutBodyBottomBar.RIGHT or 'left''right'"
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
"name": "useBodyPaddings",
|
|
175
|
+
"type": "Boolean",
|
|
176
|
+
"default": "false",
|
|
177
|
+
"description": "Use same paddings (left and right) as the ApplicationLayoutBody."
|
|
178
|
+
}
|
|
179
|
+
]
|
|
180
|
+
},
|
|
181
|
+
{
|
|
182
|
+
"heading": "ApplicationLayoutBodyBanner",
|
|
183
|
+
"rows": [
|
|
184
|
+
{
|
|
185
|
+
"name": "className",
|
|
186
|
+
"type": "String",
|
|
187
|
+
"default": "",
|
|
188
|
+
"description": "Additional class names that are added to the respective component."
|
|
189
|
+
},
|
|
190
|
+
{
|
|
191
|
+
"name": "backgroundColor",
|
|
192
|
+
"type": "String",
|
|
193
|
+
"default": "bg-primary",
|
|
194
|
+
"description": "One of our bg-color utility classes."
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
"name": "textColor",
|
|
198
|
+
"type": "string",
|
|
199
|
+
"default": "text-color-white",
|
|
200
|
+
"description": "One of our text-color utility classes."
|
|
201
|
+
},
|
|
202
|
+
{
|
|
203
|
+
"name": "isSticky",
|
|
204
|
+
"type": "Boolean",
|
|
205
|
+
"default": "false",
|
|
206
|
+
"description": "Sticky while scrolling."
|
|
207
|
+
}
|
|
208
|
+
]
|
|
209
|
+
}
|
|
210
|
+
]
|
|
211
|
+
}
|
|
212
|
+
]
|
|
213
|
+
}
|
|
214
|
+
]
|
|
215
|
+
},
|
|
216
|
+
{
|
|
217
|
+
"heading": "SubNavigation example",
|
|
218
|
+
"body": "",
|
|
219
|
+
"examples": [
|
|
220
|
+
{
|
|
221
|
+
"caption": "Example 2",
|
|
222
|
+
"rendered_html": "<div class=\"playground-content bg-white padding-20 padding-bottom-25\" style=\"width: 100%;\"><div class=\"ApplicationLayout bg-lighter\" style=\"--ApplicationLayoutBodyBottomBarHeight: 54px;\"><div class=\"ApplicationLayoutHeader\" id=\"ApplicationLayoutHeader\"><nav class=\"ApplicationHeader user-select-none\"><div class=\"navbar-header\"><span class=\"navbar-brand home-icon\"></span></div><ul class=\"ModuleNavigation AppMenu user-select-none pointer-events-none\"><li class=\"dropdown\"><a class=\"ModuleNavigation-dropdown dropdown-toggle justify-content-between inactive\" role=\"button\" id=\"basic-nav-dropdown\"><span>RIO Service</span></a></li></ul><ul class=\"SubmoduleNavigation nav\"><li class=\"submodule \" data-nav-item-key=\"1\"><a aria-current=\"page\" class=\"active\" href=\"#components/appLayout\">Navigation 1</a></li><li class=\"submodule \" data-nav-item-key=\"2\"><a href=\"#2\">Navigation 2</a></li><li class=\"submodule \" data-nav-item-key=\"3\"><a href=\"#3\">Navigation 3</a></li></ul><ul class=\"ApplicationActionBar nav navbar-nav navbar-right \"></ul></nav></div><div class=\"ApplicationLayoutBody uikitDemo\"><div class=\"module-content-wrapper\"><div class=\"ApplicationLayoutBodyNavigation\"><div class=\"SubNavigation width-100pct overflow-auto\"><ul class=\"SubmoduleNavigation nav\"><li class=\"submodule\" data-nav-item-key=\"1\"><a aria-current=\"page\" class=\"active\" href=\"#components/appLayout\">Subnavigation 1</a></li><li class=\"submodule\" data-nav-item-key=\"2\"><a href=\"#2\">Subnavigation 2</a></li><li class=\"submodule\" data-nav-item-key=\"3\"><a href=\"#3\">Subnavigation 3</a></li></ul></div></div><div class=\"module-content smooth-scrollbar-wrapper\" style=\"position: relative; overflow: hidden; width: 100%; height: 100%;\"><div class=\"scrollbar-view\" style=\"position: absolute; inset: 0px; overflow: scroll; margin-right: 0px; margin-bottom: 0px;\"><div class=\"scrollbar-content-wrapper\"><div class=\"scrollbar-content\"><div class=\"dummy-class\"></div></div></div></div><div class=\"scrollbar-track-horizontal scrollbar-track-size-large scrollbar-track-offset\" style=\"position: absolute; height: 6px; display: none;\"><div class=\"scrollbar-thumb-horizontal scrollbar-thumb-size-large\" style=\"position: relative; display: block; height: 100%;\"></div></div><div class=\"scrollbar-track-vertical scrollbar-track-size-large scrollbar-track-offset\" style=\"position: absolute; width: 6px; display: none;\"><div class=\"scrollbar-thumb-vertical scrollbar-thumb-size-large\" style=\"position: relative; display: block; width: 100%;\"></div></div></div></div><span class=\"scroll-to-top\"><button type=\"button\" class=\"btn btn-primary btn-icon-only\"><span class=\"rioglyph rioglyph-arrow-up\"></span></button></span></div></div></div>",
|
|
223
|
+
"tabs": [
|
|
224
|
+
{
|
|
225
|
+
"label": "React",
|
|
226
|
+
"language": "tsx",
|
|
227
|
+
"code": "import React, { useState, useEffect } from 'react';\nimport { NavLink } from 'react-router-dom';\n\nimport ApplicationLayout from '@rio-cloud/rio-uikit/ApplicationLayout';\nimport ApplicationHeader from '@rio-cloud/rio-uikit/ApplicationHeader';\nimport ApplicationLayoutBodyNavigation from '@rio-cloud/rio-uikit/ApplicationLayoutBodyNavigation';\nimport SubNavigation from '@rio-cloud/rio-uikit/SubNavigation';\nimport useResizeObserver from '@rio-cloud/rio-uikit/useResizeObserver';\nimport { SCREEN_MD } from '@rio-cloud/rio-uikit/DeviceUtils';\n\nexport default () => {\n const currentLocation = window.location.hash.replace('#', '/');\n const navItems = [\n { key: '1', route: <NavLink to={currentLocation}>Navigation 1</NavLink> },\n {\n key: '2',\n route: (\n <NavLink to='/2' onClick={event => event.preventDefault()}>\n Navigation 2\n </NavLink>\n ),\n },\n {\n key: '3',\n route: (\n <NavLink to='/3' onClick={event => event.preventDefault()}>\n Navigation 3\n </NavLink>\n ),\n },\n ];\n\n // Listen for resize changes of the target element defined by the ref\n // Note: this is for demo purpose only when resizing the demo playground.\n // The SubNavigation component handles this case internally\n const { ref, isMobile } = useResizer();\n const bodyNavigationClasses = isMobile ? '' : 'has-offset';\n\n return (\n <ApplicationLayout className='bg-lighter' layoutRef={ref}>\n <ApplicationLayout.Header>\n <ApplicationHeader label='RIO Service' navItems={navItems} />\n </ApplicationLayout.Header>\n <ApplicationLayout.Body\n className='uikitDemo'\n navigation={\n <ApplicationLayoutBodyNavigation className={bodyNavigationClasses}>\n <SubNavigation\n navItems={[\n {\n key: '1',\n route: <NavLink to={currentLocation}>Subnavigation 1</NavLink>,\n },\n {\n key: '2',\n route: (\n <NavLink to='/2' onClick={event => event.preventDefault()}>\n Subnavigation 2\n </NavLink>\n ),\n },\n {\n key: '3',\n route: (\n <NavLink to='/3' onClick={event => event.preventDefault()}>\n Subnavigation 3\n </NavLink>\n ),\n },\n ]}\n />\n </ApplicationLayoutBodyNavigation>\n }\n >\n <div className='dummy-class' />\n </ApplicationLayout.Body>\n </ApplicationLayout>\n );\n};\n\nconst useResizer = () => {\n const [isMobile, setIsMobile] = useState(false);\n const [ref, observerEntry] = useResizeObserver();\n const contentRect = observerEntry?.contentRect;\n useEffect(() => {\n if (!contentRect) {\n return;\n }\n const width = Math.round(contentRect.width);\n if (width <= SCREEN_MD) {\n setIsMobile(true);\n } else {\n setIsMobile(false);\n }\n }, [contentRect]);\n\n return { ref, isMobile };\n};"
|
|
228
|
+
},
|
|
229
|
+
{
|
|
230
|
+
"label": "HTML",
|
|
231
|
+
"language": "html",
|
|
232
|
+
"code": "<div class=\"ApplicationLayout bg-lighter\" style=\"--ApplicationLayoutBodyBottomBarHeight: 54px;\">\n <div class=\"ApplicationLayoutHeader\" id=\"ApplicationLayoutHeader\">\n <nav class=\"ApplicationHeader user-select-none\">\n <div class=\"navbar-header\">\n <span class=\"navbar-brand home-icon\">\n </span>\n </div>\n <ul class=\"ModuleNavigation AppMenu user-select-none pointer-events-none\">\n <li class=\"dropdown\">\n <a class=\"ModuleNavigation-dropdown dropdown-toggle justify-content-between inactive\" role=\"button\" id=\"basic-nav-dropdown\">\n <span>RIO Service</span>\n </a>\n </li>\n </ul>\n <ul class=\"SubmoduleNavigation nav\">\n <li class=\"submodule \" data-nav-item-key=\"1\">\n <a aria-current=\"page\" class=\"active\" href=\"#components/appLayout\">Navigation 1</a>\n </li>\n <li class=\"submodule \" data-nav-item-key=\"2\">\n <a href=\"#2\">Navigation 2</a>\n </li>\n <li class=\"submodule \" data-nav-item-key=\"3\">\n <a href=\"#3\">Navigation 3</a>\n </li>\n </ul>\n <ul class=\"ApplicationActionBar nav navbar-nav navbar-right \">\n </ul>\n </nav>\n </div>\n <div class=\"ApplicationLayoutBody uikitDemo\">\n <div class=\"module-content-wrapper\">\n <div class=\"ApplicationLayoutBodyNavigation\">\n <div class=\"SubNavigation width-100pct overflow-auto\">\n <ul class=\"SubmoduleNavigation nav\">\n <li class=\"submodule\" data-nav-item-key=\"1\">\n <a aria-current=\"page\" class=\"active\" href=\"#components/appLayout\">Subnavigation 1</a>\n </li>\n <li class=\"submodule\" data-nav-item-key=\"2\">\n <a href=\"#2\">Subnavigation 2</a>\n </li>\n <li class=\"submodule\" data-nav-item-key=\"3\">\n <a href=\"#3\">Subnavigation 3</a>\n </li>\n </ul>\n </div>\n </div>\n <div class=\"module-content smooth-scrollbar-wrapper\" style=\"position: relative; overflow: hidden; width: 100%; height: 100%;\">\n <div class=\"scrollbar-view\" style=\"position: absolute; inset: 0px; overflow: scroll; margin-right: 0px; margin-bottom: 0px;\">\n <div class=\"scrollbar-content-wrapper\">\n <div class=\"scrollbar-content\">\n <div class=\"dummy-class\">\n </div>\n </div>\n </div>\n </div>\n <div class=\"scrollbar-track-horizontal scrollbar-track-size-large scrollbar-track-offset\" style=\"position: absolute; height: 6px; display: none;\">\n <div class=\"scrollbar-thumb-horizontal scrollbar-thumb-size-large\" style=\"position: relative; display: block; height: 100%;\">\n </div>\n </div>\n <div class=\"scrollbar-track-vertical scrollbar-track-size-large scrollbar-track-offset\" style=\"position: absolute; width: 6px; display: none;\">\n <div class=\"scrollbar-thumb-vertical scrollbar-thumb-size-large\" style=\"position: relative; display: block; width: 100%;\">\n </div>\n </div>\n </div>\n </div>\n <span class=\"scroll-to-top\">\n <button type=\"button\" class=\"btn btn-primary btn-icon-only\">\n <span class=\"rioglyph rioglyph-arrow-up\">\n </span>\n </button>\n </span>\n </div>\n</div>"
|
|
233
|
+
},
|
|
234
|
+
{
|
|
235
|
+
"label": "Props",
|
|
236
|
+
"language": "json",
|
|
237
|
+
"code": null,
|
|
238
|
+
"props": [
|
|
239
|
+
{
|
|
240
|
+
"heading": "ApplicationLayout",
|
|
241
|
+
"rows": [
|
|
242
|
+
{
|
|
243
|
+
"name": "layoutRef",
|
|
244
|
+
"type": "React.ref",
|
|
245
|
+
"default": "",
|
|
246
|
+
"description": "A React ref function assigned to the wrapper element."
|
|
247
|
+
},
|
|
248
|
+
{
|
|
249
|
+
"name": "className",
|
|
250
|
+
"type": "String",
|
|
251
|
+
"default": "",
|
|
252
|
+
"description": "Additional class names that are added to the respective component."
|
|
253
|
+
}
|
|
254
|
+
]
|
|
255
|
+
},
|
|
256
|
+
{
|
|
257
|
+
"heading": "ApplicationLayoutHeader",
|
|
258
|
+
"rows": [
|
|
259
|
+
{
|
|
260
|
+
"name": "className",
|
|
261
|
+
"type": "String",
|
|
262
|
+
"default": "",
|
|
263
|
+
"description": "Additional class names that are added to the respective component."
|
|
264
|
+
}
|
|
265
|
+
]
|
|
266
|
+
},
|
|
267
|
+
{
|
|
268
|
+
"heading": "ApplicationLayoutSidebar",
|
|
269
|
+
"rows": [
|
|
270
|
+
{
|
|
271
|
+
"name": "ref",
|
|
272
|
+
"type": "React.ref",
|
|
273
|
+
"default": "",
|
|
274
|
+
"description": "A React ref function assigned to the wrapper element."
|
|
275
|
+
},
|
|
276
|
+
{
|
|
277
|
+
"name": "className",
|
|
278
|
+
"type": "String",
|
|
279
|
+
"default": "",
|
|
280
|
+
"description": "Additional class names that are added to the respective component."
|
|
281
|
+
}
|
|
282
|
+
]
|
|
283
|
+
},
|
|
284
|
+
{
|
|
285
|
+
"heading": "ApplicationLayoutBody",
|
|
286
|
+
"rows": [
|
|
287
|
+
{
|
|
288
|
+
"name": "className",
|
|
289
|
+
"type": "String",
|
|
290
|
+
"default": "",
|
|
291
|
+
"description": "Additional class names that are added to the respective component."
|
|
292
|
+
},
|
|
293
|
+
{
|
|
294
|
+
"name": "innerClassName",
|
|
295
|
+
"type": "String",
|
|
296
|
+
"default": "",
|
|
297
|
+
"description": "Additional class names that are added to the inner module-content component."
|
|
298
|
+
},
|
|
299
|
+
{
|
|
300
|
+
"name": "children",
|
|
301
|
+
"type": "any",
|
|
302
|
+
"default": "",
|
|
303
|
+
"description": "Any component given to the layout components will be rendered"
|
|
304
|
+
},
|
|
305
|
+
{
|
|
306
|
+
"name": "navigation",
|
|
307
|
+
"type": "any",
|
|
308
|
+
"default": "",
|
|
309
|
+
"description": "The ApplicationLayoutBodyNavigation component."
|
|
310
|
+
},
|
|
311
|
+
{
|
|
312
|
+
"name": "enableScrollToTop",
|
|
313
|
+
"type": "Boolean",
|
|
314
|
+
"default": "true",
|
|
315
|
+
"description": "Show scroll to top button after scrolling the content."
|
|
316
|
+
},
|
|
317
|
+
{
|
|
318
|
+
"name": "forceScrollbar",
|
|
319
|
+
"type": "Boolean",
|
|
320
|
+
"default": "false",
|
|
321
|
+
"description": "Always show vertical scrollbar to prevent the content from jumping."
|
|
322
|
+
},
|
|
323
|
+
{
|
|
324
|
+
"name": "bottomBar",
|
|
325
|
+
"type": "Node | String",
|
|
326
|
+
"default": "",
|
|
327
|
+
"description": "Optional bottom bar component or a simple string."
|
|
328
|
+
},
|
|
329
|
+
{
|
|
330
|
+
"name": "bottomBarHeight",
|
|
331
|
+
"type": "Number",
|
|
332
|
+
"default": "54",
|
|
333
|
+
"description": "Height of the bottomBar in pixel."
|
|
334
|
+
},
|
|
335
|
+
{
|
|
336
|
+
"name": "banner",
|
|
337
|
+
"type": "any",
|
|
338
|
+
"default": "",
|
|
339
|
+
"description": "The ApplicationLayoutBodyBanner component."
|
|
340
|
+
}
|
|
341
|
+
]
|
|
342
|
+
},
|
|
343
|
+
{
|
|
344
|
+
"heading": "ApplicationLayoutBodyNavigation",
|
|
345
|
+
"rows": [
|
|
346
|
+
{
|
|
347
|
+
"name": "className",
|
|
348
|
+
"type": "String",
|
|
349
|
+
"default": "",
|
|
350
|
+
"description": "Additional class names that are added to the respective component. Example: \"has-offset\""
|
|
351
|
+
}
|
|
352
|
+
]
|
|
353
|
+
},
|
|
354
|
+
{
|
|
355
|
+
"heading": "ApplicationLayoutBodyBottomBar",
|
|
356
|
+
"rows": [
|
|
357
|
+
{
|
|
358
|
+
"name": "className",
|
|
359
|
+
"type": "String",
|
|
360
|
+
"default": "",
|
|
361
|
+
"description": "Additional class names that are added to the respective component."
|
|
362
|
+
},
|
|
363
|
+
{
|
|
364
|
+
"name": "buttonAlignment",
|
|
365
|
+
"type": "String",
|
|
366
|
+
"default": "",
|
|
367
|
+
"description": "Tells the buttons if they are left or right aligned. Default behavior is: 1st button left and 2nd button right. ApplicationLayoutBodyBottomBar.LEFT, ApplicationLayoutBodyBottomBar.RIGHT or 'left''right'"
|
|
368
|
+
},
|
|
369
|
+
{
|
|
370
|
+
"name": "useBodyPaddings",
|
|
371
|
+
"type": "Boolean",
|
|
372
|
+
"default": "false",
|
|
373
|
+
"description": "Use same paddings (left and right) as the ApplicationLayoutBody."
|
|
374
|
+
}
|
|
375
|
+
]
|
|
376
|
+
},
|
|
377
|
+
{
|
|
378
|
+
"heading": "ApplicationLayoutBodyBanner",
|
|
379
|
+
"rows": [
|
|
380
|
+
{
|
|
381
|
+
"name": "className",
|
|
382
|
+
"type": "String",
|
|
383
|
+
"default": "",
|
|
384
|
+
"description": "Additional class names that are added to the respective component."
|
|
385
|
+
},
|
|
386
|
+
{
|
|
387
|
+
"name": "backgroundColor",
|
|
388
|
+
"type": "String",
|
|
389
|
+
"default": "bg-primary",
|
|
390
|
+
"description": "One of our bg-color utility classes."
|
|
391
|
+
},
|
|
392
|
+
{
|
|
393
|
+
"name": "textColor",
|
|
394
|
+
"type": "string",
|
|
395
|
+
"default": "text-color-white",
|
|
396
|
+
"description": "One of our text-color utility classes."
|
|
397
|
+
},
|
|
398
|
+
{
|
|
399
|
+
"name": "isSticky",
|
|
400
|
+
"type": "Boolean",
|
|
401
|
+
"default": "false",
|
|
402
|
+
"description": "Sticky while scrolling."
|
|
403
|
+
}
|
|
404
|
+
]
|
|
405
|
+
}
|
|
406
|
+
]
|
|
407
|
+
}
|
|
408
|
+
]
|
|
409
|
+
}
|
|
410
|
+
]
|
|
411
|
+
},
|
|
412
|
+
{
|
|
413
|
+
"heading": "Body banner example",
|
|
414
|
+
"body": "",
|
|
415
|
+
"examples": [
|
|
416
|
+
{
|
|
417
|
+
"caption": "Example 3",
|
|
418
|
+
"rendered_html": "<div class=\"playground-content bg-white padding-20 padding-bottom-25\" style=\"width: 100%;\"><div class=\"ApplicationLayout bg-lighter\" style=\"--ApplicationLayoutBodyBottomBarHeight: 54px;\"><div class=\"ApplicationLayoutHeader\" id=\"ApplicationLayoutHeader\"><nav class=\"ApplicationHeader user-select-none\"><div class=\"navbar-header\"><span class=\"navbar-brand home-icon\"></span></div><ul class=\"ModuleNavigation AppMenu user-select-none pointer-events-none\"><li class=\"dropdown\"><a class=\"ModuleNavigation-dropdown dropdown-toggle justify-content-between inactive\" role=\"button\" id=\"basic-nav-dropdown\"><span>RIO Service</span></a></li></ul><ul class=\"SubmoduleNavigation nav\"><li class=\"submodule \" data-nav-item-key=\"1\"><a aria-current=\"page\" class=\"active\" href=\"#components/appLayout\">Navigation 1</a></li><li class=\"submodule \" data-nav-item-key=\"2\"><a href=\"#2\">Navigation 2</a></li><li class=\"submodule \" data-nav-item-key=\"3\"><a href=\"#3\">Navigation 3</a></li></ul><ul class=\"ApplicationActionBar nav navbar-nav navbar-right \"></ul></nav></div><div class=\"ApplicationLayoutBody uikitDemo\"><div class=\"module-content-wrapper\"><div class=\"ApplicationLayoutBodyBanner text-color-white bg-primary position-sticky top-0 z-index-3\">Lorem ipsum dolor sit amet, consetetur sadipscing elitr, diam nonumy eirmod tempor invidunt.</div><div class=\"module-content smooth-scrollbar-wrapper\" style=\"position: relative; overflow: hidden; width: 100%; height: 100%;\"><div class=\"scrollbar-view\" style=\"position: absolute; inset: 0px; overflow: scroll; margin-right: 0px; margin-bottom: 0px;\"><div class=\"scrollbar-content-wrapper\"><div class=\"scrollbar-content\"><div class=\"dummy-class\"></div></div></div></div><div class=\"scrollbar-track-horizontal scrollbar-track-size-large scrollbar-track-offset\" style=\"position: absolute; height: 6px; display: none;\"><div class=\"scrollbar-thumb-horizontal scrollbar-thumb-size-large\" style=\"position: relative; display: block; height: 100%;\"></div></div><div class=\"scrollbar-track-vertical scrollbar-track-size-large scrollbar-track-offset\" style=\"position: absolute; width: 6px; display: none;\"><div class=\"scrollbar-thumb-vertical scrollbar-thumb-size-large\" style=\"position: relative; display: block; width: 100%;\"></div></div></div></div><span class=\"scroll-to-top\"><button type=\"button\" class=\"btn btn-primary btn-icon-only\"><span class=\"rioglyph rioglyph-arrow-up\"></span></button></span></div></div></div>",
|
|
419
|
+
"tabs": [
|
|
420
|
+
{
|
|
421
|
+
"label": "React",
|
|
422
|
+
"language": "tsx",
|
|
423
|
+
"code": "import { NavLink } from 'react-router-dom';\n\nimport ApplicationLayout from '@rio-cloud/rio-uikit/ApplicationLayout';\nimport ApplicationHeader from '@rio-cloud/rio-uikit/ApplicationHeader';\nimport ApplicationLayoutBodyBanner from '@rio-cloud/rio-uikit/ApplicationLayoutBodyBanner';\n\nconst navItems = [\n { key: '1', route: <NavLink to='/components/appLayout'>Navigation 1</NavLink> },\n {\n key: '2',\n route: (\n <NavLink to='/2' onClick={event => event.preventDefault()}>\n Navigation 2\n </NavLink>\n ),\n },\n {\n key: '3',\n route: (\n <NavLink to='/3' onClick={event => event.preventDefault()}>\n Navigation 3\n </NavLink>\n ),\n },\n];\n\nexport default () => (\n <ApplicationLayout className='bg-lighter'>\n <ApplicationLayout.Header>\n <ApplicationHeader label='RIO Service' navItems={navItems} />\n </ApplicationLayout.Header>\n <ApplicationLayout.Body\n className='uikitDemo'\n banner={\n <ApplicationLayoutBodyBanner>\n Lorem ipsum dolor sit amet, consetetur sadipscing elitr, diam nonumy eirmod tempor invidunt.\n </ApplicationLayoutBodyBanner>\n }\n >\n <div className='dummy-class' />\n </ApplicationLayout.Body>\n </ApplicationLayout>\n);"
|
|
424
|
+
},
|
|
425
|
+
{
|
|
426
|
+
"label": "HTML",
|
|
427
|
+
"language": "html",
|
|
428
|
+
"code": "<div class=\"ApplicationLayout bg-lighter\" style=\"--ApplicationLayoutBodyBottomBarHeight: 54px;\">\n <div class=\"ApplicationLayoutHeader\" id=\"ApplicationLayoutHeader\">\n <nav class=\"ApplicationHeader user-select-none\">\n <div class=\"navbar-header\">\n <span class=\"navbar-brand home-icon\">\n </span>\n </div>\n <ul class=\"ModuleNavigation AppMenu user-select-none pointer-events-none\">\n <li class=\"dropdown\">\n <a class=\"ModuleNavigation-dropdown dropdown-toggle justify-content-between inactive\" role=\"button\" id=\"basic-nav-dropdown\">\n <span>RIO Service</span>\n </a>\n </li>\n </ul>\n <ul class=\"SubmoduleNavigation nav\">\n <li class=\"submodule \" data-nav-item-key=\"1\">\n <a aria-current=\"page\" class=\"active\" href=\"#components/appLayout\">Navigation 1</a>\n </li>\n <li class=\"submodule \" data-nav-item-key=\"2\">\n <a href=\"#2\">Navigation 2</a>\n </li>\n <li class=\"submodule \" data-nav-item-key=\"3\">\n <a href=\"#3\">Navigation 3</a>\n </li>\n </ul>\n <ul class=\"ApplicationActionBar nav navbar-nav navbar-right \">\n </ul>\n </nav>\n </div>\n <div class=\"ApplicationLayoutBody uikitDemo\">\n <div class=\"module-content-wrapper\">\n <div class=\"ApplicationLayoutBodyBanner text-color-white bg-primary position-sticky top-0 z-index-3\">Lorem ipsum dolor sit amet, consetetur sadipscing elitr, diam nonumy eirmod tempor invidunt.</div>\n <div class=\"module-content smooth-scrollbar-wrapper\" style=\"position: relative; overflow: hidden; width: 100%; height: 100%;\">\n <div class=\"scrollbar-view\" style=\"position: absolute; inset: 0px; overflow: scroll; margin-right: 0px; margin-bottom: 0px;\">\n <div class=\"scrollbar-content-wrapper\">\n <div class=\"scrollbar-content\">\n <div class=\"dummy-class\">\n </div>\n </div>\n </div>\n </div>\n <div class=\"scrollbar-track-horizontal scrollbar-track-size-large scrollbar-track-offset\" style=\"position: absolute; height: 6px; display: none;\">\n <div class=\"scrollbar-thumb-horizontal scrollbar-thumb-size-large\" style=\"position: relative; display: block; height: 100%;\">\n </div>\n </div>\n <div class=\"scrollbar-track-vertical scrollbar-track-size-large scrollbar-track-offset\" style=\"position: absolute; width: 6px; display: none;\">\n <div class=\"scrollbar-thumb-vertical scrollbar-thumb-size-large\" style=\"position: relative; display: block; width: 100%;\">\n </div>\n </div>\n </div>\n </div>\n <span class=\"scroll-to-top\">\n <button type=\"button\" class=\"btn btn-primary btn-icon-only\">\n <span class=\"rioglyph rioglyph-arrow-up\">\n </span>\n </button>\n </span>\n </div>\n</div>"
|
|
429
|
+
},
|
|
430
|
+
{
|
|
431
|
+
"label": "Props",
|
|
432
|
+
"language": "json",
|
|
433
|
+
"code": null,
|
|
434
|
+
"props": [
|
|
435
|
+
{
|
|
436
|
+
"heading": "ApplicationLayout",
|
|
437
|
+
"rows": [
|
|
438
|
+
{
|
|
439
|
+
"name": "layoutRef",
|
|
440
|
+
"type": "React.ref",
|
|
441
|
+
"default": "",
|
|
442
|
+
"description": "A React ref function assigned to the wrapper element."
|
|
443
|
+
},
|
|
444
|
+
{
|
|
445
|
+
"name": "className",
|
|
446
|
+
"type": "String",
|
|
447
|
+
"default": "",
|
|
448
|
+
"description": "Additional class names that are added to the respective component."
|
|
449
|
+
}
|
|
450
|
+
]
|
|
451
|
+
},
|
|
452
|
+
{
|
|
453
|
+
"heading": "ApplicationLayoutHeader",
|
|
454
|
+
"rows": [
|
|
455
|
+
{
|
|
456
|
+
"name": "className",
|
|
457
|
+
"type": "String",
|
|
458
|
+
"default": "",
|
|
459
|
+
"description": "Additional class names that are added to the respective component."
|
|
460
|
+
}
|
|
461
|
+
]
|
|
462
|
+
},
|
|
463
|
+
{
|
|
464
|
+
"heading": "ApplicationLayoutSidebar",
|
|
465
|
+
"rows": [
|
|
466
|
+
{
|
|
467
|
+
"name": "ref",
|
|
468
|
+
"type": "React.ref",
|
|
469
|
+
"default": "",
|
|
470
|
+
"description": "A React ref function assigned to the wrapper element."
|
|
471
|
+
},
|
|
472
|
+
{
|
|
473
|
+
"name": "className",
|
|
474
|
+
"type": "String",
|
|
475
|
+
"default": "",
|
|
476
|
+
"description": "Additional class names that are added to the respective component."
|
|
477
|
+
}
|
|
478
|
+
]
|
|
479
|
+
},
|
|
480
|
+
{
|
|
481
|
+
"heading": "ApplicationLayoutBody",
|
|
482
|
+
"rows": [
|
|
483
|
+
{
|
|
484
|
+
"name": "className",
|
|
485
|
+
"type": "String",
|
|
486
|
+
"default": "",
|
|
487
|
+
"description": "Additional class names that are added to the respective component."
|
|
488
|
+
},
|
|
489
|
+
{
|
|
490
|
+
"name": "innerClassName",
|
|
491
|
+
"type": "String",
|
|
492
|
+
"default": "",
|
|
493
|
+
"description": "Additional class names that are added to the inner module-content component."
|
|
494
|
+
},
|
|
495
|
+
{
|
|
496
|
+
"name": "children",
|
|
497
|
+
"type": "any",
|
|
498
|
+
"default": "",
|
|
499
|
+
"description": "Any component given to the layout components will be rendered"
|
|
500
|
+
},
|
|
501
|
+
{
|
|
502
|
+
"name": "navigation",
|
|
503
|
+
"type": "any",
|
|
504
|
+
"default": "",
|
|
505
|
+
"description": "The ApplicationLayoutBodyNavigation component."
|
|
506
|
+
},
|
|
507
|
+
{
|
|
508
|
+
"name": "enableScrollToTop",
|
|
509
|
+
"type": "Boolean",
|
|
510
|
+
"default": "true",
|
|
511
|
+
"description": "Show scroll to top button after scrolling the content."
|
|
512
|
+
},
|
|
513
|
+
{
|
|
514
|
+
"name": "forceScrollbar",
|
|
515
|
+
"type": "Boolean",
|
|
516
|
+
"default": "false",
|
|
517
|
+
"description": "Always show vertical scrollbar to prevent the content from jumping."
|
|
518
|
+
},
|
|
519
|
+
{
|
|
520
|
+
"name": "bottomBar",
|
|
521
|
+
"type": "Node | String",
|
|
522
|
+
"default": "",
|
|
523
|
+
"description": "Optional bottom bar component or a simple string."
|
|
524
|
+
},
|
|
525
|
+
{
|
|
526
|
+
"name": "bottomBarHeight",
|
|
527
|
+
"type": "Number",
|
|
528
|
+
"default": "54",
|
|
529
|
+
"description": "Height of the bottomBar in pixel."
|
|
530
|
+
},
|
|
531
|
+
{
|
|
532
|
+
"name": "banner",
|
|
533
|
+
"type": "any",
|
|
534
|
+
"default": "",
|
|
535
|
+
"description": "The ApplicationLayoutBodyBanner component."
|
|
536
|
+
}
|
|
537
|
+
]
|
|
538
|
+
},
|
|
539
|
+
{
|
|
540
|
+
"heading": "ApplicationLayoutBodyNavigation",
|
|
541
|
+
"rows": [
|
|
542
|
+
{
|
|
543
|
+
"name": "className",
|
|
544
|
+
"type": "String",
|
|
545
|
+
"default": "",
|
|
546
|
+
"description": "Additional class names that are added to the respective component. Example: \"has-offset\""
|
|
547
|
+
}
|
|
548
|
+
]
|
|
549
|
+
},
|
|
550
|
+
{
|
|
551
|
+
"heading": "ApplicationLayoutBodyBottomBar",
|
|
552
|
+
"rows": [
|
|
553
|
+
{
|
|
554
|
+
"name": "className",
|
|
555
|
+
"type": "String",
|
|
556
|
+
"default": "",
|
|
557
|
+
"description": "Additional class names that are added to the respective component."
|
|
558
|
+
},
|
|
559
|
+
{
|
|
560
|
+
"name": "buttonAlignment",
|
|
561
|
+
"type": "String",
|
|
562
|
+
"default": "",
|
|
563
|
+
"description": "Tells the buttons if they are left or right aligned. Default behavior is: 1st button left and 2nd button right. ApplicationLayoutBodyBottomBar.LEFT, ApplicationLayoutBodyBottomBar.RIGHT or 'left''right'"
|
|
564
|
+
},
|
|
565
|
+
{
|
|
566
|
+
"name": "useBodyPaddings",
|
|
567
|
+
"type": "Boolean",
|
|
568
|
+
"default": "false",
|
|
569
|
+
"description": "Use same paddings (left and right) as the ApplicationLayoutBody."
|
|
570
|
+
}
|
|
571
|
+
]
|
|
572
|
+
},
|
|
573
|
+
{
|
|
574
|
+
"heading": "ApplicationLayoutBodyBanner",
|
|
575
|
+
"rows": [
|
|
576
|
+
{
|
|
577
|
+
"name": "className",
|
|
578
|
+
"type": "String",
|
|
579
|
+
"default": "",
|
|
580
|
+
"description": "Additional class names that are added to the respective component."
|
|
581
|
+
},
|
|
582
|
+
{
|
|
583
|
+
"name": "backgroundColor",
|
|
584
|
+
"type": "String",
|
|
585
|
+
"default": "bg-primary",
|
|
586
|
+
"description": "One of our bg-color utility classes."
|
|
587
|
+
},
|
|
588
|
+
{
|
|
589
|
+
"name": "textColor",
|
|
590
|
+
"type": "string",
|
|
591
|
+
"default": "text-color-white",
|
|
592
|
+
"description": "One of our text-color utility classes."
|
|
593
|
+
},
|
|
594
|
+
{
|
|
595
|
+
"name": "isSticky",
|
|
596
|
+
"type": "Boolean",
|
|
597
|
+
"default": "false",
|
|
598
|
+
"description": "Sticky while scrolling."
|
|
599
|
+
}
|
|
600
|
+
]
|
|
601
|
+
}
|
|
602
|
+
]
|
|
603
|
+
}
|
|
604
|
+
]
|
|
605
|
+
}
|
|
606
|
+
]
|
|
607
|
+
},
|
|
608
|
+
{
|
|
609
|
+
"heading": "Bottom bar example",
|
|
610
|
+
"body": "",
|
|
611
|
+
"examples": [
|
|
612
|
+
{
|
|
613
|
+
"caption": "Example 4",
|
|
614
|
+
"rendered_html": "<div class=\"playground-content bg-white padding-20 padding-bottom-25\" style=\"width: 100%;\"><div class=\"ApplicationLayout bg-lighter\" style=\"--ApplicationLayoutBodyBottomBarHeight: 54px;\"><div class=\"ApplicationLayoutHeader\" id=\"ApplicationLayoutHeader\"><nav class=\"ApplicationHeader user-select-none\"><div class=\"navbar-header\"><span class=\"navbar-brand home-icon\"></span></div><ul class=\"ModuleNavigation AppMenu user-select-none pointer-events-none\"><li class=\"dropdown\"><a class=\"ModuleNavigation-dropdown dropdown-toggle justify-content-between inactive\" role=\"button\" id=\"basic-nav-dropdown\"><span>RIO Service</span></a></li></ul><ul class=\"SubmoduleNavigation nav\"><li class=\"submodule \" data-nav-item-key=\"1\"><a aria-current=\"page\" class=\"active\" href=\"#components/appLayout\">Navigation 1</a></li><li class=\"submodule \" data-nav-item-key=\"2\"><a href=\"#2\">Navigation 2</a></li><li class=\"submodule \" data-nav-item-key=\"3\"><a href=\"#3\">Navigation 3</a></li></ul><ul class=\"ApplicationActionBar nav navbar-nav navbar-right \"></ul></nav></div><div class=\"ApplicationLayoutBody has-footer uikitDemo\"><div class=\"module-content-wrapper\"><div class=\"module-content smooth-scrollbar-wrapper\" style=\"position: relative; overflow: hidden; width: 100%; height: 100%;\"><div class=\"scrollbar-view\" style=\"position: absolute; inset: 0px; overflow: scroll; margin-right: 0px; margin-bottom: 0px;\"><div class=\"scrollbar-content-wrapper\"><div class=\"scrollbar-content\"><div class=\"dummy-class\"></div></div></div></div><div class=\"scrollbar-track-horizontal scrollbar-track-size-large scrollbar-track-offset\" style=\"position: absolute; height: 6px; display: none;\"><div class=\"scrollbar-thumb-horizontal scrollbar-thumb-size-large\" style=\"position: relative; display: block; height: 100%;\"></div></div><div class=\"scrollbar-track-vertical scrollbar-track-size-large scrollbar-track-offset\" style=\"position: absolute; width: 6px; display: none;\"><div class=\"scrollbar-thumb-vertical scrollbar-thumb-size-large\" style=\"position: relative; display: block; width: 100%;\"></div></div></div></div><span class=\"scroll-to-top\"><button type=\"button\" class=\"btn btn-primary btn-icon-only\"><span class=\"rioglyph rioglyph-arrow-up\"></span></button></span></div><div class=\"ApplicationLayoutBodyBottomBar justify-content-between\"><button type=\"button\" class=\"btn btn-primary\">Button</button></div></div></div>",
|
|
615
|
+
"tabs": [
|
|
616
|
+
{
|
|
617
|
+
"label": "React",
|
|
618
|
+
"language": "tsx",
|
|
619
|
+
"code": "import { NavLink } from 'react-router-dom';\n\nimport ApplicationLayout from '@rio-cloud/rio-uikit/ApplicationLayout';\nimport ApplicationHeader from '@rio-cloud/rio-uikit/ApplicationHeader';\nimport ApplicationLayoutBodyBottomBar from '@rio-cloud/rio-uikit/ApplicationLayoutBodyBottomBar';\n\nconst navItems = [\n { key: '1', route: <NavLink to='/components/appLayout'>Navigation 1</NavLink> },\n {\n key: '2',\n route: (\n <NavLink to='/2' onClick={event => event.preventDefault()}>\n Navigation 2\n </NavLink>\n ),\n },\n {\n key: '3',\n route: (\n <NavLink to='/3' onClick={event => event.preventDefault()}>\n Navigation 3\n </NavLink>\n ),\n },\n];\n\nexport default () => (\n <ApplicationLayout className='bg-lighter'>\n <ApplicationLayout.Header>\n <ApplicationHeader label='RIO Service' navItems={navItems} />\n </ApplicationLayout.Header>\n <ApplicationLayout.Body\n className='uikitDemo'\n bottomBar={\n <ApplicationLayoutBodyBottomBar>\n <button type='button' className='btn btn-primary'>\n Button\n </button>\n </ApplicationLayoutBodyBottomBar>\n }\n >\n <div className='dummy-class' />\n </ApplicationLayout.Body>\n </ApplicationLayout>\n);"
|
|
620
|
+
},
|
|
621
|
+
{
|
|
622
|
+
"label": "HTML",
|
|
623
|
+
"language": "html",
|
|
624
|
+
"code": "<div class=\"ApplicationLayout bg-lighter\" style=\"--ApplicationLayoutBodyBottomBarHeight: 54px;\">\n <div class=\"ApplicationLayoutHeader\" id=\"ApplicationLayoutHeader\">\n <nav class=\"ApplicationHeader user-select-none\">\n <div class=\"navbar-header\">\n <span class=\"navbar-brand home-icon\">\n </span>\n </div>\n <ul class=\"ModuleNavigation AppMenu user-select-none pointer-events-none\">\n <li class=\"dropdown\">\n <a class=\"ModuleNavigation-dropdown dropdown-toggle justify-content-between inactive\" role=\"button\" id=\"basic-nav-dropdown\">\n <span>RIO Service</span>\n </a>\n </li>\n </ul>\n <ul class=\"SubmoduleNavigation nav\">\n <li class=\"submodule \" data-nav-item-key=\"1\">\n <a aria-current=\"page\" class=\"active\" href=\"#components/appLayout\">Navigation 1</a>\n </li>\n <li class=\"submodule \" data-nav-item-key=\"2\">\n <a href=\"#2\">Navigation 2</a>\n </li>\n <li class=\"submodule \" data-nav-item-key=\"3\">\n <a href=\"#3\">Navigation 3</a>\n </li>\n </ul>\n <ul class=\"ApplicationActionBar nav navbar-nav navbar-right \">\n </ul>\n </nav>\n </div>\n <div class=\"ApplicationLayoutBody has-footer uikitDemo\">\n <div class=\"module-content-wrapper\">\n <div class=\"module-content smooth-scrollbar-wrapper\" style=\"position: relative; overflow: hidden; width: 100%; height: 100%;\">\n <div class=\"scrollbar-view\" style=\"position: absolute; inset: 0px; overflow: scroll; margin-right: 0px; margin-bottom: 0px;\">\n <div class=\"scrollbar-content-wrapper\">\n <div class=\"scrollbar-content\">\n <div class=\"dummy-class\">\n </div>\n </div>\n </div>\n </div>\n <div class=\"scrollbar-track-horizontal scrollbar-track-size-large scrollbar-track-offset\" style=\"position: absolute; height: 6px; display: none;\">\n <div class=\"scrollbar-thumb-horizontal scrollbar-thumb-size-large\" style=\"position: relative; display: block; height: 100%;\">\n </div>\n </div>\n <div class=\"scrollbar-track-vertical scrollbar-track-size-large scrollbar-track-offset\" style=\"position: absolute; width: 6px; display: none;\">\n <div class=\"scrollbar-thumb-vertical scrollbar-thumb-size-large\" style=\"position: relative; display: block; width: 100%;\">\n </div>\n </div>\n </div>\n </div>\n <span class=\"scroll-to-top\">\n <button type=\"button\" class=\"btn btn-primary btn-icon-only\">\n <span class=\"rioglyph rioglyph-arrow-up\">\n </span>\n </button>\n </span>\n </div>\n <div class=\"ApplicationLayoutBodyBottomBar justify-content-between\">\n <button type=\"button\" class=\"btn btn-primary\">Button</button>\n </div>\n</div>"
|
|
625
|
+
},
|
|
626
|
+
{
|
|
627
|
+
"label": "Props",
|
|
628
|
+
"language": "json",
|
|
629
|
+
"code": null,
|
|
630
|
+
"props": [
|
|
631
|
+
{
|
|
632
|
+
"heading": "ApplicationLayout",
|
|
633
|
+
"rows": [
|
|
634
|
+
{
|
|
635
|
+
"name": "layoutRef",
|
|
636
|
+
"type": "React.ref",
|
|
637
|
+
"default": "",
|
|
638
|
+
"description": "A React ref function assigned to the wrapper element."
|
|
639
|
+
},
|
|
640
|
+
{
|
|
641
|
+
"name": "className",
|
|
642
|
+
"type": "String",
|
|
643
|
+
"default": "",
|
|
644
|
+
"description": "Additional class names that are added to the respective component."
|
|
645
|
+
}
|
|
646
|
+
]
|
|
647
|
+
},
|
|
648
|
+
{
|
|
649
|
+
"heading": "ApplicationLayoutHeader",
|
|
650
|
+
"rows": [
|
|
651
|
+
{
|
|
652
|
+
"name": "className",
|
|
653
|
+
"type": "String",
|
|
654
|
+
"default": "",
|
|
655
|
+
"description": "Additional class names that are added to the respective component."
|
|
656
|
+
}
|
|
657
|
+
]
|
|
658
|
+
},
|
|
659
|
+
{
|
|
660
|
+
"heading": "ApplicationLayoutSidebar",
|
|
661
|
+
"rows": [
|
|
662
|
+
{
|
|
663
|
+
"name": "ref",
|
|
664
|
+
"type": "React.ref",
|
|
665
|
+
"default": "",
|
|
666
|
+
"description": "A React ref function assigned to the wrapper element."
|
|
667
|
+
},
|
|
668
|
+
{
|
|
669
|
+
"name": "className",
|
|
670
|
+
"type": "String",
|
|
671
|
+
"default": "",
|
|
672
|
+
"description": "Additional class names that are added to the respective component."
|
|
673
|
+
}
|
|
674
|
+
]
|
|
675
|
+
},
|
|
676
|
+
{
|
|
677
|
+
"heading": "ApplicationLayoutBody",
|
|
678
|
+
"rows": [
|
|
679
|
+
{
|
|
680
|
+
"name": "className",
|
|
681
|
+
"type": "String",
|
|
682
|
+
"default": "",
|
|
683
|
+
"description": "Additional class names that are added to the respective component."
|
|
684
|
+
},
|
|
685
|
+
{
|
|
686
|
+
"name": "innerClassName",
|
|
687
|
+
"type": "String",
|
|
688
|
+
"default": "",
|
|
689
|
+
"description": "Additional class names that are added to the inner module-content component."
|
|
690
|
+
},
|
|
691
|
+
{
|
|
692
|
+
"name": "children",
|
|
693
|
+
"type": "any",
|
|
694
|
+
"default": "",
|
|
695
|
+
"description": "Any component given to the layout components will be rendered"
|
|
696
|
+
},
|
|
697
|
+
{
|
|
698
|
+
"name": "navigation",
|
|
699
|
+
"type": "any",
|
|
700
|
+
"default": "",
|
|
701
|
+
"description": "The ApplicationLayoutBodyNavigation component."
|
|
702
|
+
},
|
|
703
|
+
{
|
|
704
|
+
"name": "enableScrollToTop",
|
|
705
|
+
"type": "Boolean",
|
|
706
|
+
"default": "true",
|
|
707
|
+
"description": "Show scroll to top button after scrolling the content."
|
|
708
|
+
},
|
|
709
|
+
{
|
|
710
|
+
"name": "forceScrollbar",
|
|
711
|
+
"type": "Boolean",
|
|
712
|
+
"default": "false",
|
|
713
|
+
"description": "Always show vertical scrollbar to prevent the content from jumping."
|
|
714
|
+
},
|
|
715
|
+
{
|
|
716
|
+
"name": "bottomBar",
|
|
717
|
+
"type": "Node | String",
|
|
718
|
+
"default": "",
|
|
719
|
+
"description": "Optional bottom bar component or a simple string."
|
|
720
|
+
},
|
|
721
|
+
{
|
|
722
|
+
"name": "bottomBarHeight",
|
|
723
|
+
"type": "Number",
|
|
724
|
+
"default": "54",
|
|
725
|
+
"description": "Height of the bottomBar in pixel."
|
|
726
|
+
},
|
|
727
|
+
{
|
|
728
|
+
"name": "banner",
|
|
729
|
+
"type": "any",
|
|
730
|
+
"default": "",
|
|
731
|
+
"description": "The ApplicationLayoutBodyBanner component."
|
|
732
|
+
}
|
|
733
|
+
]
|
|
734
|
+
},
|
|
735
|
+
{
|
|
736
|
+
"heading": "ApplicationLayoutBodyNavigation",
|
|
737
|
+
"rows": [
|
|
738
|
+
{
|
|
739
|
+
"name": "className",
|
|
740
|
+
"type": "String",
|
|
741
|
+
"default": "",
|
|
742
|
+
"description": "Additional class names that are added to the respective component. Example: \"has-offset\""
|
|
743
|
+
}
|
|
744
|
+
]
|
|
745
|
+
},
|
|
746
|
+
{
|
|
747
|
+
"heading": "ApplicationLayoutBodyBottomBar",
|
|
748
|
+
"rows": [
|
|
749
|
+
{
|
|
750
|
+
"name": "className",
|
|
751
|
+
"type": "String",
|
|
752
|
+
"default": "",
|
|
753
|
+
"description": "Additional class names that are added to the respective component."
|
|
754
|
+
},
|
|
755
|
+
{
|
|
756
|
+
"name": "buttonAlignment",
|
|
757
|
+
"type": "String",
|
|
758
|
+
"default": "",
|
|
759
|
+
"description": "Tells the buttons if they are left or right aligned. Default behavior is: 1st button left and 2nd button right. ApplicationLayoutBodyBottomBar.LEFT, ApplicationLayoutBodyBottomBar.RIGHT or 'left''right'"
|
|
760
|
+
},
|
|
761
|
+
{
|
|
762
|
+
"name": "useBodyPaddings",
|
|
763
|
+
"type": "Boolean",
|
|
764
|
+
"default": "false",
|
|
765
|
+
"description": "Use same paddings (left and right) as the ApplicationLayoutBody."
|
|
766
|
+
}
|
|
767
|
+
]
|
|
768
|
+
},
|
|
769
|
+
{
|
|
770
|
+
"heading": "ApplicationLayoutBodyBanner",
|
|
771
|
+
"rows": [
|
|
772
|
+
{
|
|
773
|
+
"name": "className",
|
|
774
|
+
"type": "String",
|
|
775
|
+
"default": "",
|
|
776
|
+
"description": "Additional class names that are added to the respective component."
|
|
777
|
+
},
|
|
778
|
+
{
|
|
779
|
+
"name": "backgroundColor",
|
|
780
|
+
"type": "String",
|
|
781
|
+
"default": "bg-primary",
|
|
782
|
+
"description": "One of our bg-color utility classes."
|
|
783
|
+
},
|
|
784
|
+
{
|
|
785
|
+
"name": "textColor",
|
|
786
|
+
"type": "string",
|
|
787
|
+
"default": "text-color-white",
|
|
788
|
+
"description": "One of our text-color utility classes."
|
|
789
|
+
},
|
|
790
|
+
{
|
|
791
|
+
"name": "isSticky",
|
|
792
|
+
"type": "Boolean",
|
|
793
|
+
"default": "false",
|
|
794
|
+
"description": "Sticky while scrolling."
|
|
795
|
+
}
|
|
796
|
+
]
|
|
797
|
+
}
|
|
798
|
+
]
|
|
799
|
+
}
|
|
800
|
+
]
|
|
801
|
+
}
|
|
802
|
+
]
|
|
803
|
+
},
|
|
804
|
+
{
|
|
805
|
+
"heading": "Sidebar Example",
|
|
806
|
+
"body": "",
|
|
807
|
+
"examples": [
|
|
808
|
+
{
|
|
809
|
+
"caption": "Example 5",
|
|
810
|
+
"rendered_html": "<div class=\"playground-content bg-white padding-20 padding-bottom-25\" style=\"width: 100%;\"><div class=\"ApplicationLayout bg-lighter\" style=\"--ApplicationLayoutBodyBottomBarHeight: 54px;\"><div class=\"ApplicationLayoutHeader\" id=\"ApplicationLayoutHeader\"><nav class=\"ApplicationHeader user-select-none\"><div class=\"navbar-header\"><span class=\"navbar-brand home-icon\"></span></div><ul class=\"ModuleNavigation AppMenu user-select-none pointer-events-none\"><li class=\"dropdown\"><a class=\"ModuleNavigation-dropdown dropdown-toggle justify-content-between inactive\" role=\"button\" id=\"basic-nav-dropdown\"><span>RIO Service</span></a></li></ul><ul class=\"SubmoduleNavigation nav\"><li class=\"submodule \" data-nav-item-key=\"1\"><a aria-current=\"page\" class=\"active\" href=\"#components/appLayout\">Navigation 1</a></li><li class=\"submodule \" data-nav-item-key=\"2\"><a href=\"#2\">Navigation 2</a></li><li class=\"submodule \" data-nav-item-key=\"3\"><a href=\"#3\">Navigation 3</a></li></ul><ul class=\"ApplicationActionBar nav navbar-nav navbar-right \"></ul></nav></div><div class=\"ApplicationLayoutSidebar right bg-white\"><div class=\"Sidebar fluid\" style=\"width: 350px; opacity: 1; display: block; transform: none;\"><div class=\"SidebarResizeLimit\" style=\"right: 600px;\"></div><div class=\"SidebarContent\"><div class=\"SidebarHeader\"><div class=\"SidebarTitle padding-left-10\">Sidebar Right</div><div class=\"SidebarButtons non-printable close\"><button type=\"button\" data-testid=\"sidebarCloseButton\" class=\"btn btn-muted btn-icon-only btn-component\" tabindex=\"0\"><span class=\"rioglyph rioglyph-remove\"></span></button></div></div><div class=\"SidebarBody\"><div class=\"padding-left-20 padding-right-20\">Sidebar components may be added here...</div></div><div class=\"SidebarFooter\"><button class=\"btn btn-primary\" type=\"button\">Button</button></div></div><div class=\"Resizer resize-horizontal resize-left\"></div></div></div><div class=\"ApplicationLayoutBody uikitDemo\"><div class=\"module-content-wrapper\"><div class=\"module-content smooth-scrollbar-wrapper\" style=\"position: relative; overflow: hidden; width: 100%; height: 100%;\"><div class=\"scrollbar-view\" style=\"position: absolute; inset: 0px; overflow: scroll; margin-right: 0px; margin-bottom: 0px;\"><div class=\"scrollbar-content-wrapper\"><div class=\"scrollbar-content\"><div class=\"dummy-class\"></div></div></div></div><div class=\"scrollbar-track-horizontal scrollbar-track-size-large scrollbar-track-offset\" style=\"position: absolute; height: 6px; display: none;\"><div class=\"scrollbar-thumb-horizontal scrollbar-thumb-size-large\" style=\"position: relative; display: block; height: 100%;\"></div></div><div class=\"scrollbar-track-vertical scrollbar-track-size-large scrollbar-track-offset\" style=\"position: absolute; width: 6px; display: none;\"><div class=\"scrollbar-thumb-vertical scrollbar-thumb-size-large\" style=\"position: relative; display: block; width: 100%;\"></div></div></div></div><span class=\"scroll-to-top\"><button type=\"button\" class=\"btn btn-primary btn-icon-only\"><span class=\"rioglyph rioglyph-arrow-up\"></span></button></span></div></div></div>",
|
|
811
|
+
"tabs": [
|
|
812
|
+
{
|
|
813
|
+
"label": "React",
|
|
814
|
+
"language": "tsx",
|
|
815
|
+
"code": "import { NavLink } from 'react-router-dom';\n\nimport ApplicationLayout from '@rio-cloud/rio-uikit/ApplicationLayout';\nimport ApplicationHeader from '@rio-cloud/rio-uikit/ApplicationHeader';\nimport Sidebar from '@rio-cloud/rio-uikit/Sidebar';\n\nconst navItems = [\n { key: '1', route: <NavLink to='/components/appLayout'>Navigation 1</NavLink> },\n {\n key: '2',\n route: (\n <NavLink to='/2' onClick={event => event.preventDefault()}>\n Navigation 2\n </NavLink>\n ),\n },\n {\n key: '3',\n route: (\n <NavLink to='/3' onClick={event => event.preventDefault()}>\n Navigation 3\n </NavLink>\n ),\n },\n];\n\nexport default () => (\n <ApplicationLayout className='bg-lighter'>\n <ApplicationLayout.Header>\n <ApplicationHeader label='RIO Service' navItems={navItems} />\n </ApplicationLayout.Header>\n <ApplicationLayout.Sidebar className='right bg-white'>\n <Sidebar\n title='Sidebar Right'\n titleClassName='padding-left-10'\n closed={false}\n onClose={() => {}}\n position={Sidebar.RIGHT}\n resizable\n minWidth={300}\n maxWidth={600}\n footer={\n <button className='btn btn-primary' type='button' onClick={() => {}}>\n Button\n </button>\n }\n >\n <div className='padding-left-20 padding-right-20'>Sidebar components may be added here...</div>\n </Sidebar>\n </ApplicationLayout.Sidebar>\n <ApplicationLayout.Body className='uikitDemo'>\n <div className='dummy-class' />\n </ApplicationLayout.Body>\n </ApplicationLayout>\n);"
|
|
816
|
+
},
|
|
817
|
+
{
|
|
818
|
+
"label": "HTML",
|
|
819
|
+
"language": "html",
|
|
820
|
+
"code": "<div class=\"ApplicationLayout bg-lighter\" style=\"--ApplicationLayoutBodyBottomBarHeight: 54px;\">\n <div class=\"ApplicationLayoutHeader\" id=\"ApplicationLayoutHeader\">\n <nav class=\"ApplicationHeader user-select-none\">\n <div class=\"navbar-header\">\n <span class=\"navbar-brand home-icon\">\n </span>\n </div>\n <ul class=\"ModuleNavigation AppMenu user-select-none pointer-events-none\">\n <li class=\"dropdown\">\n <a class=\"ModuleNavigation-dropdown dropdown-toggle justify-content-between inactive\" role=\"button\" id=\"basic-nav-dropdown\">\n <span>RIO Service</span>\n </a>\n </li>\n </ul>\n <ul class=\"SubmoduleNavigation nav\">\n <li class=\"submodule \" data-nav-item-key=\"1\">\n <a aria-current=\"page\" class=\"active\" href=\"#components/appLayout\">Navigation 1</a>\n </li>\n <li class=\"submodule \" data-nav-item-key=\"2\">\n <a href=\"#2\">Navigation 2</a>\n </li>\n <li class=\"submodule \" data-nav-item-key=\"3\">\n <a href=\"#3\">Navigation 3</a>\n </li>\n </ul>\n <ul class=\"ApplicationActionBar nav navbar-nav navbar-right \">\n </ul>\n </nav>\n </div>\n <div class=\"ApplicationLayoutSidebar right bg-white\">\n <div class=\"Sidebar fluid\" style=\"width: 350px; opacity: 1; display: block; transform: none;\">\n <div class=\"SidebarResizeLimit\" style=\"right: 600px;\">\n </div>\n <div class=\"SidebarContent\">\n <div class=\"SidebarHeader\">\n <div class=\"SidebarTitle padding-left-10\">Sidebar Right</div>\n <div class=\"SidebarButtons non-printable close\">\n <button type=\"button\" data-testid=\"sidebarCloseButton\" class=\"btn btn-muted btn-icon-only btn-component\" tabindex=\"0\">\n <span class=\"rioglyph rioglyph-remove\">\n </span>\n </button>\n </div>\n </div>\n <div class=\"SidebarBody\">\n <div class=\"padding-left-20 padding-right-20\">Sidebar components may be added here...</div>\n </div>\n <div class=\"SidebarFooter\">\n <button class=\"btn btn-primary\" type=\"button\">Button</button>\n </div>\n </div>\n <div class=\"Resizer resize-horizontal resize-left\">\n </div>\n </div>\n </div>\n <div class=\"ApplicationLayoutBody uikitDemo\">\n <div class=\"module-content-wrapper\">\n <div class=\"module-content smooth-scrollbar-wrapper\" style=\"position: relative; overflow: hidden; width: 100%; height: 100%;\">\n <div class=\"scrollbar-view\" style=\"position: absolute; inset: 0px; overflow: scroll; margin-right: 0px; margin-bottom: 0px;\">\n <div class=\"scrollbar-content-wrapper\">\n <div class=\"scrollbar-content\">\n <div class=\"dummy-class\">\n </div>\n </div>\n </div>\n </div>\n <div class=\"scrollbar-track-horizontal scrollbar-track-size-large scrollbar-track-offset\" style=\"position: absolute; height: 6px; display: none;\">\n <div class=\"scrollbar-thumb-horizontal scrollbar-thumb-size-large\" style=\"position: relative; display: block; height: 100%;\">\n </div>\n </div>\n <div class=\"scrollbar-track-vertical scrollbar-track-size-large scrollbar-track-offset\" style=\"position: absolute; width: 6px; display: none;\">\n <div class=\"scrollbar-thumb-vertical scrollbar-thumb-size-large\" style=\"position: relative; display: block; width: 100%;\">\n </div>\n </div>\n </div>\n </div>\n <span class=\"scroll-to-top\">\n <button type=\"button\" class=\"btn btn-primary btn-icon-only\">\n <span class=\"rioglyph rioglyph-arrow-up\">\n </span>\n </button>\n </span>\n </div>\n</div>"
|
|
821
|
+
},
|
|
822
|
+
{
|
|
823
|
+
"label": "Props",
|
|
824
|
+
"language": "json",
|
|
825
|
+
"code": null,
|
|
826
|
+
"props": [
|
|
827
|
+
{
|
|
828
|
+
"heading": "ApplicationLayout",
|
|
829
|
+
"rows": [
|
|
830
|
+
{
|
|
831
|
+
"name": "layoutRef",
|
|
832
|
+
"type": "React.ref",
|
|
833
|
+
"default": "",
|
|
834
|
+
"description": "A React ref function assigned to the wrapper element."
|
|
835
|
+
},
|
|
836
|
+
{
|
|
837
|
+
"name": "className",
|
|
838
|
+
"type": "String",
|
|
839
|
+
"default": "",
|
|
840
|
+
"description": "Additional class names that are added to the respective component."
|
|
841
|
+
}
|
|
842
|
+
]
|
|
843
|
+
},
|
|
844
|
+
{
|
|
845
|
+
"heading": "ApplicationLayoutHeader",
|
|
846
|
+
"rows": [
|
|
847
|
+
{
|
|
848
|
+
"name": "className",
|
|
849
|
+
"type": "String",
|
|
850
|
+
"default": "",
|
|
851
|
+
"description": "Additional class names that are added to the respective component."
|
|
852
|
+
}
|
|
853
|
+
]
|
|
854
|
+
},
|
|
855
|
+
{
|
|
856
|
+
"heading": "ApplicationLayoutSidebar",
|
|
857
|
+
"rows": [
|
|
858
|
+
{
|
|
859
|
+
"name": "ref",
|
|
860
|
+
"type": "React.ref",
|
|
861
|
+
"default": "",
|
|
862
|
+
"description": "A React ref function assigned to the wrapper element."
|
|
863
|
+
},
|
|
864
|
+
{
|
|
865
|
+
"name": "className",
|
|
866
|
+
"type": "String",
|
|
867
|
+
"default": "",
|
|
868
|
+
"description": "Additional class names that are added to the respective component."
|
|
869
|
+
}
|
|
870
|
+
]
|
|
871
|
+
},
|
|
872
|
+
{
|
|
873
|
+
"heading": "ApplicationLayoutBody",
|
|
874
|
+
"rows": [
|
|
875
|
+
{
|
|
876
|
+
"name": "className",
|
|
877
|
+
"type": "String",
|
|
878
|
+
"default": "",
|
|
879
|
+
"description": "Additional class names that are added to the respective component."
|
|
880
|
+
},
|
|
881
|
+
{
|
|
882
|
+
"name": "innerClassName",
|
|
883
|
+
"type": "String",
|
|
884
|
+
"default": "",
|
|
885
|
+
"description": "Additional class names that are added to the inner module-content component."
|
|
886
|
+
},
|
|
887
|
+
{
|
|
888
|
+
"name": "children",
|
|
889
|
+
"type": "any",
|
|
890
|
+
"default": "",
|
|
891
|
+
"description": "Any component given to the layout components will be rendered"
|
|
892
|
+
},
|
|
893
|
+
{
|
|
894
|
+
"name": "navigation",
|
|
895
|
+
"type": "any",
|
|
896
|
+
"default": "",
|
|
897
|
+
"description": "The ApplicationLayoutBodyNavigation component."
|
|
898
|
+
},
|
|
899
|
+
{
|
|
900
|
+
"name": "enableScrollToTop",
|
|
901
|
+
"type": "Boolean",
|
|
902
|
+
"default": "true",
|
|
903
|
+
"description": "Show scroll to top button after scrolling the content."
|
|
904
|
+
},
|
|
905
|
+
{
|
|
906
|
+
"name": "forceScrollbar",
|
|
907
|
+
"type": "Boolean",
|
|
908
|
+
"default": "false",
|
|
909
|
+
"description": "Always show vertical scrollbar to prevent the content from jumping."
|
|
910
|
+
},
|
|
911
|
+
{
|
|
912
|
+
"name": "bottomBar",
|
|
913
|
+
"type": "Node | String",
|
|
914
|
+
"default": "",
|
|
915
|
+
"description": "Optional bottom bar component or a simple string."
|
|
916
|
+
},
|
|
917
|
+
{
|
|
918
|
+
"name": "bottomBarHeight",
|
|
919
|
+
"type": "Number",
|
|
920
|
+
"default": "54",
|
|
921
|
+
"description": "Height of the bottomBar in pixel."
|
|
922
|
+
},
|
|
923
|
+
{
|
|
924
|
+
"name": "banner",
|
|
925
|
+
"type": "any",
|
|
926
|
+
"default": "",
|
|
927
|
+
"description": "The ApplicationLayoutBodyBanner component."
|
|
928
|
+
}
|
|
929
|
+
]
|
|
930
|
+
},
|
|
931
|
+
{
|
|
932
|
+
"heading": "ApplicationLayoutBodyNavigation",
|
|
933
|
+
"rows": [
|
|
934
|
+
{
|
|
935
|
+
"name": "className",
|
|
936
|
+
"type": "String",
|
|
937
|
+
"default": "",
|
|
938
|
+
"description": "Additional class names that are added to the respective component. Example: \"has-offset\""
|
|
939
|
+
}
|
|
940
|
+
]
|
|
941
|
+
},
|
|
942
|
+
{
|
|
943
|
+
"heading": "ApplicationLayoutBodyBottomBar",
|
|
944
|
+
"rows": [
|
|
945
|
+
{
|
|
946
|
+
"name": "className",
|
|
947
|
+
"type": "String",
|
|
948
|
+
"default": "",
|
|
949
|
+
"description": "Additional class names that are added to the respective component."
|
|
950
|
+
},
|
|
951
|
+
{
|
|
952
|
+
"name": "buttonAlignment",
|
|
953
|
+
"type": "String",
|
|
954
|
+
"default": "",
|
|
955
|
+
"description": "Tells the buttons if they are left or right aligned. Default behavior is: 1st button left and 2nd button right. ApplicationLayoutBodyBottomBar.LEFT, ApplicationLayoutBodyBottomBar.RIGHT or 'left''right'"
|
|
956
|
+
},
|
|
957
|
+
{
|
|
958
|
+
"name": "useBodyPaddings",
|
|
959
|
+
"type": "Boolean",
|
|
960
|
+
"default": "false",
|
|
961
|
+
"description": "Use same paddings (left and right) as the ApplicationLayoutBody."
|
|
962
|
+
}
|
|
963
|
+
]
|
|
964
|
+
},
|
|
965
|
+
{
|
|
966
|
+
"heading": "ApplicationLayoutBodyBanner",
|
|
967
|
+
"rows": [
|
|
968
|
+
{
|
|
969
|
+
"name": "className",
|
|
970
|
+
"type": "String",
|
|
971
|
+
"default": "",
|
|
972
|
+
"description": "Additional class names that are added to the respective component."
|
|
973
|
+
},
|
|
974
|
+
{
|
|
975
|
+
"name": "backgroundColor",
|
|
976
|
+
"type": "String",
|
|
977
|
+
"default": "bg-primary",
|
|
978
|
+
"description": "One of our bg-color utility classes."
|
|
979
|
+
},
|
|
980
|
+
{
|
|
981
|
+
"name": "textColor",
|
|
982
|
+
"type": "string",
|
|
983
|
+
"default": "text-color-white",
|
|
984
|
+
"description": "One of our text-color utility classes."
|
|
985
|
+
},
|
|
986
|
+
{
|
|
987
|
+
"name": "isSticky",
|
|
988
|
+
"type": "Boolean",
|
|
989
|
+
"default": "false",
|
|
990
|
+
"description": "Sticky while scrolling."
|
|
991
|
+
}
|
|
992
|
+
]
|
|
993
|
+
}
|
|
994
|
+
]
|
|
995
|
+
}
|
|
996
|
+
]
|
|
997
|
+
}
|
|
998
|
+
]
|
|
999
|
+
},
|
|
1000
|
+
{
|
|
1001
|
+
"heading": "Complete example with all components",
|
|
1002
|
+
"body": "",
|
|
1003
|
+
"examples": [
|
|
1004
|
+
{
|
|
1005
|
+
"caption": "Example 6",
|
|
1006
|
+
"rendered_html": "<div class=\"playground-content bg-white padding-20 padding-bottom-25\" style=\"width: 100%;\"><div class=\"ApplicationLayout bg-lighter height-500\" style=\"--ApplicationLayoutBodyBottomBarHeight: 54px;\"><div class=\"ApplicationLayoutHeader\" id=\"ApplicationLayoutHeader\"><nav class=\"ApplicationHeader user-select-none\"><div class=\"navbar-header\"><span class=\"navbar-brand home-icon\"></span></div><ul class=\"ModuleNavigation AppMenu user-select-none hasModules\"><li class=\"dropdown\"><a class=\"ModuleNavigation-dropdown dropdown-toggle justify-content-between\" role=\"button\" id=\"basic-nav-dropdown\"><span>RIO Service</span><span class=\"caret\"></span></a><ul role=\"menu\" class=\"dropdown-menu ModuleNavigation-dropdown-menu\"><li role=\"presentation\"><iframe title=\"iframe\" class=\"iFrameResizer\" src=\"https://menu.rio.cloud\" id=\"iFrameResizer0\" scrolling=\"no\" style=\"overflow: hidden;\"></iframe></li></ul></li></ul><ul class=\"SubmoduleNavigation nav\"><li class=\"submodule \" data-nav-item-key=\"1\"><a aria-current=\"page\" class=\"active\" href=\"#components/appLayout\">Navigation 1</a></li><li class=\"submodule \" data-nav-item-key=\"2\"><a href=\"#2\">Navigation 2</a></li><li class=\"CollapsedDropdown dropdown \"><a id=\"basic-nav-dropdown\" role=\"button\" class=\"dropdown-toggle text-color-gray\" aria-haspopup=\"true\" aria-expanded=\"true\"><span class=\"rioglyph rioglyph-option-horizontal\" aria-hidden=\"true\"></span></a><ul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"basic-nav-dropdown\"><li class=\"submodule\" data-nav-item-key=\"3\"><a href=\"#3\">Navigation 3</a></li></ul></li></ul><ul class=\"ApplicationActionBar nav navbar-nav navbar-right \"><li role=\"presentation\" class=\"navigationItem\"><div class=\"ActionBarItem myItem\"><div class=\"ActionBarItemIcon\"><span class=\"icon rioglyph rioglyph-info-sign\"></span></div></div></li><li role=\"presentation\" class=\"navigationItem\"><div class=\"ActionBarItem\"><div class=\"ActionBarItemIcon\"><span class=\"icon rioglyph rioglyph-notification\"></span><span class=\"badge badge-primary badge-indicator badge-indicator-pinging\">4</span></div></div></li><li role=\"presentation\" class=\"navigationItem\"><div class=\"ActionBarItem\"><div class=\"ActionBarItemIcon\"><span class=\"icon rioglyph rioglyph-user\"></span></div></div></li></ul></nav></div><div class=\"ApplicationLayoutSidebar\"><div class=\"AssetTree fluid\" style=\"width: 350px; height: 500px;\"><div class=\"AssetTreeResizeLimit\" style=\"left: 450px;\"></div><div class=\"AssetTreeContent\"><div class=\"TreeSidebar\"><ul class=\"TreeSidebarNavigation\"><li class=\"active\"><div class=\"selection-bubble\"><span class=\"rioglyph rioglyph-truck\"></span></div></li><li class=\"\"><div class=\"selection-bubble\"><span class=\"rioglyph rioglyph-driver\"></span></div></li></ul><div class=\"TreeSidebarToggle\"><span class=\"rioglyph rioglyph-chevron-left\"></span></div></div><div class=\"AssetTreeBody scrollbar-fly-in smooth-scrollbar-wrapper\" style=\"position: relative; overflow: hidden; width: 100%; height: 100%;\"><div class=\"scrollbar-view\" style=\"position: absolute; inset: 0px; overflow: scroll; margin-right: 0px; margin-bottom: 0px;\"><div class=\"scrollbar-content-wrapper\"><div class=\"TreeOffscreenWrapper\"><div class=\"Tree\"><div class=\"TreeHeader\"><div class=\"TreeSearch\"><div class=\"input-group flex-1-0\"><span class=\"input-group-addon\"><span class=\"rioglyph rioglyph-search\" aria-hidden=\"true\"></span></span><div class=\"ClearableInput input-group\"><input placeholder=\"Find asset\" class=\"form-control\" type=\"text\" tabindex=\"0\" value=\"\"><span class=\"clearButton hide\"><span class=\"clearButtonIcon rioglyph rioglyph-remove-sign\"></span></span></div></div></div><div class=\"TreeHead display-flex gap-5 padding-15\"><div class=\"border border-right-only hidden-empty padding-right-10 margin-right-2\"><div class=\"TreeSelectAll display-flex align-items-center\"><label class=\"checkbox margin-top--1\" tabindex=\"0\"><input type=\"checkbox\" class=\"margin-top--1\"><span class=\"checkbox-text\"></span></label></div></div><div class=\"display-flex justify-content-between align-items-start width-100pct\"><div class=\"TreeSummary display-flex flex-wrap align-items-center gap-10 padding-left-3\"><div class=\"TypeCounter display-flex align-items-center user-select-none margin-right-2 cursor-pointer\"><span class=\"rioglyph rioglyph-van text-size-16 margin-right-2\"></span><span class=\"TreeLabelCount label label-condensed label-muted label-filled\">1</span></div><div class=\"TypeCounter display-flex align-items-center user-select-none margin-right-2 cursor-pointer\"><span class=\"rioglyph rioglyph-trailer text-size-16 margin-right-2\"></span><span class=\"TreeLabelCount label label-condensed label-muted label-filled\">4</span></div><div class=\"TypeCounter display-flex align-items-center user-select-none margin-right-2 cursor-pointer\"><span class=\"rioglyph rioglyph-truck text-size-16 margin-right-2\"></span><span class=\"TreeLabelCount label label-condensed label-muted label-filled\">2</span></div><div class=\"TypeCounter display-flex align-items-center user-select-none margin-right-2 cursor-pointer\"><span class=\"rioglyph rioglyph-bus text-size-16 margin-right-2\"></span><span class=\"TreeLabelCount label label-condensed label-muted label-filled\">1</span></div></div></div></div></div><div class=\"TreeRoot user-select-none overflow-hidden\" style=\"position: relative;\"><div class=\"TreeNodeContainer user-select-none overflow-hidden open\" data-id=\"0250a8aa-721e-40b4-b1ea-7908acddfdf4\"><div class=\"TreeNode from-group\" data-key=\"0250a8aa-721e-40b4-b1ea-7908acddfdf4\"><label class=\"checkbox TreeCheckbox\" tabindex=\"0\"><input type=\"checkbox\" class=\"TreeCheckbox\"><span class=\"checkbox-text\"></span></label><span class=\"TreeLabel TreeLabelName\"><span class=\"TreeLabelNameText\"><span class=\"TreeLabelNameTextHeadline\">Asset Group</span></span><span class=\"TreeLabelCount label label-muted label-filled label-condensed\">7</span><span class=\"TreeLabelExpander rioglyph rioglyph-chevron-down \"></span></span></div><div class=\"TreeLeaf form-group margin-bottom-0\" data-key=\"010191ac-d06d-4567-b13a-7b7fd85d970\"><label class=\"checkbox TreeCheckbox\" tabindex=\"0\"><input type=\"checkbox\" class=\"TreeCheckbox\"><span class=\"checkbox-text\"></span></label><span class=\"TreeLabel TreeLabelName\"><span class=\"rioglyph rioglyph-van\"></span><span class=\"TreeLabelNameText\"><span class=\"TreeLabelNameTextHeadline\">Vehicle-1014</span><span class=\"TreeLabelNameTextSubline\">Asset 1000</span></span></span></div><div class=\"TreeLeaf form-group margin-bottom-0\" data-key=\"010191ac-d06d-4567-b13a-7b7fd85d974\"><label class=\"checkbox TreeCheckbox\" tabindex=\"0\"><input type=\"checkbox\" class=\"TreeCheckbox\"><span class=\"checkbox-text\"></span></label><span class=\"TreeLabel TreeLabelName\"><span class=\"rioglyph rioglyph-bus\"></span><span class=\"TreeLabelNameText\"><span class=\"TreeLabelNameTextHeadline\">Vehicle-2323</span><span class=\"TreeLabelNameTextSubline\">Asset 1004</span></span></span></div><div class=\"TreeLeaf form-group margin-bottom-0\" data-key=\"010191ac-d06d-4567-b13a-7b7fd85d973\"><label class=\"checkbox TreeCheckbox\" tabindex=\"0\"><input type=\"checkbox\" class=\"TreeCheckbox\"><span class=\"checkbox-text\"></span></label><span class=\"TreeLabel TreeLabelName\"><span class=\"rioglyph rioglyph-truck\"></span><span class=\"TreeLabelNameText\"><span class=\"TreeLabelNameTextHeadline\">Vehicle-3496</span><span class=\"TreeLabelNameTextSubline\">Asset 1003</span></span></span></div><div class=\"TreeLeaf form-group margin-bottom-0\" data-key=\"010191ac-d06d-4567-b13a-7b7fd85d971\"><label class=\"checkbox TreeCheckbox\" tabindex=\"0\"><input type=\"checkbox\" class=\"TreeCheckbox\"><span class=\"checkbox-text\"></span></label><span class=\"TreeLabel TreeLabelName\"><span class=\"rioglyph rioglyph-trailer\"></span><span class=\"TreeLabelNameText\"><span class=\"TreeLabelNameTextHeadline\">Vehicle-4416</span><span class=\"TreeLabelNameTextSubline\">Asset 1001</span></span></span></div><div class=\"TreeLeaf form-group margin-bottom-0\" data-key=\"010191ac-d06d-4567-b13a-7b7fd85d976\"><label class=\"checkbox TreeCheckbox\" tabindex=\"0\"><input type=\"checkbox\" class=\"TreeCheckbox\"><span class=\"checkbox-text\"></span></label><span class=\"TreeLabel TreeLabelName\"><span class=\"rioglyph rioglyph-truck\"></span><span class=\"TreeLabelNameText\"><span class=\"TreeLabelNameTextHeadline\">Vehicle-6334</span><span class=\"TreeLabelNameTextSubline\">Asset 1006</span></span></span></div><div class=\"TreeLeaf form-group margin-bottom-0\" data-key=\"010191ac-d06d-4567-b13a-7b7fd85d977\"><label class=\"checkbox TreeCheckbox\" tabindex=\"0\"><input type=\"checkbox\" class=\"TreeCheckbox\"><span class=\"checkbox-text\"></span></label><span class=\"TreeLabel TreeLabelName\"><span class=\"rioglyph rioglyph-trailer\"></span><span class=\"TreeLabelNameText\"><span class=\"TreeLabelNameTextHeadline\">Vehicle-7674</span><span class=\"TreeLabelNameTextSubline\">Asset 1007</span></span></span></div><div class=\"TreeLeaf form-group margin-bottom-0\" data-key=\"010191ac-d06d-4567-b13a-7b7fd85d975\"><label class=\"checkbox TreeCheckbox\" tabindex=\"0\"><input type=\"checkbox\" class=\"TreeCheckbox\"><span class=\"checkbox-text\"></span></label><span class=\"TreeLabel TreeLabelName\"><span class=\"rioglyph rioglyph-trailer\"></span><span class=\"TreeLabelNameText\"><span class=\"TreeLabelNameTextHeadline\">Vehicle-7793</span><span class=\"TreeLabelNameTextSubline\">Asset 1005</span></span></span></div></div><div class=\"TreeNodeContainer user-select-none overflow-hidden\" data-id=\"unassigned\"><div class=\"TreeNode from-group\" data-key=\"unassigned\"><label class=\"checkbox TreeCheckbox\" tabindex=\"0\"><input type=\"checkbox\" class=\"TreeCheckbox\"><span class=\"checkbox-text\"></span></label><span class=\"TreeLabel TreeLabelName\"><span class=\"TreeLabelNameText\"><span class=\"TreeLabelNameTextHeadline\">Ungrouped</span></span><span class=\"TreeLabelCount label label-muted label-filled label-condensed\">1</span><span class=\"TreeLabelExpander rioglyph rioglyph-chevron-down \"></span></span></div></div><div class=\"TreeTreeNothingFound display-flex justify-content-center text-size-20\n padding-top-25 margin-top-25 margin-bottom-25\" style=\"position: absolute; top: 25px; left: 0px; width: 300px; height: 105px; margin: 0px; pointer-events: none; transform-origin: center center; z-index: 100;\"><span class=\"rioglyph rioglyph-looking-glass-man text-size-400pct text-color-light\"></span></div></div></div></div><div class=\"TreeOffscreenWrapper position-offscreen pointer-events-none\"><div class=\"Tree\"><div class=\"TreeHeader\"><div class=\"TreeSearch\"><div class=\"input-group flex-1-0\"><span class=\"input-group-addon\"><span class=\"rioglyph rioglyph-search\" aria-hidden=\"true\"></span></span><div class=\"ClearableInput input-group\"><input placeholder=\"Type here to filter by name\" class=\"form-control\" type=\"text\" tabindex=\"0\" value=\"\"><span class=\"clearButton hide\"><span class=\"clearButtonIcon rioglyph rioglyph-remove-sign\"></span></span></div></div></div><div class=\"TreeHead display-flex gap-5 padding-15\"><div class=\"border border-right-only hidden-empty padding-right-10 margin-right-2\"></div><div class=\"display-flex justify-content-between align-items-start width-100pct\"><div class=\"TreeSummary display-flex flex-wrap align-items-center gap-10 padding-left-3\"><div class=\"TypeCounter display-flex align-items-center user-select-none margin-right-2 pointer-events-none\"><span class=\"rioglyph rioglyph-driver text-size-16 margin-right-2\"></span><span class=\"TreeLabelCount label label-condensed label-muted label-filled\">200</span></div></div></div></div></div><div class=\"TreeRoot user-select-none overflow-hidden\" style=\"position: relative;\"><div class=\"tree-virtual-scrollbar scrollbar-fly-in smooth-scrollbar-wrapper\" style=\"position: relative; overflow: hidden; width: 100%; height: 100%;\"><div class=\"scrollbar-view\" style=\"position: absolute; inset: 0px; overflow: scroll; margin-right: 0px; margin-bottom: 0px;\"><div class=\"scrollbar-content-wrapper\"><div class=\"flat-list\" style=\"height: 8200px; position: relative;\"></div></div></div><div class=\"scrollbar-track-horizontal\" style=\"position: absolute; height: 6px; display: none;\"><div class=\"scrollbar-thumb-horizontal\" style=\"position: relative; display: block; height: 100%;\"></div></div><div class=\"scrollbar-track-vertical\" style=\"position: absolute; width: 6px; display: none;\"><div class=\"scrollbar-thumb-vertical\" style=\"position: relative; display: block; width: 100%;\"></div></div></div><div class=\"TreeNodeContainer user-select-none overflow-hidden open\" style=\"position: absolute; top: 0px; left: 0px; width: 1280px; height: 155px; margin: 0px; pointer-events: none; transform-origin: center center; z-index: 100;\"><div class=\"TreeTreeNothingFound display-flex justify-content-center text-size-20\n padding-top-25 margin-top-25 margin-bottom-25\"><span class=\"rioglyph rioglyph-looking-glass-man text-size-400pct text-color-light\"></span></div></div></div></div></div></div></div><div class=\"scrollbar-track-horizontal\" style=\"position: absolute; height: 6px; display: none;\"><div class=\"scrollbar-thumb-horizontal\" style=\"position: relative; display: block; height: 100%;\"></div></div><div class=\"scrollbar-track-vertical\" style=\"position: absolute; width: 6px; display: none;\"><div class=\"scrollbar-thumb-vertical\" style=\"position: relative; display: block; width: 100%;\"></div></div></div></div><div class=\"Resizer resize-horizontal resize-right\"></div></div></div><div class=\"ApplicationLayoutSidebar right bg-white height-450\"><div class=\"Sidebar fly\" style=\"width: 350px; opacity: 1; display: block; transform: none;\"><div class=\"SidebarResizeLimit\" style=\"right: 600px;\"></div><div class=\"SidebarContent\"><div class=\"SidebarHeader\"><div class=\"SidebarTitle padding-left-10\">Sidebar Right</div><div class=\"SidebarButtons non-printable close\"><button type=\"button\" data-testid=\"sidebarFullscreenToggle\" class=\"btn btn-muted btn-icon-only btn-component\" tabindex=\"0\"><span class=\"rioglyph rioglyph-resize-full\"></span></button><div class=\"SidebarButtons-spacer\"></div><button type=\"button\" data-testid=\"sidebarCloseButton\" class=\"btn btn-muted btn-icon-only btn-component\" tabindex=\"0\"><span class=\"rioglyph rioglyph-remove\"></span></button></div></div><div class=\"SidebarBody\"><div class=\"padding-left-20 padding-right-20\">Sidebar components may be added here...</div></div><div class=\"SidebarFooter\"><button class=\"btn btn-primary\" type=\"button\">Close</button></div></div><div class=\"Resizer resize-horizontal resize-left\"></div></div></div><div class=\"ApplicationLayoutBody has-footer uikitDemo\"><div class=\"module-content-wrapper\"><div class=\"ApplicationLayoutBodyNavigation\"><div class=\"SubNavigation width-100pct overflow-auto\"><ul class=\"SubmoduleNavigation nav\"><li class=\"submodule\" data-nav-item-key=\"1\"><a aria-current=\"page\" class=\"active\" href=\"#components/appLayout\">Subnavigation 1</a></li><li class=\"submodule\" data-nav-item-key=\"2\"><a href=\"#2\">Subnavigation 2</a></li><li class=\"submodule\" data-nav-item-key=\"3\"><a href=\"#3\">Subnavigation 3</a></li></ul></div></div><div class=\"ApplicationLayoutBodyBanner text-color-white bg-primary position-sticky top-0 z-index-3\">Lorem ipsum dolor sit amet, consetetur sadipscing elitr, diam nonumy eirmod tempor invidunt.</div><div class=\"module-content smooth-scrollbar-wrapper\" style=\"position: relative; overflow: hidden; width: 100%; height: 100%;\"><div class=\"scrollbar-view\" style=\"position: absolute; inset: 0px; overflow: scroll; margin-right: 0px; margin-bottom: 0px;\"><div class=\"scrollbar-content-wrapper\"><div class=\"scrollbar-content\"><div><div class=\"panel panel-default shadow-default\"><div class=\"panel-heading\">Sample Service Content</div><div class=\"panel-body overflow-auto\"><button type=\"button\" class=\"btn btn-default btn-component\" tabindex=\"0\">Open Sidebar</button><div class=\"margin-top-15\">\nLorem ipsum dolor sit amet, consectetur adipiscing elit. In pharetra dui eget massa efficitur aliquam condimentum in felis. Integer eget metus vel nunc efficitur iaculis. Vivamus elementum ante et est sagittis semper. Ut consectetur enim nec tortor scelerisque tincidunt. Fusce ac ligula bibendum, rutrum libero quis, viverra sem. Interdum et malesuada fames ac ante ipsum primis in faucibus. Duis ut hendrerit massa, in molestie elit. Sed vitae orci ac purus volutpat posuere ac ut neque. Mauris ante orci, semper finibus lorem in, fringilla pretium velit.\n\nIn mattis massa a tellus laoreet volutpat. Integer placerat convallis tempor. Quisque id diam nec ex iaculis pulvinar. Nunc urna dui, varius at tempus sit amet, euismod id risus. Cras placerat imperdiet mattis. Etiam vehicula finibus magna. Nullam ornare diam at molestie faucibus. Aenean dictum magna a ipsum scelerisque, a vehicula massa vehicula. Suspendisse blandit tellus vulputate enim ullamcorper tincidunt. Vivamus enim justo, sollicitudin sit amet pulvinar vitae, vehicula sed leo. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae;\n\nPraesent mattis purus et velit maximus hendrerit. Aenean vehicula tempus dapibus. Mauris convallis pharetra purus, non vulputate erat rutrum quis. Sed in tincidunt justo. Ut eu venenatis augue. Aliquam ullamcorper vitae tellus et egestas. Integer eget metus quis odio elementum auctor quis et ipsum. Duis lobortis eros lacinia sapien rutrum egestas. Phasellus ornare, elit non efficitur fringilla, arcu risus molestie enim, sit amet blandit lorem ex in lectus. Vestibulum quis tempor nisi, at pretium erat.</div></div></div></div></div></div></div><div class=\"scrollbar-track-horizontal scrollbar-track-size-large scrollbar-track-offset\" style=\"position: absolute; height: 6px; display: none;\"><div class=\"scrollbar-thumb-horizontal scrollbar-thumb-size-large\" style=\"position: relative; display: block; height: 100%;\"></div></div><div class=\"scrollbar-track-vertical scrollbar-track-size-large scrollbar-track-offset\" style=\"position: absolute; width: 6px; display: none;\"><div class=\"scrollbar-thumb-vertical scrollbar-thumb-size-large\" style=\"position: relative; display: block; width: 100%;\"></div></div></div></div><span class=\"scroll-to-top\"><button type=\"button\" class=\"btn btn-primary btn-icon-only\"><span class=\"rioglyph rioglyph-arrow-up\"></span></button></span></div><div class=\"ApplicationLayoutBodyBottomBar justify-content-between\"><button type=\"button\" class=\"btn btn-primary\">Bottom Button</button></div></div></div>",
|
|
1007
|
+
"tabs": [
|
|
1008
|
+
{
|
|
1009
|
+
"label": "React",
|
|
1010
|
+
"language": "tsx",
|
|
1011
|
+
"code": "import { useState, useEffect } from 'react';\nimport { Link, NavLink } from 'react-router-dom';\nimport random from 'lodash/fp/random';\nimport faker from 'faker';\nimport IframeResizer from 'iframe-resizer-react';\n\nimport ApplicationLayout from '@rio-cloud/rio-uikit/ApplicationLayout';\nimport ApplicationHeader from '@rio-cloud/rio-uikit/ApplicationHeader';\nimport ActionBarItem from '@rio-cloud/rio-uikit/ActionBarItem';\nimport ApplicationLayoutBodyBanner from '@rio-cloud/rio-uikit/ApplicationLayoutBodyBanner';\nimport ApplicationLayoutBodyBottomBar from '@rio-cloud/rio-uikit/ApplicationLayoutBodyBottomBar';\nimport ApplicationLayoutBodyNavigation from '@rio-cloud/rio-uikit/ApplicationLayoutBodyNavigation';\nimport SubNavigation from '@rio-cloud/rio-uikit/SubNavigation';\nimport useResizeObserver from '@rio-cloud/rio-uikit/useResizeObserver';\nimport { SCREEN_MD } from '@rio-cloud/rio-uikit/DeviceUtils';\nimport Sidebar from '@rio-cloud/rio-uikit/Sidebar';\nimport Button from '@rio-cloud/rio-uikit/Button';\nimport Notification from '@rio-cloud/rio-uikit/Notification';\nimport AssetTree from '@rio-cloud/rio-uikit/AssetTree';\nimport TreeCategory from '@rio-cloud/rio-uikit/TreeCategory';\nimport Tree, { type TreeGroup } from '@rio-cloud/rio-uikit/Tree';\n\nimport { dummyTextLong } from '../../../utils/data';\n\nconst CATEGORY_ASSETS = 'trucks';\nconst CATEGORY_DRIVER = 'driver';\n\nconst navItems = [\n { key: '1', route: <NavLink to='/components/appLayout'>Navigation 1</NavLink> },\n {\n key: '2',\n route: (\n <NavLink to='/2' onClick={event => event.preventDefault()}>\n Navigation 2\n </NavLink>\n ),\n },\n {\n key: '3',\n route: (\n <NavLink to='/3' onClick={event => event.preventDefault()}>\n Navigation 3\n </NavLink>\n ),\n },\n];\n\nconst ServiceInfo = () => (\n <ActionBarItem.List>\n <ActionBarItem.ListItem icon='rioglyph-hand-right' onClick={() => Notification.info('Show Welcome Dialog')}>\n <div className='display-flex align-items-center gap-5'>\n <span>Welcome</span>\n <span className='badge badge-primary'>1</span>\n </div>\n </ActionBarItem.ListItem>\n <ActionBarItem.ListItem\n icon='rioglyph-exclamation-sign'\n onClick={() => Notification.info(\"Show What's New Dialog\")}\n >\n What's new?\n </ActionBarItem.ListItem>\n <ActionBarItem.ListItem icon='rioglyph-question-sign' onClick={() => Notification.info('Show Features Dialog')}>\n Features\n </ActionBarItem.ListItem>\n <ActionBarItem.ListItem icon='rioglyph-envelope' hasLink>\n <Link to='/components/appHeader'>Feedback</Link>\n </ActionBarItem.ListItem>\n </ActionBarItem.List>\n);\n\nconst ServiceInfoComponent = (\n <ActionBarItem id='serviceInfo' className='myItem'>\n <ActionBarItem.Icon>\n <span className='icon rioglyph rioglyph-info-sign' />\n </ActionBarItem.Icon>\n <ActionBarItem.Popover\n className='myItemPopover'\n title={\n <div>\n <span>Service XYZ</span>\n <span className='text-color-gray margin-left-10'>v1.1.0</span>\n </div>\n }\n >\n <ServiceInfo />\n </ActionBarItem.Popover>\n </ActionBarItem>\n);\n\nconst AccountMenuComponent = (\n <ActionBarItem id='accountMenu' hidePopoverOnClick={false}>\n <ActionBarItem.Icon>\n <span className='icon rioglyph rioglyph-user' />\n </ActionBarItem.Icon>\n <ActionBarItem.Popover>\n <ActionBarItem.List>\n <ActionBarItem.ListItem>\n <div>\n <div className='text-medium'>This is just an example</div>\n <div>The real account menu comes here...</div>\n </div>\n </ActionBarItem.ListItem>\n <ActionBarItem.ListSeparator />\n <ActionBarItem.ListItem className='padding-0'>\n <iframe\n className='buyButton height-30 padding-top-5 padding-bottom-5'\n title='ContactForm'\n src='https://contact-form.rio.cloud/contact_link.html?opener=https%3A%2F%2Fhome.rio.cloud%2F&locale=en-GB'\n />\n </ActionBarItem.ListItem>\n <ActionBarItem.ListSeparator />\n <ActionBarItem.ListItem className='padding-0'>\n <button\n type='button'\n className='btn btn-link btn-link-inline text-color-dark'\n onClick={() => Notification.info('Logout')}\n >\n <span className='rioglyph rioglyph-off margin-right-5 text-size-16 text-color-dark' />\n <span>Logout</span>\n </button>\n </ActionBarItem.ListItem>\n </ActionBarItem.List>\n </ActionBarItem.Popover>\n </ActionBarItem>\n);\n\nconst Notifications = (\n <ActionBarItem id='notifications'>\n <ActionBarItem.Icon>\n <span className='icon rioglyph rioglyph-notification' />\n <span className='badge badge-primary badge-indicator badge-indicator-pinging'>4</span>\n </ActionBarItem.Icon>\n </ActionBarItem>\n);\n\nexport default () => {\n const [showSidebar, setShowSidebar] = useState(true);\n const [isTreeOpen, setIsTreeOpen] = useState(true);\n const [currentCategoryId, setCurrentCategoryId] = useState(CATEGORY_ASSETS);\n const [selectedGroupIds, setSelectedGroupIds] = useState([]);\n const [selectedItemIds, setSelectedItemIds] = useState([]);\n const [expandedGroups, setExpandedGroups] = useState([assetGroups[0].id]);\n\n // Listen for resize changes of the target element defined by the ref\n // Note: this is for demo purpose only when resizing the demo playground.\n // The SubNavigation component handles this case internally\n const { ref, isMobile } = useResizer();\n const bodyNavigationClasses = ''; // isMobile ? '' : 'has-offset';\n\n const handleCloseSidebar = () => setShowSidebar(false);\n const handleOpenSidebar = () => setShowSidebar(true);\n const handleToggleTree = (toggle: boolean) => setIsTreeOpen(toggle);\n const handleChangeCategories = (categoryId: string) => setCurrentCategoryId(categoryId);\n const handleExpandGroup = (newExpandedGroups: string[]) => setExpandedGroups(newExpandedGroups);\n const handleSelection = ({ items, groups }: any) => {\n setSelectedItemIds(items);\n setSelectedGroupIds(groups);\n };\n\n return (\n <ApplicationLayout className='bg-lighter height-500' layoutRef={ref}>\n <ApplicationLayout.Header>\n <ApplicationHeader\n label='RIO Service'\n appNavigator={\n <IframeResizer className='iFrameResizer' src='https://menu.rio.cloud' checkOrigin={false} />\n }\n navItems={navItems}\n actionBarItems={[ServiceInfoComponent, Notifications, AccountMenuComponent]}\n />\n </ApplicationLayout.Header>\n <ApplicationLayout.Sidebar>\n <AssetTree\n minWidth={300}\n maxWidth={450}\n currentCategoryId={currentCategoryId}\n onCategoryChange={handleChangeCategories}\n height={500}\n isOpen={isTreeOpen}\n onToggleTree={handleToggleTree}\n useOffscreen\n >\n <TreeCategory key={CATEGORY_ASSETS} id={CATEGORY_ASSETS} label='Assets' icon='rioglyph-truck'>\n <Tree\n groups={assetGroups}\n items={assets}\n searchPlaceholder='Find asset'\n expandedGroups={expandedGroups}\n onExpandGroupsChange={handleExpandGroup}\n selectedGroups={selectedGroupIds}\n selectedItems={selectedItemIds}\n onSelectionChange={handleSelection}\n />\n </TreeCategory>\n <TreeCategory key={CATEGORY_DRIVER} id={CATEGORY_DRIVER} label='My Drivers' icon='rioglyph-driver'>\n <Tree items={randomDrivers} hasMultiselect={false} />\n </TreeCategory>\n </AssetTree>\n </ApplicationLayout.Sidebar>\n <ApplicationLayout.Sidebar className='right bg-white height-450'>\n <Sidebar\n title='Sidebar Right'\n titleClassName='padding-left-10'\n closed={!showSidebar}\n onClose={handleCloseSidebar}\n position={Sidebar.RIGHT}\n enableFullscreenToggle\n resizable\n minWidth={300}\n maxWidth={600}\n switchModeBreakpoint={1400}\n footer={\n <button className='btn btn-primary' type='button' onClick={handleCloseSidebar}>\n Close\n </button>\n }\n >\n <div className='padding-left-20 padding-right-20'>Sidebar components may be added here...</div>\n </Sidebar>\n </ApplicationLayout.Sidebar>\n <ApplicationLayout.Body\n className='uikitDemo'\n banner={\n <ApplicationLayoutBodyBanner>\n Lorem ipsum dolor sit amet, consetetur sadipscing elitr, diam nonumy eirmod tempor invidunt.\n </ApplicationLayoutBodyBanner>\n }\n navigation={\n <ApplicationLayoutBodyNavigation className={bodyNavigationClasses}>\n <SubNavigation\n navItems={[\n {\n key: '1',\n route: <NavLink to='/components/appLayout'>Subnavigation 1</NavLink>,\n },\n {\n key: '2',\n route: (\n <NavLink to='/2' onClick={event => event.preventDefault()}>\n Subnavigation 2\n </NavLink>\n ),\n },\n {\n key: '3',\n route: (\n <NavLink to='/3' onClick={event => event.preventDefault()}>\n Subnavigation 3\n </NavLink>\n ),\n },\n ]}\n />\n </ApplicationLayoutBodyNavigation>\n }\n bottomBar={\n <ApplicationLayoutBodyBottomBar>\n <button type='button' className='btn btn-primary'>\n Bottom Button\n </button>\n </ApplicationLayoutBodyBottomBar>\n }\n >\n <div>\n <div className='panel panel-default shadow-default'>\n <div className='panel-heading'>Sample Service Content</div>\n <div className='panel-body overflow-auto'>\n <Button onClick={handleOpenSidebar}>Open Sidebar</Button>\n <div className='margin-top-15'>{dummyTextLong}</div>\n </div>\n </div>\n </div>\n </ApplicationLayout.Body>\n </ApplicationLayout>\n );\n};\n\nconst useResizer = () => {\n const [isMobile, setIsMobile] = useState(false);\n const [ref, observerEntry] = useResizeObserver();\n const contentRect = observerEntry?.contentRect;\n useEffect(() => {\n if (!contentRect) {\n return;\n }\n const width = Math.round(contentRect.width);\n if (width <= SCREEN_MD) {\n setIsMobile(true);\n } else {\n setIsMobile(false);\n }\n }, [contentRect]);\n\n return { ref, isMobile };\n};\n\nconst assetGroups: TreeGroup[] = [\n {\n id: '0250a8aa-721e-40b4-b1ea-7908acddfdf4',\n name: 'Asset Group',\n },\n {\n id: 'unassigned',\n name: 'Ungrouped',\n position: 'last',\n },\n];\n\nconst assets = Array.from({ length: random(5, 20) }, (_, index) => ({\n id: `010191ac-d06d-4567-b13a-7b7fd85d97${index}`,\n name: `Vehicle-${random(1000, 9999)}`,\n info: `Asset 1${String(index).padStart(3, '0')}`,\n type: faker.random.arrayElement(['truck', 'trailer', 'van', 'bus']),\n groupIds: [faker.random.arrayElement(assetGroups).id],\n}));\n\nconst randomDrivers = Array.from({ length: 200 }, (_, index) => ({\n id: `74e8eb86-18a1-4abe-90cb-aeee7909f85${index}`,\n name: {\n firstName: faker.internet.userName(),\n lastName: faker.name.firstName(),\n },\n type: 'driver',\n}));"
|
|
1012
|
+
},
|
|
1013
|
+
{
|
|
1014
|
+
"label": "HTML",
|
|
1015
|
+
"language": "html",
|
|
1016
|
+
"code": "<div class=\"ApplicationLayout bg-lighter height-500\" style=\"--ApplicationLayoutBodyBottomBarHeight: 54px;\">\n <div class=\"ApplicationLayoutHeader\" id=\"ApplicationLayoutHeader\">\n <nav class=\"ApplicationHeader user-select-none\">\n <div class=\"navbar-header\">\n <span class=\"navbar-brand home-icon\">\n </span>\n </div>\n <ul class=\"ModuleNavigation AppMenu user-select-none hasModules\">\n <li class=\"dropdown\">\n <a class=\"ModuleNavigation-dropdown dropdown-toggle justify-content-between\" role=\"button\" id=\"basic-nav-dropdown\">\n <span>RIO Service</span>\n <span class=\"caret\">\n </span>\n </a>\n <ul role=\"menu\" class=\"dropdown-menu ModuleNavigation-dropdown-menu\">\n <li role=\"presentation\">\n <iframe title=\"iframe\" class=\"iFrameResizer\" src=\"https://menu.rio.cloud\" id=\"iFrameResizer0\" scrolling=\"no\" style=\"overflow: hidden; height: 139px;\">\n </iframe>\n </li>\n </ul>\n </li>\n </ul>\n <ul class=\"SubmoduleNavigation nav\">\n <li class=\"submodule \" data-nav-item-key=\"1\">\n <a aria-current=\"page\" class=\"active\" href=\"#components/appLayout\">Navigation 1</a>\n </li>\n <li class=\"submodule \" data-nav-item-key=\"2\">\n <a href=\"#2\">Navigation 2</a>\n </li>\n <li class=\"CollapsedDropdown dropdown \">\n <a id=\"basic-nav-dropdown\" role=\"button\" class=\"dropdown-toggle text-color-gray\" aria-haspopup=\"true\" aria-expanded=\"true\">\n <span class=\"rioglyph rioglyph-option-horizontal\" aria-hidden=\"true\">\n </span>\n </a>\n <ul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"basic-nav-dropdown\">\n <li class=\"submodule\" data-nav-item-key=\"3\">\n <a href=\"#3\">Navigation 3</a>\n </li>\n </ul>\n </li>\n </ul>\n <ul class=\"ApplicationActionBar nav navbar-nav navbar-right \">\n <li role=\"presentation\" class=\"navigationItem\">\n <div class=\"ActionBarItem myItem\">\n <div class=\"ActionBarItemIcon\">\n <span class=\"icon rioglyph rioglyph-info-sign\">\n </span>\n </div>\n </div>\n </li>\n <li role=\"presentation\" class=\"navigationItem\">\n <div class=\"ActionBarItem\">\n <div class=\"ActionBarItemIcon\">\n <span class=\"icon rioglyph rioglyph-notification\">\n </span>\n <span class=\"badge badge-primary badge-indicator badge-indicator-pinging\">4</span>\n </div>\n </div>\n </li>\n <li role=\"presentation\" class=\"navigationItem\">\n <div class=\"ActionBarItem\">\n <div class=\"ActionBarItemIcon\">\n <span class=\"icon rioglyph rioglyph-user\">\n </span>\n </div>\n </div>\n </li>\n </ul>\n </nav>\n </div>\n <div class=\"ApplicationLayoutSidebar\">\n <div class=\"AssetTree fluid\" style=\"width: 350px; height: 500px;\">\n <div class=\"AssetTreeResizeLimit\" style=\"left: 450px;\">\n </div>\n <div class=\"AssetTreeContent\">\n <div class=\"TreeSidebar\">\n <ul class=\"TreeSidebarNavigation\">\n <li class=\"active\">\n <div class=\"selection-bubble\">\n <span class=\"rioglyph rioglyph-truck\">\n </span>\n </div>\n </li>\n <li class=\"\">\n <div class=\"selection-bubble\">\n <span class=\"rioglyph rioglyph-driver\">\n </span>\n </div>\n </li>\n </ul>\n <div class=\"TreeSidebarToggle\">\n <span class=\"rioglyph rioglyph-chevron-left\">\n </span>\n </div>\n </div>\n <div class=\"AssetTreeBody scrollbar-fly-in smooth-scrollbar-wrapper\" style=\"position: relative; overflow: hidden; width: 100%; height: 100%;\">\n <div class=\"scrollbar-view\" style=\"position: absolute; inset: 0px; overflow: scroll; margin-right: 0px; margin-bottom: 0px;\">\n <div class=\"scrollbar-content-wrapper\">\n <div class=\"TreeOffscreenWrapper\">\n <div class=\"Tree\">\n <div class=\"TreeHeader\">\n <div class=\"TreeSearch\">\n <div class=\"input-group flex-1-0\">\n <span class=\"input-group-addon\">\n <span class=\"rioglyph rioglyph-search\" aria-hidden=\"true\">\n </span>\n </span>\n <div class=\"ClearableInput input-group\">\n <input placeholder=\"Find asset\" class=\"form-control\" type=\"text\" tabindex=\"0\" value=\"\">\n <span class=\"clearButton hide\">\n <span class=\"clearButtonIcon rioglyph rioglyph-remove-sign\">\n </span>\n </span>\n </div>\n </div>\n </div>\n <div class=\"TreeHead display-flex gap-5 padding-15\">\n <div class=\"border border-right-only hidden-empty padding-right-10 margin-right-2\">\n <div class=\"TreeSelectAll display-flex align-items-center\">\n <label class=\"checkbox margin-top--1\" tabindex=\"0\">\n <input type=\"checkbox\" class=\"margin-top--1\">\n <span class=\"checkbox-text\">\n </span>\n </label>\n </div>\n </div>\n <div class=\"display-flex justify-content-between align-items-start width-100pct\">\n <div class=\"TreeSummary display-flex flex-wrap align-items-center gap-10 padding-left-3\">\n <div class=\"TypeCounter display-flex align-items-center user-select-none margin-right-2 cursor-pointer\">\n <span class=\"rioglyph rioglyph-van text-size-16 margin-right-2\">\n </span>\n <span class=\"TreeLabelCount label label-condensed label-muted label-filled\">1</span>\n </div>\n <div class=\"TypeCounter display-flex align-items-center user-select-none margin-right-2 cursor-pointer\">\n <span class=\"rioglyph rioglyph-trailer text-size-16 margin-right-2\">\n </span>\n <span class=\"TreeLabelCount label label-condensed label-muted label-filled\">4</span>\n </div>\n <div class=\"TypeCounter display-flex align-items-center user-select-none margin-right-2 cursor-pointer\">\n <span class=\"rioglyph rioglyph-truck text-size-16 margin-right-2\">\n </span>\n <span class=\"TreeLabelCount label label-condensed label-muted label-filled\">2</span>\n </div>\n <div class=\"TypeCounter display-flex align-items-center user-select-none margin-right-2 cursor-pointer\">\n <span class=\"rioglyph rioglyph-bus text-size-16 margin-right-2\">\n </span>\n <span class=\"TreeLabelCount label label-condensed label-muted label-filled\">1</span>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"TreeRoot user-select-none overflow-hidden\" style=\"position: relative;\">\n <div class=\"TreeNodeContainer user-select-none overflow-hidden open\" data-id=\"0250a8aa-721e-40b4-b1ea-7908acddfdf4\">\n <div class=\"TreeNode from-group\" data-key=\"0250a8aa-721e-40b4-b1ea-7908acddfdf4\">\n <label class=\"checkbox TreeCheckbox\" tabindex=\"0\">\n <input type=\"checkbox\" class=\"TreeCheckbox\">\n <span class=\"checkbox-text\">\n </span>\n </label>\n <span class=\"TreeLabel TreeLabelName\">\n <span class=\"TreeLabelNameText\">\n <span class=\"TreeLabelNameTextHeadline\">Asset Group</span>\n </span>\n <span class=\"TreeLabelCount label label-muted label-filled label-condensed\">7</span>\n <span class=\"TreeLabelExpander rioglyph rioglyph-chevron-down \">\n </span>\n </span>\n </div>\n <div class=\"TreeLeaf form-group margin-bottom-0\" data-key=\"010191ac-d06d-4567-b13a-7b7fd85d970\">\n <label class=\"checkbox TreeCheckbox\" tabindex=\"0\">\n <input type=\"checkbox\" class=\"TreeCheckbox\">\n <span class=\"checkbox-text\">\n </span>\n </label>\n <span class=\"TreeLabel TreeLabelName\">\n <span class=\"rioglyph rioglyph-van\">\n </span>\n <span class=\"TreeLabelNameText\">\n <span class=\"TreeLabelNameTextHeadline\">Vehicle-1014</span>\n <span class=\"TreeLabelNameTextSubline\">Asset 1000</span>\n </span>\n </span>\n </div>\n <div class=\"TreeLeaf form-group margin-bottom-0\" data-key=\"010191ac-d06d-4567-b13a-7b7fd85d974\">\n <label class=\"checkbox TreeCheckbox\" tabindex=\"0\">\n <input type=\"checkbox\" class=\"TreeCheckbox\">\n <span class=\"checkbox-text\">\n </span>\n </label>\n <span class=\"TreeLabel TreeLabelName\">\n <span class=\"rioglyph rioglyph-bus\">\n </span>\n <span class=\"TreeLabelNameText\">\n <span class=\"TreeLabelNameTextHeadline\">Vehicle-2323</span>\n <span class=\"TreeLabelNameTextSubline\">Asset 1004</span>\n </span>\n </span>\n </div>\n <div class=\"TreeLeaf form-group margin-bottom-0\" data-key=\"010191ac-d06d-4567-b13a-7b7fd85d973\">\n <label class=\"checkbox TreeCheckbox\" tabindex=\"0\">\n <input type=\"checkbox\" class=\"TreeCheckbox\">\n <span class=\"checkbox-text\">\n </span>\n </label>\n <span class=\"TreeLabel TreeLabelName\">\n <span class=\"rioglyph rioglyph-truck\">\n </span>\n <span class=\"TreeLabelNameText\">\n <span class=\"TreeLabelNameTextHeadline\">Vehicle-3496</span>\n <span class=\"TreeLabelNameTextSubline\">Asset 1003</span>\n </span>\n </span>\n </div>\n <div class=\"TreeLeaf form-group margin-bottom-0\" data-key=\"010191ac-d06d-4567-b13a-7b7fd85d971\">\n <label class=\"checkbox TreeCheckbox\" tabindex=\"0\">\n <input type=\"checkbox\" class=\"TreeCheckbox\">\n <span class=\"checkbox-text\">\n </span>\n </label>\n <span class=\"TreeLabel TreeLabelName\">\n <span class=\"rioglyph rioglyph-trailer\">\n </span>\n <span class=\"TreeLabelNameText\">\n <span class=\"TreeLabelNameTextHeadline\">Vehicle-4416</span>\n <span class=\"TreeLabelNameTextSubline\">Asset 1001</span>\n </span>\n </span>\n </div>\n <div class=\"TreeLeaf form-group margin-bottom-0\" data-key=\"010191ac-d06d-4567-b13a-7b7fd85d976\">\n <label class=\"checkbox TreeCheckbox\" tabindex=\"0\">\n <input type=\"checkbox\" class=\"TreeCheckbox\">\n <span class=\"checkbox-text\">\n </span>\n </label>\n <span class=\"TreeLabel TreeLabelName\">\n <span class=\"rioglyph rioglyph-truck\">\n </span>\n <span class=\"TreeLabelNameText\">\n <span class=\"TreeLabelNameTextHeadline\">Vehicle-6334</span>\n <span class=\"TreeLabelNameTextSubline\">Asset 1006</span>\n </span>\n </span>\n </div>\n <div class=\"TreeLeaf form-group margin-bottom-0\" data-key=\"010191ac-d06d-4567-b13a-7b7fd85d977\">\n <label class=\"checkbox TreeCheckbox\" tabindex=\"0\">\n <input type=\"checkbox\" class=\"TreeCheckbox\">\n <span class=\"checkbox-text\">\n </span>\n </label>\n <span class=\"TreeLabel TreeLabelName\">\n <span class=\"rioglyph rioglyph-trailer\">\n </span>\n <span class=\"TreeLabelNameText\">\n <span class=\"TreeLabelNameTextHeadline\">Vehicle-7674</span>\n <span class=\"TreeLabelNameTextSubline\">Asset 1007</span>\n </span>\n </span>\n </div>\n <div class=\"TreeLeaf form-group margin-bottom-0\" data-key=\"010191ac-d06d-4567-b13a-7b7fd85d975\">\n <label class=\"checkbox TreeCheckbox\" tabindex=\"0\">\n <input type=\"checkbox\" class=\"TreeCheckbox\">\n <span class=\"checkbox-text\">\n </span>\n </label>\n <span class=\"TreeLabel TreeLabelName\">\n <span class=\"rioglyph rioglyph-trailer\">\n </span>\n <span class=\"TreeLabelNameText\">\n <span class=\"TreeLabelNameTextHeadline\">Vehicle-7793</span>\n <span class=\"TreeLabelNameTextSubline\">Asset 1005</span>\n </span>\n </span>\n </div>\n </div>\n <div class=\"TreeNodeContainer user-select-none overflow-hidden\" data-id=\"unassigned\">\n <div class=\"TreeNode from-group\" data-key=\"unassigned\">\n <label class=\"checkbox TreeCheckbox\" tabindex=\"0\">\n <input type=\"checkbox\" class=\"TreeCheckbox\">\n <span class=\"checkbox-text\">\n </span>\n </label>\n <span class=\"TreeLabel TreeLabelName\">\n <span class=\"TreeLabelNameText\">\n <span class=\"TreeLabelNameTextHeadline\">Ungrouped</span>\n </span>\n <span class=\"TreeLabelCount label label-muted label-filled label-condensed\">1</span>\n <span class=\"TreeLabelExpander rioglyph rioglyph-chevron-down \">\n </span>\n </span>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"TreeOffscreenWrapper position-offscreen pointer-events-none\">\n <div class=\"Tree\">\n <div class=\"TreeHeader\">\n <div class=\"TreeSearch\">\n <div class=\"input-group flex-1-0\">\n <span class=\"input-group-addon\">\n <span class=\"rioglyph rioglyph-search\" aria-hidden=\"true\">\n </span>\n </span>\n <div class=\"ClearableInput input-group\">\n <input placeholder=\"Type here to filter by name\" class=\"form-control\" type=\"text\" tabindex=\"0\" value=\"\">\n <span class=\"clearButton hide\">\n <span class=\"clearButtonIcon rioglyph rioglyph-remove-sign\">\n </span>\n </span>\n </div>\n </div>\n </div>\n <div class=\"TreeHead display-flex gap-5 padding-15\">\n <div class=\"border border-right-only hidden-empty padding-right-10 margin-right-2\">\n </div>\n <div class=\"display-flex justify-content-between align-items-start width-100pct\">\n <div class=\"TreeSummary display-flex flex-wrap align-items-center gap-10 padding-left-3\">\n <div class=\"TypeCounter display-flex align-items-center user-select-none margin-right-2 pointer-events-none\">\n <span class=\"rioglyph rioglyph-driver text-size-16 margin-right-2\">\n </span>\n <span class=\"TreeLabelCount label label-condensed label-muted label-filled\">200</span>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"TreeRoot user-select-none overflow-hidden\" style=\"position: relative;\">\n <div class=\"tree-virtual-scrollbar scrollbar-fly-in smooth-scrollbar-wrapper\" style=\"position: relative; overflow: hidden; width: 100%; height: 100%;\">\n <div class=\"scrollbar-view\" style=\"position: absolute; inset: 0px; overflow: scroll; margin-right: 0px; margin-bottom: 0px;\">\n <div class=\"scrollbar-content-wrapper\">\n <div class=\"flat-list\" style=\"height: 8200px; position: relative;\">\n </div>\n </div>\n </div>\n <div class=\"scrollbar-track-horizontal\" style=\"position: absolute; height: 6px; display: none;\">\n <div class=\"scrollbar-thumb-horizontal\" style=\"position: relative; display: block; height: 100%;\">\n </div>\n </div>\n <div class=\"scrollbar-track-vertical\" style=\"position: absolute; width: 6px; display: none;\">\n <div class=\"scrollbar-thumb-vertical\" style=\"position: relative; display: block; width: 100%;\">\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"scrollbar-track-horizontal\" style=\"position: absolute; height: 6px; display: none;\">\n <div class=\"scrollbar-thumb-horizontal\" style=\"position: relative; display: block; height: 100%;\">\n </div>\n </div>\n <div class=\"scrollbar-track-vertical\" style=\"position: absolute; width: 6px; display: none;\">\n <div class=\"scrollbar-thumb-vertical\" style=\"position: relative; display: block; width: 100%;\">\n </div>\n </div>\n </div>\n </div>\n <div class=\"Resizer resize-horizontal resize-right\">\n </div>\n </div>\n </div>\n <div class=\"ApplicationLayoutSidebar right bg-white height-450\">\n <div class=\"Sidebar fly\" style=\"width: 350px; opacity: 1; display: block; transform: none;\">\n <div class=\"SidebarResizeLimit\" style=\"right: 600px;\">\n </div>\n <div class=\"SidebarContent\">\n <div class=\"SidebarHeader\">\n <div class=\"SidebarTitle padding-left-10\">Sidebar Right</div>\n <div class=\"SidebarButtons non-printable close\">\n <button type=\"button\" data-testid=\"sidebarFullscreenToggle\" class=\"btn btn-muted btn-icon-only btn-component\" tabindex=\"0\">\n <span class=\"rioglyph rioglyph-resize-full\">\n </span>\n </button>\n <div class=\"SidebarButtons-spacer\">\n </div>\n <button type=\"button\" data-testid=\"sidebarCloseButton\" class=\"btn btn-muted btn-icon-only btn-component\" tabindex=\"0\">\n <span class=\"rioglyph rioglyph-remove\">\n </span>\n </button>\n </div>\n </div>\n <div class=\"SidebarBody\">\n <div class=\"padding-left-20 padding-right-20\">Sidebar components may be added here...</div>\n </div>\n <div class=\"SidebarFooter\">\n <button class=\"btn btn-primary\" type=\"button\">Close</button>\n </div>\n </div>\n <div class=\"Resizer resize-horizontal resize-left\">\n </div>\n </div>\n </div>\n <div class=\"ApplicationLayoutBody has-footer uikitDemo\">\n <div class=\"module-content-wrapper\">\n <div class=\"ApplicationLayoutBodyNavigation\">\n <div class=\"SubNavigation width-100pct overflow-auto\">\n <ul class=\"SubmoduleNavigation nav\">\n <li class=\"submodule\" data-nav-item-key=\"1\">\n <a aria-current=\"page\" class=\"active\" href=\"#components/appLayout\">Subnavigation 1</a>\n </li>\n <li class=\"submodule\" data-nav-item-key=\"2\">\n <a href=\"#2\">Subnavigation 2</a>\n </li>\n <li class=\"submodule\" data-nav-item-key=\"3\">\n <a href=\"#3\">Subnavigation 3</a>\n </li>\n </ul>\n </div>\n </div>\n <div class=\"ApplicationLayoutBodyBanner text-color-white bg-primary position-sticky top-0 z-index-3\">Lorem ipsum dolor sit amet, consetetur sadipscing elitr, diam nonumy eirmod tempor invidunt.</div>\n <div class=\"module-content smooth-scrollbar-wrapper\" style=\"position: relative; overflow: hidden; width: 100%; height: 100%;\">\n <div class=\"scrollbar-view\" style=\"position: absolute; inset: 0px; overflow: scroll; margin-right: 0px; margin-bottom: 0px;\">\n <div class=\"scrollbar-content-wrapper\">\n <div class=\"scrollbar-content\">\n <div>\n <div class=\"panel panel-default shadow-default\">\n <div class=\"panel-heading\">Sample Service Content</div>\n <div class=\"panel-body overflow-auto\">\n <button type=\"button\" class=\"btn btn-default btn-component\" tabindex=\"0\">Open Sidebar</button>\n <div class=\"margin-top-15\">\n Lorem ipsum dolor sit amet, consectetur adipiscing elit. In pharetra dui eget massa efficitur aliquam condimentum in felis. Integer eget metus vel nunc efficitur iaculis. Vivamus elementum ante et est sagittis semper. Ut consectetur enim nec tortor scelerisque tincidunt. Fusce ac ligula bibendum, rutrum libero quis, viverra sem. Interdum et malesuada fames ac ante ipsum primis in faucibus. Duis ut hendrerit massa, in molestie elit. Sed vitae orci ac purus volutpat posuere ac ut neque. Mauris ante orci, semper finibus lorem in, fringilla pretium velit.\n\n In mattis massa a tellus laoreet volutpat. Integer placerat convallis tempor. Quisque id diam nec ex iaculis pulvinar. Nunc urna dui, varius at tempus sit amet, euismod id risus. Cras placerat imperdiet mattis. Etiam vehicula finibus magna. Nullam ornare diam at molestie faucibus. Aenean dictum magna a ipsum scelerisque, a vehicula massa vehicula. Suspendisse blandit tellus vulputate enim ullamcorper tincidunt. Vivamus enim justo, sollicitudin sit amet pulvinar vitae, vehicula sed leo. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae;\n\n Praesent mattis purus et velit maximus hendrerit. Aenean vehicula tempus dapibus. Mauris convallis pharetra purus, non vulputate erat rutrum quis. Sed in tincidunt justo. Ut eu venenatis augue. Aliquam ullamcorper vitae tellus et egestas. Integer eget metus quis odio elementum auctor quis et ipsum. Duis lobortis eros lacinia sapien rutrum egestas. Phasellus ornare, elit non efficitur fringilla, arcu risus molestie enim, sit amet blandit lorem ex in lectus. Vestibulum quis tempor nisi, at pretium erat.</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"scrollbar-track-horizontal scrollbar-track-size-large scrollbar-track-offset\" style=\"position: absolute; height: 6px; display: none;\">\n <div class=\"scrollbar-thumb-horizontal scrollbar-thumb-size-large\" style=\"position: relative; display: block; height: 100%;\">\n </div>\n </div>\n <div class=\"scrollbar-track-vertical scrollbar-track-size-large scrollbar-track-offset\" style=\"position: absolute; width: 6px; display: none;\">\n <div class=\"scrollbar-thumb-vertical scrollbar-thumb-size-large\" style=\"position: relative; display: block; width: 100%;\">\n </div>\n </div>\n </div>\n </div>\n <span class=\"scroll-to-top\">\n <button type=\"button\" class=\"btn btn-primary btn-icon-only\">\n <span class=\"rioglyph rioglyph-arrow-up\">\n </span>\n </button>\n </span>\n </div>\n <div class=\"ApplicationLayoutBodyBottomBar justify-content-between\">\n <button type=\"button\" class=\"btn btn-primary\">Bottom Button</button>\n </div>\n</div>"
|
|
1017
|
+
},
|
|
1018
|
+
{
|
|
1019
|
+
"label": "Props",
|
|
1020
|
+
"language": "json",
|
|
1021
|
+
"code": null,
|
|
1022
|
+
"props": [
|
|
1023
|
+
{
|
|
1024
|
+
"heading": "ApplicationLayout",
|
|
1025
|
+
"rows": [
|
|
1026
|
+
{
|
|
1027
|
+
"name": "layoutRef",
|
|
1028
|
+
"type": "React.ref",
|
|
1029
|
+
"default": "",
|
|
1030
|
+
"description": "A React ref function assigned to the wrapper element."
|
|
1031
|
+
},
|
|
1032
|
+
{
|
|
1033
|
+
"name": "className",
|
|
1034
|
+
"type": "String",
|
|
1035
|
+
"default": "",
|
|
1036
|
+
"description": "Additional class names that are added to the respective component."
|
|
1037
|
+
}
|
|
1038
|
+
]
|
|
1039
|
+
},
|
|
1040
|
+
{
|
|
1041
|
+
"heading": "ApplicationLayoutHeader",
|
|
1042
|
+
"rows": [
|
|
1043
|
+
{
|
|
1044
|
+
"name": "className",
|
|
1045
|
+
"type": "String",
|
|
1046
|
+
"default": "",
|
|
1047
|
+
"description": "Additional class names that are added to the respective component."
|
|
1048
|
+
}
|
|
1049
|
+
]
|
|
1050
|
+
},
|
|
1051
|
+
{
|
|
1052
|
+
"heading": "ApplicationLayoutSidebar",
|
|
1053
|
+
"rows": [
|
|
1054
|
+
{
|
|
1055
|
+
"name": "ref",
|
|
1056
|
+
"type": "React.ref",
|
|
1057
|
+
"default": "",
|
|
1058
|
+
"description": "A React ref function assigned to the wrapper element."
|
|
1059
|
+
},
|
|
1060
|
+
{
|
|
1061
|
+
"name": "className",
|
|
1062
|
+
"type": "String",
|
|
1063
|
+
"default": "",
|
|
1064
|
+
"description": "Additional class names that are added to the respective component."
|
|
1065
|
+
}
|
|
1066
|
+
]
|
|
1067
|
+
},
|
|
1068
|
+
{
|
|
1069
|
+
"heading": "ApplicationLayoutBody",
|
|
1070
|
+
"rows": [
|
|
1071
|
+
{
|
|
1072
|
+
"name": "className",
|
|
1073
|
+
"type": "String",
|
|
1074
|
+
"default": "",
|
|
1075
|
+
"description": "Additional class names that are added to the respective component."
|
|
1076
|
+
},
|
|
1077
|
+
{
|
|
1078
|
+
"name": "innerClassName",
|
|
1079
|
+
"type": "String",
|
|
1080
|
+
"default": "",
|
|
1081
|
+
"description": "Additional class names that are added to the inner module-content component."
|
|
1082
|
+
},
|
|
1083
|
+
{
|
|
1084
|
+
"name": "children",
|
|
1085
|
+
"type": "any",
|
|
1086
|
+
"default": "",
|
|
1087
|
+
"description": "Any component given to the layout components will be rendered"
|
|
1088
|
+
},
|
|
1089
|
+
{
|
|
1090
|
+
"name": "navigation",
|
|
1091
|
+
"type": "any",
|
|
1092
|
+
"default": "",
|
|
1093
|
+
"description": "The ApplicationLayoutBodyNavigation component."
|
|
1094
|
+
},
|
|
1095
|
+
{
|
|
1096
|
+
"name": "enableScrollToTop",
|
|
1097
|
+
"type": "Boolean",
|
|
1098
|
+
"default": "true",
|
|
1099
|
+
"description": "Show scroll to top button after scrolling the content."
|
|
1100
|
+
},
|
|
1101
|
+
{
|
|
1102
|
+
"name": "forceScrollbar",
|
|
1103
|
+
"type": "Boolean",
|
|
1104
|
+
"default": "false",
|
|
1105
|
+
"description": "Always show vertical scrollbar to prevent the content from jumping."
|
|
1106
|
+
},
|
|
1107
|
+
{
|
|
1108
|
+
"name": "bottomBar",
|
|
1109
|
+
"type": "Node | String",
|
|
1110
|
+
"default": "",
|
|
1111
|
+
"description": "Optional bottom bar component or a simple string."
|
|
1112
|
+
},
|
|
1113
|
+
{
|
|
1114
|
+
"name": "bottomBarHeight",
|
|
1115
|
+
"type": "Number",
|
|
1116
|
+
"default": "54",
|
|
1117
|
+
"description": "Height of the bottomBar in pixel."
|
|
1118
|
+
},
|
|
1119
|
+
{
|
|
1120
|
+
"name": "banner",
|
|
1121
|
+
"type": "any",
|
|
1122
|
+
"default": "",
|
|
1123
|
+
"description": "The ApplicationLayoutBodyBanner component."
|
|
1124
|
+
}
|
|
1125
|
+
]
|
|
1126
|
+
},
|
|
1127
|
+
{
|
|
1128
|
+
"heading": "ApplicationLayoutBodyNavigation",
|
|
1129
|
+
"rows": [
|
|
1130
|
+
{
|
|
1131
|
+
"name": "className",
|
|
1132
|
+
"type": "String",
|
|
1133
|
+
"default": "",
|
|
1134
|
+
"description": "Additional class names that are added to the respective component. Example: \"has-offset\""
|
|
1135
|
+
}
|
|
1136
|
+
]
|
|
1137
|
+
},
|
|
1138
|
+
{
|
|
1139
|
+
"heading": "ApplicationLayoutBodyBottomBar",
|
|
1140
|
+
"rows": [
|
|
1141
|
+
{
|
|
1142
|
+
"name": "className",
|
|
1143
|
+
"type": "String",
|
|
1144
|
+
"default": "",
|
|
1145
|
+
"description": "Additional class names that are added to the respective component."
|
|
1146
|
+
},
|
|
1147
|
+
{
|
|
1148
|
+
"name": "buttonAlignment",
|
|
1149
|
+
"type": "String",
|
|
1150
|
+
"default": "",
|
|
1151
|
+
"description": "Tells the buttons if they are left or right aligned. Default behavior is: 1st button left and 2nd button right. ApplicationLayoutBodyBottomBar.LEFT, ApplicationLayoutBodyBottomBar.RIGHT or 'left''right'"
|
|
1152
|
+
},
|
|
1153
|
+
{
|
|
1154
|
+
"name": "useBodyPaddings",
|
|
1155
|
+
"type": "Boolean",
|
|
1156
|
+
"default": "false",
|
|
1157
|
+
"description": "Use same paddings (left and right) as the ApplicationLayoutBody."
|
|
1158
|
+
}
|
|
1159
|
+
]
|
|
1160
|
+
},
|
|
1161
|
+
{
|
|
1162
|
+
"heading": "ApplicationLayoutBodyBanner",
|
|
1163
|
+
"rows": [
|
|
1164
|
+
{
|
|
1165
|
+
"name": "className",
|
|
1166
|
+
"type": "String",
|
|
1167
|
+
"default": "",
|
|
1168
|
+
"description": "Additional class names that are added to the respective component."
|
|
1169
|
+
},
|
|
1170
|
+
{
|
|
1171
|
+
"name": "backgroundColor",
|
|
1172
|
+
"type": "String",
|
|
1173
|
+
"default": "bg-primary",
|
|
1174
|
+
"description": "One of our bg-color utility classes."
|
|
1175
|
+
},
|
|
1176
|
+
{
|
|
1177
|
+
"name": "textColor",
|
|
1178
|
+
"type": "string",
|
|
1179
|
+
"default": "text-color-white",
|
|
1180
|
+
"description": "One of our text-color utility classes."
|
|
1181
|
+
},
|
|
1182
|
+
{
|
|
1183
|
+
"name": "isSticky",
|
|
1184
|
+
"type": "Boolean",
|
|
1185
|
+
"default": "false",
|
|
1186
|
+
"description": "Sticky while scrolling."
|
|
1187
|
+
}
|
|
1188
|
+
]
|
|
1189
|
+
}
|
|
1190
|
+
]
|
|
1191
|
+
}
|
|
1192
|
+
]
|
|
1193
|
+
}
|
|
1194
|
+
]
|
|
1195
|
+
}
|
|
1196
|
+
],
|
|
1197
|
+
"see_also": []
|
|
1198
|
+
}
|