@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,269 @@
|
|
|
1
|
+
{
|
|
2
|
+
"metadata": {
|
|
3
|
+
"captured_at": "2025-11-21T12:07:30.140Z",
|
|
4
|
+
"source": "https://uikit.developers.rio.cloud/#components/filePickers",
|
|
5
|
+
"category": "Components",
|
|
6
|
+
"section": "Pickers",
|
|
7
|
+
"slug": "components/filepickers",
|
|
8
|
+
"version": "v1.13.2",
|
|
9
|
+
"hash_algorithm": "sha256",
|
|
10
|
+
"hash": "c073a80b2f42a94a2c880b0fc3db1d95b5d59987c360dde97bcbee0697e5f904"
|
|
11
|
+
},
|
|
12
|
+
"title": "FilePicker",
|
|
13
|
+
"lead": null,
|
|
14
|
+
"content": [
|
|
15
|
+
{
|
|
16
|
+
"heading": "FilePicker",
|
|
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 class=\"div\"><label>FilePicker for single images</label><div class=\"FilePicker\"><button type=\"button\" class=\"btn btn-default btn-component margin-bottom-20\" tabindex=\"0\">Select image</button><div role=\"presentation\" tabindex=\"0\"><input accept=\"image/jpeg,.jpg,.jpeg,image/png,.png,image/svg\" type=\"file\" tabindex=\"-1\" style=\"border: 0px; clip: rect(0px, 0px, 0px, 0px); clip-path: inset(50%); height: 1px; margin: 0px -1px -1px 0px; overflow: hidden; padding: 0px; position: absolute; width: 1px; white-space: nowrap;\"></div></div></div></div>",
|
|
22
|
+
"tabs": [
|
|
23
|
+
{
|
|
24
|
+
"label": "React",
|
|
25
|
+
"language": "tsx",
|
|
26
|
+
"code": "import { useState } from 'react';\n\nimport FilePicker from '@rio-cloud/rio-uikit/FilePicker';\n\nconst accept = { 'image/jpeg': ['.jpg', '.jpeg'], 'image/png': ['.png'], 'image/svg': [] };\n\nconst FilePickerExample = () => {\n const [files, setFiles] = useState<File[]>([]);\n\n const handleDeleteFiles = (id: number) => setFiles([...files.filter((_, index) => index !== id)]);\n\n return (\n <div className='div'>\n <label>FilePicker for single images</label>\n <FilePicker\n label='Select image'\n className='margin-bottom-20'\n onPick={(acceptedFiles: FileList | null) => setFiles([...(acceptedFiles ?? [])])}\n multiple={false}\n accept={accept}\n />\n {(files as FileWithPreview[]).map((file, id) => (\n <FilePreview file={file} key={file.name} id={id} onDelete={handleDeleteFiles} />\n ))}\n </div>\n );\n};\n\ntype FileWithPreview = File & { preview: string };\n\ntype FilePreviewProps = { id: number; file: FileWithPreview; onDelete: (id: number) => void };\n\nconst FilePreview = ({ file, id, onDelete }: FilePreviewProps) => (\n <div className='panel panel-default position-relative'>\n <div className='panel-heading border-none line-height-125rel word-break-all'>\n <b>{file.name}</b>\n </div>\n <RemoveImageButton id={id} onDelete={onDelete} />\n <div className='panel-body padding-top-0'>\n {'preview' in file && <img className='img-responsive' src={file.preview as string} alt={file.name} />}\n </div>\n </div>\n);\n\ntype RemoveImageButtonProps = { id: number; onDelete: (id: number) => void };\n\nconst RemoveImageButton = ({ id, onDelete = () => {} }: RemoveImageButtonProps) => (\n <div\n onClick={() => onDelete(id)}\n className={\n 'width-20 aspect-ratio-1 rounded-circle bg-white border border-color-light ' +\n 'display-grid place-items-center cursor-pointer position-absolute top-0 right-0 ' +\n 'translate-x50pct-y-50pct'\n }\n >\n <span className='rioglyph rioglyph-remove text-size-12' />\n </div>\n);\n\nexport default FilePickerExample;"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"label": "HTML",
|
|
30
|
+
"language": "html",
|
|
31
|
+
"code": "<div class=\"div\">\n <label>FilePicker for single images</label>\n <div class=\"FilePicker\">\n <button type=\"button\" class=\"btn btn-default btn-component margin-bottom-20\" tabindex=\"0\">Select image</button>\n <div role=\"presentation\" tabindex=\"0\">\n <input accept=\"image/jpeg,.jpg,.jpeg,image/png,.png,image/svg\" type=\"file\" tabindex=\"-1\" style=\"border: 0px; clip: rect(0px, 0px, 0px, 0px); clip-path: inset(50%); height: 1px; margin: 0px -1px -1px 0px; overflow: hidden; padding: 0px; position: absolute; width: 1px; white-space: nowrap;\">\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": "displayMode",
|
|
43
|
+
"type": "String",
|
|
44
|
+
"default": "button",
|
|
45
|
+
"description": "Defines the file picker display mode. Possible values are: button for a single button, dropzone for a custom dropzone passed as child function or full for showing both."
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"name": "multiple",
|
|
49
|
+
"type": "Boolean",
|
|
50
|
+
"default": "true",
|
|
51
|
+
"description": "Indicating if multiple files may be selected."
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"name": "label",
|
|
55
|
+
"type": "String / Node",
|
|
56
|
+
"default": "Select Files",
|
|
57
|
+
"description": "Text to display on Button if displayMode is set to \"button\"."
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"name": "accept",
|
|
61
|
+
"type": "Object",
|
|
62
|
+
"default": "",
|
|
63
|
+
"description": "Object list of accepted Mime Types as keys and file extensions array as value."
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"name": "maxSize",
|
|
67
|
+
"type": "Number",
|
|
68
|
+
"default": "",
|
|
69
|
+
"description": "Maximum file size in byte. 5 MB = 5,242,880 byte"
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"name": "onPick",
|
|
73
|
+
"type": "(files: FileList | null) => void",
|
|
74
|
+
"default": "() => {}",
|
|
75
|
+
"description": "Callback function after one or multiple files have been picked."
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"name": "fullHeight",
|
|
79
|
+
"type": "boolean",
|
|
80
|
+
"default": "false",
|
|
81
|
+
"description": "Flag to set the dropzone wrapper element to 100% height. This comes in handy, when the dropzone should have 100 % height so it can grow."
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"name": "className",
|
|
85
|
+
"type": "String",
|
|
86
|
+
"default": "",
|
|
87
|
+
"description": "Additional classes for the select button."
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"name": "children",
|
|
91
|
+
"type": "({ isDragActive }: FilePickerRenderProps) => any",
|
|
92
|
+
"default": "",
|
|
93
|
+
"description": "Pass a custom dropzone element as function receiving some render props."
|
|
94
|
+
}
|
|
95
|
+
]
|
|
96
|
+
}
|
|
97
|
+
]
|
|
98
|
+
}
|
|
99
|
+
]
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
"caption": "Example 2",
|
|
103
|
+
"rendered_html": "<div class=\"playground-content bg-white padding-20 padding-bottom-25\" style=\"width: 100%;\"><div><label>FilePicker for multiple images and with dropzone</label><div class=\"FilePicker\"><button type=\"button\" class=\"btn btn-default btn-component margin-bottom-20\" tabindex=\"0\">Select multiple Images</button><div role=\"presentation\" tabindex=\"0\" class=\"height-100pct\"><input accept=\"image/jpeg,.jpg,.jpeg,image/png,.png,image/svg\" multiple=\"\" type=\"file\" tabindex=\"-1\" style=\"border: 0px; clip: rect(0px, 0px, 0px, 0px); clip-path: inset(50%); height: 1px; margin: 0px -1px -1px 0px; overflow: hidden; padding: 0px; position: absolute; width: 1px; white-space: nowrap;\"><div class=\"rounded border border-style-dashed border-color-gray bg-lightest text-center text-color-darker opacity-50 padding-20 cursor-pointer\"><div class=\"margin-10\">Drag & drop files here, or click to select files</div></div></div></div><div class=\"display-grid grid-cols-1 grid-cols-3-sm gap-25 margin-top-20\"></div></div></div>",
|
|
104
|
+
"tabs": [
|
|
105
|
+
{
|
|
106
|
+
"label": "React",
|
|
107
|
+
"language": "tsx",
|
|
108
|
+
"code": "import { useState } from 'react';\nimport isEmpty from 'lodash/fp/isEmpty';\n\nimport FilePicker from '@rio-cloud/rio-uikit/FilePicker';\n\nconst accept = { 'image/jpeg': ['.jpg', '.jpeg'], 'image/png': ['.png'], 'image/svg': [] };\n\nconst FilePickerWithDropzoneExample = () => {\n const [files, setFiles] = useState<File[]>([]);\n\n const handleDeleteFiles = (id: number) => setFiles([...files.filter((_, index) => index !== id)]);\n\n return (\n <div>\n <label>FilePicker for multiple images and with dropzone</label>\n <FilePicker\n displayMode='full'\n label='Select multiple Images'\n className='margin-bottom-20'\n onPick={(acceptedFiles: FileList | null) =>\n setFiles(previousFiles => [...previousFiles, ...(acceptedFiles ?? [])])\n }\n accept={accept}\n fullHeight\n >\n {/* as long as the component accepts a \"isDragActive\" prop, you can just use it like this: */}\n {dropArea}\n </FilePicker>\n <div className='display-grid grid-cols-1 grid-cols-3-sm gap-25 margin-top-20'>\n {(files as FileWithPreview[]).map((file, id) => (\n <FilePreview file={file} key={file.name} id={id} onDelete={handleDeleteFiles} />\n ))}\n </div>\n </div>\n );\n};\n\ntype FileWithPreview = File & { preview: string };\n\ntype FilePreviewProps = { id: number; file: FileWithPreview; onDelete: (id: number) => void };\n\nconst FilePreview = ({ file, id, onDelete }: FilePreviewProps) => (\n <div className='panel panel-default position-relative'>\n <div className='panel-heading border-none line-height-125rel word-break-all'>\n <b>{file.name}</b>\n </div>\n <RemoveImageButton id={id} onDelete={onDelete} />\n <div className='panel-body padding-top-0'>\n {'preview' in file && <img className='img-responsive' src={file.preview as string} alt={file.name} />}\n </div>\n </div>\n);\n\ntype RemoveImageButtonProps = { id: number; onDelete: (id: number) => void };\n\nconst RemoveImageButton = ({ id, onDelete = () => {} }: RemoveImageButtonProps) => (\n <div\n onClick={() => onDelete(id)}\n className={\n 'width-20 aspect-ratio-1 rounded-circle bg-white border border-color-light ' +\n 'display-grid place-items-center cursor-pointer position-absolute top-0 right-0 ' +\n 'translate-x50pct-y-50pct'\n }\n >\n <span className='rioglyph rioglyph-remove text-size-12' />\n </div>\n);\n\nconst dropArea = ({ isDragActive }: { isDragActive: boolean }) => (\n <div\n className={\n 'rounded border border-style-dashed border-color-gray bg-lightest ' +\n 'text-center text-color-darker opacity-50 padding-20 cursor-pointer'\n }\n >\n <div className='margin-10'>\n {isDragActive ? 'Drop files here ...' : 'Drag & drop files here, or click to select files'}\n </div>\n </div>\n);\n\nexport default FilePickerWithDropzoneExample;"
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
"label": "HTML",
|
|
112
|
+
"language": "html",
|
|
113
|
+
"code": "<div>\n <label>FilePicker for multiple images and with dropzone</label>\n <div class=\"FilePicker\">\n <button type=\"button\" class=\"btn btn-default btn-component margin-bottom-20\" tabindex=\"0\">Select multiple Images</button>\n <div role=\"presentation\" tabindex=\"0\" class=\"height-100pct\">\n <input accept=\"image/jpeg,.jpg,.jpeg,image/png,.png,image/svg\" multiple=\"\" type=\"file\" tabindex=\"-1\" style=\"border: 0px; clip: rect(0px, 0px, 0px, 0px); clip-path: inset(50%); height: 1px; margin: 0px -1px -1px 0px; overflow: hidden; padding: 0px; position: absolute; width: 1px; white-space: nowrap;\">\n <div class=\"rounded border border-style-dashed border-color-gray bg-lightest text-center text-color-darker opacity-50 padding-20 cursor-pointer\">\n <div class=\"margin-10\">Drag & drop files here, or click to select files</div>\n </div>\n </div>\n </div>\n <div class=\"display-grid grid-cols-1 grid-cols-3-sm gap-25 margin-top-20\">\n </div>\n</div>"
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
"label": "Props",
|
|
117
|
+
"language": "json",
|
|
118
|
+
"code": null,
|
|
119
|
+
"props": [
|
|
120
|
+
{
|
|
121
|
+
"heading": null,
|
|
122
|
+
"rows": [
|
|
123
|
+
{
|
|
124
|
+
"name": "displayMode",
|
|
125
|
+
"type": "String",
|
|
126
|
+
"default": "button",
|
|
127
|
+
"description": "Defines the file picker display mode. Possible values are: button for a single button, dropzone for a custom dropzone passed as child function or full for showing both."
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
"name": "multiple",
|
|
131
|
+
"type": "Boolean",
|
|
132
|
+
"default": "true",
|
|
133
|
+
"description": "Indicating if multiple files may be selected."
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
"name": "label",
|
|
137
|
+
"type": "String / Node",
|
|
138
|
+
"default": "Select Files",
|
|
139
|
+
"description": "Text to display on Button if displayMode is set to \"button\"."
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
"name": "accept",
|
|
143
|
+
"type": "Object",
|
|
144
|
+
"default": "",
|
|
145
|
+
"description": "Object list of accepted Mime Types as keys and file extensions array as value."
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
"name": "maxSize",
|
|
149
|
+
"type": "Number",
|
|
150
|
+
"default": "",
|
|
151
|
+
"description": "Maximum file size in byte. 5 MB = 5,242,880 byte"
|
|
152
|
+
},
|
|
153
|
+
{
|
|
154
|
+
"name": "onPick",
|
|
155
|
+
"type": "(files: FileList | null) => void",
|
|
156
|
+
"default": "() => {}",
|
|
157
|
+
"description": "Callback function after one or multiple files have been picked."
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
"name": "fullHeight",
|
|
161
|
+
"type": "boolean",
|
|
162
|
+
"default": "false",
|
|
163
|
+
"description": "Flag to set the dropzone wrapper element to 100% height. This comes in handy, when the dropzone should have 100 % height so it can grow."
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
"name": "className",
|
|
167
|
+
"type": "String",
|
|
168
|
+
"default": "",
|
|
169
|
+
"description": "Additional classes for the select button."
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
"name": "children",
|
|
173
|
+
"type": "({ isDragActive }: FilePickerRenderProps) => any",
|
|
174
|
+
"default": "",
|
|
175
|
+
"description": "Pass a custom dropzone element as function receiving some render props."
|
|
176
|
+
}
|
|
177
|
+
]
|
|
178
|
+
}
|
|
179
|
+
]
|
|
180
|
+
}
|
|
181
|
+
]
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
"caption": "You have no file selected yet",
|
|
185
|
+
"rendered_html": "<div class=\"playground-content bg-white padding-20 padding-bottom-25\" style=\"width: 100%;\"><div><label>FilePicker for all files and with dropzone only</label><div class=\"FilePicker\"><div role=\"presentation\" tabindex=\"0\"><input type=\"file\" tabindex=\"-1\" style=\"border: 0px; clip: rect(0px, 0px, 0px, 0px); clip-path: inset(50%); height: 1px; margin: 0px -1px -1px 0px; overflow: hidden; padding: 0px; position: absolute; width: 1px; white-space: nowrap;\"><div class=\"\n rounded border border-style-dashed border-color-gray bg-lightest text-size-14\n text-center text-color-darker opacity-50 padding-25 cursor-pointer\n \"><span class=\"rioglyph rioglyph-files text-size-200pct opacity-50 margin-top-20\"></span><div class=\"margin-top-10\">Drag & drop PDF files here or click to select</div></div></div></div><div class=\"panel panel-default margin-top-20\"><div class=\"panel-body\"><div class=\"text-color-dark text-italic\">You have no file selected yet</div></div></div></div></div>",
|
|
186
|
+
"tabs": [
|
|
187
|
+
{
|
|
188
|
+
"label": "React",
|
|
189
|
+
"language": "tsx",
|
|
190
|
+
"code": "import { useState } from 'react';\n\nimport FilePicker from '@rio-cloud/rio-uikit/FilePicker';\n\nconst FilePickerDocumentExample = () => {\n const [file, setFile] = useState<File | undefined>();\n\n return (\n <div>\n <label>FilePicker for all files and with dropzone only</label>\n <FilePicker\n displayMode='dropzone'\n className='margin-bottom-20'\n onPick={(acceptedFiles: FileList | null) => setFile(acceptedFiles?.[0])}\n multiple={false}\n >\n {dropArea}\n </FilePicker>\n <FilePreview file={file as unknown as FileWithMetadata | undefined} />\n </div>\n );\n};\n\nconst dropArea = ({ isDragActive }: { isDragActive: boolean }) => (\n <div\n className={`\n rounded border border-style-dashed border-color-gray bg-lightest text-size-14\n text-center text-color-darker opacity-50 padding-25 cursor-pointer\n `}\n >\n <span className='rioglyph rioglyph-files text-size-200pct opacity-50 margin-top-20' />\n <div className='margin-top-10'>\n {isDragActive ? 'Drop files here ...' : 'Drag & drop PDF files here or click to select'}\n </div>\n </div>\n);\n\ntype FileWithMetadata = File & { lastModifiedDate: string; path: string };\n\nconst FilePreview = ({ file }: { file: FileWithMetadata | undefined }) => (\n <div className='panel panel-default margin-top-20'>\n <div className='panel-body'>\n {file && (\n <>\n <div>\n <b>{`${file?.name}`}</b>\n </div>\n <ul className='margin-0'>\n <li>\n <label className='margin-right-10'>type: </label>\n <i>{`${file?.type}`}</i>\n </li>\n <li>\n <label className='margin-right-10'>size: </label>\n <i>{`${file?.size}`}</i>\n </li>\n <li>\n <label className='margin-right-10'>lastModified: </label>\n <i>{`${file?.lastModified}`}</i>\n </li>\n <li>\n <label className='margin-right-10'>lastModifiedDate: </label>\n <i>{`${file?.lastModifiedDate}`}</i>\n </li>\n <li>\n <label className='margin-right-10'>path: </label>\n <i>{`${file?.path}`}</i>\n </li>\n </ul>\n </>\n )}\n {!file && <div className='text-color-dark text-italic'>You have no file selected yet</div>}\n </div>\n </div>\n);\n\nexport default FilePickerDocumentExample;"
|
|
191
|
+
},
|
|
192
|
+
{
|
|
193
|
+
"label": "HTML",
|
|
194
|
+
"language": "html",
|
|
195
|
+
"code": "<div>\n <label>FilePicker for all files and with dropzone only</label>\n <div class=\"FilePicker\">\n <div role=\"presentation\" tabindex=\"0\">\n <input type=\"file\" tabindex=\"-1\" style=\"border: 0px; clip: rect(0px, 0px, 0px, 0px); clip-path: inset(50%); height: 1px; margin: 0px -1px -1px 0px; overflow: hidden; padding: 0px; position: absolute; width: 1px; white-space: nowrap;\">\n <div class=\"\n rounded border border-style-dashed border-color-gray bg-lightest text-size-14\n text-center text-color-darker opacity-50 padding-25 cursor-pointer\n \">\n <span class=\"rioglyph rioglyph-files text-size-200pct opacity-50 margin-top-20\">\n </span>\n <div class=\"margin-top-10\">Drag & drop PDF files here or click to select</div>\n </div>\n </div>\n </div>\n <div class=\"panel panel-default margin-top-20\">\n <div class=\"panel-body\">\n <div class=\"text-color-dark text-italic\">You have no file selected yet</div>\n </div>\n </div>\n</div>"
|
|
196
|
+
},
|
|
197
|
+
{
|
|
198
|
+
"label": "Props",
|
|
199
|
+
"language": "json",
|
|
200
|
+
"code": null,
|
|
201
|
+
"props": [
|
|
202
|
+
{
|
|
203
|
+
"heading": null,
|
|
204
|
+
"rows": [
|
|
205
|
+
{
|
|
206
|
+
"name": "displayMode",
|
|
207
|
+
"type": "String",
|
|
208
|
+
"default": "button",
|
|
209
|
+
"description": "Defines the file picker display mode. Possible values are: button for a single button, dropzone for a custom dropzone passed as child function or full for showing both."
|
|
210
|
+
},
|
|
211
|
+
{
|
|
212
|
+
"name": "multiple",
|
|
213
|
+
"type": "Boolean",
|
|
214
|
+
"default": "true",
|
|
215
|
+
"description": "Indicating if multiple files may be selected."
|
|
216
|
+
},
|
|
217
|
+
{
|
|
218
|
+
"name": "label",
|
|
219
|
+
"type": "String / Node",
|
|
220
|
+
"default": "Select Files",
|
|
221
|
+
"description": "Text to display on Button if displayMode is set to \"button\"."
|
|
222
|
+
},
|
|
223
|
+
{
|
|
224
|
+
"name": "accept",
|
|
225
|
+
"type": "Object",
|
|
226
|
+
"default": "",
|
|
227
|
+
"description": "Object list of accepted Mime Types as keys and file extensions array as value."
|
|
228
|
+
},
|
|
229
|
+
{
|
|
230
|
+
"name": "maxSize",
|
|
231
|
+
"type": "Number",
|
|
232
|
+
"default": "",
|
|
233
|
+
"description": "Maximum file size in byte. 5 MB = 5,242,880 byte"
|
|
234
|
+
},
|
|
235
|
+
{
|
|
236
|
+
"name": "onPick",
|
|
237
|
+
"type": "(files: FileList | null) => void",
|
|
238
|
+
"default": "() => {}",
|
|
239
|
+
"description": "Callback function after one or multiple files have been picked."
|
|
240
|
+
},
|
|
241
|
+
{
|
|
242
|
+
"name": "fullHeight",
|
|
243
|
+
"type": "boolean",
|
|
244
|
+
"default": "false",
|
|
245
|
+
"description": "Flag to set the dropzone wrapper element to 100% height. This comes in handy, when the dropzone should have 100 % height so it can grow."
|
|
246
|
+
},
|
|
247
|
+
{
|
|
248
|
+
"name": "className",
|
|
249
|
+
"type": "String",
|
|
250
|
+
"default": "",
|
|
251
|
+
"description": "Additional classes for the select button."
|
|
252
|
+
},
|
|
253
|
+
{
|
|
254
|
+
"name": "children",
|
|
255
|
+
"type": "({ isDragActive }: FilePickerRenderProps) => any",
|
|
256
|
+
"default": "",
|
|
257
|
+
"description": "Pass a custom dropzone element as function receiving some render props."
|
|
258
|
+
}
|
|
259
|
+
]
|
|
260
|
+
}
|
|
261
|
+
]
|
|
262
|
+
}
|
|
263
|
+
]
|
|
264
|
+
}
|
|
265
|
+
]
|
|
266
|
+
}
|
|
267
|
+
],
|
|
268
|
+
"see_also": []
|
|
269
|
+
}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
{
|
|
2
|
+
"metadata": {
|
|
3
|
+
"captured_at": "2025-11-21T12:07:37.054Z",
|
|
4
|
+
"source": "https://uikit.developers.rio.cloud/#components/formLabel",
|
|
5
|
+
"category": "Components",
|
|
6
|
+
"section": "Content",
|
|
7
|
+
"slug": "components/formlabel",
|
|
8
|
+
"version": "v1.13.2",
|
|
9
|
+
"hash_algorithm": "sha256",
|
|
10
|
+
"hash": "49e6e707d07e96cbb9c2557025a9a392b650e1b55689b3f886fe51731665ea85"
|
|
11
|
+
},
|
|
12
|
+
"title": "FormLabel",
|
|
13
|
+
"lead": "A small convenience component for a form label or just a label style used without a form element.",
|
|
14
|
+
"content": [
|
|
15
|
+
{
|
|
16
|
+
"heading": "FormLabel",
|
|
17
|
+
"body": "",
|
|
18
|
+
"examples": [
|
|
19
|
+
{
|
|
20
|
+
"caption": "A label for another form elementSupporting text",
|
|
21
|
+
"rendered_html": "<div class=\"playground-content bg-white padding-20 padding-bottom-25\" style=\"width: 100%;\"><div class=\"display-flex flex-column gap-15 max-width-500\"><div class=\"form-group\"><label for=\"sample-input\" class=\"display-inline-block\"><span>A label for a form element</span></label><input id=\"sample-input\" class=\"form-control\" placeholder=\"Some random input\"></div><div class=\"form-group\"><label for=\"sample-input\" class=\"display-inline-flex flex-wrap justify-content-between width-100pct\"><span>A label for a form element with additional info</span><span class=\"text-color-gray text-italic text-size-12\">Supporting text</span></label><input id=\"sample-input\" class=\"form-control\" placeholder=\"Some random input\"></div><div class=\"form-group\"><label for=\"sample-input\" class=\"display-inline-flex flex-wrap justify-content-between width-100pct\"><span>A label for a form element with additional info as icon</span><span class=\"text-color-gray text-size-12\"><span class=\"rioglyph rioglyph-question-sign text-size-14 hover-text-color-info cursor-pointer\"></span></span></label><input id=\"sample-input\" class=\"form-control\" placeholder=\"Some random input\"></div><div class=\"form-group\"><div class=\"text-color-dark max-width-100pct text-size-12 display-inline-flex flex-wrap justify-content-between width-100pct margin-bottom-5\">A label for another form element<span class=\"text-color-gray text-italic text-size-12\">Supporting text</span></div><div class=\"bg-lightest rounded padding-15\"><div class=\"uikit-switch\"><label class=\"switch-label label-position-right\"><input type=\"checkbox\" class=\"switch-input\" checked=\"\"><div class=\"switch-content\" style=\"color: var(--brand-primary); min-width: 40px;\"><div class=\"switch-handle\"></div></div>Lorem ipsum dolor</label></div></div></div><div class=\"form-group\"><div class=\"text-color-dark max-width-100pct text-size-12 display-inline-block margin-bottom-5\">A label for some other elements</div><div class=\"btn-toolbar\"><button type=\"button\" class=\"btn btn-default btn-component\" tabindex=\"0\">Button</button><button type=\"button\" class=\"btn btn-primary btn-component\" tabindex=\"0\">Button</button></div></div></div></div>",
|
|
22
|
+
"tabs": [
|
|
23
|
+
{
|
|
24
|
+
"label": "React",
|
|
25
|
+
"language": "tsx",
|
|
26
|
+
"code": "import ButtonToolbar from '@rio-cloud/rio-uikit/ButtonToolbar';\nimport Button from '@rio-cloud/rio-uikit/Button';\nimport FormLabel from '@rio-cloud/rio-uikit/FormLabel';\nimport Switch from '@rio-cloud/rio-uikit/Switch';\nimport useToggle from '@rio-cloud/rio-uikit/useToggle';\nimport SimpleTooltip from '@rio-cloud/rio-uikit/SimpleTooltip';\n\nexport default () => {\n const { isToggled, toggle } = useToggle(true);\n\n return (\n <div className='display-flex flex-column gap-15 max-width-500'>\n <div className='form-group'>\n <FormLabel htmlFor='sample-input'>A label for a form element</FormLabel>\n <input id='sample-input' className='form-control' placeholder='Some random input' />\n </div>\n\n <div className='form-group'>\n <FormLabel htmlFor='sample-input' supportingText='Supporting text'>\n A label for a form element with additional info\n </FormLabel>\n <input id='sample-input' className='form-control' placeholder='Some random input' />\n </div>\n\n <div className='form-group'>\n <FormLabel\n htmlFor='sample-input'\n supportingText={\n <SimpleTooltip content='Lorem ipsum dolor sit amet' placement='top' width={150}>\n <span className='rioglyph rioglyph-question-sign text-size-14 hover-text-color-info cursor-pointer' />\n </SimpleTooltip>\n }\n >\n A label for a form element with additional info as icon\n </FormLabel>\n <input id='sample-input' className='form-control' placeholder='Some random input' />\n </div>\n\n <div className='form-group'>\n <FormLabel supportingText='Supporting text'>A label for another form element</FormLabel>\n <div className='bg-lightest rounded padding-15'>\n <Switch onChange={() => toggle()} checked={isToggled}>\n Lorem ipsum dolor\n </Switch>\n </div>\n </div>\n\n <div className='form-group'>\n <FormLabel>A label for some other elements</FormLabel>\n <ButtonToolbar>\n <Button>Button</Button>\n <Button bsStyle='primary'>Button</Button>\n </ButtonToolbar>\n </div>\n </div>\n );\n};"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"label": "HTML",
|
|
30
|
+
"language": "html",
|
|
31
|
+
"code": "<div class=\"display-flex flex-column gap-15 max-width-500\">\n <div class=\"form-group\">\n <label for=\"sample-input\" class=\"display-inline-block\">\n <span>A label for a form element</span>\n </label>\n <input id=\"sample-input\" class=\"form-control\" placeholder=\"Some random input\">\n </div>\n <div class=\"form-group\">\n <label for=\"sample-input\" class=\"display-inline-flex flex-wrap justify-content-between width-100pct\">\n <span>A label for a form element with additional info</span>\n <span class=\"text-color-gray text-italic text-size-12\">Supporting text</span>\n </label>\n <input id=\"sample-input\" class=\"form-control\" placeholder=\"Some random input\">\n </div>\n <div class=\"form-group\">\n <label for=\"sample-input\" class=\"display-inline-flex flex-wrap justify-content-between width-100pct\">\n <span>A label for a form element with additional info as icon</span>\n <span class=\"text-color-gray text-size-12\">\n <span class=\"rioglyph rioglyph-question-sign text-size-14 hover-text-color-info cursor-pointer\">\n </span>\n </span>\n </label>\n <input id=\"sample-input\" class=\"form-control\" placeholder=\"Some random input\">\n </div>\n <div class=\"form-group\">\n <div class=\"text-color-dark max-width-100pct text-size-12 display-inline-flex flex-wrap justify-content-between width-100pct margin-bottom-5\">A label for another form element<span class=\"text-color-gray text-italic text-size-12\">Supporting text</span>\n </div>\n <div class=\"bg-lightest rounded padding-15\">\n <div class=\"uikit-switch\">\n <label class=\"switch-label label-position-right\">\n <input type=\"checkbox\" class=\"switch-input\" checked=\"\">\n <div class=\"switch-content\" style=\"color: var(--brand-primary); min-width: 40px;\">\n <div class=\"switch-handle\">\n </div>\n </div>Lorem ipsum dolor\n </label>\n </div>\n </div>\n </div>\n <div class=\"form-group\">\n <div class=\"text-color-dark max-width-100pct text-size-12 display-inline-block margin-bottom-5\">A label for some other elements</div>\n <div class=\"btn-toolbar\">\n <button type=\"button\" class=\"btn btn-default btn-component\" tabindex=\"0\">Button</button>\n <button type=\"button\" class=\"btn btn-primary btn-component\" tabindex=\"0\">Button</button>\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": "htmlFor",
|
|
43
|
+
"type": "string",
|
|
44
|
+
"default": "",
|
|
45
|
+
"description": "Used for form elements. If given the tag will be set to \"label\", otherwise it uses a \"div\"."
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"name": "supportingText",
|
|
49
|
+
"type": "String / Node",
|
|
50
|
+
"default": "",
|
|
51
|
+
"description": "Additional supporting text displayed next to the label."
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"name": "className",
|
|
55
|
+
"type": "string",
|
|
56
|
+
"default": "",
|
|
57
|
+
"description": "Additional classes to be set on the wrapper element."
|
|
58
|
+
}
|
|
59
|
+
]
|
|
60
|
+
}
|
|
61
|
+
]
|
|
62
|
+
}
|
|
63
|
+
]
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"caption": "A label for some large buttons",
|
|
67
|
+
"rendered_html": "<div class=\"playground-content bg-white padding-20 padding-bottom-25\" style=\"width: 100%;\"><div class=\"display-flex flex-column gap-15 max-width-500\"><p>Labels for various sized elements using the <code>form-group-sm</code> and <code>form-group-lg</code> class on the parent element.</p><div class=\"form-group form-group-sm\"><label for=\"sample-sm-input\" class=\"display-inline-flex flex-wrap justify-content-between width-100pct\"><span>A label for a small form element</span><span class=\"text-color-gray text-italic text-size-10\">Lorem ipsum</span></label><input id=\"sample-sm-input\" class=\"form-control\" placeholder=\"Some input\"></div><div class=\"form-group form-group-lg\"><label for=\"sample-lg-input\" class=\"display-inline-flex flex-wrap justify-content-between width-100pct\"><span>A label for a large form element</span><span class=\"text-color-gray text-italic text-size-14\">Lorem ipsum</span></label><input id=\"sample-lg-input\" class=\"form-control\" placeholder=\"Some input\"></div><div class=\"form-group form-group-lg\"><div class=\"text-color-dark max-width-100pct text-size-14 display-inline-block margin-bottom-5\">A label for some large buttons</div><div class=\"btn-toolbar\"><button type=\"button\" class=\"btn btn-default btn-lg btn-component\" tabindex=\"0\">Button</button><button type=\"button\" class=\"btn btn-primary btn-lg btn-component\" tabindex=\"0\">Button</button></div></div></div></div>",
|
|
68
|
+
"tabs": [
|
|
69
|
+
{
|
|
70
|
+
"label": "React",
|
|
71
|
+
"language": "tsx",
|
|
72
|
+
"code": "import FormLabel from '@rio-cloud/rio-uikit/FormLabel';\nimport Button from '@rio-cloud/rio-uikit/Button';\nimport ButtonToolbar from '@rio-cloud/rio-uikit/ButtonToolbar';\n\nexport default () => {\n return (\n <div className='display-flex flex-column gap-15 max-width-500'>\n <p>\n Labels for various sized elements using the <code>form-group-sm</code> and <code>form-group-lg</code>{' '}\n class on the parent element.\n </p>\n <div className='form-group form-group-sm'>\n <FormLabel htmlFor='sample-sm-input' supportingText='Lorem ipsum'>\n A label for a small form element\n </FormLabel>\n <input id='sample-sm-input' className='form-control' placeholder='Some input' />\n </div>\n\n <div className='form-group form-group-lg'>\n <FormLabel htmlFor='sample-lg-input' supportingText='Lorem ipsum'>\n A label for a large form element\n </FormLabel>\n <input id='sample-lg-input' className='form-control' placeholder='Some input' />\n </div>\n\n <div className='form-group form-group-lg'>\n <FormLabel>A label for some large buttons</FormLabel>\n <ButtonToolbar>\n <Button bsSize='lg'>Button</Button>\n <Button bsSize='lg' bsStyle='primary'>\n Button\n </Button>\n </ButtonToolbar>\n </div>\n </div>\n );\n};"
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"label": "HTML",
|
|
76
|
+
"language": "html",
|
|
77
|
+
"code": "<div class=\"display-flex flex-column gap-15 max-width-500\">\n <p>Labels for various sized elements using the <code>form-group-sm</code> and <code>form-group-lg</code> class on the parent element.</p>\n <div class=\"form-group form-group-sm\">\n <label for=\"sample-sm-input\" class=\"display-inline-flex flex-wrap justify-content-between width-100pct\">\n <span>A label for a small form element</span>\n <span class=\"text-color-gray text-italic text-size-10\">Lorem ipsum</span>\n </label>\n <input id=\"sample-sm-input\" class=\"form-control\" placeholder=\"Some input\">\n </div>\n <div class=\"form-group form-group-lg\">\n <label for=\"sample-lg-input\" class=\"display-inline-flex flex-wrap justify-content-between width-100pct\">\n <span>A label for a large form element</span>\n <span class=\"text-color-gray text-italic text-size-14\">Lorem ipsum</span>\n </label>\n <input id=\"sample-lg-input\" class=\"form-control\" placeholder=\"Some input\">\n </div>\n <div class=\"form-group form-group-lg\">\n <div class=\"text-color-dark max-width-100pct text-size-14 display-inline-block margin-bottom-5\">A label for some large buttons</div>\n <div class=\"btn-toolbar\">\n <button type=\"button\" class=\"btn btn-default btn-lg btn-component\" tabindex=\"0\">Button</button>\n <button type=\"button\" class=\"btn btn-primary btn-lg btn-component\" tabindex=\"0\">Button</button>\n </div>\n </div>\n</div>"
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"label": "Props",
|
|
81
|
+
"language": "json",
|
|
82
|
+
"code": null,
|
|
83
|
+
"props": [
|
|
84
|
+
{
|
|
85
|
+
"heading": null,
|
|
86
|
+
"rows": [
|
|
87
|
+
{
|
|
88
|
+
"name": "htmlFor",
|
|
89
|
+
"type": "string",
|
|
90
|
+
"default": "",
|
|
91
|
+
"description": "Used for form elements. If given the tag will be set to \"label\", otherwise it uses a \"div\"."
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"name": "supportingText",
|
|
95
|
+
"type": "String / Node",
|
|
96
|
+
"default": "",
|
|
97
|
+
"description": "Additional supporting text displayed next to the label."
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"name": "className",
|
|
101
|
+
"type": "string",
|
|
102
|
+
"default": "",
|
|
103
|
+
"description": "Additional classes to be set on the wrapper element."
|
|
104
|
+
}
|
|
105
|
+
]
|
|
106
|
+
}
|
|
107
|
+
]
|
|
108
|
+
}
|
|
109
|
+
]
|
|
110
|
+
}
|
|
111
|
+
]
|
|
112
|
+
}
|
|
113
|
+
],
|
|
114
|
+
"see_also": []
|
|
115
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"metadata": {
|
|
3
|
+
"captured_at": "2025-11-21T12:08:16.622Z",
|
|
4
|
+
"source": "https://uikit.developers.rio.cloud/#components/fullscreenMap",
|
|
5
|
+
"category": "Components",
|
|
6
|
+
"section": "Map",
|
|
7
|
+
"slug": "components/fullscreenmap",
|
|
8
|
+
"version": "v1.13.2",
|
|
9
|
+
"hash_algorithm": "sha256",
|
|
10
|
+
"hash": "4f0110275aa274962a725755e8a8e3dd7aad289e252d78ee311b399c89cac8c1"
|
|
11
|
+
},
|
|
12
|
+
"title": null,
|
|
13
|
+
"lead": null,
|
|
14
|
+
"content": [
|
|
15
|
+
{
|
|
16
|
+
"heading": "Overview",
|
|
17
|
+
"body": "- resize: 1",
|
|
18
|
+
"examples": []
|
|
19
|
+
}
|
|
20
|
+
],
|
|
21
|
+
"see_also": []
|
|
22
|
+
}
|