@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,403 @@
|
|
|
1
|
+
{
|
|
2
|
+
"metadata": {
|
|
3
|
+
"captured_at": "2025-11-21T12:07:22.527Z",
|
|
4
|
+
"source": "https://uikit.developers.rio.cloud/#components/fade",
|
|
5
|
+
"category": "Components",
|
|
6
|
+
"section": "Show/Hide",
|
|
7
|
+
"slug": "components/fade",
|
|
8
|
+
"version": "v1.13.2",
|
|
9
|
+
"hash_algorithm": "sha256",
|
|
10
|
+
"hash": "6a544ae6dcf81cd46329f8e462e63e3f3b8557621b531345b1bb95e45b2abaad"
|
|
11
|
+
},
|
|
12
|
+
"title": "Fade",
|
|
13
|
+
"lead": "The Fade component fades in and out content with a given animation style.",
|
|
14
|
+
"content": [
|
|
15
|
+
{
|
|
16
|
+
"heading": "Fade",
|
|
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=\"margin-bottom-25\"><label>Animation styles:</label><div><label class=\"radio radio-inline\" tabindex=\"0\"><input type=\"radio\" class=\"\" name=\"radiosInline\" value=\"\" checked=\"\"><span class=\"radio-text\"><span>fade (default)</span></span></label><label class=\"radio radio-inline\" tabindex=\"0\"><input type=\"radio\" class=\"\" name=\"radiosInline\" value=\"\"><span class=\"radio-text\"><span>fromLeft</span></span></label><label class=\"radio radio-inline\" tabindex=\"0\"><input type=\"radio\" class=\"\" name=\"radiosInline\" value=\"\"><span class=\"radio-text\"><span>fromRight</span></span></label><label class=\"radio radio-inline\" tabindex=\"0\"><input type=\"radio\" class=\"\" name=\"radiosInline\" value=\"\"><span class=\"radio-text\"><span>fromTop</span></span></label><label class=\"radio radio-inline\" tabindex=\"0\"><input type=\"radio\" class=\"\" name=\"radiosInline\" value=\"\"><span class=\"radio-text\"><span>fromBottom</span></span></label></div></div><button type=\"button\" class=\"btn btn-default btn-toggle active btn-component margin-bottom-10\" tabindex=\"0\">Toggle content</button><div class=\"min-height-150\"><div style=\"opacity: 1; transform: none;\"><div class=\"panel panel-default panel-body\"><div class=\"display-flex justify-content-center\"><div class=\"width-50 flex-1-0 text-size-20\"><span class=\"rioglyph rioglyph-truck text-size-200pct text-color-gray\"></span></div><div class=\"text-color-darker\">\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.</div></div></div></div></div></div></div>",
|
|
22
|
+
"tabs": [
|
|
23
|
+
{
|
|
24
|
+
"label": "React",
|
|
25
|
+
"language": "tsx",
|
|
26
|
+
"code": "import React, { useState } from 'react';\n\nimport Fade, { FadeAnimationStyle } from '@rio-cloud/rio-uikit/Fade';\nimport RadioButton from '@rio-cloud/rio-uikit/RadioButton';\nimport ToggleButton from '@rio-cloud/rio-uikit/ToggleButton';\nimport { dummyText } from '../../../utils/data';\n\nexport default () => {\n const [showContent, setShowContent] = useState(true);\n const [animationStyle, setAnimationStyle] = useState<FadeAnimationStyle>('fade');\n\n return (\n <div>\n <div className='margin-bottom-25'>\n <label>Animation styles:</label>\n <div>\n <RadioButton name='radiosInline' inline onClick={() => setAnimationStyle('fade')} defaultChecked>\n fade (default)\n </RadioButton>\n <RadioButton name='radiosInline' inline onClick={() => setAnimationStyle('fromLeft')}>\n fromLeft\n </RadioButton>\n <RadioButton name='radiosInline' inline onClick={() => setAnimationStyle('fromRight')}>\n fromRight\n </RadioButton>\n <RadioButton name='radiosInline' inline onClick={() => setAnimationStyle('fromTop')}>\n fromTop\n </RadioButton>\n <RadioButton name='radiosInline' inline onClick={() => setAnimationStyle('fromBottom')}>\n fromBottom\n </RadioButton>\n </div>\n </div>\n\n <ToggleButton\n className='margin-bottom-10'\n active={showContent}\n onClick={() => setShowContent(!showContent)}\n >\n Toggle content\n </ToggleButton>\n\n <div className='min-height-150'>\n <Fade animationStyle={animationStyle} show={showContent}>\n <div className='panel panel-default panel-body'>\n <div className='display-flex justify-content-center'>\n <div className='width-50 flex-1-0 text-size-20'>\n <span className='rioglyph rioglyph-truck text-size-200pct text-color-gray' />\n </div>\n <div className='text-color-darker'>{dummyText}</div>\n </div>\n </div>\n </Fade>\n </div>\n </div>\n );\n};"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"label": "HTML",
|
|
30
|
+
"language": "html",
|
|
31
|
+
"code": "<div>\n <div class=\"margin-bottom-25\">\n <label>Animation styles:</label>\n <div>\n <label class=\"radio radio-inline\" tabindex=\"0\">\n <input type=\"radio\" class=\"\" name=\"radiosInline\" value=\"\" checked=\"\">\n <span class=\"radio-text\">\n <span>fade (default)</span>\n </span>\n </label>\n <label class=\"radio radio-inline\" tabindex=\"0\">\n <input type=\"radio\" class=\"\" name=\"radiosInline\" value=\"\">\n <span class=\"radio-text\">\n <span>fromLeft</span>\n </span>\n </label>\n <label class=\"radio radio-inline\" tabindex=\"0\">\n <input type=\"radio\" class=\"\" name=\"radiosInline\" value=\"\">\n <span class=\"radio-text\">\n <span>fromRight</span>\n </span>\n </label>\n <label class=\"radio radio-inline\" tabindex=\"0\">\n <input type=\"radio\" class=\"\" name=\"radiosInline\" value=\"\">\n <span class=\"radio-text\">\n <span>fromTop</span>\n </span>\n </label>\n <label class=\"radio radio-inline\" tabindex=\"0\">\n <input type=\"radio\" class=\"\" name=\"radiosInline\" value=\"\">\n <span class=\"radio-text\">\n <span>fromBottom</span>\n </span>\n </label>\n </div>\n </div>\n <button type=\"button\" class=\"btn btn-default btn-toggle active btn-component margin-bottom-10\" tabindex=\"0\">Toggle content</button>\n <div class=\"min-height-150\">\n <div style=\"opacity: 1; transform: none;\">\n <div class=\"panel panel-default panel-body\">\n <div class=\"display-flex justify-content-center\">\n <div class=\"width-50 flex-1-0 text-size-20\">\n <span class=\"rioglyph rioglyph-truck text-size-200pct text-color-gray\">\n </span>\n </div>\n <div class=\"text-color-darker\">\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.</div>\n </div>\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": "show",
|
|
43
|
+
"type": "Boolean",
|
|
44
|
+
"default": "true",
|
|
45
|
+
"description": "Defines whether to show the content or not."
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"name": "duration",
|
|
49
|
+
"type": "Number",
|
|
50
|
+
"default": "0.2",
|
|
51
|
+
"description": "Duration of the fade animation in seconds."
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"name": "initial",
|
|
55
|
+
"type": "Boolean",
|
|
56
|
+
"default": "false",
|
|
57
|
+
"description": "Defines whether or not the animation is triggered initially when showing the content."
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"name": "animationStyle",
|
|
61
|
+
"type": "String",
|
|
62
|
+
"default": "fade",
|
|
63
|
+
"description": "Defines the desired animation style. Possible values are: fade tabs page pageBackfromLeft fromRight fromTop fromBottom"
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"name": "exitBeforeEnter",
|
|
67
|
+
"type": "Boolean",
|
|
68
|
+
"default": "false",
|
|
69
|
+
"description": "If set to true, only one component will be rendered at a time. The exiting component will finish its exit animation before the entering component is rendered."
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"name": "onExitComplete",
|
|
73
|
+
"type": "Function",
|
|
74
|
+
"default": "() => {}",
|
|
75
|
+
"description": "Fires when all exiting nodes have completed animating out."
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"name": "animatePresenceProps",
|
|
79
|
+
"type": "Object",
|
|
80
|
+
"default": "",
|
|
81
|
+
"description": "Additional custom props for the underlying Framer motion AnimatePresence component. Use this for additional customizations."
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"name": "motionProps",
|
|
85
|
+
"type": "Object",
|
|
86
|
+
"default": "",
|
|
87
|
+
"description": "Additional custom props for the underlying Framer motion <motion.div> component. Use this for additional customizations."
|
|
88
|
+
}
|
|
89
|
+
]
|
|
90
|
+
}
|
|
91
|
+
]
|
|
92
|
+
}
|
|
93
|
+
]
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"caption": "Example 2",
|
|
97
|
+
"rendered_html": "<div class=\"playground-content bg-white padding-20 padding-bottom-25\" style=\"width: 100%;\"><div><div class=\"h6\">Fading tab content:</div><p>When using tabs or pills to switch between content, please us the fade style <code>'tabs'</code>. It's the default so you don't have to explicitly set it.</p><ul class=\"nav nav-tabs\"><li class=\"active\"><span>Tab 1</span></li><li class=\"\"><span>Tab 2</span></li></ul><div class=\"tab-content-bordered\"><div style=\"opacity: 1; transform: none;\"><div class=\"display-flex justify-content-center\"><div class=\"width-50 flex-1-0 text-size-20\"><span class=\"rioglyph rioglyph-truck text-size-200pct text-color-gray\"></span></div><div class=\"text-color-darker\">\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.</div></div></div></div></div></div>",
|
|
98
|
+
"tabs": [
|
|
99
|
+
{
|
|
100
|
+
"label": "React",
|
|
101
|
+
"language": "tsx",
|
|
102
|
+
"code": "import React, { useState } from 'react';\n\nimport Fade from '@rio-cloud/rio-uikit/Fade';\nimport { dummyText } from '../../../utils/data';\n\nexport default () => {\n const [currentTab, setCurrentTab] = useState(1);\n\n return (\n <div>\n <div className='h6'>Fading tab content:</div>\n <p>\n When using tabs or pills to switch between content, please us the fade style <code>'tabs'</code>. It's\n the default so you don't have to explicitly set it.\n </p>\n <ul className='nav nav-tabs'>\n <li className={currentTab === 1 ? 'active' : ''}>\n <span onClick={() => setCurrentTab(1)}>Tab 1</span>\n </li>\n <li className={currentTab === 2 ? 'active' : ''}>\n <span onClick={() => setCurrentTab(2)}>Tab 2</span>\n </li>\n </ul>\n <div className='tab-content-bordered'>\n <Fade initial={false} exitBeforeEnter>\n {currentTab === 1 && <ContentTab1 key='contentTab1' />}\n {currentTab === 2 && <ContentTab2 key='contentTab2' />}\n </Fade>\n </div>\n </div>\n );\n};\n\nconst ContentTab1 = () => (\n <div className='display-flex justify-content-center'>\n <div className='width-50 flex-1-0 text-size-20'>\n <span className='rioglyph rioglyph-truck text-size-200pct text-color-gray' />\n </div>\n <div className='text-color-darker'>{dummyText}</div>\n </div>\n);\n\nconst ContentTab2 = () => (\n <div className='display-flex justify-content-center'>\n <div className='width-50 flex-1-0 text-size-20'>\n <span className='rioglyph rioglyph-bus text-size-200pct text-color-gray' />\n </div>\n <div className='text-color-darker'>{dummyText}</div>\n </div>\n);"
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"label": "HTML",
|
|
106
|
+
"language": "html",
|
|
107
|
+
"code": "<div>\n <div class=\"h6\">Fading tab content:</div>\n <p>When using tabs or pills to switch between content, please us the fade style <code>'tabs'</code>. It's the default so you don't have to explicitly set it.</p>\n <ul class=\"nav nav-tabs\">\n <li class=\"active\">\n <span>Tab 1</span>\n </li>\n <li class=\"\">\n <span>Tab 2</span>\n </li>\n </ul>\n <div class=\"tab-content-bordered\">\n <div style=\"opacity: 1; transform: none;\">\n <div class=\"display-flex justify-content-center\">\n <div class=\"width-50 flex-1-0 text-size-20\">\n <span class=\"rioglyph rioglyph-truck text-size-200pct text-color-gray\">\n </span>\n </div>\n <div class=\"text-color-darker\">\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.</div>\n </div>\n </div>\n </div>\n</div>"
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
"label": "Props",
|
|
111
|
+
"language": "json",
|
|
112
|
+
"code": null,
|
|
113
|
+
"props": [
|
|
114
|
+
{
|
|
115
|
+
"heading": null,
|
|
116
|
+
"rows": [
|
|
117
|
+
{
|
|
118
|
+
"name": "show",
|
|
119
|
+
"type": "Boolean",
|
|
120
|
+
"default": "true",
|
|
121
|
+
"description": "Defines whether to show the content or not."
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
"name": "duration",
|
|
125
|
+
"type": "Number",
|
|
126
|
+
"default": "0.2",
|
|
127
|
+
"description": "Duration of the fade animation in seconds."
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
"name": "initial",
|
|
131
|
+
"type": "Boolean",
|
|
132
|
+
"default": "false",
|
|
133
|
+
"description": "Defines whether or not the animation is triggered initially when showing the content."
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
"name": "animationStyle",
|
|
137
|
+
"type": "String",
|
|
138
|
+
"default": "fade",
|
|
139
|
+
"description": "Defines the desired animation style. Possible values are: fade tabs page pageBackfromLeft fromRight fromTop fromBottom"
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
"name": "exitBeforeEnter",
|
|
143
|
+
"type": "Boolean",
|
|
144
|
+
"default": "false",
|
|
145
|
+
"description": "If set to true, only one component will be rendered at a time. The exiting component will finish its exit animation before the entering component is rendered."
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
"name": "onExitComplete",
|
|
149
|
+
"type": "Function",
|
|
150
|
+
"default": "() => {}",
|
|
151
|
+
"description": "Fires when all exiting nodes have completed animating out."
|
|
152
|
+
},
|
|
153
|
+
{
|
|
154
|
+
"name": "animatePresenceProps",
|
|
155
|
+
"type": "Object",
|
|
156
|
+
"default": "",
|
|
157
|
+
"description": "Additional custom props for the underlying Framer motion AnimatePresence component. Use this for additional customizations."
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
"name": "motionProps",
|
|
161
|
+
"type": "Object",
|
|
162
|
+
"default": "",
|
|
163
|
+
"description": "Additional custom props for the underlying Framer motion <motion.div> component. Use this for additional customizations."
|
|
164
|
+
}
|
|
165
|
+
]
|
|
166
|
+
}
|
|
167
|
+
]
|
|
168
|
+
}
|
|
169
|
+
]
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
"caption": "Example 3",
|
|
173
|
+
"rendered_html": "<div class=\"playground-content bg-white padding-20 padding-bottom-25\" style=\"width: 100%;\"><div class=\"max-width-500\"><div class=\"h6\">Fading pills content:</div><p>When using tabs or pills to switch between content, please us the fade style <code>'tabs'</code>. It's the default so you don't have to explicitly set it.</p><ul class=\"nav nav-pills\"><li class=\"active\"><span>Tab 1</span></li><li class=\"\"><span>Tab 2</span></li></ul><div class=\"padding-20 overflow-hidden\"><div style=\"opacity: 1; transform: none;\"><div class=\"display-flex justify-content-center\"><div class=\"margin-right-20 text-size-20\"><span class=\"rioglyph rioglyph-truck text-size-200pct text-color-gray\"></span></div><div class=\"flex-1-1 text-color-darker\">\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.</div></div></div></div></div></div>",
|
|
174
|
+
"tabs": [
|
|
175
|
+
{
|
|
176
|
+
"label": "React",
|
|
177
|
+
"language": "tsx",
|
|
178
|
+
"code": "import React, { useState } from 'react';\n\nimport Fade from '@rio-cloud/rio-uikit/Fade';\nimport { dummyText, dummyTextExtraShort } from '../../../utils/data';\n\nexport default () => {\n const [currentTab, setCurrentTab] = useState(1);\n\n return (\n <div className='max-width-500'>\n <div className='h6'>Fading pills content:</div>\n <p>\n When using tabs or pills to switch between content, please us the fade style <code>'tabs'</code>. It's\n the default so you don't have to explicitly set it.\n </p>\n <ul className='nav nav-pills'>\n <li className={currentTab === 1 ? 'active' : ''}>\n <span onClick={() => setCurrentTab(1)}>Tab 1</span>\n </li>\n <li className={currentTab === 2 ? 'active' : ''}>\n <span onClick={() => setCurrentTab(2)}>Tab 2</span>\n </li>\n </ul>\n <div className='padding-20 overflow-hidden'>\n <Fade initial={false} exitBeforeEnter>\n {currentTab === 1 && <ContentTab1 key='contentTab1' />}\n {currentTab === 2 && <ContentTab2 key='contentTab2' />}\n </Fade>\n </div>\n </div>\n );\n};\n\nconst ContentTab1 = () => (\n <div className='display-flex justify-content-center'>\n <div className='margin-right-20 text-size-20'>\n <span className='rioglyph rioglyph-truck text-size-200pct text-color-gray' />\n </div>\n <div className='flex-1-1 text-color-darker'>{dummyText}</div>\n </div>\n);\n\nconst ContentTab2 = () => (\n <div className='display-flex justify-content-center'>\n <div className='margin-right-20 text-size-20'>\n <span className='rioglyph rioglyph-bus text-size-200pct text-color-gray' />\n </div>\n <div className='flex-1-1'>\n <form>\n <div className='form-group'>\n <label className='display-flex flex-wrap justify-content-between'>\n Default input<span className='text-italic'>Some input info for the user</span>\n </label>\n <input type='text' className='form-control' defaultValue='rio' />\n </div>\n <div className='form-group'>\n <label className='display-flex flex-wrap justify-content-between'>Another input</label>\n <input type='text' className='form-control' defaultValue='rio' />\n </div>\n </form>\n <div className='text-color-darker'>{dummyTextExtraShort}</div>\n </div>\n </div>\n);"
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
"label": "HTML",
|
|
182
|
+
"language": "html",
|
|
183
|
+
"code": "<div class=\"max-width-500\">\n <div class=\"h6\">Fading pills content:</div>\n <p>When using tabs or pills to switch between content, please us the fade style <code>'tabs'</code>. It's the default so you don't have to explicitly set it.</p>\n <ul class=\"nav nav-pills\">\n <li class=\"active\">\n <span>Tab 1</span>\n </li>\n <li class=\"\">\n <span>Tab 2</span>\n </li>\n </ul>\n <div class=\"padding-20 overflow-hidden\">\n <div style=\"opacity: 1; transform: none;\">\n <div class=\"display-flex justify-content-center\">\n <div class=\"margin-right-20 text-size-20\">\n <span class=\"rioglyph rioglyph-truck text-size-200pct text-color-gray\">\n </span>\n </div>\n <div class=\"flex-1-1 text-color-darker\">\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.</div>\n </div>\n </div>\n </div>\n</div>"
|
|
184
|
+
},
|
|
185
|
+
{
|
|
186
|
+
"label": "Props",
|
|
187
|
+
"language": "json",
|
|
188
|
+
"code": null,
|
|
189
|
+
"props": [
|
|
190
|
+
{
|
|
191
|
+
"heading": null,
|
|
192
|
+
"rows": [
|
|
193
|
+
{
|
|
194
|
+
"name": "show",
|
|
195
|
+
"type": "Boolean",
|
|
196
|
+
"default": "true",
|
|
197
|
+
"description": "Defines whether to show the content or not."
|
|
198
|
+
},
|
|
199
|
+
{
|
|
200
|
+
"name": "duration",
|
|
201
|
+
"type": "Number",
|
|
202
|
+
"default": "0.2",
|
|
203
|
+
"description": "Duration of the fade animation in seconds."
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
"name": "initial",
|
|
207
|
+
"type": "Boolean",
|
|
208
|
+
"default": "false",
|
|
209
|
+
"description": "Defines whether or not the animation is triggered initially when showing the content."
|
|
210
|
+
},
|
|
211
|
+
{
|
|
212
|
+
"name": "animationStyle",
|
|
213
|
+
"type": "String",
|
|
214
|
+
"default": "fade",
|
|
215
|
+
"description": "Defines the desired animation style. Possible values are: fade tabs page pageBackfromLeft fromRight fromTop fromBottom"
|
|
216
|
+
},
|
|
217
|
+
{
|
|
218
|
+
"name": "exitBeforeEnter",
|
|
219
|
+
"type": "Boolean",
|
|
220
|
+
"default": "false",
|
|
221
|
+
"description": "If set to true, only one component will be rendered at a time. The exiting component will finish its exit animation before the entering component is rendered."
|
|
222
|
+
},
|
|
223
|
+
{
|
|
224
|
+
"name": "onExitComplete",
|
|
225
|
+
"type": "Function",
|
|
226
|
+
"default": "() => {}",
|
|
227
|
+
"description": "Fires when all exiting nodes have completed animating out."
|
|
228
|
+
},
|
|
229
|
+
{
|
|
230
|
+
"name": "animatePresenceProps",
|
|
231
|
+
"type": "Object",
|
|
232
|
+
"default": "",
|
|
233
|
+
"description": "Additional custom props for the underlying Framer motion AnimatePresence component. Use this for additional customizations."
|
|
234
|
+
},
|
|
235
|
+
{
|
|
236
|
+
"name": "motionProps",
|
|
237
|
+
"type": "Object",
|
|
238
|
+
"default": "",
|
|
239
|
+
"description": "Additional custom props for the underlying Framer motion <motion.div> component. Use this for additional customizations."
|
|
240
|
+
}
|
|
241
|
+
]
|
|
242
|
+
}
|
|
243
|
+
]
|
|
244
|
+
}
|
|
245
|
+
]
|
|
246
|
+
},
|
|
247
|
+
{
|
|
248
|
+
"caption": "Example 4",
|
|
249
|
+
"rendered_html": "<div class=\"playground-content bg-white padding-20 padding-bottom-25\" style=\"width: 100%;\"><div class=\"max-width-500\"><div class=\"h6\">Page transition fade:</div><p>You may want to use <code>'page'</code> or <code>'pageBack'</code> style when you want to animate content as page transition. Example usage would be in a dialog, when showing onboarding screens or for steps.</p><hr><div class=\"padding-20 overflow-hidden min-height-250\"><div style=\"opacity: 1; transform: none;\"><div class=\"display-flex justify-content-center\"><div class=\"margin-right-20 text-size-20\"><span class=\"rioglyph rioglyph-truck text-size-200pct text-color-gray\"></span></div><div class=\"flex-1-1 text-color-darker\">\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.</div></div></div></div><div class=\"display-flex gap-15 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>",
|
|
250
|
+
"tabs": [
|
|
251
|
+
{
|
|
252
|
+
"label": "React",
|
|
253
|
+
"language": "tsx",
|
|
254
|
+
"code": "import React, { useState } from 'react';\n\nimport Fade, { type FadeAnimationStyle } from '@rio-cloud/rio-uikit/Fade';\nimport Pager from '@rio-cloud/rio-uikit/Pager';\nimport { dummyText, dummyTextExtraShort } from '../../../utils/data';\n\nexport default () => {\n const [currentContent, setCurrentContent] = useState(1);\n const [animationStyle, setAnimationStyle] = useState<FadeAnimationStyle>('page');\n\n const handleNext = () => {\n setCurrentContent(currentContent + 1);\n setAnimationStyle('page');\n };\n\n const handlePrev = () => {\n setCurrentContent(currentContent - 1);\n setAnimationStyle('pageBack');\n };\n\n return (\n <div className='max-width-500'>\n <div className='h6'>Page transition fade:</div>\n <p>\n You may want to use <code>'page'</code> or <code>'pageBack'</code> style when you want to animate\n content as page transition. Example usage would be in a dialog, when showing onboarding screens or for\n steps.\n </p>\n <hr />\n <div className='padding-20 overflow-hidden min-height-250'>\n <Fade\n initial={false}\n exitBeforeEnter\n animationStyle={animationStyle}\n onExitComplete={() => console.log('Animation completed')}\n >\n {currentContent === 1 && <Content1 key='content1' />}\n {currentContent === 2 && <Content2 key='content2' />}\n {currentContent === 3 && <Content3 key='content3' />}\n </Fade>\n </div>\n <div className='display-flex gap-15 justify-content-between'>\n <Pager\n title='Previous'\n variant={Pager.VARIANT_COMPACT}\n disabled={currentContent === 1}\n alignRight\n onClick={handlePrev}\n />\n <Pager\n title='Next'\n variant={Pager.VARIANT_COMPACT}\n disabled={currentContent === 3}\n onClick={handleNext}\n />\n </div>\n </div>\n );\n};\n\nconst Content1 = () => (\n <div className='display-flex justify-content-center'>\n <div className='margin-right-20 text-size-20'>\n <span className='rioglyph rioglyph-truck text-size-200pct text-color-gray' />\n </div>\n <div className='flex-1-1 text-color-darker'>{dummyText}</div>\n </div>\n);\n\nconst Content2 = () => (\n <div className='display-flex justify-content-center'>\n <div className='margin-right-20 text-size-20'>\n <span className='rioglyph rioglyph-bus text-size-200pct text-color-gray' />\n </div>\n <div className='flex-1-1'>\n <form>\n <div className='form-group'>\n <label className='display-flex flex-wrap justify-content-between'>\n Default input<span className='text-italic'>Some input info for the user</span>\n </label>\n <input type='text' className='form-control' defaultValue='rio' />\n </div>\n <div className='form-group'>\n <label className='display-flex flex-wrap justify-content-between'>Another input</label>\n <input type='text' className='form-control' defaultValue='rio' />\n </div>\n </form>\n <div className='text-color-darker'>{dummyTextExtraShort}</div>\n </div>\n </div>\n);\n\nconst Content3 = () => (\n <div className='display-flex align-items-center justify-content-center min-height-200'>\n <div className='margin-right-20 text-size-20'>\n <span className='rioglyph rioglyph-ok-circle text-size-200pct text-color-success' />\n </div>\n <div className='text-color-darker'>You are done</div>\n </div>\n);"
|
|
255
|
+
},
|
|
256
|
+
{
|
|
257
|
+
"label": "HTML",
|
|
258
|
+
"language": "html",
|
|
259
|
+
"code": "<div class=\"max-width-500\">\n <div class=\"h6\">Page transition fade:</div>\n <p>You may want to use <code>'page'</code> or <code>'pageBack'</code> style when you want to animate content as page transition. Example usage would be in a dialog, when showing onboarding screens or for steps.</p>\n <hr>\n <div class=\"padding-20 overflow-hidden min-height-250\">\n <div style=\"opacity: 1; transform: none;\">\n <div class=\"display-flex justify-content-center\">\n <div class=\"margin-right-20 text-size-20\">\n <span class=\"rioglyph rioglyph-truck text-size-200pct text-color-gray\">\n </span>\n </div>\n <div class=\"flex-1-1 text-color-darker\">\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.</div>\n </div>\n </div>\n </div>\n <div class=\"display-flex gap-15 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>"
|
|
260
|
+
},
|
|
261
|
+
{
|
|
262
|
+
"label": "Props",
|
|
263
|
+
"language": "json",
|
|
264
|
+
"code": null,
|
|
265
|
+
"props": [
|
|
266
|
+
{
|
|
267
|
+
"heading": null,
|
|
268
|
+
"rows": [
|
|
269
|
+
{
|
|
270
|
+
"name": "show",
|
|
271
|
+
"type": "Boolean",
|
|
272
|
+
"default": "true",
|
|
273
|
+
"description": "Defines whether to show the content or not."
|
|
274
|
+
},
|
|
275
|
+
{
|
|
276
|
+
"name": "duration",
|
|
277
|
+
"type": "Number",
|
|
278
|
+
"default": "0.2",
|
|
279
|
+
"description": "Duration of the fade animation in seconds."
|
|
280
|
+
},
|
|
281
|
+
{
|
|
282
|
+
"name": "initial",
|
|
283
|
+
"type": "Boolean",
|
|
284
|
+
"default": "false",
|
|
285
|
+
"description": "Defines whether or not the animation is triggered initially when showing the content."
|
|
286
|
+
},
|
|
287
|
+
{
|
|
288
|
+
"name": "animationStyle",
|
|
289
|
+
"type": "String",
|
|
290
|
+
"default": "fade",
|
|
291
|
+
"description": "Defines the desired animation style. Possible values are: fade tabs page pageBackfromLeft fromRight fromTop fromBottom"
|
|
292
|
+
},
|
|
293
|
+
{
|
|
294
|
+
"name": "exitBeforeEnter",
|
|
295
|
+
"type": "Boolean",
|
|
296
|
+
"default": "false",
|
|
297
|
+
"description": "If set to true, only one component will be rendered at a time. The exiting component will finish its exit animation before the entering component is rendered."
|
|
298
|
+
},
|
|
299
|
+
{
|
|
300
|
+
"name": "onExitComplete",
|
|
301
|
+
"type": "Function",
|
|
302
|
+
"default": "() => {}",
|
|
303
|
+
"description": "Fires when all exiting nodes have completed animating out."
|
|
304
|
+
},
|
|
305
|
+
{
|
|
306
|
+
"name": "animatePresenceProps",
|
|
307
|
+
"type": "Object",
|
|
308
|
+
"default": "",
|
|
309
|
+
"description": "Additional custom props for the underlying Framer motion AnimatePresence component. Use this for additional customizations."
|
|
310
|
+
},
|
|
311
|
+
{
|
|
312
|
+
"name": "motionProps",
|
|
313
|
+
"type": "Object",
|
|
314
|
+
"default": "",
|
|
315
|
+
"description": "Additional custom props for the underlying Framer motion <motion.div> component. Use this for additional customizations."
|
|
316
|
+
}
|
|
317
|
+
]
|
|
318
|
+
}
|
|
319
|
+
]
|
|
320
|
+
}
|
|
321
|
+
]
|
|
322
|
+
},
|
|
323
|
+
{
|
|
324
|
+
"caption": "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod",
|
|
325
|
+
"rendered_html": "<div class=\"playground-content bg-lighter padding-20 padding-bottom-25\" style=\"width: 100%;\"><div><div class=\"max-width-600\"><p>This demonstrates how transitions can be used to create a more engaging user experience.</p><p>Selecting an item from this list takes you to a second view that provides detailed information specific to the chosen item.</p><p>This approach is particularly beneficial when dealing with limited space, such as narrow sidebars or dialog boxes with multiple steps. By utilizing transitions in these scenarios, you can effectively guide users through the process without cluttering the interface.</p></div><div class=\"max-width-500 min-height-500 border bg-white overflow-hidden\"><div class=\"\"><div style=\"opacity: 1; transform: none;\"><div class=\"padding-20\"><div class=\"rounded hover-bg-lightest cursor-pointer padding-x-15 padding-y-10\"><div class=\"display-flex align-items-center gap-10\"><div class=\"flex-1-1\"><div class=\"text-size-20 text-medium\">Lorem ipsum</div><div class=\"text-color-dark\">Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod</div></div><div class=\"text-color-dark\"><span class=\"rioglyph rioglyph-chevron-right\"></span></div></div></div><div class=\"Divider position-relative width-100pct padding-y-10\" style=\"padding-top: 15px; padding-bottom: 15px;\"><div class=\"divider-line bg-lighter\" style=\"width: 100%; height: 1px;\"></div></div><div class=\"rounded hover-bg-lightest cursor-pointer padding-x-15 padding-y-10\"><div class=\"display-flex align-items-center gap-10\"><div class=\"flex-1-1\"><div class=\"text-size-20 text-medium\">Dolor</div><div class=\"text-color-dark\">Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod</div></div><div class=\"text-color-dark\"><span class=\"rioglyph rioglyph-chevron-right\"></span></div></div></div><div class=\"Divider position-relative width-100pct padding-y-10\" style=\"padding-top: 15px; padding-bottom: 15px;\"><div class=\"divider-line bg-lighter\" style=\"width: 100%; height: 1px;\"></div></div><div class=\"rounded hover-bg-lightest cursor-pointer padding-x-15 padding-y-10\"><div class=\"display-flex align-items-center gap-10\"><div class=\"flex-1-1\"><div class=\"text-size-20 text-medium\">Sit amet</div><div class=\"text-color-dark\">Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod</div></div><div class=\"text-color-dark\"><span class=\"rioglyph rioglyph-chevron-right\"></span></div></div></div><div class=\"Divider position-relative width-100pct padding-y-10\" style=\"padding-top: 15px; padding-bottom: 15px;\"><div class=\"divider-line bg-lighter\" style=\"width: 100%; height: 1px;\"></div></div><div class=\"rounded hover-bg-lightest cursor-pointer padding-x-15 padding-y-10\"><div class=\"display-flex align-items-center gap-10\"><div class=\"flex-1-1\"><div class=\"text-size-20 text-medium\">Consetetur sadipscing</div><div class=\"text-color-dark\">Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod</div></div><div class=\"text-color-dark\"><span class=\"rioglyph rioglyph-chevron-right\"></span></div></div></div><div class=\"Divider position-relative width-100pct padding-y-10\" style=\"padding-top: 15px; padding-bottom: 15px;\"><div class=\"divider-line bg-lighter\" style=\"width: 100%; height: 1px;\"></div></div></div></div></div></div></div></div>",
|
|
326
|
+
"tabs": [
|
|
327
|
+
{
|
|
328
|
+
"label": "React",
|
|
329
|
+
"language": "tsx",
|
|
330
|
+
"code": "import React, { useState } from 'react';\n\nimport Fade, { type FadeAnimationStyle } from '@rio-cloud/rio-uikit/Fade';\nimport AppNavigationBar from '@rio-cloud/rio-uikit/AppNavigationBar';\nimport Button from '@rio-cloud/rio-uikit/Button';\nimport Divider from '@rio-cloud/rio-uikit/Divider';\nimport { dummyText, dummyTextExtraShort } from '../../../utils/data';\n\ntype Details = {\n title: string;\n};\n\nexport default () => {\n const [currentContent, setCurrentContent] = useState('list');\n const [animationStyle, setAnimationStyle] = useState<FadeAnimationStyle>('page');\n\n const [details, setDetails] = useState<Details>();\n\n const handleNext = (currentDetails: Details) => {\n setCurrentContent('details');\n setDetails(currentDetails);\n setAnimationStyle('page');\n };\n\n const handlePrev = () => {\n setCurrentContent('list');\n setAnimationStyle('pageBack');\n };\n\n return (\n <div>\n <div className='max-width-600'>\n <p>This demonstrates how transitions can be used to create a more engaging user experience.</p>\n <p>\n Selecting an item from this list takes you to a second view that provides detailed information\n specific to the chosen item.\n </p>\n <p>\n This approach is particularly beneficial when dealing with limited space, such as narrow sidebars or\n dialog boxes with multiple steps. By utilizing transitions in these scenarios, you can effectively\n guide users through the process without cluttering the interface.\n </p>\n </div>\n <div className='max-width-500 min-height-500 border bg-white overflow-hidden'>\n <div className=''>\n <Fade\n initial={false}\n exitBeforeEnter\n animationStyle={animationStyle}\n onExitComplete={() => console.log('Animation completed')}\n duration={0.25}\n motionProps={{ transition: { duration: 0.25, type: 'spring' } }}\n >\n {currentContent === 'list' && (\n <div className='padding-20'>\n <ListItem key='content1' onNext={handleNext} title='Lorem ipsum' />\n <Divider dividerColor='lighter' className='padding-y-10' />\n <ListItem key='content2' onNext={handleNext} title='Dolor' />\n <Divider dividerColor='lighter' className='padding-y-10' />\n <ListItem key='content3' onNext={handleNext} title='Sit amet' />\n <Divider dividerColor='lighter' className='padding-y-10' />\n <ListItem key='content4' onNext={handleNext} title='Consetetur sadipscing' />\n <Divider dividerColor='lighter' className='padding-y-10' />\n </div>\n )}\n {currentContent === 'details' && (\n <ItemDetails key='content2' title={details?.title} onBack={handlePrev} />\n )}\n </Fade>\n </div>\n </div>\n </div>\n );\n};\n\nconst ListItem = ({ title, onNext }: { title: string; onNext: (details: Details) => void }) => (\n <div\n className='rounded hover-bg-lightest cursor-pointer padding-x-15 padding-y-10'\n onClick={() => onNext({ title })}\n >\n <div className='display-flex align-items-center gap-10'>\n <div className='flex-1-1'>\n <div className='text-size-20 text-medium'>{title}</div>\n <div className='text-color-dark'>\n Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod\n </div>\n </div>\n <div className='text-color-dark'>\n <span className='rioglyph rioglyph-chevron-right' />\n </div>\n </div>\n </div>\n);\n\nconst ItemDetails = ({ title = '', onBack }: { title: string | undefined; onBack: VoidFunction }) => (\n <div>\n <AppNavigationBar title={title} onNavigateBack={onBack} className='border border-bottom-only' />\n <div className='display-flex justify-content-center padding-20 padding-top-25'>\n <div className='margin-right-20 text-size-20'>\n <span className='rioglyph rioglyph-bus text-size-200pct text-color-gray' />\n </div>\n <div className='flex-1-1'>\n <form>\n <div className='form-group'>\n <label className='display-flex flex-wrap justify-content-between'>\n Default input<span className='text-italic'>Some input info for the user</span>\n </label>\n <input type='text' className='form-control' defaultValue='rio' />\n </div>\n <div className='form-group'>\n <label className='display-flex flex-wrap justify-content-between'>Another input</label>\n <input type='text' className='form-control' defaultValue='rio' />\n </div>\n </form>\n <div className='text-color-darker'>{dummyTextExtraShort}</div>\n </div>\n </div>\n </div>\n);"
|
|
331
|
+
},
|
|
332
|
+
{
|
|
333
|
+
"label": "HTML",
|
|
334
|
+
"language": "html",
|
|
335
|
+
"code": "<div>\n <div class=\"max-width-600\">\n <p>This demonstrates how transitions can be used to create a more engaging user experience.</p>\n <p>Selecting an item from this list takes you to a second view that provides detailed information specific to the chosen item.</p>\n <p>This approach is particularly beneficial when dealing with limited space, such as narrow sidebars or dialog boxes with multiple steps. By utilizing transitions in these scenarios, you can effectively guide users through the process without cluttering the interface.</p>\n </div>\n <div class=\"max-width-500 min-height-500 border bg-white overflow-hidden\">\n <div class=\"\">\n <div style=\"opacity: 1; transform: none;\">\n <div class=\"padding-20\">\n <div class=\"rounded hover-bg-lightest cursor-pointer padding-x-15 padding-y-10\">\n <div class=\"display-flex align-items-center gap-10\">\n <div class=\"flex-1-1\">\n <div class=\"text-size-20 text-medium\">Lorem ipsum</div>\n <div class=\"text-color-dark\">Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod</div>\n </div>\n <div class=\"text-color-dark\">\n <span class=\"rioglyph rioglyph-chevron-right\">\n </span>\n </div>\n </div>\n </div>\n <div class=\"Divider position-relative width-100pct padding-y-10\" style=\"padding-top: 15px; padding-bottom: 15px;\">\n <div class=\"divider-line bg-lighter\" style=\"width: 100%; height: 1px;\">\n </div>\n </div>\n <div class=\"rounded hover-bg-lightest cursor-pointer padding-x-15 padding-y-10\">\n <div class=\"display-flex align-items-center gap-10\">\n <div class=\"flex-1-1\">\n <div class=\"text-size-20 text-medium\">Dolor</div>\n <div class=\"text-color-dark\">Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod</div>\n </div>\n <div class=\"text-color-dark\">\n <span class=\"rioglyph rioglyph-chevron-right\">\n </span>\n </div>\n </div>\n </div>\n <div class=\"Divider position-relative width-100pct padding-y-10\" style=\"padding-top: 15px; padding-bottom: 15px;\">\n <div class=\"divider-line bg-lighter\" style=\"width: 100%; height: 1px;\">\n </div>\n </div>\n <div class=\"rounded hover-bg-lightest cursor-pointer padding-x-15 padding-y-10\">\n <div class=\"display-flex align-items-center gap-10\">\n <div class=\"flex-1-1\">\n <div class=\"text-size-20 text-medium\">Sit amet</div>\n <div class=\"text-color-dark\">Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod</div>\n </div>\n <div class=\"text-color-dark\">\n <span class=\"rioglyph rioglyph-chevron-right\">\n </span>\n </div>\n </div>\n </div>\n <div class=\"Divider position-relative width-100pct padding-y-10\" style=\"padding-top: 15px; padding-bottom: 15px;\">\n <div class=\"divider-line bg-lighter\" style=\"width: 100%; height: 1px;\">\n </div>\n </div>\n <div class=\"rounded hover-bg-lightest cursor-pointer padding-x-15 padding-y-10\">\n <div class=\"display-flex align-items-center gap-10\">\n <div class=\"flex-1-1\">\n <div class=\"text-size-20 text-medium\">Consetetur sadipscing</div>\n <div class=\"text-color-dark\">Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod</div>\n </div>\n <div class=\"text-color-dark\">\n <span class=\"rioglyph rioglyph-chevron-right\">\n </span>\n </div>\n </div>\n </div>\n <div class=\"Divider position-relative width-100pct padding-y-10\" style=\"padding-top: 15px; padding-bottom: 15px;\">\n <div class=\"divider-line bg-lighter\" style=\"width: 100%; height: 1px;\">\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>"
|
|
336
|
+
},
|
|
337
|
+
{
|
|
338
|
+
"label": "Props",
|
|
339
|
+
"language": "json",
|
|
340
|
+
"code": null,
|
|
341
|
+
"props": [
|
|
342
|
+
{
|
|
343
|
+
"heading": null,
|
|
344
|
+
"rows": [
|
|
345
|
+
{
|
|
346
|
+
"name": "show",
|
|
347
|
+
"type": "Boolean",
|
|
348
|
+
"default": "true",
|
|
349
|
+
"description": "Defines whether to show the content or not."
|
|
350
|
+
},
|
|
351
|
+
{
|
|
352
|
+
"name": "duration",
|
|
353
|
+
"type": "Number",
|
|
354
|
+
"default": "0.2",
|
|
355
|
+
"description": "Duration of the fade animation in seconds."
|
|
356
|
+
},
|
|
357
|
+
{
|
|
358
|
+
"name": "initial",
|
|
359
|
+
"type": "Boolean",
|
|
360
|
+
"default": "false",
|
|
361
|
+
"description": "Defines whether or not the animation is triggered initially when showing the content."
|
|
362
|
+
},
|
|
363
|
+
{
|
|
364
|
+
"name": "animationStyle",
|
|
365
|
+
"type": "String",
|
|
366
|
+
"default": "fade",
|
|
367
|
+
"description": "Defines the desired animation style. Possible values are: fade tabs page pageBackfromLeft fromRight fromTop fromBottom"
|
|
368
|
+
},
|
|
369
|
+
{
|
|
370
|
+
"name": "exitBeforeEnter",
|
|
371
|
+
"type": "Boolean",
|
|
372
|
+
"default": "false",
|
|
373
|
+
"description": "If set to true, only one component will be rendered at a time. The exiting component will finish its exit animation before the entering component is rendered."
|
|
374
|
+
},
|
|
375
|
+
{
|
|
376
|
+
"name": "onExitComplete",
|
|
377
|
+
"type": "Function",
|
|
378
|
+
"default": "() => {}",
|
|
379
|
+
"description": "Fires when all exiting nodes have completed animating out."
|
|
380
|
+
},
|
|
381
|
+
{
|
|
382
|
+
"name": "animatePresenceProps",
|
|
383
|
+
"type": "Object",
|
|
384
|
+
"default": "",
|
|
385
|
+
"description": "Additional custom props for the underlying Framer motion AnimatePresence component. Use this for additional customizations."
|
|
386
|
+
},
|
|
387
|
+
{
|
|
388
|
+
"name": "motionProps",
|
|
389
|
+
"type": "Object",
|
|
390
|
+
"default": "",
|
|
391
|
+
"description": "Additional custom props for the underlying Framer motion <motion.div> component. Use this for additional customizations."
|
|
392
|
+
}
|
|
393
|
+
]
|
|
394
|
+
}
|
|
395
|
+
]
|
|
396
|
+
}
|
|
397
|
+
]
|
|
398
|
+
}
|
|
399
|
+
]
|
|
400
|
+
}
|
|
401
|
+
],
|
|
402
|
+
"see_also": []
|
|
403
|
+
}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
{
|
|
2
|
+
"metadata": {
|
|
3
|
+
"captured_at": "2025-11-21T12:07:20.223Z",
|
|
4
|
+
"source": "https://uikit.developers.rio.cloud/#components/fadeExpander",
|
|
5
|
+
"category": "Components",
|
|
6
|
+
"section": "Show/Hide",
|
|
7
|
+
"slug": "components/fadeexpander",
|
|
8
|
+
"version": "v1.13.2",
|
|
9
|
+
"hash_algorithm": "sha256",
|
|
10
|
+
"hash": "6f976d02a04f62ac948299bb657210493a6e4331d3b3b4f910f7a3ee2cb570c8"
|
|
11
|
+
},
|
|
12
|
+
"title": "FadeExpander",
|
|
13
|
+
"lead": "The FadeExpander component fades in and expands when the content.",
|
|
14
|
+
"content": [
|
|
15
|
+
{
|
|
16
|
+
"heading": "FadeExpander",
|
|
17
|
+
"body": "",
|
|
18
|
+
"examples": [
|
|
19
|
+
{
|
|
20
|
+
"caption": "",
|
|
21
|
+
"rendered_html": "<div class=\"playground-content bg-checkerboard padding-20 padding-bottom-25\" style=\"width: 100%;\"><div class=\"max-width-500 border rounded display-flex flex-column shadow-default bg-white\"><div class=\"padding-15 text-medium shadow-muted-down z-index-10\">Lorem ipsum dolor sit amet</div><div class=\"\"><div class=\"bg-lightest border border-top-only border-color-lighter padding-x-15 padding-y-20\"><div class=\"form-group\"><div class=\"input-group shadow-subtle\"><span class=\"input-group-addon\"><span class=\"rioglyph rioglyph-start\"></span></span><input class=\"form-control\" placeholder=\"Add starting point\"></div></div><div class=\"form-group margin-0\"><div class=\"input-group shadow-subtle\"><span class=\"input-group-addon\"><span class=\"rioglyph rioglyph-finish\"></span></span><input class=\"form-control\" placeholder=\"Add destination\"></div></div></div><div class=\"padding-15 border border-top-only border-color-lighter\"><div class=\"display-flex justify-content-between\"><div class=\"text-color-darker\">Enable lorem ipsum dolor sit amet</div><div class=\"text-color-dark\"><div class=\"uikit-switch\"><label class=\"switch-label\"><input type=\"checkbox\" class=\"switch-input\"><div class=\"switch-content\" style=\"color: var(--brand-primary); min-width: 40px;\"><div class=\"switch-handle\"></div></div></label></div></div></div></div></div></div></div>",
|
|
22
|
+
"tabs": [
|
|
23
|
+
{
|
|
24
|
+
"label": "React",
|
|
25
|
+
"language": "tsx",
|
|
26
|
+
"code": "import { useEffect, useRef, useState } from 'react';\n\nimport FadeExpander from '@rio-cloud/rio-uikit/FadeExpander';\nimport Switch from '@rio-cloud/rio-uikit/Switch';\nimport { dummyText } from '../../../utils/data';\n\nexport default () => {\n const [showContent1, setShowContent1] = useState(false);\n const [showContent2, setShowContent2] = useState(false);\n\n const [isSwitch1Toggled, setIsSwitch1Toggled] = useState(false);\n\n const input1Ref = useRef<HTMLInputElement>(null);\n const input2Ref = useRef<HTMLInputElement>(null);\n\n const locationBlock = (\n <div className='position-relative bg-white border border-top-none rounded rounded-bottom margin-top-0 padding-x-10 padding-y-15'>\n <div className='display-flex cursor-pointer align-items-center gap-15 padding-x-5'>\n <div className='display-grid place-items-center height-40 width-40 rounded-circle bg-primary text-color-white'>\n <span className='rioglyph rioglyph-location-arrow text-size-20' />\n </div>\n <div className=''>\n <div className='text-medium text-size-16 text-color-primary'>Allow location access</div>\n <div className='text-size-12 text-color-darker'>Based on sources like your browser</div>\n </div>\n </div>\n </div>\n );\n\n return (\n <div className='max-width-500 border rounded display-flex flex-column shadow-default bg-white'>\n <div className='padding-15 text-medium shadow-muted-down z-index-10'>Lorem ipsum dolor sit amet</div>\n <div className=''>\n <div className='bg-lightest border border-top-only border-color-lighter padding-x-15 padding-y-20'>\n <div className='form-group'>\n <div className='input-group shadow-subtle'>\n <span className='input-group-addon'>\n <span className='rioglyph rioglyph-start' />\n </span>\n <input\n className='form-control'\n placeholder='Add starting point'\n ref={input1Ref}\n onFocus={() => setShowContent1(true)}\n onBlur={() => setShowContent1(false)}\n />\n </div>\n <FadeExpander show={showContent1}>{locationBlock}</FadeExpander>\n </div>\n <div className='form-group margin-0'>\n <div className='input-group shadow-subtle'>\n <span className='input-group-addon'>\n <span className='rioglyph rioglyph-finish' />\n </span>\n <input\n className='form-control'\n placeholder='Add destination'\n ref={input2Ref}\n onFocus={() => setShowContent2(true)}\n onBlur={() => setShowContent2(false)}\n />\n </div>\n <FadeExpander show={showContent2}>{locationBlock}</FadeExpander>\n </div>\n </div>\n <div className='padding-15 border border-top-only border-color-lighter'>\n <div className='display-flex justify-content-between'>\n <div className='text-color-darker'>Enable lorem ipsum dolor sit amet</div>\n <div className='text-color-dark'>\n <Switch\n onChange={() => setIsSwitch1Toggled(!isSwitch1Toggled)}\n checked={isSwitch1Toggled}\n />\n </div>\n </div>\n <FadeExpander show={isSwitch1Toggled} className='margin-top-15'>\n <div className='bg-lightest padding-15 rounded rounded-large text-color-dark'>\n <div className='text-size-h5 text-color-darker margin-bottom-10'>Settings</div>\n <div className='display-grid grid-cols-2 gap-10'>\n <div className='form-group margin-0'>\n <label className='form-label' htmlFor='subgrid-username'>\n Lorem ipsum\n </label>\n <input id='subgrid-username' type='text' className='form-control' />\n </div>\n <div className='form-group margin-0'>\n <label className='form-label' htmlFor='subgrid-password'>\n Dolor sit amet\n </label>\n <input id='subgrid-password' type='password' className='form-control' />\n </div>\n </div>\n </div>\n </FadeExpander>\n </div>\n </div>\n </div>\n );\n};"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"label": "HTML",
|
|
30
|
+
"language": "html",
|
|
31
|
+
"code": "<div class=\"max-width-500 border rounded display-flex flex-column shadow-default bg-white\">\n <div class=\"padding-15 text-medium shadow-muted-down z-index-10\">Lorem ipsum dolor sit amet</div>\n <div class=\"\">\n <div class=\"bg-lightest border border-top-only border-color-lighter padding-x-15 padding-y-20\">\n <div class=\"form-group\">\n <div class=\"input-group shadow-subtle\">\n <span class=\"input-group-addon\">\n <span class=\"rioglyph rioglyph-start\">\n </span>\n </span>\n <input class=\"form-control\" placeholder=\"Add starting point\">\n </div>\n </div>\n <div class=\"form-group margin-0\">\n <div class=\"input-group shadow-subtle\">\n <span class=\"input-group-addon\">\n <span class=\"rioglyph rioglyph-finish\">\n </span>\n </span>\n <input class=\"form-control\" placeholder=\"Add destination\">\n </div>\n </div>\n </div>\n <div class=\"padding-15 border border-top-only border-color-lighter\">\n <div class=\"display-flex justify-content-between\">\n <div class=\"text-color-darker\">Enable lorem ipsum dolor sit amet</div>\n <div class=\"text-color-dark\">\n <div class=\"uikit-switch\">\n <label class=\"switch-label\">\n <input type=\"checkbox\" class=\"switch-input\">\n <div class=\"switch-content\" style=\"color: var(--brand-primary); min-width: 40px;\">\n <div class=\"switch-handle\">\n </div>\n </div>\n </label>\n </div>\n </div>\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": "show",
|
|
43
|
+
"type": "boolean",
|
|
44
|
+
"default": "false",
|
|
45
|
+
"description": "Defines if the content is shown or not."
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"name": "delay",
|
|
49
|
+
"type": "Number",
|
|
50
|
+
"default": "0",
|
|
51
|
+
"description": "Defines the time the animation should wait until it starts."
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"name": "duration",
|
|
55
|
+
"type": "Number",
|
|
56
|
+
"default": "0.2",
|
|
57
|
+
"description": "Defines the duration in seconds of the expand animation."
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"name": "className",
|
|
61
|
+
"type": "String",
|
|
62
|
+
"default": "",
|
|
63
|
+
"description": "Additional classes names added to the motion div wrapper."
|
|
64
|
+
}
|
|
65
|
+
]
|
|
66
|
+
}
|
|
67
|
+
]
|
|
68
|
+
}
|
|
69
|
+
]
|
|
70
|
+
}
|
|
71
|
+
]
|
|
72
|
+
}
|
|
73
|
+
],
|
|
74
|
+
"see_also": []
|
|
75
|
+
}
|