@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,302 @@
|
|
|
1
|
+
{
|
|
2
|
+
"metadata": {
|
|
3
|
+
"captured_at": "2025-11-21T12:07:53.407Z",
|
|
4
|
+
"source": "https://uikit.developers.rio.cloud/#components/onboarding",
|
|
5
|
+
"category": "Components",
|
|
6
|
+
"section": "Misc",
|
|
7
|
+
"slug": "components/onboarding",
|
|
8
|
+
"version": "v1.13.2",
|
|
9
|
+
"hash_algorithm": "sha256",
|
|
10
|
+
"hash": "9b194b3db487f26b4ba948d3eaa1fa4c0bf626effb550a3036ce50be31512143"
|
|
11
|
+
},
|
|
12
|
+
"title": "Onboarding",
|
|
13
|
+
"lead": "Useful when you want to control a single tooltip that highlights a portion of the UI.",
|
|
14
|
+
"content": [
|
|
15
|
+
{
|
|
16
|
+
"heading": "Onboarding",
|
|
17
|
+
"body": "",
|
|
18
|
+
"examples": []
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"heading": "Single onboarding tip",
|
|
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><div class=\"btn-toolbar\"><button type=\"button\" class=\"btn btn-primary btn-component\" tabindex=\"0\">Reveal feature with onboarding tip</button><button type=\"button\" class=\"btn btn-default btn-link btn-component\" tabindex=\"0\">Reset</button></div><div class=\"Divider position-relative width-100pct\" style=\"padding-top: 15px; padding-bottom: 15px;\"><div class=\"divider-line bg-light\" style=\"width: 100%; height: 1px;\"></div></div><div class=\"display-grid gap-25 grid-cols-3 gap-4\"></div></div></div>",
|
|
27
|
+
"tabs": [
|
|
28
|
+
{
|
|
29
|
+
"label": "React",
|
|
30
|
+
"language": "tsx",
|
|
31
|
+
"code": "import { useEffect, useState } from 'react';\n\nimport Button from '@rio-cloud/rio-uikit/Button';\nimport OnboardingTip from '@rio-cloud/rio-uikit/OnboardingTip';\nimport Divider from '@rio-cloud/rio-uikit/Divider';\nimport Fade from '@rio-cloud/rio-uikit/Fade';\n\nexport default () => {\n const [showFeature, setShowFeature] = useState(false);\n const [showTip, setShowTip] = useState(false);\n\n useEffect(() => {\n if (showFeature) {\n setTimeout(() => setShowTip(true), 1200);\n }\n }, [showFeature]);\n\n const handleReset = () => {\n setShowFeature(false);\n setShowTip(false);\n };\n\n return (\n <div>\n <div className='btn-toolbar'>\n <Button bsStyle='primary' onClick={() => setShowFeature(true)}>\n Reveal feature with onboarding tip\n </Button>\n <Button variant='link' onClick={handleReset}>\n Reset\n </Button>\n </div>\n <Divider />\n <div className='display-grid gap-25 grid-cols-3 gap-4'>\n <Fade show={showFeature}>\n <div>\n <OnboardingTip\n show={showTip}\n placement='top-start'\n width={350}\n title='Single onboarding example'\n content='Welcome to the dashboard! This section provides an overview of your activity and important updates.'\n onHide={() => setShowTip(false)}\n >\n <div\n className='panel panel-default position-relative padding-20 text-center bg-white text-wrap-balance'\n data-onboarding\n >\n <span className='rioglyph rioglyph-desktop text-size-h1 text-color-highlight' />\n <h3 className='margin-top-5'>Dashboard</h3>\n <p>See your key metrics and latest updates at a glance.</p>\n </div>\n </OnboardingTip>\n </div>\n </Fade>\n </div>\n </div>\n );\n};"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"label": "Props",
|
|
35
|
+
"language": "json",
|
|
36
|
+
"code": null,
|
|
37
|
+
"props": [
|
|
38
|
+
{
|
|
39
|
+
"heading": null,
|
|
40
|
+
"rows": [
|
|
41
|
+
{
|
|
42
|
+
"name": "id",
|
|
43
|
+
"type": "String",
|
|
44
|
+
"default": "",
|
|
45
|
+
"description": "The id of the DOM element."
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"name": "show",
|
|
49
|
+
"type": "Boolean",
|
|
50
|
+
"default": "false",
|
|
51
|
+
"description": "Indicates whether the onboarding tip is shown."
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"name": "showCloseIcon",
|
|
55
|
+
"type": "Boolean",
|
|
56
|
+
"default": "true",
|
|
57
|
+
"description": "Defines whether to show a close icon."
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"name": "textAlignment",
|
|
61
|
+
"type": "String",
|
|
62
|
+
"default": "OnboardingTip.TEXT_ALIGNMENT_LEFT",
|
|
63
|
+
"description": "Define how the text should be aligned. Possible values are: OnboardingTip.TEXT_ALIGNMENT_LEFT OnboardingTip.TEXT_ALIGNMENT_CENTER OnboardingTip.TEXT_ALIGNMENT_RIGHT"
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"name": "width",
|
|
67
|
+
"type": "Number",
|
|
68
|
+
"default": "",
|
|
69
|
+
"description": "Possible values are: auto, 100, 150, 200, 250, 300, 350, 400, 450 or 500"
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"name": "onHide",
|
|
73
|
+
"type": "Function",
|
|
74
|
+
"default": "() => {}",
|
|
75
|
+
"description": "Callback function for when the component shall be hidden."
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"name": "clickflow",
|
|
79
|
+
"type": "Boolean",
|
|
80
|
+
"default": "false",
|
|
81
|
+
"description": "Deprecated - Defines whether to have a clickflow journey."
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"name": "previousButton",
|
|
85
|
+
"type": "OnboardingButton",
|
|
86
|
+
"default": "",
|
|
87
|
+
"description": "Adds a button to navigate to the previous onboarding tip when using the click flow onboarding.The OnboardingButton object has a \"text\", \"onClick\", and a \"iconName\" property."
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"name": "nextButton",
|
|
91
|
+
"type": "OnboardingButton",
|
|
92
|
+
"default": "",
|
|
93
|
+
"description": "Adds a button to navigate to the next onboarding tip when using the click flow onboarding.The OnboardingButton object has a \"text\", \"onClick\", and a \"iconName\" property."
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"name": "useInDialog",
|
|
97
|
+
"type": "Boolean",
|
|
98
|
+
"default": "false",
|
|
99
|
+
"description": "Changes the z-index."
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
"name": "className",
|
|
103
|
+
"type": "String",
|
|
104
|
+
"default": "",
|
|
105
|
+
"description": "Additional classes to be set on the wrapper element."
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
"name": "title",
|
|
109
|
+
"type": "String / Node",
|
|
110
|
+
"default": "",
|
|
111
|
+
"description": "The title of the onboarding tip."
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
"name": "content",
|
|
115
|
+
"type": "String / Node",
|
|
116
|
+
"default": "",
|
|
117
|
+
"description": "The content of the onboarding tip."
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
"name": "preventOverflow",
|
|
121
|
+
"type": "Boolean",
|
|
122
|
+
"default": "true",
|
|
123
|
+
"description": "Prevents Onboarding tips from being cut off horizontally at screen borders."
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
"name": "popperConfig",
|
|
127
|
+
"type": "Object",
|
|
128
|
+
"default": "",
|
|
129
|
+
"description": "A Popper.js config object passed to the the underlying popper instance."
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
"name": "placement",
|
|
133
|
+
"type": "String",
|
|
134
|
+
"default": "OnboardingTip.BOTTOM",
|
|
135
|
+
"description": "Define how the component should be placed. Possible values are: auto-start, auto, auto-end, top-start, top, top-end, bottom-start, bottom, bottom-end, right-start, right, right-end, left-start, left or left-end"
|
|
136
|
+
}
|
|
137
|
+
]
|
|
138
|
+
}
|
|
139
|
+
]
|
|
140
|
+
}
|
|
141
|
+
]
|
|
142
|
+
}
|
|
143
|
+
]
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
"heading": "Onboarding tour",
|
|
147
|
+
"body": "When you want to guide the user through a \"tour\" with multiple steps explaining individual features or UI elements. The behaviour of the whole tour and individual steps can be controlled declaratively.",
|
|
148
|
+
"examples": [
|
|
149
|
+
{
|
|
150
|
+
"caption": "Notifications",
|
|
151
|
+
"rendered_html": "<div class=\"playground-content bg-lightest padding-20 padding-bottom-25\" style=\"width: 100%;\"><div><div class=\"btn-toolbar\"><button type=\"button\" class=\"btn btn-primary btn-component\" tabindex=\"0\">Start walkthrough</button><button type=\"button\" class=\"btn btn-default btn-link btn-component\" tabindex=\"0\">Reset</button></div><div class=\"Divider position-relative width-100pct\" style=\"padding-top: 15px; padding-bottom: 15px;\"><div class=\"divider-line bg-light\" style=\"width: 100%; height: 1px;\"></div></div><div class=\"display-grid gap-25 grid-cols-3 gap-4\"><div data-onboarding-walkthrough-step=\"1\" class=\"panel panel-default position-relative padding-20 text-center bg-white text-wrap-balance\"><span class=\"rioglyph rioglyph-notification text-size-h1 text-color-highlight\"></span><h3 class=\"margin-top-5\">Notifications</h3><p>Keep track of important alerts and messages.</p><button type=\"button\" class=\"btn btn-default btn-component\" tabindex=\"0\">Click here</button></div></div></div></div>",
|
|
152
|
+
"tabs": [
|
|
153
|
+
{
|
|
154
|
+
"label": "React",
|
|
155
|
+
"language": "tsx",
|
|
156
|
+
"code": "import { useState, useEffect, type PropsWithChildren } from 'react';\n\nimport { useOnboardingTour, type OnboardingStep } from '@rio-cloud/rio-uikit/useOnboarding';\nimport Button from '@rio-cloud/rio-uikit/Button';\nimport Divider from '@rio-cloud/rio-uikit/Divider';\n\ntype PanelProps = {\n step?: string;\n};\n\nconst Panel = ({ children, step }: PropsWithChildren<PanelProps>) => (\n <div\n data-onboarding-walkthrough-step={step}\n className='panel panel-default position-relative padding-20 text-center bg-white text-wrap-balance'\n >\n {children}\n </div>\n);\n\nconst steps: OnboardingStep[] = [\n {\n element: '[data-onboarding-walkthrough-step=\"1\"]',\n popover: {\n title: 'Animated tour example',\n description:\n 'Welcome to the dashboard! This section provides an overview of your activity and important updates.',\n side: 'top',\n align: 'start',\n showButtons: [],\n },\n },\n {\n element: '[data-onboarding-walkthrough-step=\"2\"]',\n disableActiveInteraction: true,\n popover: {\n title: 'Animated tour example',\n description: 'Here, you can find your recent notifications. Stay updated with real-time alerts!',\n side: 'top',\n align: 'start',\n showButtons: ['next'],\n nextBtnText: 'Next',\n },\n },\n {\n element: '[data-onboarding-walkthrough-step=\"3\"]',\n popover: {\n title: 'Animated tour example',\n description: 'Here, you can find your recent notifications. Stay updated with real-time alerts!',\n side: 'top',\n align: 'start',\n showButtons: [],\n },\n },\n {\n element: '[data-onboarding-walkthrough-step=\"4\"]',\n popover: {\n title: 'Animated tour example',\n description: 'Access your profile settings here. Customize your preferences and manage account details.',\n side: 'top',\n align: 'start',\n showButtons: ['next', 'close'],\n doneBtnText: 'Done',\n },\n },\n];\n\nexport default () => {\n const [enableWalkthrough, setEnableWalkthrough] = useState(false);\n const [showContent2, setShowContent2] = useState(false);\n const [showContent3, setShowContent3] = useState(false);\n\n const { run, moveTo } = useOnboardingTour({ steps });\n\n const handleOnboarding = () => {\n setEnableWalkthrough(true);\n run();\n };\n\n const handleShowContent2 = () => setShowContent2(true);\n const handleShowContent3 = () => setShowContent3(true);\n\n const handleReset = () => {\n setEnableWalkthrough(false);\n setShowContent2(false);\n setShowContent3(false);\n };\n\n useEffect(() => {\n if (enableWalkthrough && showContent2) {\n moveTo(1);\n }\n }, [enableWalkthrough, showContent2]);\n\n useEffect(() => {\n if (enableWalkthrough && showContent3) {\n moveTo(3);\n }\n }, [enableWalkthrough, showContent3]);\n\n return (\n <div>\n <div className='btn-toolbar'>\n <Button bsStyle='primary' onClick={handleOnboarding}>\n Start walkthrough\n </Button>\n <Button variant='link' onClick={handleReset}>\n Reset\n </Button>\n </div>\n <Divider />\n <div className='display-grid gap-25 grid-cols-3 gap-4'>\n <Panel step='1'>\n <span className='rioglyph rioglyph-notification text-size-h1 text-color-highlight' />\n <h3 className='margin-top-5'>Notifications</h3>\n <p>Keep track of important alerts and messages.</p>\n <Button onClick={handleShowContent2}>Click here</Button>\n </Panel>\n {showContent2 && (\n <>\n <Panel step='2'>\n <span className='rioglyph rioglyph-user text-size-h1 text-color-highlight' />\n <h3 className='margin-top-5'>Profile Settings</h3>\n <p>Manage your personal information and preferences.</p>\n </Panel>\n\n <Panel step='3'>\n <span className='rioglyph rioglyph-clipboard text-size-h1 text-color-highlight' />\n <h3 className='margin-top-5'>Project Tracker</h3>\n <p>Monitor your ongoing projects and track deadlines.</p>\n <Button onClick={handleShowContent3}>Click here</Button>\n </Panel>\n </>\n )}\n {showContent3 && (\n <Panel step='4'>\n <span className='rioglyph rioglyph-ok text-size-h1 text-color-highlight' />\n <h3 className='margin-top-5'>Done</h3>\n <p>You have reached the final feature</p>\n </Panel>\n )}\n </div>\n </div>\n );\n};"
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
"label": "Props",
|
|
160
|
+
"language": "json",
|
|
161
|
+
"code": null,
|
|
162
|
+
"props": [
|
|
163
|
+
{
|
|
164
|
+
"heading": null,
|
|
165
|
+
"rows": [
|
|
166
|
+
{
|
|
167
|
+
"name": "steps",
|
|
168
|
+
"type": "OnboardingStep[]",
|
|
169
|
+
"default": "",
|
|
170
|
+
"description": "Array of steps to highlight. This should be passed when setting up a product tour."
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
"name": "└element",
|
|
174
|
+
"type": "String",
|
|
175
|
+
"default": "",
|
|
176
|
+
"description": "The target element to highlight. This can be a DOM element (ref), a function that returns a DOM element, or a CSS selector (most likely, you want to go with a selector as it's the easiest one to implement). If no element is given, the popover will simply be centered on the screen."
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
"name": "└popover",
|
|
180
|
+
"type": "Object",
|
|
181
|
+
"default": "",
|
|
182
|
+
"description": "Defines the content and appearance of the popover using those properties: title: Title text to be shown. description: Description text to be shown. side: The position of the popover relative to the target element. align: Where the popover is anchored to the target element. showButtons: The buttons that should be shown in the popover - for this step only. disableButtons: The buttons that should be disabled in the popover - for this step only. disableActiveInteraction: Whether to disable interaction with the highlighted element. popoverClass: Custom class to add to the popover element. prevBtnText: Text to use for the \"previous\" button - specific for this step only. nextBtnText: Text to use for the \"next\" button - specific for this step only. doneBtnText: Text to use for the \"done\" (a.k.a. the final \"next\") button - specific for this step only."
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
"name": "└onHighlightStarted",
|
|
186
|
+
"type": "Function",
|
|
187
|
+
"default": "",
|
|
188
|
+
"description": "Callback triggered when the highlighting is about to become visible."
|
|
189
|
+
},
|
|
190
|
+
{
|
|
191
|
+
"name": "└onHighlighted",
|
|
192
|
+
"type": "Function",
|
|
193
|
+
"default": "",
|
|
194
|
+
"description": "Callback triggered when the highlight is visible."
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
"name": "└onDeselected",
|
|
198
|
+
"type": "Function",
|
|
199
|
+
"default": "",
|
|
200
|
+
"description": "Callback triggered when the highlight is about to become invisible."
|
|
201
|
+
},
|
|
202
|
+
{
|
|
203
|
+
"name": "showButtons",
|
|
204
|
+
"type": "AllowedButtons[]",
|
|
205
|
+
"default": "[\"next\", \"previous\", \"close\"]",
|
|
206
|
+
"description": "Array of buttons to show in the popover. Defaults to [\"next\", \"previous\", \"close\"] for product tours and [] for single element highlighting."
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
"name": "disableButtons",
|
|
210
|
+
"type": "AllowedButtons[]",
|
|
211
|
+
"default": "",
|
|
212
|
+
"description": "Array of buttons to disable. Useful when you want to show some buttons but disable others."
|
|
213
|
+
},
|
|
214
|
+
{
|
|
215
|
+
"name": "prevBtnText",
|
|
216
|
+
"type": "String",
|
|
217
|
+
"default": "Previous",
|
|
218
|
+
"description": "Text to use for the \"previous\" buttons."
|
|
219
|
+
},
|
|
220
|
+
{
|
|
221
|
+
"name": "nextBtnText",
|
|
222
|
+
"type": "String",
|
|
223
|
+
"default": "Next",
|
|
224
|
+
"description": "Text to use for the \"next\" buttons."
|
|
225
|
+
},
|
|
226
|
+
{
|
|
227
|
+
"name": "doneBtnText",
|
|
228
|
+
"type": "String",
|
|
229
|
+
"default": "Done",
|
|
230
|
+
"description": "Text to use for the \"done\" button."
|
|
231
|
+
},
|
|
232
|
+
{
|
|
233
|
+
"name": "showProgress",
|
|
234
|
+
"type": "Boolean",
|
|
235
|
+
"default": "true",
|
|
236
|
+
"description": "Indicates whether to show progress in the onboarding popover."
|
|
237
|
+
},
|
|
238
|
+
{
|
|
239
|
+
"name": "allowClose",
|
|
240
|
+
"type": "Boolean",
|
|
241
|
+
"default": "false",
|
|
242
|
+
"description": "Whether to allow closing the popover by clicking on the backdrop."
|
|
243
|
+
},
|
|
244
|
+
{
|
|
245
|
+
"name": "stagePadding",
|
|
246
|
+
"type": "Number",
|
|
247
|
+
"default": "10",
|
|
248
|
+
"description": "Distance between the highlighted element and the cutout."
|
|
249
|
+
},
|
|
250
|
+
{
|
|
251
|
+
"name": "stageRadius",
|
|
252
|
+
"type": "Number",
|
|
253
|
+
"default": "5",
|
|
254
|
+
"description": "Radius of the cutout around the highlighted element."
|
|
255
|
+
},
|
|
256
|
+
{
|
|
257
|
+
"name": "allowKeyboardControl",
|
|
258
|
+
"type": "Boolean",
|
|
259
|
+
"default": "true",
|
|
260
|
+
"description": "Whether to allow keyboard navigation."
|
|
261
|
+
},
|
|
262
|
+
{
|
|
263
|
+
"name": "disableActiveInteraction",
|
|
264
|
+
"type": "Boolean",
|
|
265
|
+
"default": "false",
|
|
266
|
+
"description": "Whether to disable interaction with the highlighted element. Can be configured at the step level as well"
|
|
267
|
+
},
|
|
268
|
+
{
|
|
269
|
+
"name": "noBackdrop",
|
|
270
|
+
"type": "Boolean",
|
|
271
|
+
"default": "false",
|
|
272
|
+
"description": "Option to disable the backdrop. The backdrop element is still there but with 100% opacity and the close on the backdrop is disabled."
|
|
273
|
+
},
|
|
274
|
+
{
|
|
275
|
+
"name": "popoverClass",
|
|
276
|
+
"type": "String",
|
|
277
|
+
"default": "",
|
|
278
|
+
"description": "Additional classes set on the popover itself."
|
|
279
|
+
},
|
|
280
|
+
{
|
|
281
|
+
"name": "onPopoverRender",
|
|
282
|
+
"type": "Function",
|
|
283
|
+
"default": "",
|
|
284
|
+
"description": "Callback triggered when the onboarding popover renders."
|
|
285
|
+
},
|
|
286
|
+
{
|
|
287
|
+
"name": "onDestroyed",
|
|
288
|
+
"type": "Function",
|
|
289
|
+
"default": "",
|
|
290
|
+
"description": "Callback triggered when the onboarding tour is \"destroyed\" (dismissed)."
|
|
291
|
+
}
|
|
292
|
+
]
|
|
293
|
+
}
|
|
294
|
+
]
|
|
295
|
+
}
|
|
296
|
+
]
|
|
297
|
+
}
|
|
298
|
+
]
|
|
299
|
+
}
|
|
300
|
+
],
|
|
301
|
+
"see_also": []
|
|
302
|
+
}
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
{
|
|
2
|
+
"metadata": {
|
|
3
|
+
"captured_at": "2025-11-21T12:07:41.254Z",
|
|
4
|
+
"source": "https://uikit.developers.rio.cloud/#components/page",
|
|
5
|
+
"category": "Components",
|
|
6
|
+
"section": "Content",
|
|
7
|
+
"slug": "components/page",
|
|
8
|
+
"version": "v1.13.2",
|
|
9
|
+
"hash_algorithm": "sha256",
|
|
10
|
+
"hash": "979cd775c214fd16ea24cd0b11fee1c53ad65bc1a4018d85a9157299289a26f6"
|
|
11
|
+
},
|
|
12
|
+
"title": "Page",
|
|
13
|
+
"lead": null,
|
|
14
|
+
"content": [
|
|
15
|
+
{
|
|
16
|
+
"heading": "Page",
|
|
17
|
+
"body": "",
|
|
18
|
+
"examples": [
|
|
19
|
+
{
|
|
20
|
+
"caption": "A4",
|
|
21
|
+
"rendered_html": "<div class=\"playground-content bg-lightest padding-20 padding-bottom-25\" style=\"width: 100%;\"><div class=\"height-600 overflow-y-scroll padding-20\"><div class=\"display-grid place-items-center gap-20\"><div class=\"Page portrait shadow-hard\" style=\"width: 600px;\"><div class=\"display-grid place-items-center height-100pct text-size-20 text-color-dark\">A4</div></div><div class=\"Page portrait shadow-hard\" style=\"width: 600px;\"><img class=\"img-responsive\" src=\"https://uikit.developers.rio.cloud/assets/shipping_list_sample-iOPFy4Rq.png\" loading=\"lazy\" alt=\"sample shipment document\"></div><div class=\"Page portrait shadow-hard\" style=\"width: 600px;\"><div class=\"padding-x-20\"><h2>Lorem ipsum dolor</h2><p>\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.</p></div></div></div></div></div>",
|
|
22
|
+
"tabs": [
|
|
23
|
+
{
|
|
24
|
+
"label": "React",
|
|
25
|
+
"language": "tsx",
|
|
26
|
+
"code": "import Page from '@rio-cloud/rio-uikit/components/page/Page';\n\nimport sampleShippingDocument from '../../../assets/shipping_list_sample.png';\n\nconst content = <div className='display-grid place-items-center height-100pct text-size-20 text-color-dark'>A4</div>;\n\nimport { dummyTextLong } from '../../../utils/data';\n\nexport default () => (\n <div className='height-600 overflow-y-scroll padding-20'>\n <div className='display-grid place-items-center gap-20'>\n <Page width={600}>{content}</Page>\n\n <Page width={600}>\n <img\n className='img-responsive'\n src={sampleShippingDocument}\n loading='lazy'\n alt='sample shipment document'\n />\n </Page>\n\n <Page width={600}>\n <div className='padding-x-20'>\n <h2>Lorem ipsum dolor</h2>\n <p>{dummyTextLong}</p>\n </div>\n </Page>\n </div>\n </div>\n);"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"label": "HTML",
|
|
30
|
+
"language": "html",
|
|
31
|
+
"code": "<div class=\"height-600 overflow-y-scroll padding-20\">\n <div class=\"display-grid place-items-center gap-20\">\n <div class=\"Page portrait shadow-hard\" style=\"width: 600px;\">\n <div class=\"display-grid place-items-center height-100pct text-size-20 text-color-dark\">A4</div>\n </div>\n <div class=\"Page portrait shadow-hard\" style=\"width: 600px;\">\n <img class=\"img-responsive\" src=\"https://uikit.developers.rio.cloud/assets/shipping_list_sample-iOPFy4Rq.png\" loading=\"lazy\" alt=\"sample shipment document\">\n </div>\n <div class=\"Page portrait shadow-hard\" style=\"width: 600px;\">\n <div class=\"padding-x-20\">\n <h2>Lorem ipsum dolor</h2>\n <p>\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.</p>\n </div>\n </div>\n </div>\n</div>"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"label": "Props",
|
|
35
|
+
"language": "json",
|
|
36
|
+
"code": null,
|
|
37
|
+
"props": [
|
|
38
|
+
{
|
|
39
|
+
"heading": null,
|
|
40
|
+
"rows": [
|
|
41
|
+
{
|
|
42
|
+
"name": "width",
|
|
43
|
+
"type": "Number",
|
|
44
|
+
"default": "",
|
|
45
|
+
"description": "Defines the width in pixel of the page. In landscape mode, the width is set as height. The component uses internally the aspect-ratio of a standard DIN A4 page.Please make sure the element does not get stretched when using flexbox."
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"name": "orientation",
|
|
49
|
+
"type": "'portrait' | 'landscape'",
|
|
50
|
+
"default": "portrait",
|
|
51
|
+
"description": "Defines the layout of the page"
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"name": "shadow",
|
|
55
|
+
"type": "Boolean",
|
|
56
|
+
"default": "true",
|
|
57
|
+
"description": "Defines to use a pre-defined shadow style. May be disabled on white background."
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"name": "border",
|
|
61
|
+
"type": "Boolean",
|
|
62
|
+
"default": "",
|
|
63
|
+
"description": "Defines to use a pre-defined border style. This may be used to render the page on a white background of as part of another element like a panel."
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"name": "className",
|
|
67
|
+
"type": "String",
|
|
68
|
+
"default": "",
|
|
69
|
+
"description": "Additional classes to be set on the wrapper element"
|
|
70
|
+
}
|
|
71
|
+
]
|
|
72
|
+
}
|
|
73
|
+
]
|
|
74
|
+
}
|
|
75
|
+
]
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"caption": "Page 1",
|
|
79
|
+
"rendered_html": "<div class=\"playground-content bg-lightest padding-20 padding-bottom-25\" style=\"width: 100%;\"><div class=\"padding-20 overflow-x-scroll\"><div class=\"display-inline-flex gap-20\"><div class=\"Page portrait shadow-hard\" style=\"width: 300px;\"><div class=\"display-grid place-items-center height-100pct text-size-20 text-color-dark\">Page 1</div></div><div class=\"Page portrait shadow-hard\" style=\"width: 300px;\"><div class=\"display-grid place-items-center height-100pct text-size-20 text-color-dark\">Page 2</div></div><div class=\"Page portrait shadow-hard\" style=\"width: 300px;\"><div class=\"display-grid place-items-center height-100pct text-size-20 text-color-dark\">Page 3</div></div><div class=\"Page portrait shadow-hard\" style=\"width: 300px;\"><div class=\"display-grid place-items-center height-100pct text-size-20 text-color-dark\">Page 4</div></div><div class=\"Page portrait shadow-hard\" style=\"width: 300px;\"><div class=\"display-grid place-items-center height-100pct text-size-20 text-color-dark\">Page 5</div></div><div class=\"Page portrait shadow-hard\" style=\"width: 300px;\"><div class=\"display-grid place-items-center height-100pct text-size-20 text-color-dark\">Page 6</div></div></div></div></div>",
|
|
80
|
+
"tabs": [
|
|
81
|
+
{
|
|
82
|
+
"label": "React",
|
|
83
|
+
"language": "tsx",
|
|
84
|
+
"code": "import Page from '@rio-cloud/rio-uikit/components/page/Page';\n\nexport default () => (\n <div className='padding-20 overflow-x-scroll'>\n <div className='display-inline-flex gap-20'>\n {Array.from({ length: 6 }, (_, index) => (\n <Page width={300} key={index}>\n <div className='display-grid place-items-center height-100pct text-size-20 text-color-dark'>\n {`Page ${index + 1}`}\n </div>\n </Page>\n ))}\n </div>\n </div>\n);"
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
"label": "HTML",
|
|
88
|
+
"language": "html",
|
|
89
|
+
"code": "<div class=\"padding-20 overflow-x-scroll\">\n <div class=\"display-inline-flex gap-20\">\n <div class=\"Page portrait shadow-hard\" style=\"width: 300px;\">\n <div class=\"display-grid place-items-center height-100pct text-size-20 text-color-dark\">Page 1</div>\n </div>\n <div class=\"Page portrait shadow-hard\" style=\"width: 300px;\">\n <div class=\"display-grid place-items-center height-100pct text-size-20 text-color-dark\">Page 2</div>\n </div>\n <div class=\"Page portrait shadow-hard\" style=\"width: 300px;\">\n <div class=\"display-grid place-items-center height-100pct text-size-20 text-color-dark\">Page 3</div>\n </div>\n <div class=\"Page portrait shadow-hard\" style=\"width: 300px;\">\n <div class=\"display-grid place-items-center height-100pct text-size-20 text-color-dark\">Page 4</div>\n </div>\n <div class=\"Page portrait shadow-hard\" style=\"width: 300px;\">\n <div class=\"display-grid place-items-center height-100pct text-size-20 text-color-dark\">Page 5</div>\n </div>\n <div class=\"Page portrait shadow-hard\" style=\"width: 300px;\">\n <div class=\"display-grid place-items-center height-100pct text-size-20 text-color-dark\">Page 6</div>\n </div>\n </div>\n</div>"
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
"label": "Props",
|
|
93
|
+
"language": "json",
|
|
94
|
+
"code": null,
|
|
95
|
+
"props": [
|
|
96
|
+
{
|
|
97
|
+
"heading": null,
|
|
98
|
+
"rows": [
|
|
99
|
+
{
|
|
100
|
+
"name": "width",
|
|
101
|
+
"type": "Number",
|
|
102
|
+
"default": "",
|
|
103
|
+
"description": "Defines the width in pixel of the page. In landscape mode, the width is set as height. The component uses internally the aspect-ratio of a standard DIN A4 page.Please make sure the element does not get stretched when using flexbox."
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
"name": "orientation",
|
|
107
|
+
"type": "'portrait' | 'landscape'",
|
|
108
|
+
"default": "portrait",
|
|
109
|
+
"description": "Defines the layout of the page"
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
"name": "shadow",
|
|
113
|
+
"type": "Boolean",
|
|
114
|
+
"default": "true",
|
|
115
|
+
"description": "Defines to use a pre-defined shadow style. May be disabled on white background."
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
"name": "border",
|
|
119
|
+
"type": "Boolean",
|
|
120
|
+
"default": "",
|
|
121
|
+
"description": "Defines to use a pre-defined border style. This may be used to render the page on a white background of as part of another element like a panel."
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
"name": "className",
|
|
125
|
+
"type": "String",
|
|
126
|
+
"default": "",
|
|
127
|
+
"description": "Additional classes to be set on the wrapper element"
|
|
128
|
+
}
|
|
129
|
+
]
|
|
130
|
+
}
|
|
131
|
+
]
|
|
132
|
+
}
|
|
133
|
+
]
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
"caption": "Portrait",
|
|
137
|
+
"rendered_html": "<div class=\"playground-content bg-white padding-20 padding-bottom-25\" style=\"width: 100%;\"><div class=\"display-grid grid-cols-2 place-items-center gap-20\"><div class=\"Page portrait border border-width-2\" style=\"width: 210px;\"><div class=\"display-grid place-items-center height-100pct text-size-20 text-color-dark\">Portrait</div></div><div class=\"Page landscape border border-width-2\" style=\"height: 210px;\"><div class=\"display-grid place-items-center height-100pct text-size-20 text-color-dark\">Landscape</div></div></div></div>",
|
|
138
|
+
"tabs": [
|
|
139
|
+
{
|
|
140
|
+
"label": "React",
|
|
141
|
+
"language": "tsx",
|
|
142
|
+
"code": "import Page from '@rio-cloud/rio-uikit/components/page/Page';\n\nexport default () => (\n <div className='display-grid grid-cols-2 place-items-center gap-20'>\n <Page width={210} border shadow={false}>\n <div className='display-grid place-items-center height-100pct text-size-20 text-color-dark'>Portrait</div>\n </Page>\n <Page width={210} border shadow={false} orientation='landscape'>\n <div className='display-grid place-items-center height-100pct text-size-20 text-color-dark'>Landscape</div>\n </Page>\n </div>\n);"
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
"label": "HTML",
|
|
146
|
+
"language": "html",
|
|
147
|
+
"code": "<div class=\"display-grid grid-cols-2 place-items-center gap-20\">\n <div class=\"Page portrait border border-width-2\" style=\"width: 210px;\">\n <div class=\"display-grid place-items-center height-100pct text-size-20 text-color-dark\">Portrait</div>\n </div>\n <div class=\"Page landscape border border-width-2\" style=\"height: 210px;\">\n <div class=\"display-grid place-items-center height-100pct text-size-20 text-color-dark\">Landscape</div>\n </div>\n</div>"
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
"label": "Props",
|
|
151
|
+
"language": "json",
|
|
152
|
+
"code": null,
|
|
153
|
+
"props": [
|
|
154
|
+
{
|
|
155
|
+
"heading": null,
|
|
156
|
+
"rows": [
|
|
157
|
+
{
|
|
158
|
+
"name": "width",
|
|
159
|
+
"type": "Number",
|
|
160
|
+
"default": "",
|
|
161
|
+
"description": "Defines the width in pixel of the page. In landscape mode, the width is set as height. The component uses internally the aspect-ratio of a standard DIN A4 page.Please make sure the element does not get stretched when using flexbox."
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
"name": "orientation",
|
|
165
|
+
"type": "'portrait' | 'landscape'",
|
|
166
|
+
"default": "portrait",
|
|
167
|
+
"description": "Defines the layout of the page"
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
"name": "shadow",
|
|
171
|
+
"type": "Boolean",
|
|
172
|
+
"default": "true",
|
|
173
|
+
"description": "Defines to use a pre-defined shadow style. May be disabled on white background."
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
"name": "border",
|
|
177
|
+
"type": "Boolean",
|
|
178
|
+
"default": "",
|
|
179
|
+
"description": "Defines to use a pre-defined border style. This may be used to render the page on a white background of as part of another element like a panel."
|
|
180
|
+
},
|
|
181
|
+
{
|
|
182
|
+
"name": "className",
|
|
183
|
+
"type": "String",
|
|
184
|
+
"default": "",
|
|
185
|
+
"description": "Additional classes to be set on the wrapper element"
|
|
186
|
+
}
|
|
187
|
+
]
|
|
188
|
+
}
|
|
189
|
+
]
|
|
190
|
+
}
|
|
191
|
+
]
|
|
192
|
+
}
|
|
193
|
+
]
|
|
194
|
+
}
|
|
195
|
+
],
|
|
196
|
+
"see_also": []
|
|
197
|
+
}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
{
|
|
2
|
+
"metadata": {
|
|
3
|
+
"captured_at": "2025-11-21T12:07:07.644Z",
|
|
4
|
+
"source": "https://uikit.developers.rio.cloud/#components/pager",
|
|
5
|
+
"category": "Components",
|
|
6
|
+
"section": "Navigation",
|
|
7
|
+
"slug": "components/pager",
|
|
8
|
+
"version": "v1.13.2",
|
|
9
|
+
"hash_algorithm": "sha256",
|
|
10
|
+
"hash": "9fd1aaa49ed8c746761ce6c42a1282913963baa0d500153d1e677851d7e05751"
|
|
11
|
+
},
|
|
12
|
+
"title": "Pager",
|
|
13
|
+
"lead": null,
|
|
14
|
+
"content": [
|
|
15
|
+
{
|
|
16
|
+
"heading": "Pager",
|
|
17
|
+
"body": "",
|
|
18
|
+
"examples": [
|
|
19
|
+
{
|
|
20
|
+
"caption": "Example 1",
|
|
21
|
+
"rendered_html": "<div class=\"playground-content bg-white padding-20 padding-bottom-25\" style=\"width: 100%;\"><div><div class=\"lead \"><div class=\"display-flex justify-content-between\"><div>Pager with label</div></div><hr class=\"margin-top-10 border-color-light\"></div><div class=\"display-flex gap-15 max-width-800 margin-bottom-50\"><div class=\"Pager bg-white border display-flex justify-space-between align-items-center flex-row-reverse cursor-pointer user-select-none rounded padding-y-15 padding-x-20 width-100pct\"><div class=\"display-flex flex-1-1 flex-column align-items-end\"><div class=\"text-color-gray line-height-16\">Previous</div><div class=\"text-color-darker text-right text-size-16 text-medium\">The previous chapter</div></div><div class=\"text-size-12 display-grid place-items-center\"><span class=\"rioglyph text-color-darker rioglyph-arrow-left margin-right-10 text-size-200pct\"></span></div></div><div class=\"Pager bg-white border display-flex justify-space-between align-items-center cursor-pointer user-select-none rounded padding-y-15 padding-x-20 width-100pct\"><div class=\"display-flex flex-1-1 flex-column \"><div class=\"text-color-gray line-height-16\">Next</div><div class=\"text-color-darker text-size-16 text-medium\">The next chapter</div></div><div class=\"text-size-12 display-grid place-items-center\"><span class=\"rioglyph text-color-darker rioglyph-arrow-right margin-left-10 text-size-200pct\"></span></div></div></div><div class=\"lead \"><div class=\"display-flex justify-content-between\"><div>Compact Pager without label</div></div><hr class=\"margin-top-10 border-color-light\"></div><div class=\"display-flex gap-15 max-width-800 justify-content-between\"><div class=\"Pager bg-white border display-flex justify-space-between align-items-center flex-row-reverse pointer-events-none cursor-pointer user-select-none rounded-circle padding-y-5 padding-x-15 width-auto\"><div class=\"display-flex flex-1-1 flex-column align-items-end\"><div class=\"text-color-light\">Previous</div></div><span class=\"rioglyph text-color-light rioglyph-chevron-left margin-right-5 text-size-10\"></span></div><div class=\"Pager bg-white border display-flex justify-space-between align-items-center cursor-pointer user-select-none rounded-circle padding-y-5 padding-x-15 width-auto\"><div class=\"display-flex flex-1-1 flex-column \"><div class=\"text-color-darker\">Next</div></div><span class=\"rioglyph text-color-darker rioglyph-chevron-right margin-left-5 text-size-10\"></span></div></div></div></div>",
|
|
22
|
+
"tabs": [
|
|
23
|
+
{
|
|
24
|
+
"label": "React",
|
|
25
|
+
"language": "tsx",
|
|
26
|
+
"code": "import { Title } from '../../../components/Title';\n\nimport Pager from '@rio-cloud/rio-uikit/Pager';\n\nexport default () => (\n <div>\n <Title>Pager with label</Title>\n <div className='display-flex gap-15 max-width-800 margin-bottom-50'>\n <Pager label='Previous' title='The previous chapter' alignRight />\n <Pager label='Next' title='The next chapter' />\n </div>\n\n <Title>Compact Pager without label</Title>\n <div className='display-flex gap-15 max-width-800 justify-content-between'>\n <Pager title='Previous' variant={Pager.VARIANT_COMPACT} disabled alignRight />\n <Pager title='Next' label='foo' variant={Pager.VARIANT_COMPACT} />\n </div>\n </div>\n);"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"label": "HTML",
|
|
30
|
+
"language": "html",
|
|
31
|
+
"code": "<div>\n <div class=\"lead \">\n <div class=\"display-flex justify-content-between\">\n <div>Pager with label</div>\n </div>\n <hr class=\"margin-top-10 border-color-light\">\n </div>\n <div class=\"display-flex gap-15 max-width-800 margin-bottom-50\">\n <div class=\"Pager bg-white border display-flex justify-space-between align-items-center flex-row-reverse cursor-pointer user-select-none rounded padding-y-15 padding-x-20 width-100pct\">\n <div class=\"display-flex flex-1-1 flex-column align-items-end\">\n <div class=\"text-color-gray line-height-16\">Previous</div>\n <div class=\"text-color-darker text-right text-size-16 text-medium\">The previous chapter</div>\n </div>\n <div class=\"text-size-12 display-grid place-items-center\">\n <span class=\"rioglyph text-color-darker rioglyph-arrow-left margin-right-10 text-size-200pct\">\n </span>\n </div>\n </div>\n <div class=\"Pager bg-white border display-flex justify-space-between align-items-center cursor-pointer user-select-none rounded padding-y-15 padding-x-20 width-100pct\">\n <div class=\"display-flex flex-1-1 flex-column \">\n <div class=\"text-color-gray line-height-16\">Next</div>\n <div class=\"text-color-darker text-size-16 text-medium\">The next chapter</div>\n </div>\n <div class=\"text-size-12 display-grid place-items-center\">\n <span class=\"rioglyph text-color-darker rioglyph-arrow-right margin-left-10 text-size-200pct\">\n </span>\n </div>\n </div>\n </div>\n <div class=\"lead \">\n <div class=\"display-flex justify-content-between\">\n <div>Compact Pager without label</div>\n </div>\n <hr class=\"margin-top-10 border-color-light\">\n </div>\n <div class=\"display-flex gap-15 max-width-800 justify-content-between\">\n <div class=\"Pager bg-white border display-flex justify-space-between align-items-center flex-row-reverse pointer-events-none cursor-pointer user-select-none rounded-circle padding-y-5 padding-x-15 width-auto\">\n <div class=\"display-flex flex-1-1 flex-column align-items-end\">\n <div class=\"text-color-light\">Previous</div>\n </div>\n <span class=\"rioglyph text-color-light rioglyph-chevron-left margin-right-5 text-size-10\">\n </span>\n </div>\n <div class=\"Pager bg-white border display-flex justify-space-between align-items-center cursor-pointer user-select-none rounded-circle padding-y-5 padding-x-15 width-auto\">\n <div class=\"display-flex flex-1-1 flex-column \">\n <div class=\"text-color-darker\">Next</div>\n </div>\n <span class=\"rioglyph text-color-darker rioglyph-chevron-right margin-left-5 text-size-10\">\n </span>\n </div>\n </div>\n</div>"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"label": "Props",
|
|
35
|
+
"language": "json",
|
|
36
|
+
"code": null,
|
|
37
|
+
"props": [
|
|
38
|
+
{
|
|
39
|
+
"heading": null,
|
|
40
|
+
"rows": [
|
|
41
|
+
{
|
|
42
|
+
"name": "title",
|
|
43
|
+
"type": "String / Node",
|
|
44
|
+
"default": "",
|
|
45
|
+
"description": "The title or name of the section next/previous section."
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"name": "label",
|
|
49
|
+
"type": "String / Node",
|
|
50
|
+
"default": "",
|
|
51
|
+
"description": "The optional label for the full variant."
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"name": "alignRight",
|
|
55
|
+
"type": "Boolean",
|
|
56
|
+
"default": "false",
|
|
57
|
+
"description": "Set right alignment for \"previous\" pager content to be aligned to the right side of the pager and the arrow on the left side."
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"name": "disabled",
|
|
61
|
+
"type": "Boolean",
|
|
62
|
+
"default": "false",
|
|
63
|
+
"description": "Sets the pager disabled."
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"name": "variant",
|
|
67
|
+
"type": "String",
|
|
68
|
+
"default": "full",
|
|
69
|
+
"description": "Define how large the component should be rendered. Possible values are: Pager.VARIANT_FULL, Pager.VARIANT_COMPACT, full, compact"
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"name": "onClick",
|
|
73
|
+
"type": "Function",
|
|
74
|
+
"default": "() => {}",
|
|
75
|
+
"description": "Callback function for when the component is clicked."
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"name": "className",
|
|
79
|
+
"type": "String",
|
|
80
|
+
"default": "",
|
|
81
|
+
"description": "Additional classes for the wrapper element."
|
|
82
|
+
}
|
|
83
|
+
]
|
|
84
|
+
}
|
|
85
|
+
]
|
|
86
|
+
}
|
|
87
|
+
]
|
|
88
|
+
}
|
|
89
|
+
]
|
|
90
|
+
}
|
|
91
|
+
],
|
|
92
|
+
"see_also": []
|
|
93
|
+
}
|