@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,703 @@
|
|
|
1
|
+
{
|
|
2
|
+
"metadata": {
|
|
3
|
+
"captured_at": "2025-11-21T12:07:18.262Z",
|
|
4
|
+
"source": "https://uikit.developers.rio.cloud/#components/saveableInput",
|
|
5
|
+
"category": "Components",
|
|
6
|
+
"section": "Interaction",
|
|
7
|
+
"slug": "components/saveableinput",
|
|
8
|
+
"version": "v1.13.2",
|
|
9
|
+
"hash_algorithm": "sha256",
|
|
10
|
+
"hash": "b189dc8b94d67c7df639276b8c354e9218d860f4c73d8606cc9a52a17f9c6357"
|
|
11
|
+
},
|
|
12
|
+
"title": "SaveableInput",
|
|
13
|
+
"lead": null,
|
|
14
|
+
"content": [
|
|
15
|
+
{
|
|
16
|
+
"heading": "SaveableInput",
|
|
17
|
+
"body": "",
|
|
18
|
+
"examples": [
|
|
19
|
+
{
|
|
20
|
+
"caption": "SaveableInput",
|
|
21
|
+
"rendered_html": "<div class=\"playground-content bg-white padding-20 padding-bottom-25\" style=\"width: 100%;\"><div><div class=\"display-grid grid-cols-3-md grid-cols-2-xs gap-20\"><div><div class=\"text-color-dark max-width-100pct text-size-12 display-inline-block margin-bottom-5\">SaveableInput</div><div class=\"form-group\"><div class=\"input-group\"><input type=\"text\" placeholder=\"Some value comes here\" class=\"form-control\" disabled=\"\" value=\"\"><div class=\"input-group-btn\"><button type=\"button\" class=\"btn btn-primary btn-icon-only btn-component\" tabindex=\"0\"><span class=\"rioglyph rioglyph-pencil\"></span></button></div></div></div></div><div><div class=\"text-color-dark max-width-100pct text-size-12 display-inline-block margin-bottom-5\">SaveableInput with value</div><div class=\"form-group\"><div class=\"input-group\"><input type=\"text\" class=\"form-control\" disabled=\"\" value=\"Lorem ipsum\"><div class=\"input-group-btn\"><button type=\"button\" class=\"btn btn-primary btn-icon-only btn-component\" tabindex=\"0\"><span class=\"rioglyph rioglyph-pencil\"></span></button></div></div></div></div><div><div class=\"text-color-dark max-width-100pct text-size-12 display-inline-block margin-bottom-5\">SaveableInput with previous value</div><div class=\"form-group\"><div class=\"input-group\"><input type=\"text\" class=\"form-control padding-bottom-0 padding-top-10 text-size-12\" disabled=\"\" value=\"Lorem ipsum\"><div class=\"position-absolute top-2 left-10 margin-left-3 text-size-10 text-decoration-line-through\" aria-label=\"previous value\">Dolor sit amet</div><div class=\"input-group-btn\"><button type=\"button\" class=\"btn btn-primary btn-icon-only btn-component\" tabindex=\"0\"><span class=\"rioglyph rioglyph-pencil\"></span></button></div></div></div></div><div><div class=\"text-color-dark max-width-100pct text-size-12 display-inline-block margin-bottom-5\">SaveableInput with fixed previous value</div><div class=\"form-group\"><div class=\"input-group\"><input type=\"text\" class=\"form-control padding-bottom-0 padding-top-10 text-size-12\" disabled=\"\" value=\"Lorem ipsum\"><div class=\"position-absolute top-2 left-10 margin-left-3 text-size-10 text-decoration-line-through\" aria-label=\"previous value\">You shall not pass</div><div class=\"input-group-btn\"><button type=\"button\" class=\"btn btn-primary btn-icon-only btn-component\" tabindex=\"0\"><span class=\"rioglyph rioglyph-pencil\"></span></button></div></div></div></div><div><div class=\"text-color-dark max-width-100pct text-size-12 display-inline-block margin-bottom-5\">SaveableInput with default button style</div><div class=\"form-group\"><div class=\"input-group\"><input type=\"text\" class=\"form-control\" disabled=\"\" id=\"some-id \" value=\"Lorem ipsum\"><div class=\"input-group-btn\"><button type=\"button\" class=\"btn btn-default btn-icon-only btn-component\" tabindex=\"0\"><span class=\"rioglyph rioglyph-pencil\"></span></button></div></div></div></div><div><div class=\"text-color-dark max-width-100pct text-size-12 display-inline-block margin-bottom-5\">SaveableInput with unit and icon</div><div class=\"form-group max-width-150\"><div class=\"input-group\"><span class=\"input-group-addon\"><span class=\"rioglyph rioglyph-parcel\" aria-hidden=\"true\" aria-label=\"input icon\"></span></span><input type=\"text\" class=\"form-control padding-right-50\" disabled=\"\" value=\"145\"><div class=\"position-absolute right-0 margin-right-50\" aria-label=\"unit\">Pcs</div><div class=\"input-group-btn\"><button type=\"button\" class=\"btn btn-default btn-icon-only btn-component\" tabindex=\"0\"><span class=\"rioglyph rioglyph-pencil\"></span></button></div></div></div></div><div><div class=\"text-color-dark max-width-100pct text-size-12 display-inline-block margin-bottom-5\">SaveableInput with feedback</div><div class=\"form-group\"><div class=\"form-group has-feedback has-error margin-0\"><div class=\"input-group\"><span class=\"input-group-addon\"><span class=\"rioglyph rioglyph-factory\" aria-hidden=\"true\" aria-label=\"input icon\"></span></span><input type=\"text\" class=\"form-control padding-right-50\" disabled=\"\" value=\"Lorem ipsum\"><div class=\"position-absolute right-0 margin-right-50\" aria-label=\"unit\">Lab</div><div class=\"input-group-btn\"><button type=\"button\" class=\"btn btn-primary btn-icon-only btn-component\" tabindex=\"0\"><span class=\"rioglyph rioglyph-pencil\"></span></button></div></div><span class=\"help-block z-index-max\"><span>This is an error message</span></span></div></div></div><div><div class=\"text-color-dark max-width-100pct text-size-12 display-inline-block margin-bottom-5\">Disabled SaveableInput</div><div class=\"form-group\"><div class=\"input-group\"><input type=\"text\" class=\"form-control\" disabled=\"\" value=\"Lorem ipsum\"><div class=\"input-group-btn\"><button type=\"button\" class=\"btn btn-primary btn-icon-only btn-component\" disabled=\"\" tabindex=\"0\"><span class=\"rioglyph rioglyph-pencil\"></span></button></div></div></div></div></div></div></div>",
|
|
22
|
+
"tabs": [
|
|
23
|
+
{
|
|
24
|
+
"label": "React",
|
|
25
|
+
"language": "tsx",
|
|
26
|
+
"code": "import SaveableInput from '@rio-cloud/rio-uikit/SaveableInput';\nimport FormLabel from '@rio-cloud/rio-uikit/FormLabel';\n\nexport default () => (\n <div>\n <div className='display-grid grid-cols-3-md grid-cols-2-xs gap-20'>\n <div>\n <FormLabel>SaveableInput</FormLabel>\n <SaveableInput placeholder='Some value comes here' />\n </div>\n\n <div>\n <FormLabel>SaveableInput with value</FormLabel>\n <SaveableInput value='Lorem ipsum' />\n </div>\n\n <div>\n <FormLabel>SaveableInput with previous value</FormLabel>\n <SaveableInput value='Lorem ipsum' previousValue='Dolor sit amet' />\n </div>\n\n <div>\n <FormLabel>SaveableInput with fixed previous value</FormLabel>\n <SaveableInput value='Lorem ipsum' fixedPreviousValue='You shall not pass' />\n </div>\n\n <div>\n <FormLabel>SaveableInput with default button style</FormLabel>\n <SaveableInput value='Lorem ipsum' buttonStyle='default' inputProps={{ id: 'some-id ' }} />\n </div>\n\n <div>\n <FormLabel>SaveableInput with unit and icon</FormLabel>\n <SaveableInput\n value='145'\n buttonStyle='default'\n icon='rioglyph-parcel'\n unit='Pcs'\n className='max-width-150'\n />\n </div>\n\n <div>\n <FormLabel>SaveableInput with feedback</FormLabel>\n <div className='form-group'>\n <SaveableInput\n value='Lorem ipsum'\n icon='rioglyph-factory'\n unit='Lab'\n className='margin-0'\n isValid={false}\n errorMessage='This is an error message'\n />\n </div>\n </div>\n\n <div>\n <FormLabel>Disabled SaveableInput</FormLabel>\n <SaveableInput value='Lorem ipsum' disabled />\n </div>\n </div>\n </div>\n);"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"label": "HTML",
|
|
30
|
+
"language": "html",
|
|
31
|
+
"code": "<div>\n <div class=\"display-grid grid-cols-3-md grid-cols-2-xs gap-20\">\n <div>\n <div class=\"text-color-dark max-width-100pct text-size-12 display-inline-block margin-bottom-5\">SaveableInput</div>\n <div class=\"form-group\">\n <div class=\"input-group\">\n <input type=\"text\" placeholder=\"Some value comes here\" class=\"form-control\" disabled=\"\" value=\"\">\n <div class=\"input-group-btn\">\n <button type=\"button\" class=\"btn btn-primary btn-icon-only btn-component\" tabindex=\"0\">\n <span class=\"rioglyph rioglyph-pencil\">\n </span>\n </button>\n </div>\n </div>\n </div>\n </div>\n <div>\n <div class=\"text-color-dark max-width-100pct text-size-12 display-inline-block margin-bottom-5\">SaveableInput with value</div>\n <div class=\"form-group\">\n <div class=\"input-group\">\n <input type=\"text\" class=\"form-control\" disabled=\"\" value=\"Lorem ipsum\">\n <div class=\"input-group-btn\">\n <button type=\"button\" class=\"btn btn-primary btn-icon-only btn-component\" tabindex=\"0\">\n <span class=\"rioglyph rioglyph-pencil\">\n </span>\n </button>\n </div>\n </div>\n </div>\n </div>\n <div>\n <div class=\"text-color-dark max-width-100pct text-size-12 display-inline-block margin-bottom-5\">SaveableInput with previous value</div>\n <div class=\"form-group\">\n <div class=\"input-group\">\n <input type=\"text\" class=\"form-control padding-bottom-0 padding-top-10 text-size-12\" disabled=\"\" value=\"Lorem ipsum\">\n <div class=\"position-absolute top-2 left-10 margin-left-3 text-size-10 text-decoration-line-through\" aria-label=\"previous value\">Dolor sit amet</div>\n <div class=\"input-group-btn\">\n <button type=\"button\" class=\"btn btn-primary btn-icon-only btn-component\" tabindex=\"0\">\n <span class=\"rioglyph rioglyph-pencil\">\n </span>\n </button>\n </div>\n </div>\n </div>\n </div>\n <div>\n <div class=\"text-color-dark max-width-100pct text-size-12 display-inline-block margin-bottom-5\">SaveableInput with fixed previous value</div>\n <div class=\"form-group\">\n <div class=\"input-group\">\n <input type=\"text\" class=\"form-control padding-bottom-0 padding-top-10 text-size-12\" disabled=\"\" value=\"Lorem ipsum\">\n <div class=\"position-absolute top-2 left-10 margin-left-3 text-size-10 text-decoration-line-through\" aria-label=\"previous value\">You shall not pass</div>\n <div class=\"input-group-btn\">\n <button type=\"button\" class=\"btn btn-primary btn-icon-only btn-component\" tabindex=\"0\">\n <span class=\"rioglyph rioglyph-pencil\">\n </span>\n </button>\n </div>\n </div>\n </div>\n </div>\n <div>\n <div class=\"text-color-dark max-width-100pct text-size-12 display-inline-block margin-bottom-5\">SaveableInput with default button style</div>\n <div class=\"form-group\">\n <div class=\"input-group\">\n <input type=\"text\" class=\"form-control\" disabled=\"\" id=\"some-id \" value=\"Lorem ipsum\">\n <div class=\"input-group-btn\">\n <button type=\"button\" class=\"btn btn-default btn-icon-only btn-component\" tabindex=\"0\">\n <span class=\"rioglyph rioglyph-pencil\">\n </span>\n </button>\n </div>\n </div>\n </div>\n </div>\n <div>\n <div class=\"text-color-dark max-width-100pct text-size-12 display-inline-block margin-bottom-5\">SaveableInput with unit and icon</div>\n <div class=\"form-group max-width-150\">\n <div class=\"input-group\">\n <span class=\"input-group-addon\">\n <span class=\"rioglyph rioglyph-parcel\" aria-hidden=\"true\" aria-label=\"input icon\">\n </span>\n </span>\n <input type=\"text\" class=\"form-control padding-right-50\" disabled=\"\" value=\"145\">\n <div class=\"position-absolute right-0 margin-right-50\" aria-label=\"unit\">Pcs</div>\n <div class=\"input-group-btn\">\n <button type=\"button\" class=\"btn btn-default btn-icon-only btn-component\" tabindex=\"0\">\n <span class=\"rioglyph rioglyph-pencil\">\n </span>\n </button>\n </div>\n </div>\n </div>\n </div>\n <div>\n <div class=\"text-color-dark max-width-100pct text-size-12 display-inline-block margin-bottom-5\">SaveableInput with feedback</div>\n <div class=\"form-group\">\n <div class=\"form-group has-feedback has-error margin-0\">\n <div class=\"input-group\">\n <span class=\"input-group-addon\">\n <span class=\"rioglyph rioglyph-factory\" aria-hidden=\"true\" aria-label=\"input icon\">\n </span>\n </span>\n <input type=\"text\" class=\"form-control padding-right-50\" disabled=\"\" value=\"Lorem ipsum\">\n <div class=\"position-absolute right-0 margin-right-50\" aria-label=\"unit\">Lab</div>\n <div class=\"input-group-btn\">\n <button type=\"button\" class=\"btn btn-primary btn-icon-only btn-component\" tabindex=\"0\">\n <span class=\"rioglyph rioglyph-pencil\">\n </span>\n </button>\n </div>\n </div>\n <span class=\"help-block z-index-max\">\n <span>This is an error message</span>\n </span>\n </div>\n </div>\n </div>\n <div>\n <div class=\"text-color-dark max-width-100pct text-size-12 display-inline-block margin-bottom-5\">Disabled SaveableInput</div>\n <div class=\"form-group\">\n <div class=\"input-group\">\n <input type=\"text\" class=\"form-control\" disabled=\"\" value=\"Lorem ipsum\">\n <div class=\"input-group-btn\">\n <button type=\"button\" class=\"btn btn-primary btn-icon-only btn-component\" disabled=\"\" tabindex=\"0\">\n <span class=\"rioglyph rioglyph-pencil\">\n </span>\n </button>\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": "placeholder",
|
|
43
|
+
"type": "String",
|
|
44
|
+
"default": "",
|
|
45
|
+
"description": "The input placeholder."
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"name": "value",
|
|
49
|
+
"type": "String",
|
|
50
|
+
"default": "",
|
|
51
|
+
"description": "The actual input value."
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"name": "previousValue",
|
|
55
|
+
"type": "string",
|
|
56
|
+
"default": "",
|
|
57
|
+
"description": "The previous or old value shown above the input value. This value changes when a new input value is accepted."
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"name": "isValid",
|
|
61
|
+
"type": "string",
|
|
62
|
+
"default": "",
|
|
63
|
+
"description": "Used to control the save button from the outside to disable it in case the entered value is not valid."
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"name": "errorMessage",
|
|
67
|
+
"type": "string | ReactNode",
|
|
68
|
+
"default": "",
|
|
69
|
+
"description": "Uses the built-in error handling. This is the error message that is shown below the input. It will be shown when the \"isValid\" prop is set to false."
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"name": "hideErrorIcon",
|
|
73
|
+
"type": "boolean",
|
|
74
|
+
"default": "false",
|
|
75
|
+
"description": "Defines wether the error icon is shown or not. If enabled, it will be shown when the \"isValid\" prop is set to false."
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"name": "fixedPreviousValue",
|
|
79
|
+
"type": "string",
|
|
80
|
+
"default": "",
|
|
81
|
+
"description": "The previous or old value shown above the input value. This value will not be changed for new input values."
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"name": "buttonStyle",
|
|
85
|
+
"type": "string",
|
|
86
|
+
"default": "primary",
|
|
87
|
+
"description": "Defines the button style: default or primary."
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"name": "inputProps",
|
|
91
|
+
"type": "Attributes",
|
|
92
|
+
"default": "",
|
|
93
|
+
"description": "Additional HTML attributes to be set on the input element."
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"name": "icon",
|
|
97
|
+
"type": "string",
|
|
98
|
+
"default": "",
|
|
99
|
+
"description": "Icon class name that shall be used. If defined, the input element is wrapped in an input-group and the icon will be set in an input-addon. Example: `rioglyph-search`."
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
"name": "unit",
|
|
103
|
+
"type": "String | ReactNode",
|
|
104
|
+
"default": "",
|
|
105
|
+
"description": "Adds a given unit to the input."
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
"name": "disabled",
|
|
109
|
+
"type": "boolean",
|
|
110
|
+
"default": "false",
|
|
111
|
+
"description": "Disables the component so the user cannot enter the edit mode."
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
"name": "onValueChanged",
|
|
115
|
+
"type": "(value: string, previousValue: string)",
|
|
116
|
+
"default": "",
|
|
117
|
+
"description": "Callback function triggered when the value changes."
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
"name": "onInputChange",
|
|
121
|
+
"type": "(keyValue: string, inputValue: string) => void",
|
|
122
|
+
"default": "",
|
|
123
|
+
"description": "Callback function that gets triggered on every input change. Use this to control the component or when implementing key validation."
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
"name": "onEsc",
|
|
127
|
+
"type": "VoidFunction",
|
|
128
|
+
"default": "",
|
|
129
|
+
"description": "Callback function that gets triggered when the user aborts the edit mode. Use this to control the component and handle the resetting of previous value on the outside."
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
"name": "onEnterEdit",
|
|
133
|
+
"type": "VoidFunction",
|
|
134
|
+
"default": "",
|
|
135
|
+
"description": "Callback function that gets triggered when the input is in edit mode. Use this to control the component dna to handle the previous value on the outside."
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
"name": "inputClassName",
|
|
139
|
+
"type": "String",
|
|
140
|
+
"default": "",
|
|
141
|
+
"description": "Additional classes to be set on the input itself."
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
"name": "className",
|
|
145
|
+
"type": "String",
|
|
146
|
+
"default": "",
|
|
147
|
+
"description": "Additional classes to be set on the wrapper element."
|
|
148
|
+
}
|
|
149
|
+
]
|
|
150
|
+
}
|
|
151
|
+
]
|
|
152
|
+
}
|
|
153
|
+
]
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
"caption": "Example 2",
|
|
157
|
+
"rendered_html": "<div class=\"playground-content bg-white padding-20 padding-bottom-25\" style=\"width: 100%;\"><div class=\"max-width-300\"><label>With error feedback and disabled save button</label><div class=\"form-group\"><div class=\"form-group margin-0\"><div class=\"input-group\"><span class=\"input-group-addon\"><span class=\"rioglyph rioglyph-factory\" aria-hidden=\"true\" aria-label=\"input icon\"></span></span><input type=\"text\" class=\"form-control\" disabled=\"\" value=\"Remove this value\"><div class=\"input-group-btn\"><button type=\"button\" class=\"btn btn-primary btn-icon-only btn-component\" tabindex=\"0\"><span class=\"rioglyph rioglyph-pencil\"></span></button></div></div></div></div></div></div>",
|
|
158
|
+
"tabs": [
|
|
159
|
+
{
|
|
160
|
+
"label": "React",
|
|
161
|
+
"language": "tsx",
|
|
162
|
+
"code": "import { useState } from 'react';\n\nimport SaveableInput from '@rio-cloud/rio-uikit/SaveableInput';\n\nexport default () => {\n const [previousValue, setPreviousValue] = useState('');\n const [backupValue, setBackupValue] = useState('');\n const [value, setValue] = useState('Remove this value');\n\n // When the user \"saves\" the entered value, we update the current and the previous value\n const handleValueChanged = (newValue: string, oldValue: string) => {\n setPreviousValue(oldValue);\n setValue(newValue);\n };\n\n // Used to do some custom validation here...\n const handleInputChange = (keyValue: string, inputValue: string) => {\n setValue(inputValue);\n };\n\n // As we control the current and previous value outside the component, whe need to keep\n // the previous value around to restore it when the user aborts the edit with \"esc\", otherwise\n // the previous value is already overwritten and changed\n const handleEnterEditMode = () => {\n setBackupValue(previousValue);\n setPreviousValue(value);\n };\n\n // Restore the current and previous value when the user aborts the edit\n const handleEsc = () => {\n setValue(previousValue);\n setPreviousValue(backupValue);\n };\n\n const hasValidInput = !!value;\n\n return (\n <div className='max-width-300'>\n <label>With error feedback and disabled save button</label>\n <div className='form-group'>\n <SaveableInput\n icon='rioglyph-factory'\n value={value}\n onValueChanged={handleValueChanged}\n onInputChange={handleInputChange}\n onEnterEdit={handleEnterEditMode}\n onEsc={handleEsc}\n isValid={hasValidInput}\n className='margin-0'\n errorMessage='Please enter something'\n hideErrorIcon\n />\n </div>\n </div>\n );\n};"
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
"label": "HTML",
|
|
166
|
+
"language": "html",
|
|
167
|
+
"code": "<div class=\"max-width-300\">\n <label>With error feedback and disabled save button</label>\n <div class=\"form-group\">\n <div class=\"form-group margin-0\">\n <div class=\"input-group\">\n <span class=\"input-group-addon\">\n <span class=\"rioglyph rioglyph-factory\" aria-hidden=\"true\" aria-label=\"input icon\">\n </span>\n </span>\n <input type=\"text\" class=\"form-control\" disabled=\"\" value=\"Remove this value\">\n <div class=\"input-group-btn\">\n <button type=\"button\" class=\"btn btn-primary btn-icon-only btn-component\" tabindex=\"0\">\n <span class=\"rioglyph rioglyph-pencil\">\n </span>\n </button>\n </div>\n </div>\n </div>\n </div>\n</div>"
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
"label": "Props",
|
|
171
|
+
"language": "json",
|
|
172
|
+
"code": null,
|
|
173
|
+
"props": [
|
|
174
|
+
{
|
|
175
|
+
"heading": null,
|
|
176
|
+
"rows": [
|
|
177
|
+
{
|
|
178
|
+
"name": "placeholder",
|
|
179
|
+
"type": "String",
|
|
180
|
+
"default": "",
|
|
181
|
+
"description": "The input placeholder."
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
"name": "value",
|
|
185
|
+
"type": "String",
|
|
186
|
+
"default": "",
|
|
187
|
+
"description": "The actual input value."
|
|
188
|
+
},
|
|
189
|
+
{
|
|
190
|
+
"name": "previousValue",
|
|
191
|
+
"type": "string",
|
|
192
|
+
"default": "",
|
|
193
|
+
"description": "The previous or old value shown above the input value. This value changes when a new input value is accepted."
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
"name": "isValid",
|
|
197
|
+
"type": "string",
|
|
198
|
+
"default": "",
|
|
199
|
+
"description": "Used to control the save button from the outside to disable it in case the entered value is not valid."
|
|
200
|
+
},
|
|
201
|
+
{
|
|
202
|
+
"name": "errorMessage",
|
|
203
|
+
"type": "string | ReactNode",
|
|
204
|
+
"default": "",
|
|
205
|
+
"description": "Uses the built-in error handling. This is the error message that is shown below the input. It will be shown when the \"isValid\" prop is set to false."
|
|
206
|
+
},
|
|
207
|
+
{
|
|
208
|
+
"name": "hideErrorIcon",
|
|
209
|
+
"type": "boolean",
|
|
210
|
+
"default": "false",
|
|
211
|
+
"description": "Defines wether the error icon is shown or not. If enabled, it will be shown when the \"isValid\" prop is set to false."
|
|
212
|
+
},
|
|
213
|
+
{
|
|
214
|
+
"name": "fixedPreviousValue",
|
|
215
|
+
"type": "string",
|
|
216
|
+
"default": "",
|
|
217
|
+
"description": "The previous or old value shown above the input value. This value will not be changed for new input values."
|
|
218
|
+
},
|
|
219
|
+
{
|
|
220
|
+
"name": "buttonStyle",
|
|
221
|
+
"type": "string",
|
|
222
|
+
"default": "primary",
|
|
223
|
+
"description": "Defines the button style: default or primary."
|
|
224
|
+
},
|
|
225
|
+
{
|
|
226
|
+
"name": "inputProps",
|
|
227
|
+
"type": "Attributes",
|
|
228
|
+
"default": "",
|
|
229
|
+
"description": "Additional HTML attributes to be set on the input element."
|
|
230
|
+
},
|
|
231
|
+
{
|
|
232
|
+
"name": "icon",
|
|
233
|
+
"type": "string",
|
|
234
|
+
"default": "",
|
|
235
|
+
"description": "Icon class name that shall be used. If defined, the input element is wrapped in an input-group and the icon will be set in an input-addon. Example: `rioglyph-search`."
|
|
236
|
+
},
|
|
237
|
+
{
|
|
238
|
+
"name": "unit",
|
|
239
|
+
"type": "String | ReactNode",
|
|
240
|
+
"default": "",
|
|
241
|
+
"description": "Adds a given unit to the input."
|
|
242
|
+
},
|
|
243
|
+
{
|
|
244
|
+
"name": "disabled",
|
|
245
|
+
"type": "boolean",
|
|
246
|
+
"default": "false",
|
|
247
|
+
"description": "Disables the component so the user cannot enter the edit mode."
|
|
248
|
+
},
|
|
249
|
+
{
|
|
250
|
+
"name": "onValueChanged",
|
|
251
|
+
"type": "(value: string, previousValue: string)",
|
|
252
|
+
"default": "",
|
|
253
|
+
"description": "Callback function triggered when the value changes."
|
|
254
|
+
},
|
|
255
|
+
{
|
|
256
|
+
"name": "onInputChange",
|
|
257
|
+
"type": "(keyValue: string, inputValue: string) => void",
|
|
258
|
+
"default": "",
|
|
259
|
+
"description": "Callback function that gets triggered on every input change. Use this to control the component or when implementing key validation."
|
|
260
|
+
},
|
|
261
|
+
{
|
|
262
|
+
"name": "onEsc",
|
|
263
|
+
"type": "VoidFunction",
|
|
264
|
+
"default": "",
|
|
265
|
+
"description": "Callback function that gets triggered when the user aborts the edit mode. Use this to control the component and handle the resetting of previous value on the outside."
|
|
266
|
+
},
|
|
267
|
+
{
|
|
268
|
+
"name": "onEnterEdit",
|
|
269
|
+
"type": "VoidFunction",
|
|
270
|
+
"default": "",
|
|
271
|
+
"description": "Callback function that gets triggered when the input is in edit mode. Use this to control the component dna to handle the previous value on the outside."
|
|
272
|
+
},
|
|
273
|
+
{
|
|
274
|
+
"name": "inputClassName",
|
|
275
|
+
"type": "String",
|
|
276
|
+
"default": "",
|
|
277
|
+
"description": "Additional classes to be set on the input itself."
|
|
278
|
+
},
|
|
279
|
+
{
|
|
280
|
+
"name": "className",
|
|
281
|
+
"type": "String",
|
|
282
|
+
"default": "",
|
|
283
|
+
"description": "Additional classes to be set on the wrapper element."
|
|
284
|
+
}
|
|
285
|
+
]
|
|
286
|
+
}
|
|
287
|
+
]
|
|
288
|
+
}
|
|
289
|
+
]
|
|
290
|
+
},
|
|
291
|
+
{
|
|
292
|
+
"caption": "Controlled SaveableInput",
|
|
293
|
+
"rendered_html": "<div class=\"playground-content bg-white padding-20 padding-bottom-25\" style=\"width: 100%;\"><div><div class=\"display-grid grid-cols-3-md grid-cols-2-xs gap-20\"><div><div class=\"text-color-dark max-width-100pct text-size-12 display-inline-block margin-bottom-5\">Controlled SaveableInput</div><div class=\"form-group\"><div class=\"input-group\"><input type=\"text\" placeholder=\"Some value comes here\" class=\"form-control\" disabled=\"\" value=\"\"><div class=\"input-group-btn\"><button type=\"button\" class=\"btn btn-primary btn-icon-only btn-component\" tabindex=\"0\"><span class=\"rioglyph rioglyph-pencil\"></span></button></div></div></div></div><div class=\"grid-colspan-2 margin-top-25 btn-toolbar\"><button type=\"button\" class=\"btn btn-default btn-component\" tabindex=\"0\">Randomize values</button><button type=\"button\" class=\"btn btn-default btn-component\" tabindex=\"0\">Clear values</button></div></div><div class=\"margin-top-10 text-italic text-size-11\"><pre>{\n value: '',\n previousValue: ''\n}</pre></div></div></div>",
|
|
294
|
+
"tabs": [
|
|
295
|
+
{
|
|
296
|
+
"label": "React",
|
|
297
|
+
"language": "tsx",
|
|
298
|
+
"code": "import { useState } from 'react';\n\nimport SaveableInput from '@rio-cloud/rio-uikit/SaveableInput';\nimport Button from '@rio-cloud/rio-uikit/Button';\nimport FormLabel from '@rio-cloud/rio-uikit/FormLabel';\n\nconst getRandomString = () => (Math.random() + 1).toString(36).toUpperCase().substring(2);\n\nexport default () => {\n const [previousValue, setPreviousValue] = useState('');\n const [value, setValue] = useState('');\n\n const handleValueChanged = (newValue: string) => {\n setPreviousValue(value);\n setValue(newValue);\n };\n\n return (\n <div>\n <div className='display-grid grid-cols-3-md grid-cols-2-xs gap-20'>\n <div>\n <FormLabel>Controlled SaveableInput</FormLabel>\n <SaveableInput\n placeholder='Some value comes here'\n value={value}\n previousValue={previousValue}\n onValueChanged={handleValueChanged}\n />\n </div>\n <div className='grid-colspan-2 margin-top-25 btn-toolbar'>\n <Button\n onClick={() => {\n setPreviousValue(getRandomString());\n setValue(getRandomString());\n }}\n >\n Randomize values\n </Button>\n\n <Button\n onClick={() => {\n setPreviousValue('');\n setValue('');\n }}\n >\n Clear values\n </Button>\n </div>\n </div>\n <div className='margin-top-10 text-italic text-size-11'>\n <pre>{`{\n value: '${value}',\n previousValue: '${previousValue}'\n}`}</pre>\n </div>\n </div>\n );\n};"
|
|
299
|
+
},
|
|
300
|
+
{
|
|
301
|
+
"label": "HTML",
|
|
302
|
+
"language": "html",
|
|
303
|
+
"code": "<div>\n <div class=\"display-grid grid-cols-3-md grid-cols-2-xs gap-20\">\n <div>\n <div class=\"text-color-dark max-width-100pct text-size-12 display-inline-block margin-bottom-5\">Controlled SaveableInput</div>\n <div class=\"form-group\">\n <div class=\"input-group\">\n <input type=\"text\" placeholder=\"Some value comes here\" class=\"form-control\" disabled=\"\" value=\"\">\n <div class=\"input-group-btn\">\n <button type=\"button\" class=\"btn btn-primary btn-icon-only btn-component\" tabindex=\"0\">\n <span class=\"rioglyph rioglyph-pencil\">\n </span>\n </button>\n </div>\n </div>\n </div>\n </div>\n <div class=\"grid-colspan-2 margin-top-25 btn-toolbar\">\n <button type=\"button\" class=\"btn btn-default btn-component\" tabindex=\"0\">Randomize values</button>\n <button type=\"button\" class=\"btn btn-default btn-component\" tabindex=\"0\">Clear values</button>\n </div>\n </div>\n <div class=\"margin-top-10 text-italic text-size-11\">\n <pre>{\n value: '',\n previousValue: ''\n}</pre>\n </div>\n</div>"
|
|
304
|
+
},
|
|
305
|
+
{
|
|
306
|
+
"label": "Props",
|
|
307
|
+
"language": "json",
|
|
308
|
+
"code": null,
|
|
309
|
+
"props": [
|
|
310
|
+
{
|
|
311
|
+
"heading": null,
|
|
312
|
+
"rows": [
|
|
313
|
+
{
|
|
314
|
+
"name": "placeholder",
|
|
315
|
+
"type": "String",
|
|
316
|
+
"default": "",
|
|
317
|
+
"description": "The input placeholder."
|
|
318
|
+
},
|
|
319
|
+
{
|
|
320
|
+
"name": "value",
|
|
321
|
+
"type": "String",
|
|
322
|
+
"default": "",
|
|
323
|
+
"description": "The actual input value."
|
|
324
|
+
},
|
|
325
|
+
{
|
|
326
|
+
"name": "previousValue",
|
|
327
|
+
"type": "string",
|
|
328
|
+
"default": "",
|
|
329
|
+
"description": "The previous or old value shown above the input value. This value changes when a new input value is accepted."
|
|
330
|
+
},
|
|
331
|
+
{
|
|
332
|
+
"name": "isValid",
|
|
333
|
+
"type": "string",
|
|
334
|
+
"default": "",
|
|
335
|
+
"description": "Used to control the save button from the outside to disable it in case the entered value is not valid."
|
|
336
|
+
},
|
|
337
|
+
{
|
|
338
|
+
"name": "errorMessage",
|
|
339
|
+
"type": "string | ReactNode",
|
|
340
|
+
"default": "",
|
|
341
|
+
"description": "Uses the built-in error handling. This is the error message that is shown below the input. It will be shown when the \"isValid\" prop is set to false."
|
|
342
|
+
},
|
|
343
|
+
{
|
|
344
|
+
"name": "hideErrorIcon",
|
|
345
|
+
"type": "boolean",
|
|
346
|
+
"default": "false",
|
|
347
|
+
"description": "Defines wether the error icon is shown or not. If enabled, it will be shown when the \"isValid\" prop is set to false."
|
|
348
|
+
},
|
|
349
|
+
{
|
|
350
|
+
"name": "fixedPreviousValue",
|
|
351
|
+
"type": "string",
|
|
352
|
+
"default": "",
|
|
353
|
+
"description": "The previous or old value shown above the input value. This value will not be changed for new input values."
|
|
354
|
+
},
|
|
355
|
+
{
|
|
356
|
+
"name": "buttonStyle",
|
|
357
|
+
"type": "string",
|
|
358
|
+
"default": "primary",
|
|
359
|
+
"description": "Defines the button style: default or primary."
|
|
360
|
+
},
|
|
361
|
+
{
|
|
362
|
+
"name": "inputProps",
|
|
363
|
+
"type": "Attributes",
|
|
364
|
+
"default": "",
|
|
365
|
+
"description": "Additional HTML attributes to be set on the input element."
|
|
366
|
+
},
|
|
367
|
+
{
|
|
368
|
+
"name": "icon",
|
|
369
|
+
"type": "string",
|
|
370
|
+
"default": "",
|
|
371
|
+
"description": "Icon class name that shall be used. If defined, the input element is wrapped in an input-group and the icon will be set in an input-addon. Example: `rioglyph-search`."
|
|
372
|
+
},
|
|
373
|
+
{
|
|
374
|
+
"name": "unit",
|
|
375
|
+
"type": "String | ReactNode",
|
|
376
|
+
"default": "",
|
|
377
|
+
"description": "Adds a given unit to the input."
|
|
378
|
+
},
|
|
379
|
+
{
|
|
380
|
+
"name": "disabled",
|
|
381
|
+
"type": "boolean",
|
|
382
|
+
"default": "false",
|
|
383
|
+
"description": "Disables the component so the user cannot enter the edit mode."
|
|
384
|
+
},
|
|
385
|
+
{
|
|
386
|
+
"name": "onValueChanged",
|
|
387
|
+
"type": "(value: string, previousValue: string)",
|
|
388
|
+
"default": "",
|
|
389
|
+
"description": "Callback function triggered when the value changes."
|
|
390
|
+
},
|
|
391
|
+
{
|
|
392
|
+
"name": "onInputChange",
|
|
393
|
+
"type": "(keyValue: string, inputValue: string) => void",
|
|
394
|
+
"default": "",
|
|
395
|
+
"description": "Callback function that gets triggered on every input change. Use this to control the component or when implementing key validation."
|
|
396
|
+
},
|
|
397
|
+
{
|
|
398
|
+
"name": "onEsc",
|
|
399
|
+
"type": "VoidFunction",
|
|
400
|
+
"default": "",
|
|
401
|
+
"description": "Callback function that gets triggered when the user aborts the edit mode. Use this to control the component and handle the resetting of previous value on the outside."
|
|
402
|
+
},
|
|
403
|
+
{
|
|
404
|
+
"name": "onEnterEdit",
|
|
405
|
+
"type": "VoidFunction",
|
|
406
|
+
"default": "",
|
|
407
|
+
"description": "Callback function that gets triggered when the input is in edit mode. Use this to control the component dna to handle the previous value on the outside."
|
|
408
|
+
},
|
|
409
|
+
{
|
|
410
|
+
"name": "inputClassName",
|
|
411
|
+
"type": "String",
|
|
412
|
+
"default": "",
|
|
413
|
+
"description": "Additional classes to be set on the input itself."
|
|
414
|
+
},
|
|
415
|
+
{
|
|
416
|
+
"name": "className",
|
|
417
|
+
"type": "String",
|
|
418
|
+
"default": "",
|
|
419
|
+
"description": "Additional classes to be set on the wrapper element."
|
|
420
|
+
}
|
|
421
|
+
]
|
|
422
|
+
}
|
|
423
|
+
]
|
|
424
|
+
}
|
|
425
|
+
]
|
|
426
|
+
},
|
|
427
|
+
{
|
|
428
|
+
"caption": "Controlled SaveableInput with key validation",
|
|
429
|
+
"rendered_html": "<div class=\"playground-content bg-white padding-20 padding-bottom-25\" style=\"width: 100%;\"><div><div class=\"display-grid grid-cols-3-md grid-cols-2-xs gap-20\"><div><div class=\"text-color-dark max-width-100pct text-size-12 display-inline-block margin-bottom-5\">Controlled SaveableInput with key validation</div><div class=\"form-group max-width-200\"><div class=\"input-group\"><input type=\"text\" class=\"form-control padding-right-50\" disabled=\"\" value=\"0\"><div class=\"position-absolute right-0 margin-right-50\" aria-label=\"unit\">Pcs</div><div class=\"input-group-btn\"><button type=\"button\" class=\"btn btn-primary btn-icon-only btn-component\" tabindex=\"0\"><span class=\"rioglyph rioglyph-pencil\"></span></button></div></div></div></div></div><div class=\"margin-top-10 text-italic text-size-11\"><pre>{\n value: '0',\n previousValue: ''\n}</pre></div></div></div>",
|
|
430
|
+
"tabs": [
|
|
431
|
+
{
|
|
432
|
+
"label": "React",
|
|
433
|
+
"language": "tsx",
|
|
434
|
+
"code": "import { useState } from 'react';\n\nimport SaveableInput from '@rio-cloud/rio-uikit/SaveableInput';\nimport FormLabel from '@rio-cloud/rio-uikit/FormLabel';\n\nexport default () => {\n const [previousValue, setPreviousValue] = useState('');\n const [backupValue, setBackupValue] = useState('');\n const [value, setValue] = useState('0');\n\n // When the user \"saves\" the entered value, we update the current and the previous value\n const handleValueChanged = (newValue: string, oldValue: string) => {\n setPreviousValue(oldValue);\n setValue(newValue);\n };\n\n // Used to do some custom validation here...\n const handleInputChange = (keyValue: string, inputValue: string) => {\n console.log({ keyValue, inputValue });\n\n const parsedValue = Number.parseFloat(keyValue);\n if (keyValue !== '' && Number.isNaN(parsedValue)) {\n console.log('Not a valid number: ', keyValue);\n } else {\n console.log('Valid number entered:', parsedValue);\n setValue(inputValue);\n }\n };\n\n // As we control the current and previous value outside the component, whe need to keep\n // the previous value around to restore it when the user aborts the edit with \"esc\", otherwise\n // the previous value is already overwritten and changed\n const handleEnterEditMode = () => {\n setBackupValue(previousValue);\n setPreviousValue(value);\n };\n\n // Restore the current and previous value when the user aborts the edit\n const handleEsc = () => {\n setValue(previousValue);\n setPreviousValue(backupValue);\n };\n\n return (\n <div>\n <div className='display-grid grid-cols-3-md grid-cols-2-xs gap-20'>\n <div>\n <FormLabel>Controlled SaveableInput with key validation</FormLabel>\n <SaveableInput\n unit='Pcs'\n value={value}\n previousValue={previousValue}\n onValueChanged={handleValueChanged}\n onInputChange={handleInputChange}\n onEsc={handleEsc}\n onEnterEdit={handleEnterEditMode}\n className='max-width-200'\n />\n </div>\n </div>\n <div className='margin-top-10 text-italic text-size-11'>\n <pre>{`{\n value: '${value}',\n previousValue: '${previousValue}'\n}`}</pre>\n </div>\n </div>\n );\n};"
|
|
435
|
+
},
|
|
436
|
+
{
|
|
437
|
+
"label": "HTML",
|
|
438
|
+
"language": "html",
|
|
439
|
+
"code": "<div>\n <div class=\"display-grid grid-cols-3-md grid-cols-2-xs gap-20\">\n <div>\n <div class=\"text-color-dark max-width-100pct text-size-12 display-inline-block margin-bottom-5\">Controlled SaveableInput with key validation</div>\n <div class=\"form-group max-width-200\">\n <div class=\"input-group\">\n <input type=\"text\" class=\"form-control padding-right-50\" disabled=\"\" value=\"0\">\n <div class=\"position-absolute right-0 margin-right-50\" aria-label=\"unit\">Pcs</div>\n <div class=\"input-group-btn\">\n <button type=\"button\" class=\"btn btn-primary btn-icon-only btn-component\" tabindex=\"0\">\n <span class=\"rioglyph rioglyph-pencil\">\n </span>\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"margin-top-10 text-italic text-size-11\">\n <pre>{\n value: '0',\n previousValue: ''\n}</pre>\n </div>\n</div>"
|
|
440
|
+
},
|
|
441
|
+
{
|
|
442
|
+
"label": "Props",
|
|
443
|
+
"language": "json",
|
|
444
|
+
"code": null,
|
|
445
|
+
"props": [
|
|
446
|
+
{
|
|
447
|
+
"heading": null,
|
|
448
|
+
"rows": [
|
|
449
|
+
{
|
|
450
|
+
"name": "placeholder",
|
|
451
|
+
"type": "String",
|
|
452
|
+
"default": "",
|
|
453
|
+
"description": "The input placeholder."
|
|
454
|
+
},
|
|
455
|
+
{
|
|
456
|
+
"name": "value",
|
|
457
|
+
"type": "String",
|
|
458
|
+
"default": "",
|
|
459
|
+
"description": "The actual input value."
|
|
460
|
+
},
|
|
461
|
+
{
|
|
462
|
+
"name": "previousValue",
|
|
463
|
+
"type": "string",
|
|
464
|
+
"default": "",
|
|
465
|
+
"description": "The previous or old value shown above the input value. This value changes when a new input value is accepted."
|
|
466
|
+
},
|
|
467
|
+
{
|
|
468
|
+
"name": "isValid",
|
|
469
|
+
"type": "string",
|
|
470
|
+
"default": "",
|
|
471
|
+
"description": "Used to control the save button from the outside to disable it in case the entered value is not valid."
|
|
472
|
+
},
|
|
473
|
+
{
|
|
474
|
+
"name": "errorMessage",
|
|
475
|
+
"type": "string | ReactNode",
|
|
476
|
+
"default": "",
|
|
477
|
+
"description": "Uses the built-in error handling. This is the error message that is shown below the input. It will be shown when the \"isValid\" prop is set to false."
|
|
478
|
+
},
|
|
479
|
+
{
|
|
480
|
+
"name": "hideErrorIcon",
|
|
481
|
+
"type": "boolean",
|
|
482
|
+
"default": "false",
|
|
483
|
+
"description": "Defines wether the error icon is shown or not. If enabled, it will be shown when the \"isValid\" prop is set to false."
|
|
484
|
+
},
|
|
485
|
+
{
|
|
486
|
+
"name": "fixedPreviousValue",
|
|
487
|
+
"type": "string",
|
|
488
|
+
"default": "",
|
|
489
|
+
"description": "The previous or old value shown above the input value. This value will not be changed for new input values."
|
|
490
|
+
},
|
|
491
|
+
{
|
|
492
|
+
"name": "buttonStyle",
|
|
493
|
+
"type": "string",
|
|
494
|
+
"default": "primary",
|
|
495
|
+
"description": "Defines the button style: default or primary."
|
|
496
|
+
},
|
|
497
|
+
{
|
|
498
|
+
"name": "inputProps",
|
|
499
|
+
"type": "Attributes",
|
|
500
|
+
"default": "",
|
|
501
|
+
"description": "Additional HTML attributes to be set on the input element."
|
|
502
|
+
},
|
|
503
|
+
{
|
|
504
|
+
"name": "icon",
|
|
505
|
+
"type": "string",
|
|
506
|
+
"default": "",
|
|
507
|
+
"description": "Icon class name that shall be used. If defined, the input element is wrapped in an input-group and the icon will be set in an input-addon. Example: `rioglyph-search`."
|
|
508
|
+
},
|
|
509
|
+
{
|
|
510
|
+
"name": "unit",
|
|
511
|
+
"type": "String | ReactNode",
|
|
512
|
+
"default": "",
|
|
513
|
+
"description": "Adds a given unit to the input."
|
|
514
|
+
},
|
|
515
|
+
{
|
|
516
|
+
"name": "disabled",
|
|
517
|
+
"type": "boolean",
|
|
518
|
+
"default": "false",
|
|
519
|
+
"description": "Disables the component so the user cannot enter the edit mode."
|
|
520
|
+
},
|
|
521
|
+
{
|
|
522
|
+
"name": "onValueChanged",
|
|
523
|
+
"type": "(value: string, previousValue: string)",
|
|
524
|
+
"default": "",
|
|
525
|
+
"description": "Callback function triggered when the value changes."
|
|
526
|
+
},
|
|
527
|
+
{
|
|
528
|
+
"name": "onInputChange",
|
|
529
|
+
"type": "(keyValue: string, inputValue: string) => void",
|
|
530
|
+
"default": "",
|
|
531
|
+
"description": "Callback function that gets triggered on every input change. Use this to control the component or when implementing key validation."
|
|
532
|
+
},
|
|
533
|
+
{
|
|
534
|
+
"name": "onEsc",
|
|
535
|
+
"type": "VoidFunction",
|
|
536
|
+
"default": "",
|
|
537
|
+
"description": "Callback function that gets triggered when the user aborts the edit mode. Use this to control the component and handle the resetting of previous value on the outside."
|
|
538
|
+
},
|
|
539
|
+
{
|
|
540
|
+
"name": "onEnterEdit",
|
|
541
|
+
"type": "VoidFunction",
|
|
542
|
+
"default": "",
|
|
543
|
+
"description": "Callback function that gets triggered when the input is in edit mode. Use this to control the component dna to handle the previous value on the outside."
|
|
544
|
+
},
|
|
545
|
+
{
|
|
546
|
+
"name": "inputClassName",
|
|
547
|
+
"type": "String",
|
|
548
|
+
"default": "",
|
|
549
|
+
"description": "Additional classes to be set on the input itself."
|
|
550
|
+
},
|
|
551
|
+
{
|
|
552
|
+
"name": "className",
|
|
553
|
+
"type": "String",
|
|
554
|
+
"default": "",
|
|
555
|
+
"description": "Additional classes to be set on the wrapper element."
|
|
556
|
+
}
|
|
557
|
+
]
|
|
558
|
+
}
|
|
559
|
+
]
|
|
560
|
+
}
|
|
561
|
+
]
|
|
562
|
+
}
|
|
563
|
+
]
|
|
564
|
+
},
|
|
565
|
+
{
|
|
566
|
+
"heading": "SaveableDateInput",
|
|
567
|
+
"body": "",
|
|
568
|
+
"examples": [
|
|
569
|
+
{
|
|
570
|
+
"caption": "SaveableDateInput (uncontrolled)",
|
|
571
|
+
"rendered_html": "<div class=\"playground-content bg-white padding-20 padding-bottom-25\" style=\"width: 100%;\"><div class=\"margin-bottom-50 display-flex flex-wrap flex-direction-column gap-25\"><div class=\"width-300\"><div class=\"text-color-dark max-width-100pct text-size-12 display-inline-block margin-bottom-5\">SaveableDateInput (uncontrolled)</div><div class=\"form-group\"><div class=\"input-group\"><div class=\"rdt DatePicker form-group margin-0 width-100pct\"><div class=\"input-group\"><span class=\"input-group-addon\"><span class=\"rioglyph rioglyph-calendar\" aria-hidden=\"true\"></span></span><div class=\"ClearableInput input-group\"><input type=\"text\" class=\"form-control\" placeholder=\"Delivery date\" disabled=\"\" value=\"\" style=\"border-top-right-radius: 0px; border-bottom-right-radius: 0px;\"></div></div><div class=\"rdtPicker\"><div class=\"rdtDays\"><table><thead><tr><th class=\"rdtPrev\"><span>‹</span></th><th class=\"rdtSwitch\" colspan=\"5\" data-value=\"10\">November 2025</th><th class=\"rdtNext\"><span>›</span></th></tr><tr><th class=\"dow\">Su</th><th class=\"dow\">Mo</th><th class=\"dow\">Tu</th><th class=\"dow\">We</th><th class=\"dow\">Th</th><th class=\"dow\">Fr</th><th class=\"dow\">Sa</th></tr></thead><tbody><tr><td data-value=\"26\" data-month=\"9\" data-year=\"2025\" class=\"rdtDay rdtOld\">26</td><td data-value=\"27\" data-month=\"9\" data-year=\"2025\" class=\"rdtDay rdtOld\">27</td><td data-value=\"28\" data-month=\"9\" data-year=\"2025\" class=\"rdtDay rdtOld\">28</td><td data-value=\"29\" data-month=\"9\" data-year=\"2025\" class=\"rdtDay rdtOld\">29</td><td data-value=\"30\" data-month=\"9\" data-year=\"2025\" class=\"rdtDay rdtOld\">30</td><td data-value=\"31\" data-month=\"9\" data-year=\"2025\" class=\"rdtDay rdtOld\">31</td><td data-value=\"1\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">1</td></tr><tr><td data-value=\"2\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">2</td><td data-value=\"3\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">3</td><td data-value=\"4\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">4</td><td data-value=\"5\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">5</td><td data-value=\"6\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">6</td><td data-value=\"7\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">7</td><td data-value=\"8\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">8</td></tr><tr><td data-value=\"9\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">9</td><td data-value=\"10\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">10</td><td data-value=\"11\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">11</td><td data-value=\"12\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">12</td><td data-value=\"13\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">13</td><td data-value=\"14\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">14</td><td data-value=\"15\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">15</td></tr><tr><td data-value=\"16\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">16</td><td data-value=\"17\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">17</td><td data-value=\"18\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">18</td><td data-value=\"19\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">19</td><td data-value=\"20\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">20</td><td data-value=\"21\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay rdtToday\">21</td><td data-value=\"22\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">22</td></tr><tr><td data-value=\"23\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">23</td><td data-value=\"24\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">24</td><td data-value=\"25\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">25</td><td data-value=\"26\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">26</td><td data-value=\"27\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">27</td><td data-value=\"28\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">28</td><td data-value=\"29\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">29</td></tr><tr><td data-value=\"30\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">30</td><td data-value=\"1\" data-month=\"11\" data-year=\"2025\" class=\"rdtDay rdtNew\">1</td><td data-value=\"2\" data-month=\"11\" data-year=\"2025\" class=\"rdtDay rdtNew\">2</td><td data-value=\"3\" data-month=\"11\" data-year=\"2025\" class=\"rdtDay rdtNew\">3</td><td data-value=\"4\" data-month=\"11\" data-year=\"2025\" class=\"rdtDay rdtNew\">4</td><td data-value=\"5\" data-month=\"11\" data-year=\"2025\" class=\"rdtDay rdtNew\">5</td><td data-value=\"6\" data-month=\"11\" data-year=\"2025\" class=\"rdtDay rdtNew\">6</td></tr></tbody></table></div></div></div><div class=\"input-group-btn\"><button type=\"button\" class=\"btn btn-primary btn-icon-only btn-component\" tabindex=\"0\"><span class=\"rioglyph rioglyph-pencil\"></span></button></div></div></div></div><div class=\"width-300\"><div class=\"form-group\"><div class=\"text-color-dark max-width-100pct text-size-12 display-inline-block margin-bottom-5\">Controlled - Stay open on invalid (default)</div><div class=\"form-group margin-0\"><div class=\"input-group\"><div class=\"rdt DatePicker form-group margin-0 width-100pct\"><div class=\"input-group\"><span class=\"input-group-addon\"><span class=\"rioglyph rioglyph-calendar\" aria-hidden=\"true\"></span></span><div class=\"ClearableInput input-group\"><input type=\"text\" class=\"form-control\" placeholder=\"Enter valid date\" disabled=\"\" value=\"2025-11-21 01:07\" style=\"border-top-right-radius: 0px; border-bottom-right-radius: 0px;\"></div></div><div class=\"rdtPicker\"><div class=\"rdtDays\"><table><thead><tr><th class=\"rdtPrev\"><span>‹</span></th><th class=\"rdtSwitch\" colspan=\"5\" data-value=\"10\">November 2025</th><th class=\"rdtNext\"><span>›</span></th></tr><tr><th class=\"dow\">Su</th><th class=\"dow\">Mo</th><th class=\"dow\">Tu</th><th class=\"dow\">We</th><th class=\"dow\">Th</th><th class=\"dow\">Fr</th><th class=\"dow\">Sa</th></tr></thead><tbody><tr><td data-value=\"26\" data-month=\"9\" data-year=\"2025\" class=\"rdtDay rdtOld\">26</td><td data-value=\"27\" data-month=\"9\" data-year=\"2025\" class=\"rdtDay rdtOld\">27</td><td data-value=\"28\" data-month=\"9\" data-year=\"2025\" class=\"rdtDay rdtOld\">28</td><td data-value=\"29\" data-month=\"9\" data-year=\"2025\" class=\"rdtDay rdtOld\">29</td><td data-value=\"30\" data-month=\"9\" data-year=\"2025\" class=\"rdtDay rdtOld\">30</td><td data-value=\"31\" data-month=\"9\" data-year=\"2025\" class=\"rdtDay rdtOld\">31</td><td data-value=\"1\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">1</td></tr><tr><td data-value=\"2\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">2</td><td data-value=\"3\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">3</td><td data-value=\"4\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">4</td><td data-value=\"5\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">5</td><td data-value=\"6\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">6</td><td data-value=\"7\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">7</td><td data-value=\"8\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">8</td></tr><tr><td data-value=\"9\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">9</td><td data-value=\"10\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">10</td><td data-value=\"11\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">11</td><td data-value=\"12\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">12</td><td data-value=\"13\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">13</td><td data-value=\"14\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">14</td><td data-value=\"15\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">15</td></tr><tr><td data-value=\"16\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">16</td><td data-value=\"17\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">17</td><td data-value=\"18\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">18</td><td data-value=\"19\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">19</td><td data-value=\"20\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">20</td><td data-value=\"21\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay rdtActive rdtToday\">21</td><td data-value=\"22\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">22</td></tr><tr><td data-value=\"23\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">23</td><td data-value=\"24\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">24</td><td data-value=\"25\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">25</td><td data-value=\"26\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">26</td><td data-value=\"27\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">27</td><td data-value=\"28\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">28</td><td data-value=\"29\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">29</td></tr><tr><td data-value=\"30\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">30</td><td data-value=\"1\" data-month=\"11\" data-year=\"2025\" class=\"rdtDay rdtNew\">1</td><td data-value=\"2\" data-month=\"11\" data-year=\"2025\" class=\"rdtDay rdtNew\">2</td><td data-value=\"3\" data-month=\"11\" data-year=\"2025\" class=\"rdtDay rdtNew\">3</td><td data-value=\"4\" data-month=\"11\" data-year=\"2025\" class=\"rdtDay rdtNew\">4</td><td data-value=\"5\" data-month=\"11\" data-year=\"2025\" class=\"rdtDay rdtNew\">5</td><td data-value=\"6\" data-month=\"11\" data-year=\"2025\" class=\"rdtDay rdtNew\">6</td></tr></tbody><tfoot><tr><td colspan=\"7\" class=\"rdtTimeToggle\">01:07</td></tr></tfoot></table></div></div></div><div class=\"input-group-btn\"><button type=\"button\" class=\"btn btn-primary btn-icon-only btn-component\" tabindex=\"0\"><span class=\"rioglyph rioglyph-pencil\"></span></button></div></div></div></div><div class=\"margin-top-10\"><small>Saved value: </small></div></div><div class=\"width-300\"><div class=\"form-group\"><div class=\"text-color-dark max-width-100pct text-size-12 display-inline-block margin-bottom-5\">Controlled - With error</div><div class=\"form-group has-feedback has-error margin-0\"><div class=\"input-group\"><div class=\"rdt DatePicker form-group margin-0 width-100pct\"><div class=\"input-group\"><span class=\"input-group-addon\"><span class=\"rioglyph rioglyph-calendar\" aria-hidden=\"true\"></span></span><div class=\"ClearableInput input-group\"><input type=\"text\" class=\"form-control\" placeholder=\"Enter a date\" disabled=\"\" value=\"\" style=\"border-top-right-radius: 0px; border-bottom-right-radius: 0px; padding-right: 10px;\"></div></div><div class=\"rdtPicker\"><div class=\"rdtDays\"><table><thead><tr><th class=\"rdtPrev\"><span>‹</span></th><th class=\"rdtSwitch\" colspan=\"5\" data-value=\"10\">November 2025</th><th class=\"rdtNext\"><span>›</span></th></tr><tr><th class=\"dow\">Su</th><th class=\"dow\">Mo</th><th class=\"dow\">Tu</th><th class=\"dow\">We</th><th class=\"dow\">Th</th><th class=\"dow\">Fr</th><th class=\"dow\">Sa</th></tr></thead><tbody><tr><td data-value=\"26\" data-month=\"9\" data-year=\"2025\" class=\"rdtDay rdtOld\">26</td><td data-value=\"27\" data-month=\"9\" data-year=\"2025\" class=\"rdtDay rdtOld\">27</td><td data-value=\"28\" data-month=\"9\" data-year=\"2025\" class=\"rdtDay rdtOld\">28</td><td data-value=\"29\" data-month=\"9\" data-year=\"2025\" class=\"rdtDay rdtOld\">29</td><td data-value=\"30\" data-month=\"9\" data-year=\"2025\" class=\"rdtDay rdtOld\">30</td><td data-value=\"31\" data-month=\"9\" data-year=\"2025\" class=\"rdtDay rdtOld\">31</td><td data-value=\"1\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">1</td></tr><tr><td data-value=\"2\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">2</td><td data-value=\"3\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">3</td><td data-value=\"4\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">4</td><td data-value=\"5\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">5</td><td data-value=\"6\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">6</td><td data-value=\"7\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">7</td><td data-value=\"8\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">8</td></tr><tr><td data-value=\"9\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">9</td><td data-value=\"10\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">10</td><td data-value=\"11\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">11</td><td data-value=\"12\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">12</td><td data-value=\"13\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">13</td><td data-value=\"14\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">14</td><td data-value=\"15\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">15</td></tr><tr><td data-value=\"16\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">16</td><td data-value=\"17\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">17</td><td data-value=\"18\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">18</td><td data-value=\"19\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">19</td><td data-value=\"20\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">20</td><td data-value=\"21\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay rdtToday\">21</td><td data-value=\"22\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">22</td></tr><tr><td data-value=\"23\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">23</td><td data-value=\"24\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">24</td><td data-value=\"25\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">25</td><td data-value=\"26\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">26</td><td data-value=\"27\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">27</td><td data-value=\"28\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">28</td><td data-value=\"29\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">29</td></tr><tr><td data-value=\"30\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">30</td><td data-value=\"1\" data-month=\"11\" data-year=\"2025\" class=\"rdtDay rdtNew\">1</td><td data-value=\"2\" data-month=\"11\" data-year=\"2025\" class=\"rdtDay rdtNew\">2</td><td data-value=\"3\" data-month=\"11\" data-year=\"2025\" class=\"rdtDay rdtNew\">3</td><td data-value=\"4\" data-month=\"11\" data-year=\"2025\" class=\"rdtDay rdtNew\">4</td><td data-value=\"5\" data-month=\"11\" data-year=\"2025\" class=\"rdtDay rdtNew\">5</td><td data-value=\"6\" data-month=\"11\" data-year=\"2025\" class=\"rdtDay rdtNew\">6</td></tr></tbody><tfoot><tr><td colspan=\"7\" class=\"rdtTimeToggle\">12:00</td></tr></tfoot></table></div></div></div><div class=\"input-group-btn\"><button type=\"button\" class=\"btn btn-primary btn-icon-only btn-component\" tabindex=\"0\"><span class=\"rioglyph rioglyph-pencil\"></span></button></div></div><span class=\"help-block z-index-max\"><span>Required field</span></span></div></div><div class=\"margin-top-10\"><small>Saved value: </small></div></div><div class=\"width-300\"><div class=\"form-group\"><div class=\"text-color-dark max-width-100pct text-size-12 display-inline-block margin-bottom-5\">Controlled - Reset and close on invalid</div><div data-testid=\"demo-testid\" class=\"form-group margin-0\"><div class=\"input-group\"><div class=\"rdt DatePicker form-group margin-0 width-100pct\"><div class=\"input-group\"><span class=\"input-group-addon\"><span class=\"rioglyph rioglyph-calendar\" aria-hidden=\"true\"></span></span><div class=\"ClearableInput input-group\"><input type=\"text\" class=\"form-control\" placeholder=\"Enter date after last week\" disabled=\"\" value=\"\" style=\"border-top-right-radius: 0px; border-bottom-right-radius: 0px;\"></div></div><div class=\"rdtPicker\"><div class=\"rdtDays\"><table><thead><tr><th class=\"rdtPrev\"><span>‹</span></th><th class=\"rdtSwitch\" colspan=\"5\" data-value=\"10\">November 2025</th><th class=\"rdtNext\"><span>›</span></th></tr><tr><th class=\"dow\">Su</th><th class=\"dow\">Mo</th><th class=\"dow\">Tu</th><th class=\"dow\">We</th><th class=\"dow\">Th</th><th class=\"dow\">Fr</th><th class=\"dow\">Sa</th></tr></thead><tbody><tr><td data-value=\"26\" data-month=\"9\" data-year=\"2025\" class=\"rdtDay rdtOld\">26</td><td data-value=\"27\" data-month=\"9\" data-year=\"2025\" class=\"rdtDay rdtOld\">27</td><td data-value=\"28\" data-month=\"9\" data-year=\"2025\" class=\"rdtDay rdtOld\">28</td><td data-value=\"29\" data-month=\"9\" data-year=\"2025\" class=\"rdtDay rdtOld\">29</td><td data-value=\"30\" data-month=\"9\" data-year=\"2025\" class=\"rdtDay rdtOld\">30</td><td data-value=\"31\" data-month=\"9\" data-year=\"2025\" class=\"rdtDay rdtOld\">31</td><td data-value=\"1\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">1</td></tr><tr><td data-value=\"2\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">2</td><td data-value=\"3\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">3</td><td data-value=\"4\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">4</td><td data-value=\"5\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">5</td><td data-value=\"6\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">6</td><td data-value=\"7\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">7</td><td data-value=\"8\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">8</td></tr><tr><td data-value=\"9\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">9</td><td data-value=\"10\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">10</td><td data-value=\"11\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">11</td><td data-value=\"12\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">12</td><td data-value=\"13\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">13</td><td data-value=\"14\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">14</td><td data-value=\"15\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">15</td></tr><tr><td data-value=\"16\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">16</td><td data-value=\"17\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">17</td><td data-value=\"18\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">18</td><td data-value=\"19\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">19</td><td data-value=\"20\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">20</td><td data-value=\"21\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay rdtToday\">21</td><td data-value=\"22\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">22</td></tr><tr><td data-value=\"23\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">23</td><td data-value=\"24\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">24</td><td data-value=\"25\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">25</td><td data-value=\"26\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">26</td><td data-value=\"27\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">27</td><td data-value=\"28\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">28</td><td data-value=\"29\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">29</td></tr><tr><td data-value=\"30\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">30</td><td data-value=\"1\" data-month=\"11\" data-year=\"2025\" class=\"rdtDay rdtNew\">1</td><td data-value=\"2\" data-month=\"11\" data-year=\"2025\" class=\"rdtDay rdtNew\">2</td><td data-value=\"3\" data-month=\"11\" data-year=\"2025\" class=\"rdtDay rdtNew\">3</td><td data-value=\"4\" data-month=\"11\" data-year=\"2025\" class=\"rdtDay rdtNew\">4</td><td data-value=\"5\" data-month=\"11\" data-year=\"2025\" class=\"rdtDay rdtNew\">5</td><td data-value=\"6\" data-month=\"11\" data-year=\"2025\" class=\"rdtDay rdtNew\">6</td></tr></tbody></table></div></div></div><div class=\"input-group-btn\"><button type=\"button\" class=\"btn btn-primary btn-icon-only btn-component\" tabindex=\"0\"><span class=\"rioglyph rioglyph-pencil\"></span></button></div></div></div></div><div class=\"margin-top-10\"><small>Saved value: </small></div></div><div class=\"width-300\"><div class=\"text-color-dark max-width-100pct text-size-12 display-inline-block margin-bottom-5\">SaveableDateInput (only month)</div><div class=\"form-group\"><div class=\"input-group\"><div class=\"rdt DatePicker form-group margin-0 width-100pct\"><div class=\"input-group\"><span class=\"input-group-addon\"><span class=\"rioglyph rioglyph-calendar\" aria-hidden=\"true\"></span></span><div class=\"ClearableInput input-group\"><input type=\"text\" class=\"form-control\" placeholder=\"Target month\" disabled=\"\" value=\"\" style=\"border-top-right-radius: 0px; border-bottom-right-radius: 0px;\"></div></div><div class=\"rdtPicker\"><div class=\"rdtMonths\"><table><thead><tr><th class=\"rdtPrev\"><span>‹</span></th><th class=\"rdtSwitch\" colspan=\"2\">2025</th><th class=\"rdtNext\"><span>›</span></th></tr></thead></table><table><tbody><tr><td class=\"rdtMonth\" data-value=\"0\">Jan</td><td class=\"rdtMonth\" data-value=\"1\">Feb</td><td class=\"rdtMonth\" data-value=\"2\">Mar</td><td class=\"rdtMonth\" data-value=\"3\">Apr</td></tr><tr><td class=\"rdtMonth\" data-value=\"4\">May</td><td class=\"rdtMonth\" data-value=\"5\">Jun</td><td class=\"rdtMonth\" data-value=\"6\">Jul</td><td class=\"rdtMonth\" data-value=\"7\">Aug</td></tr><tr><td class=\"rdtMonth\" data-value=\"8\">Sep</td><td class=\"rdtMonth\" data-value=\"9\">Oct</td><td class=\"rdtMonth\" data-value=\"10\">Nov</td><td class=\"rdtMonth\" data-value=\"11\">Dec</td></tr></tbody></table></div></div></div><div class=\"input-group-btn\"><button type=\"button\" class=\"btn btn-primary btn-icon-only btn-component\" tabindex=\"0\"><span class=\"rioglyph rioglyph-pencil\"></span></button></div></div></div></div><div class=\"width-300\"><div class=\"text-color-dark max-width-100pct text-size-12 display-inline-block margin-bottom-5\">SaveableDateInput (disabled)</div><div class=\"form-group\"><div class=\"input-group\"><div class=\"rdt DatePicker form-group margin-0 width-100pct\"><div class=\"input-group\"><span class=\"input-group-addon\"><span class=\"rioglyph rioglyph-calendar\" aria-hidden=\"true\"></span></span><div class=\"ClearableInput input-group\"><input type=\"text\" class=\"form-control\" disabled=\"\" value=\"11/21/2025 1:07 PM\" style=\"border-top-right-radius: 0px; border-bottom-right-radius: 0px;\"></div></div><div class=\"rdtPicker\"><div class=\"rdtDays\"><table><thead><tr><th class=\"rdtPrev\"><span>‹</span></th><th class=\"rdtSwitch\" colspan=\"5\" data-value=\"10\">November 2025</th><th class=\"rdtNext\"><span>›</span></th></tr><tr><th class=\"dow\">Su</th><th class=\"dow\">Mo</th><th class=\"dow\">Tu</th><th class=\"dow\">We</th><th class=\"dow\">Th</th><th class=\"dow\">Fr</th><th class=\"dow\">Sa</th></tr></thead><tbody><tr><td data-value=\"26\" data-month=\"9\" data-year=\"2025\" class=\"rdtDay rdtOld\">26</td><td data-value=\"27\" data-month=\"9\" data-year=\"2025\" class=\"rdtDay rdtOld\">27</td><td data-value=\"28\" data-month=\"9\" data-year=\"2025\" class=\"rdtDay rdtOld\">28</td><td data-value=\"29\" data-month=\"9\" data-year=\"2025\" class=\"rdtDay rdtOld\">29</td><td data-value=\"30\" data-month=\"9\" data-year=\"2025\" class=\"rdtDay rdtOld\">30</td><td data-value=\"31\" data-month=\"9\" data-year=\"2025\" class=\"rdtDay rdtOld\">31</td><td data-value=\"1\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">1</td></tr><tr><td data-value=\"2\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">2</td><td data-value=\"3\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">3</td><td data-value=\"4\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">4</td><td data-value=\"5\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">5</td><td data-value=\"6\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">6</td><td data-value=\"7\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">7</td><td data-value=\"8\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">8</td></tr><tr><td data-value=\"9\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">9</td><td data-value=\"10\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">10</td><td data-value=\"11\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">11</td><td data-value=\"12\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">12</td><td data-value=\"13\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">13</td><td data-value=\"14\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">14</td><td data-value=\"15\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">15</td></tr><tr><td data-value=\"16\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">16</td><td data-value=\"17\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">17</td><td data-value=\"18\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">18</td><td data-value=\"19\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">19</td><td data-value=\"20\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">20</td><td data-value=\"21\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay rdtActive rdtToday\">21</td><td data-value=\"22\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">22</td></tr><tr><td data-value=\"23\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">23</td><td data-value=\"24\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">24</td><td data-value=\"25\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">25</td><td data-value=\"26\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">26</td><td data-value=\"27\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">27</td><td data-value=\"28\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">28</td><td data-value=\"29\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">29</td></tr><tr><td data-value=\"30\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">30</td><td data-value=\"1\" data-month=\"11\" data-year=\"2025\" class=\"rdtDay rdtNew\">1</td><td data-value=\"2\" data-month=\"11\" data-year=\"2025\" class=\"rdtDay rdtNew\">2</td><td data-value=\"3\" data-month=\"11\" data-year=\"2025\" class=\"rdtDay rdtNew\">3</td><td data-value=\"4\" data-month=\"11\" data-year=\"2025\" class=\"rdtDay rdtNew\">4</td><td data-value=\"5\" data-month=\"11\" data-year=\"2025\" class=\"rdtDay rdtNew\">5</td><td data-value=\"6\" data-month=\"11\" data-year=\"2025\" class=\"rdtDay rdtNew\">6</td></tr></tbody><tfoot><tr><td colspan=\"7\" class=\"rdtTimeToggle\">1:07 PM</td></tr></tfoot></table></div></div></div><div class=\"input-group-btn\"><button type=\"button\" class=\"btn btn-primary btn-icon-only btn-component\" disabled=\"\" tabindex=\"0\"><span class=\"rioglyph rioglyph-pencil\"></span></button></div></div></div></div></div></div>",
|
|
572
|
+
"tabs": [
|
|
573
|
+
{
|
|
574
|
+
"label": "React",
|
|
575
|
+
"language": "tsx",
|
|
576
|
+
"code": "import SaveableDateInput from '@rio-cloud/rio-uikit/SaveableDateInput';\nimport FormLabel from '@rio-cloud/rio-uikit/FormLabel';\nimport { useState } from 'react';\nimport moment, { type Moment } from 'moment';\n\n/**\n * The Datepicker returns either a Moment object if date is valid or the input as string\n * if it's not a valid date\n */\nconst isValidDate = (input: Moment | string) => typeof input !== 'string';\n\nexport default () => {\n // Controlled example with \"stay-open\" behavior (default)\n const [savedValue1, setSavedValue1] = useState<Moment | string>('');\n const [currentTransientInput1, setCurrentTransientInput1] = useState<Moment | string>(moment(new Date()));\n const [isValid1, setIsValid1] = useState<boolean>(true);\n\n const handleSaveValue1 = (newValue: string | Date | Moment, previousValue: string | Date | Moment) => {\n console.log('Saving value:', newValue, 'Previous:', previousValue);\n setSavedValue1(newValue as Moment);\n setCurrentTransientInput1(newValue as Moment | string);\n };\n\n const handleTransientInputChange1 = (input: Moment | string, isValid: boolean) => {\n console.log('Input changed:', input, 'Valid:', isValid);\n setCurrentTransientInput1(input);\n setIsValid1(isValid);\n };\n\n // Controlled example with \"reset-and-close\" behavior\n const [savedValue2, setSavedValue2] = useState<Moment | string>('');\n const [currentTransientInput2, setCurrentTransientInput2] = useState<Moment | string>();\n const [isValid2, setIsValid2] = useState<boolean>(true);\n\n const handleSaveValue2 = (newValue: string | Date | Moment, previousValue: string | Date | Moment) => {\n console.log('Saving value 2:', newValue, 'Previous:', previousValue);\n setSavedValue2(newValue as Moment);\n setCurrentTransientInput2(newValue as Moment | string);\n };\n\n const handleTransientInputChange2 = (input: Moment | string, isValid: boolean) => {\n console.log('Input changed 2:', input, 'Valid:', isValid);\n setCurrentTransientInput2(input);\n\n // Custom validation: date must be valid AND newer than last week\n let customIsValid = isValid;\n if (isValid && isValidDate(input)) {\n const lastWeek = moment().subtract(7, 'days').startOf('day');\n customIsValid = input.isAfter(lastWeek);\n }\n\n setIsValid2(customIsValid);\n };\n\n // Controlled example with \"stay-open\" behavior (default)\n const [savedValue3, setSavedValue3] = useState<Moment | string>('');\n const [currentTransientInput3, setCurrentTransientInput3] = useState<Moment | string>();\n const [isValid3, setIsValid3] = useState<boolean>(true);\n\n const handleSaveValue3 = (newValue: string | Date | Moment, previousValue: string | Date | Moment) => {\n console.log('Saving value:', newValue, 'Previous:', previousValue);\n setSavedValue3(newValue as Moment);\n setCurrentTransientInput3(newValue as Moment | string);\n };\n\n const handleTransientInputChange3 = (input: Moment | string, isValid: boolean) => {\n console.log('Input changed:', input, 'Valid:', isValid);\n setCurrentTransientInput3(input);\n setIsValid3(isValid);\n };\n\n const handleCancel1 = () => {\n console.log('Edit cancelled - resetting to saved value');\n setCurrentTransientInput1(savedValue1);\n setIsValid1(true);\n };\n\n const handleCancel2 = () => {\n console.log('Edit cancelled - resetting to saved value');\n setCurrentTransientInput2(savedValue2);\n setIsValid2(true);\n };\n\n const handleCancel3 = () => {\n console.log('Edit cancelled - resetting to saved value');\n setCurrentTransientInput3(savedValue2);\n setIsValid3(true);\n };\n\n const handleExitEdit = (wasSaved: boolean) => {\n console.log('Exited edit mode, was saved:', wasSaved);\n };\n\n return (\n <div className='margin-bottom-50 display-flex flex-wrap flex-direction-column gap-25'>\n <div className='width-300'>\n <FormLabel>SaveableDateInput (uncontrolled)</FormLabel>\n <SaveableDateInput\n placeholder='Delivery date'\n datePickerProps={{ dateFormat: 'YYYY-MM-DD', timeFormat: false }}\n onValueChanged={(value, _) => console.log('Uncontrolled saved:', value)}\n />\n </div>\n\n <div className='width-300'>\n <div className='form-group'>\n <FormLabel>Controlled - Stay open on invalid (default)</FormLabel>\n <SaveableDateInput\n value={currentTransientInput1}\n isValid={isValid1}\n onValueChanged={handleSaveValue1}\n onInputChange={handleTransientInputChange1}\n onCancel={handleCancel1}\n onExitEdit={handleExitEdit}\n className='margin-0'\n placeholder='Enter valid date'\n datePickerProps={{ dateFormat: 'YYYY-MM-DD', timeFormat: 'hh:mm' }}\n invalidExitBehavior='stay-open'\n inputProps={{ style: { padding: '0' } }}\n errorMessage='Please enter a valid date'\n />\n </div>\n <div className='margin-top-10'>\n <small>\n Saved value: {isValidDate(savedValue1) ? savedValue1.format('YYYY-MM-DD') : String(savedValue1)}\n </small>\n </div>\n </div>\n\n <div className='width-300'>\n <div className='form-group'>\n <FormLabel>Controlled - With error</FormLabel>\n <SaveableDateInput\n value={currentTransientInput3}\n isValid={!!currentTransientInput3}\n onValueChanged={handleSaveValue3}\n onInputChange={handleTransientInputChange3}\n onCancel={handleCancel3}\n onExitEdit={handleExitEdit}\n className='margin-0'\n placeholder='Enter a date'\n datePickerProps={{ dateFormat: 'YYYY-MM-DD', timeFormat: 'hh:mm' }}\n invalidExitBehavior='stay-open'\n inputProps={{ style: { padding: '0' } }}\n errorMessage='Required field'\n hideErrorIcon\n />\n </div>\n <div className='margin-top-10'>\n <small>\n Saved value: {isValidDate(savedValue1) ? savedValue1.format('YYYY-MM-DD') : String(savedValue1)}\n </small>\n </div>\n </div>\n\n <div className='width-300'>\n <div className='form-group'>\n <FormLabel>Controlled - Reset and close on invalid</FormLabel>\n <SaveableDateInput\n value={currentTransientInput2}\n isValid={isValid2}\n onValueChanged={handleSaveValue2}\n onInputChange={handleTransientInputChange2}\n onCancel={handleCancel2}\n onExitEdit={handleExitEdit}\n className='margin-0'\n placeholder='Enter date after last week'\n datePickerProps={{ dateFormat: 'YYYY-MM-DD', timeFormat: false }}\n invalidExitBehavior='reset-and-close'\n data-testid='demo-testid'\n errorMessage={\n <span>\n Please enter a valid date that is newer than{' '}\n {moment().subtract(7, 'days').format('YYYY-MM-DD')}\n </span>\n }\n />\n </div>\n <div className='margin-top-10'>\n <small>\n Saved value: {isValidDate(savedValue2) ? savedValue2.format('YYYY-MM-DD') : String(savedValue2)}\n </small>\n </div>\n </div>\n\n <div className='width-300'>\n <FormLabel>SaveableDateInput (only month)</FormLabel>\n <SaveableDateInput\n placeholder='Target month'\n datePickerProps={{ dateFormat: 'YYYY-MM', timeFormat: false }}\n onValueChanged={(value, _) => console.log('Month saved:', value)}\n />\n </div>\n\n <div className='width-300'>\n <FormLabel>SaveableDateInput (disabled)</FormLabel>\n <SaveableDateInput value={new Date()} disabled />\n </div>\n </div>\n );\n};"
|
|
577
|
+
},
|
|
578
|
+
{
|
|
579
|
+
"label": "HTML",
|
|
580
|
+
"language": "html",
|
|
581
|
+
"code": "<div class=\"margin-bottom-50 display-flex flex-wrap flex-direction-column gap-25\">\n <div class=\"width-300\">\n <div class=\"text-color-dark max-width-100pct text-size-12 display-inline-block margin-bottom-5\">SaveableDateInput (uncontrolled)</div>\n <div class=\"form-group\">\n <div class=\"input-group\">\n <div class=\"rdt DatePicker form-group margin-0 width-100pct\">\n <div class=\"input-group\">\n <span class=\"input-group-addon\">\n <span class=\"rioglyph rioglyph-calendar\" aria-hidden=\"true\">\n </span>\n </span>\n <div class=\"ClearableInput input-group\">\n <input type=\"text\" class=\"form-control\" placeholder=\"Delivery date\" disabled=\"\" value=\"\" style=\"border-top-right-radius: 0px; border-bottom-right-radius: 0px;\">\n </div>\n </div>\n <div class=\"rdtPicker\">\n <div class=\"rdtDays\">\n <table>\n <thead>\n <tr>\n <th class=\"rdtPrev\">\n <span>‹</span>\n </th>\n <th class=\"rdtSwitch\" colspan=\"5\" data-value=\"10\">November 2025</th>\n <th class=\"rdtNext\">\n <span>›</span>\n </th>\n </tr>\n <tr>\n <th class=\"dow\">Su</th>\n <th class=\"dow\">Mo</th>\n <th class=\"dow\">Tu</th>\n <th class=\"dow\">We</th>\n <th class=\"dow\">Th</th>\n <th class=\"dow\">Fr</th>\n <th class=\"dow\">Sa</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td data-value=\"26\" data-month=\"9\" data-year=\"2025\" class=\"rdtDay rdtOld\">26</td>\n <td data-value=\"27\" data-month=\"9\" data-year=\"2025\" class=\"rdtDay rdtOld\">27</td>\n <td data-value=\"28\" data-month=\"9\" data-year=\"2025\" class=\"rdtDay rdtOld\">28</td>\n <td data-value=\"29\" data-month=\"9\" data-year=\"2025\" class=\"rdtDay rdtOld\">29</td>\n <td data-value=\"30\" data-month=\"9\" data-year=\"2025\" class=\"rdtDay rdtOld\">30</td>\n <td data-value=\"31\" data-month=\"9\" data-year=\"2025\" class=\"rdtDay rdtOld\">31</td>\n <td data-value=\"1\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">1</td>\n </tr>\n <tr>\n <td data-value=\"2\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">2</td>\n <td data-value=\"3\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">3</td>\n <td data-value=\"4\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">4</td>\n <td data-value=\"5\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">5</td>\n <td data-value=\"6\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">6</td>\n <td data-value=\"7\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">7</td>\n <td data-value=\"8\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">8</td>\n </tr>\n <tr>\n <td data-value=\"9\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">9</td>\n <td data-value=\"10\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">10</td>\n <td data-value=\"11\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">11</td>\n <td data-value=\"12\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">12</td>\n <td data-value=\"13\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">13</td>\n <td data-value=\"14\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">14</td>\n <td data-value=\"15\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">15</td>\n </tr>\n <tr>\n <td data-value=\"16\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">16</td>\n <td data-value=\"17\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">17</td>\n <td data-value=\"18\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">18</td>\n <td data-value=\"19\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">19</td>\n <td data-value=\"20\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">20</td>\n <td data-value=\"21\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay rdtToday\">21</td>\n <td data-value=\"22\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">22</td>\n </tr>\n <tr>\n <td data-value=\"23\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">23</td>\n <td data-value=\"24\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">24</td>\n <td data-value=\"25\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">25</td>\n <td data-value=\"26\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">26</td>\n <td data-value=\"27\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">27</td>\n <td data-value=\"28\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">28</td>\n <td data-value=\"29\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">29</td>\n </tr>\n <tr>\n <td data-value=\"30\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">30</td>\n <td data-value=\"1\" data-month=\"11\" data-year=\"2025\" class=\"rdtDay rdtNew\">1</td>\n <td data-value=\"2\" data-month=\"11\" data-year=\"2025\" class=\"rdtDay rdtNew\">2</td>\n <td data-value=\"3\" data-month=\"11\" data-year=\"2025\" class=\"rdtDay rdtNew\">3</td>\n <td data-value=\"4\" data-month=\"11\" data-year=\"2025\" class=\"rdtDay rdtNew\">4</td>\n <td data-value=\"5\" data-month=\"11\" data-year=\"2025\" class=\"rdtDay rdtNew\">5</td>\n <td data-value=\"6\" data-month=\"11\" data-year=\"2025\" class=\"rdtDay rdtNew\">6</td>\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n </div>\n <div class=\"input-group-btn\">\n <button type=\"button\" class=\"btn btn-primary btn-icon-only btn-component\" tabindex=\"0\">\n <span class=\"rioglyph rioglyph-pencil\">\n </span>\n </button>\n </div>\n </div>\n </div>\n </div>\n <div class=\"width-300\">\n <div class=\"form-group\">\n <div class=\"text-color-dark max-width-100pct text-size-12 display-inline-block margin-bottom-5\">Controlled - Stay open on invalid (default)</div>\n <div class=\"form-group margin-0\">\n <div class=\"input-group\">\n <div class=\"rdt DatePicker form-group margin-0 width-100pct\">\n <div class=\"input-group\">\n <span class=\"input-group-addon\">\n <span class=\"rioglyph rioglyph-calendar\" aria-hidden=\"true\">\n </span>\n </span>\n <div class=\"ClearableInput input-group\">\n <input type=\"text\" class=\"form-control\" placeholder=\"Enter valid date\" disabled=\"\" value=\"2025-11-21 01:07\" style=\"border-top-right-radius: 0px; border-bottom-right-radius: 0px;\">\n </div>\n </div>\n <div class=\"rdtPicker\">\n <div class=\"rdtDays\">\n <table>\n <thead>\n <tr>\n <th class=\"rdtPrev\">\n <span>‹</span>\n </th>\n <th class=\"rdtSwitch\" colspan=\"5\" data-value=\"10\">November 2025</th>\n <th class=\"rdtNext\">\n <span>›</span>\n </th>\n </tr>\n <tr>\n <th class=\"dow\">Su</th>\n <th class=\"dow\">Mo</th>\n <th class=\"dow\">Tu</th>\n <th class=\"dow\">We</th>\n <th class=\"dow\">Th</th>\n <th class=\"dow\">Fr</th>\n <th class=\"dow\">Sa</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td data-value=\"26\" data-month=\"9\" data-year=\"2025\" class=\"rdtDay rdtOld\">26</td>\n <td data-value=\"27\" data-month=\"9\" data-year=\"2025\" class=\"rdtDay rdtOld\">27</td>\n <td data-value=\"28\" data-month=\"9\" data-year=\"2025\" class=\"rdtDay rdtOld\">28</td>\n <td data-value=\"29\" data-month=\"9\" data-year=\"2025\" class=\"rdtDay rdtOld\">29</td>\n <td data-value=\"30\" data-month=\"9\" data-year=\"2025\" class=\"rdtDay rdtOld\">30</td>\n <td data-value=\"31\" data-month=\"9\" data-year=\"2025\" class=\"rdtDay rdtOld\">31</td>\n <td data-value=\"1\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">1</td>\n </tr>\n <tr>\n <td data-value=\"2\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">2</td>\n <td data-value=\"3\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">3</td>\n <td data-value=\"4\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">4</td>\n <td data-value=\"5\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">5</td>\n <td data-value=\"6\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">6</td>\n <td data-value=\"7\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">7</td>\n <td data-value=\"8\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">8</td>\n </tr>\n <tr>\n <td data-value=\"9\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">9</td>\n <td data-value=\"10\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">10</td>\n <td data-value=\"11\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">11</td>\n <td data-value=\"12\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">12</td>\n <td data-value=\"13\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">13</td>\n <td data-value=\"14\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">14</td>\n <td data-value=\"15\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">15</td>\n </tr>\n <tr>\n <td data-value=\"16\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">16</td>\n <td data-value=\"17\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">17</td>\n <td data-value=\"18\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">18</td>\n <td data-value=\"19\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">19</td>\n <td data-value=\"20\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">20</td>\n <td data-value=\"21\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay rdtActive rdtToday\">21</td>\n <td data-value=\"22\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">22</td>\n </tr>\n <tr>\n <td data-value=\"23\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">23</td>\n <td data-value=\"24\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">24</td>\n <td data-value=\"25\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">25</td>\n <td data-value=\"26\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">26</td>\n <td data-value=\"27\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">27</td>\n <td data-value=\"28\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">28</td>\n <td data-value=\"29\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">29</td>\n </tr>\n <tr>\n <td data-value=\"30\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">30</td>\n <td data-value=\"1\" data-month=\"11\" data-year=\"2025\" class=\"rdtDay rdtNew\">1</td>\n <td data-value=\"2\" data-month=\"11\" data-year=\"2025\" class=\"rdtDay rdtNew\">2</td>\n <td data-value=\"3\" data-month=\"11\" data-year=\"2025\" class=\"rdtDay rdtNew\">3</td>\n <td data-value=\"4\" data-month=\"11\" data-year=\"2025\" class=\"rdtDay rdtNew\">4</td>\n <td data-value=\"5\" data-month=\"11\" data-year=\"2025\" class=\"rdtDay rdtNew\">5</td>\n <td data-value=\"6\" data-month=\"11\" data-year=\"2025\" class=\"rdtDay rdtNew\">6</td>\n </tr>\n </tbody>\n <tfoot>\n <tr>\n <td colspan=\"7\" class=\"rdtTimeToggle\">01:07</td>\n </tr>\n </tfoot>\n </table>\n </div>\n </div>\n </div>\n <div class=\"input-group-btn\">\n <button type=\"button\" class=\"btn btn-primary btn-icon-only btn-component\" tabindex=\"0\">\n <span class=\"rioglyph rioglyph-pencil\">\n </span>\n </button>\n </div>\n </div>\n </div>\n </div>\n <div class=\"margin-top-10\">\n <small>Saved value: </small>\n </div>\n </div>\n <div class=\"width-300\">\n <div class=\"form-group\">\n <div class=\"text-color-dark max-width-100pct text-size-12 display-inline-block margin-bottom-5\">Controlled - With error</div>\n <div class=\"form-group has-feedback has-error margin-0\">\n <div class=\"input-group\">\n <div class=\"rdt DatePicker form-group margin-0 width-100pct\">\n <div class=\"input-group\">\n <span class=\"input-group-addon\">\n <span class=\"rioglyph rioglyph-calendar\" aria-hidden=\"true\">\n </span>\n </span>\n <div class=\"ClearableInput input-group\">\n <input type=\"text\" class=\"form-control\" placeholder=\"Enter a date\" disabled=\"\" value=\"\" style=\"border-top-right-radius: 0px; border-bottom-right-radius: 0px; padding-right: 10px;\">\n </div>\n </div>\n <div class=\"rdtPicker\">\n <div class=\"rdtDays\">\n <table>\n <thead>\n <tr>\n <th class=\"rdtPrev\">\n <span>‹</span>\n </th>\n <th class=\"rdtSwitch\" colspan=\"5\" data-value=\"10\">November 2025</th>\n <th class=\"rdtNext\">\n <span>›</span>\n </th>\n </tr>\n <tr>\n <th class=\"dow\">Su</th>\n <th class=\"dow\">Mo</th>\n <th class=\"dow\">Tu</th>\n <th class=\"dow\">We</th>\n <th class=\"dow\">Th</th>\n <th class=\"dow\">Fr</th>\n <th class=\"dow\">Sa</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td data-value=\"26\" data-month=\"9\" data-year=\"2025\" class=\"rdtDay rdtOld\">26</td>\n <td data-value=\"27\" data-month=\"9\" data-year=\"2025\" class=\"rdtDay rdtOld\">27</td>\n <td data-value=\"28\" data-month=\"9\" data-year=\"2025\" class=\"rdtDay rdtOld\">28</td>\n <td data-value=\"29\" data-month=\"9\" data-year=\"2025\" class=\"rdtDay rdtOld\">29</td>\n <td data-value=\"30\" data-month=\"9\" data-year=\"2025\" class=\"rdtDay rdtOld\">30</td>\n <td data-value=\"31\" data-month=\"9\" data-year=\"2025\" class=\"rdtDay rdtOld\">31</td>\n <td data-value=\"1\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">1</td>\n </tr>\n <tr>\n <td data-value=\"2\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">2</td>\n <td data-value=\"3\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">3</td>\n <td data-value=\"4\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">4</td>\n <td data-value=\"5\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">5</td>\n <td data-value=\"6\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">6</td>\n <td data-value=\"7\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">7</td>\n <td data-value=\"8\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">8</td>\n </tr>\n <tr>\n <td data-value=\"9\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">9</td>\n <td data-value=\"10\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">10</td>\n <td data-value=\"11\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">11</td>\n <td data-value=\"12\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">12</td>\n <td data-value=\"13\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">13</td>\n <td data-value=\"14\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">14</td>\n <td data-value=\"15\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">15</td>\n </tr>\n <tr>\n <td data-value=\"16\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">16</td>\n <td data-value=\"17\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">17</td>\n <td data-value=\"18\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">18</td>\n <td data-value=\"19\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">19</td>\n <td data-value=\"20\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">20</td>\n <td data-value=\"21\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay rdtToday\">21</td>\n <td data-value=\"22\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">22</td>\n </tr>\n <tr>\n <td data-value=\"23\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">23</td>\n <td data-value=\"24\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">24</td>\n <td data-value=\"25\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">25</td>\n <td data-value=\"26\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">26</td>\n <td data-value=\"27\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">27</td>\n <td data-value=\"28\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">28</td>\n <td data-value=\"29\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">29</td>\n </tr>\n <tr>\n <td data-value=\"30\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">30</td>\n <td data-value=\"1\" data-month=\"11\" data-year=\"2025\" class=\"rdtDay rdtNew\">1</td>\n <td data-value=\"2\" data-month=\"11\" data-year=\"2025\" class=\"rdtDay rdtNew\">2</td>\n <td data-value=\"3\" data-month=\"11\" data-year=\"2025\" class=\"rdtDay rdtNew\">3</td>\n <td data-value=\"4\" data-month=\"11\" data-year=\"2025\" class=\"rdtDay rdtNew\">4</td>\n <td data-value=\"5\" data-month=\"11\" data-year=\"2025\" class=\"rdtDay rdtNew\">5</td>\n <td data-value=\"6\" data-month=\"11\" data-year=\"2025\" class=\"rdtDay rdtNew\">6</td>\n </tr>\n </tbody>\n <tfoot>\n <tr>\n <td colspan=\"7\" class=\"rdtTimeToggle\">12:00</td>\n </tr>\n </tfoot>\n </table>\n </div>\n </div>\n </div>\n <div class=\"input-group-btn\">\n <button type=\"button\" class=\"btn btn-primary btn-icon-only btn-component\" tabindex=\"0\">\n <span class=\"rioglyph rioglyph-pencil\">\n </span>\n </button>\n </div>\n </div>\n <span class=\"help-block z-index-max\">\n <span>Required field</span>\n </span>\n </div>\n </div>\n <div class=\"margin-top-10\">\n <small>Saved value: </small>\n </div>\n </div>\n <div class=\"width-300\">\n <div class=\"form-group\">\n <div class=\"text-color-dark max-width-100pct text-size-12 display-inline-block margin-bottom-5\">Controlled - Reset and close on invalid</div>\n <div data-testid=\"demo-testid\" class=\"form-group margin-0\">\n <div class=\"input-group\">\n <div class=\"rdt DatePicker form-group margin-0 width-100pct\">\n <div class=\"input-group\">\n <span class=\"input-group-addon\">\n <span class=\"rioglyph rioglyph-calendar\" aria-hidden=\"true\">\n </span>\n </span>\n <div class=\"ClearableInput input-group\">\n <input type=\"text\" class=\"form-control\" placeholder=\"Enter date after last week\" disabled=\"\" value=\"\" style=\"border-top-right-radius: 0px; border-bottom-right-radius: 0px;\">\n </div>\n </div>\n <div class=\"rdtPicker\">\n <div class=\"rdtDays\">\n <table>\n <thead>\n <tr>\n <th class=\"rdtPrev\">\n <span>‹</span>\n </th>\n <th class=\"rdtSwitch\" colspan=\"5\" data-value=\"10\">November 2025</th>\n <th class=\"rdtNext\">\n <span>›</span>\n </th>\n </tr>\n <tr>\n <th class=\"dow\">Su</th>\n <th class=\"dow\">Mo</th>\n <th class=\"dow\">Tu</th>\n <th class=\"dow\">We</th>\n <th class=\"dow\">Th</th>\n <th class=\"dow\">Fr</th>\n <th class=\"dow\">Sa</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td data-value=\"26\" data-month=\"9\" data-year=\"2025\" class=\"rdtDay rdtOld\">26</td>\n <td data-value=\"27\" data-month=\"9\" data-year=\"2025\" class=\"rdtDay rdtOld\">27</td>\n <td data-value=\"28\" data-month=\"9\" data-year=\"2025\" class=\"rdtDay rdtOld\">28</td>\n <td data-value=\"29\" data-month=\"9\" data-year=\"2025\" class=\"rdtDay rdtOld\">29</td>\n <td data-value=\"30\" data-month=\"9\" data-year=\"2025\" class=\"rdtDay rdtOld\">30</td>\n <td data-value=\"31\" data-month=\"9\" data-year=\"2025\" class=\"rdtDay rdtOld\">31</td>\n <td data-value=\"1\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">1</td>\n </tr>\n <tr>\n <td data-value=\"2\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">2</td>\n <td data-value=\"3\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">3</td>\n <td data-value=\"4\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">4</td>\n <td data-value=\"5\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">5</td>\n <td data-value=\"6\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">6</td>\n <td data-value=\"7\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">7</td>\n <td data-value=\"8\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">8</td>\n </tr>\n <tr>\n <td data-value=\"9\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">9</td>\n <td data-value=\"10\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">10</td>\n <td data-value=\"11\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">11</td>\n <td data-value=\"12\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">12</td>\n <td data-value=\"13\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">13</td>\n <td data-value=\"14\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">14</td>\n <td data-value=\"15\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">15</td>\n </tr>\n <tr>\n <td data-value=\"16\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">16</td>\n <td data-value=\"17\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">17</td>\n <td data-value=\"18\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">18</td>\n <td data-value=\"19\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">19</td>\n <td data-value=\"20\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">20</td>\n <td data-value=\"21\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay rdtToday\">21</td>\n <td data-value=\"22\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">22</td>\n </tr>\n <tr>\n <td data-value=\"23\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">23</td>\n <td data-value=\"24\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">24</td>\n <td data-value=\"25\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">25</td>\n <td data-value=\"26\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">26</td>\n <td data-value=\"27\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">27</td>\n <td data-value=\"28\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">28</td>\n <td data-value=\"29\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">29</td>\n </tr>\n <tr>\n <td data-value=\"30\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">30</td>\n <td data-value=\"1\" data-month=\"11\" data-year=\"2025\" class=\"rdtDay rdtNew\">1</td>\n <td data-value=\"2\" data-month=\"11\" data-year=\"2025\" class=\"rdtDay rdtNew\">2</td>\n <td data-value=\"3\" data-month=\"11\" data-year=\"2025\" class=\"rdtDay rdtNew\">3</td>\n <td data-value=\"4\" data-month=\"11\" data-year=\"2025\" class=\"rdtDay rdtNew\">4</td>\n <td data-value=\"5\" data-month=\"11\" data-year=\"2025\" class=\"rdtDay rdtNew\">5</td>\n <td data-value=\"6\" data-month=\"11\" data-year=\"2025\" class=\"rdtDay rdtNew\">6</td>\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n </div>\n <div class=\"input-group-btn\">\n <button type=\"button\" class=\"btn btn-primary btn-icon-only btn-component\" tabindex=\"0\">\n <span class=\"rioglyph rioglyph-pencil\">\n </span>\n </button>\n </div>\n </div>\n </div>\n </div>\n <div class=\"margin-top-10\">\n <small>Saved value: </small>\n </div>\n </div>\n <div class=\"width-300\">\n <div class=\"text-color-dark max-width-100pct text-size-12 display-inline-block margin-bottom-5\">SaveableDateInput (only month)</div>\n <div class=\"form-group\">\n <div class=\"input-group\">\n <div class=\"rdt DatePicker form-group margin-0 width-100pct\">\n <div class=\"input-group\">\n <span class=\"input-group-addon\">\n <span class=\"rioglyph rioglyph-calendar\" aria-hidden=\"true\">\n </span>\n </span>\n <div class=\"ClearableInput input-group\">\n <input type=\"text\" class=\"form-control\" placeholder=\"Target month\" disabled=\"\" value=\"\" style=\"border-top-right-radius: 0px; border-bottom-right-radius: 0px;\">\n </div>\n </div>\n <div class=\"rdtPicker\">\n <div class=\"rdtMonths\">\n <table>\n <thead>\n <tr>\n <th class=\"rdtPrev\">\n <span>‹</span>\n </th>\n <th class=\"rdtSwitch\" colspan=\"2\">2025</th>\n <th class=\"rdtNext\">\n <span>›</span>\n </th>\n </tr>\n </thead>\n </table>\n <table>\n <tbody>\n <tr>\n <td class=\"rdtMonth\" data-value=\"0\">Jan</td>\n <td class=\"rdtMonth\" data-value=\"1\">Feb</td>\n <td class=\"rdtMonth\" data-value=\"2\">Mar</td>\n <td class=\"rdtMonth\" data-value=\"3\">Apr</td>\n </tr>\n <tr>\n <td class=\"rdtMonth\" data-value=\"4\">May</td>\n <td class=\"rdtMonth\" data-value=\"5\">Jun</td>\n <td class=\"rdtMonth\" data-value=\"6\">Jul</td>\n <td class=\"rdtMonth\" data-value=\"7\">Aug</td>\n </tr>\n <tr>\n <td class=\"rdtMonth\" data-value=\"8\">Sep</td>\n <td class=\"rdtMonth\" data-value=\"9\">Oct</td>\n <td class=\"rdtMonth\" data-value=\"10\">Nov</td>\n <td class=\"rdtMonth\" data-value=\"11\">Dec</td>\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n </div>\n <div class=\"input-group-btn\">\n <button type=\"button\" class=\"btn btn-primary btn-icon-only btn-component\" tabindex=\"0\">\n <span class=\"rioglyph rioglyph-pencil\">\n </span>\n </button>\n </div>\n </div>\n </div>\n </div>\n <div class=\"width-300\">\n <div class=\"text-color-dark max-width-100pct text-size-12 display-inline-block margin-bottom-5\">SaveableDateInput (disabled)</div>\n <div class=\"form-group\">\n <div class=\"input-group\">\n <div class=\"rdt DatePicker form-group margin-0 width-100pct\">\n <div class=\"input-group\">\n <span class=\"input-group-addon\">\n <span class=\"rioglyph rioglyph-calendar\" aria-hidden=\"true\">\n </span>\n </span>\n <div class=\"ClearableInput input-group\">\n <input type=\"text\" class=\"form-control\" disabled=\"\" value=\"11/21/2025 1:07 PM\" style=\"border-top-right-radius: 0px; border-bottom-right-radius: 0px;\">\n </div>\n </div>\n <div class=\"rdtPicker\">\n <div class=\"rdtDays\">\n <table>\n <thead>\n <tr>\n <th class=\"rdtPrev\">\n <span>‹</span>\n </th>\n <th class=\"rdtSwitch\" colspan=\"5\" data-value=\"10\">November 2025</th>\n <th class=\"rdtNext\">\n <span>›</span>\n </th>\n </tr>\n <tr>\n <th class=\"dow\">Su</th>\n <th class=\"dow\">Mo</th>\n <th class=\"dow\">Tu</th>\n <th class=\"dow\">We</th>\n <th class=\"dow\">Th</th>\n <th class=\"dow\">Fr</th>\n <th class=\"dow\">Sa</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td data-value=\"26\" data-month=\"9\" data-year=\"2025\" class=\"rdtDay rdtOld\">26</td>\n <td data-value=\"27\" data-month=\"9\" data-year=\"2025\" class=\"rdtDay rdtOld\">27</td>\n <td data-value=\"28\" data-month=\"9\" data-year=\"2025\" class=\"rdtDay rdtOld\">28</td>\n <td data-value=\"29\" data-month=\"9\" data-year=\"2025\" class=\"rdtDay rdtOld\">29</td>\n <td data-value=\"30\" data-month=\"9\" data-year=\"2025\" class=\"rdtDay rdtOld\">30</td>\n <td data-value=\"31\" data-month=\"9\" data-year=\"2025\" class=\"rdtDay rdtOld\">31</td>\n <td data-value=\"1\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">1</td>\n </tr>\n <tr>\n <td data-value=\"2\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">2</td>\n <td data-value=\"3\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">3</td>\n <td data-value=\"4\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">4</td>\n <td data-value=\"5\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">5</td>\n <td data-value=\"6\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">6</td>\n <td data-value=\"7\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">7</td>\n <td data-value=\"8\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">8</td>\n </tr>\n <tr>\n <td data-value=\"9\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">9</td>\n <td data-value=\"10\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">10</td>\n <td data-value=\"11\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">11</td>\n <td data-value=\"12\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">12</td>\n <td data-value=\"13\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">13</td>\n <td data-value=\"14\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">14</td>\n <td data-value=\"15\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">15</td>\n </tr>\n <tr>\n <td data-value=\"16\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">16</td>\n <td data-value=\"17\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">17</td>\n <td data-value=\"18\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">18</td>\n <td data-value=\"19\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">19</td>\n <td data-value=\"20\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">20</td>\n <td data-value=\"21\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay rdtActive rdtToday\">21</td>\n <td data-value=\"22\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">22</td>\n </tr>\n <tr>\n <td data-value=\"23\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">23</td>\n <td data-value=\"24\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">24</td>\n <td data-value=\"25\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">25</td>\n <td data-value=\"26\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">26</td>\n <td data-value=\"27\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">27</td>\n <td data-value=\"28\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">28</td>\n <td data-value=\"29\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">29</td>\n </tr>\n <tr>\n <td data-value=\"30\" data-month=\"10\" data-year=\"2025\" class=\"rdtDay\">30</td>\n <td data-value=\"1\" data-month=\"11\" data-year=\"2025\" class=\"rdtDay rdtNew\">1</td>\n <td data-value=\"2\" data-month=\"11\" data-year=\"2025\" class=\"rdtDay rdtNew\">2</td>\n <td data-value=\"3\" data-month=\"11\" data-year=\"2025\" class=\"rdtDay rdtNew\">3</td>\n <td data-value=\"4\" data-month=\"11\" data-year=\"2025\" class=\"rdtDay rdtNew\">4</td>\n <td data-value=\"5\" data-month=\"11\" data-year=\"2025\" class=\"rdtDay rdtNew\">5</td>\n <td data-value=\"6\" data-month=\"11\" data-year=\"2025\" class=\"rdtDay rdtNew\">6</td>\n </tr>\n </tbody>\n <tfoot>\n <tr>\n <td colspan=\"7\" class=\"rdtTimeToggle\">1:07 PM</td>\n </tr>\n </tfoot>\n </table>\n </div>\n </div>\n </div>\n <div class=\"input-group-btn\">\n <button type=\"button\" class=\"btn btn-primary btn-icon-only btn-component\" disabled=\"\" tabindex=\"0\">\n <span class=\"rioglyph rioglyph-pencil\">\n </span>\n </button>\n </div>\n </div>\n </div>\n </div>\n</div>"
|
|
582
|
+
},
|
|
583
|
+
{
|
|
584
|
+
"label": "Props",
|
|
585
|
+
"language": "json",
|
|
586
|
+
"code": null,
|
|
587
|
+
"props": [
|
|
588
|
+
{
|
|
589
|
+
"heading": null,
|
|
590
|
+
"rows": [
|
|
591
|
+
{
|
|
592
|
+
"name": "placeholder",
|
|
593
|
+
"type": "String",
|
|
594
|
+
"default": "",
|
|
595
|
+
"description": "The input placeholder."
|
|
596
|
+
},
|
|
597
|
+
{
|
|
598
|
+
"name": "value",
|
|
599
|
+
"type": "Date | Moment | String",
|
|
600
|
+
"default": "",
|
|
601
|
+
"description": "The actual input value."
|
|
602
|
+
},
|
|
603
|
+
{
|
|
604
|
+
"name": "isValid",
|
|
605
|
+
"type": "boolean",
|
|
606
|
+
"default": "true",
|
|
607
|
+
"description": "Used to control the save button from the outside to disable it in case the entered value is not valid."
|
|
608
|
+
},
|
|
609
|
+
{
|
|
610
|
+
"name": "errorMessage",
|
|
611
|
+
"type": "string | ReactNode",
|
|
612
|
+
"default": "",
|
|
613
|
+
"description": "Uses the built-in error handling. This is the error message that is shown below the input. It will be shown when the \"isValid\" prop is set to false."
|
|
614
|
+
},
|
|
615
|
+
{
|
|
616
|
+
"name": "hideErrorIcon",
|
|
617
|
+
"type": "boolean",
|
|
618
|
+
"default": "false",
|
|
619
|
+
"description": "Defines wether the error icon is shown or not. If enabled, it will be shown when the \"isValid\" prop is set to false."
|
|
620
|
+
},
|
|
621
|
+
{
|
|
622
|
+
"name": "onValueChanged",
|
|
623
|
+
"type": "(value: Moment | string, previousValue: Moment | string | Date) => void",
|
|
624
|
+
"default": "",
|
|
625
|
+
"description": "Callback function triggered when the value changes and is saved."
|
|
626
|
+
},
|
|
627
|
+
{
|
|
628
|
+
"name": "onInputChange",
|
|
629
|
+
"type": "(value: Moment | string, isValid: boolean) => void",
|
|
630
|
+
"default": "",
|
|
631
|
+
"description": "Callback function that gets triggered on every input change. Use this to control the component or when implementing key validation."
|
|
632
|
+
},
|
|
633
|
+
{
|
|
634
|
+
"name": "onEnterEdit",
|
|
635
|
+
"type": "VoidFunction",
|
|
636
|
+
"default": "",
|
|
637
|
+
"description": "Callback function that gets triggered when the input is in edit mode. Use this to control the component and to handle the previous value on the outside."
|
|
638
|
+
},
|
|
639
|
+
{
|
|
640
|
+
"name": "onExitEdit",
|
|
641
|
+
"type": "(wasSaved: boolean) => void",
|
|
642
|
+
"default": "",
|
|
643
|
+
"description": "Callback function that gets triggered when edit mode is exited (either saved or cancelled)."
|
|
644
|
+
},
|
|
645
|
+
{
|
|
646
|
+
"name": "onCancel",
|
|
647
|
+
"type": "VoidFunction",
|
|
648
|
+
"default": "",
|
|
649
|
+
"description": "Callback function that gets triggered when the user aborts the edit mode. Use this to control the component and handle the resetting of previous value on the outside."
|
|
650
|
+
},
|
|
651
|
+
{
|
|
652
|
+
"name": "invalidExitBehavior",
|
|
653
|
+
"type": "\"stay-open\" | \"reset-and-close\"",
|
|
654
|
+
"default": "\"stay-open\"",
|
|
655
|
+
"description": "Behavior when trying to exit edit mode with invalid input: stay-open: Keep edit mode open until valid input is provided reset-and-close: Close edit mode and reset to initial value"
|
|
656
|
+
},
|
|
657
|
+
{
|
|
658
|
+
"name": "buttonStyle",
|
|
659
|
+
"type": "\"default\" | \"primary\"",
|
|
660
|
+
"default": "",
|
|
661
|
+
"description": "Defines the button style: default or primary."
|
|
662
|
+
},
|
|
663
|
+
{
|
|
664
|
+
"name": "inputProps",
|
|
665
|
+
"type": "Attributes",
|
|
666
|
+
"default": "",
|
|
667
|
+
"description": "Additional HTML attributes to be set on the input element."
|
|
668
|
+
},
|
|
669
|
+
{
|
|
670
|
+
"name": "datePickerProps",
|
|
671
|
+
"type": "DatePickerProps",
|
|
672
|
+
"default": "",
|
|
673
|
+
"description": "Props passed directly to the date picker component."
|
|
674
|
+
},
|
|
675
|
+
{
|
|
676
|
+
"name": "disabled",
|
|
677
|
+
"type": "Boolean",
|
|
678
|
+
"default": "false",
|
|
679
|
+
"description": "Disables the component so the user cannot enter the edit mode."
|
|
680
|
+
},
|
|
681
|
+
{
|
|
682
|
+
"name": "inputClassName",
|
|
683
|
+
"type": "String",
|
|
684
|
+
"default": "",
|
|
685
|
+
"description": "Additional classes to be set on the input itself."
|
|
686
|
+
},
|
|
687
|
+
{
|
|
688
|
+
"name": "className",
|
|
689
|
+
"type": "String",
|
|
690
|
+
"default": "",
|
|
691
|
+
"description": "Additional classes to be set on the wrapper element."
|
|
692
|
+
}
|
|
693
|
+
]
|
|
694
|
+
}
|
|
695
|
+
]
|
|
696
|
+
}
|
|
697
|
+
]
|
|
698
|
+
}
|
|
699
|
+
]
|
|
700
|
+
}
|
|
701
|
+
],
|
|
702
|
+
"see_also": []
|
|
703
|
+
}
|