@rio-cloud/uikit-mcp 1.1.4 → 1.1.6

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.
Files changed (201) hide show
  1. package/README.md +1 -0
  2. package/dist/doc-metadata.json +188 -88
  3. package/dist/docs/components/accentBar.md +35 -3
  4. package/dist/docs/components/activity.md +14 -3
  5. package/dist/docs/components/animatedNumber.md +17 -4
  6. package/dist/docs/components/animatedTextReveal.md +54 -8
  7. package/dist/docs/components/animations.md +33 -33
  8. package/dist/docs/components/appHeader.md +65 -9
  9. package/dist/docs/components/appLayout.md +566 -61
  10. package/dist/docs/components/appNavigationBar.md +55 -3
  11. package/dist/docs/components/areaCharts.md +14 -14
  12. package/dist/docs/components/aspectRatioPlaceholder.md +11 -3
  13. package/dist/docs/components/assetTree.md +1174 -328
  14. package/dist/docs/components/autosuggests.md +2 -2
  15. package/dist/docs/components/avatar.md +25 -3
  16. package/dist/docs/components/banner.md +3 -3
  17. package/dist/docs/components/barCharts.md +38 -38
  18. package/dist/docs/components/barList.md +22 -10
  19. package/dist/docs/components/basicMap.md +2 -2
  20. package/dist/docs/components/bottomSheet.md +100 -3
  21. package/dist/docs/components/button.md +549 -36
  22. package/dist/docs/components/buttonToolbar.md +10 -3
  23. package/dist/docs/components/calendarStripe.md +127 -85
  24. package/dist/docs/components/card.md +11 -3
  25. package/dist/docs/components/carousel.md +2 -2
  26. package/dist/docs/components/chartColors.md +2 -2
  27. package/dist/docs/components/chartsGettingStarted.md +2 -2
  28. package/dist/docs/components/chat.md +3 -3
  29. package/dist/docs/components/checkbox.md +67 -45
  30. package/dist/docs/components/circularProgress.md +465 -0
  31. package/dist/docs/components/clearableInput.md +18 -18
  32. package/dist/docs/components/collapse.md +28 -4
  33. package/dist/docs/components/composedCharts.md +20 -20
  34. package/dist/docs/components/contentLoader.md +126 -105
  35. package/dist/docs/components/dataTabs.md +191 -11
  36. package/dist/docs/components/datepickers.md +735 -723
  37. package/dist/docs/components/dialogs.md +362 -2
  38. package/dist/docs/components/divider.md +15 -3
  39. package/dist/docs/components/dropdowns.md +4548 -4355
  40. package/dist/docs/components/editableContent.md +187 -3
  41. package/dist/docs/components/expander.md +52 -5
  42. package/dist/docs/components/fade.md +42 -7
  43. package/dist/docs/components/fadeExpander.md +13 -4
  44. package/dist/docs/components/fadeUp.md +22 -4
  45. package/dist/docs/components/feedback.md +44 -3
  46. package/dist/docs/components/filePickers.md +45 -3
  47. package/dist/docs/components/formLabel.md +20 -5
  48. package/dist/docs/components/groupedItemList.md +54 -3
  49. package/dist/docs/components/iconList.md +5 -5
  50. package/dist/docs/components/imagePreloader.md +7 -3
  51. package/dist/docs/components/labeledElement.md +13 -3
  52. package/dist/docs/components/licensePlate.md +11 -3
  53. package/dist/docs/components/lineCharts.md +10 -10
  54. package/dist/docs/components/listMenu.md +78 -8
  55. package/dist/docs/components/loadMore.md +29 -3
  56. package/dist/docs/components/mainNavigation.md +5 -5
  57. package/dist/docs/components/mapCircle.md +2 -2
  58. package/dist/docs/components/mapCluster.md +2 -2
  59. package/dist/docs/components/mapContext.md +2 -2
  60. package/dist/docs/components/mapDraggableMarker.md +2 -2
  61. package/dist/docs/components/mapGettingStarted.md +2 -2
  62. package/dist/docs/components/mapInfoBubble.md +2 -2
  63. package/dist/docs/components/mapLayerGroup.md +2 -2
  64. package/dist/docs/components/mapMarker.md +2 -2
  65. package/dist/docs/components/mapPolygon.md +2 -2
  66. package/dist/docs/components/mapRoute.md +2 -2
  67. package/dist/docs/components/mapRouteGenerator.md +2 -2
  68. package/dist/docs/components/mapSettings.md +9 -9
  69. package/dist/docs/components/mapUtils.md +2 -2
  70. package/dist/docs/components/multiselects.md +2 -2
  71. package/dist/docs/components/noData.md +23 -3
  72. package/dist/docs/components/notifications.md +2 -2
  73. package/dist/docs/components/numbercontrol.md +54 -5
  74. package/dist/docs/components/onboarding.md +26 -2
  75. package/dist/docs/components/page.md +33 -3
  76. package/dist/docs/components/pager.md +15 -3
  77. package/dist/docs/components/pieCharts.md +89 -78
  78. package/dist/docs/components/popover.md +40 -2
  79. package/dist/docs/components/position.md +11 -3
  80. package/dist/docs/components/radialBarCharts.md +2054 -2012
  81. package/dist/docs/components/radioCardGroup.md +487 -0
  82. package/dist/docs/components/radiobutton.md +138 -10
  83. package/dist/docs/components/releaseNotes.md +19 -2
  84. package/dist/docs/components/resizer.md +14 -3
  85. package/dist/docs/components/responsiveColumnStripe.md +20 -3
  86. package/dist/docs/components/responsiveVideo.md +12 -3
  87. package/dist/docs/components/rioglyph.md +13 -3
  88. package/dist/docs/components/rules.md +95 -5
  89. package/dist/docs/components/saveableInput.md +400 -276
  90. package/dist/docs/components/selects.md +2 -2
  91. package/dist/docs/components/sidebar.md +39 -3
  92. package/dist/docs/components/sliders.md +38 -3
  93. package/dist/docs/components/smoothScrollbars.md +93 -3
  94. package/dist/docs/components/spinners.md +51 -3
  95. package/dist/docs/components/states.md +217 -2
  96. package/dist/docs/components/statsWidgets.md +123 -3
  97. package/dist/docs/components/statusBar.md +29 -3
  98. package/dist/docs/components/stepButton.md +9 -3
  99. package/dist/docs/components/steppedProgressBars.md +67 -3
  100. package/dist/docs/components/subNavigation.md +24 -17
  101. package/dist/docs/components/supportMarker.md +2 -2
  102. package/dist/docs/components/svgImage.md +13 -3
  103. package/dist/docs/components/switch.md +218 -82
  104. package/dist/docs/components/tables.md +2 -2
  105. package/dist/docs/components/tagManager.md +56 -2
  106. package/dist/docs/components/tags.md +33 -3
  107. package/dist/docs/components/teaser.md +30 -3
  108. package/dist/docs/components/textTruncateMiddle.md +151 -0
  109. package/dist/docs/components/timeline.md +2 -2
  110. package/dist/docs/components/timepicker.md +687 -63
  111. package/dist/docs/components/toggleButton.md +96 -10
  112. package/dist/docs/components/tooltip.md +30 -21
  113. package/dist/docs/components/tracker.md +631 -0
  114. package/dist/docs/components/virtualList.md +107 -84
  115. package/dist/docs/foundations.md +647 -275
  116. package/dist/docs/start/changelog.md +2 -738
  117. package/dist/docs/start/goodtoknow.md +2 -2
  118. package/dist/docs/start/guidelines/color-combinations.md +2 -2
  119. package/dist/docs/start/guidelines/custom-css.md +2 -2
  120. package/dist/docs/start/guidelines/custom-rioglyph.md +2 -2
  121. package/dist/docs/start/guidelines/formatting.md +2 -2
  122. package/dist/docs/start/guidelines/iframe.md +2 -2
  123. package/dist/docs/start/guidelines/obfuscate-data.md +2 -2
  124. package/dist/docs/start/guidelines/print-css.md +2 -2
  125. package/dist/docs/start/guidelines/spinner.md +82 -82
  126. package/dist/docs/start/guidelines/state-in-url.md +263 -0
  127. package/dist/docs/start/guidelines/supported-browsers.md +2 -2
  128. package/dist/docs/start/guidelines/writing.md +2 -2
  129. package/dist/docs/start/howto.md +10 -10
  130. package/dist/docs/start/intro.md +2 -2
  131. package/dist/docs/start/responsiveness.md +2 -2
  132. package/dist/docs/templates/common-table.md +15 -14
  133. package/dist/docs/templates/detail-views.md +3 -3
  134. package/dist/docs/templates/expandable-details.md +2 -2
  135. package/dist/docs/templates/feature-cards.md +56 -56
  136. package/dist/docs/templates/form-summary.md +23 -23
  137. package/dist/docs/templates/form-toggle.md +2 -2
  138. package/dist/docs/templates/list-blocks.md +204 -204
  139. package/dist/docs/templates/loading-progress.md +2 -2
  140. package/dist/docs/templates/options-panel.md +2 -2
  141. package/dist/docs/templates/panel-variants.md +2 -2
  142. package/dist/docs/templates/progress-cards.md +2 -2
  143. package/dist/docs/templates/progress-success.md +2 -2
  144. package/dist/docs/templates/settings-form.md +24 -24
  145. package/dist/docs/templates/stats-blocks.md +18 -18
  146. package/dist/docs/templates/table-panel.md +2 -2
  147. package/dist/docs/templates/table-row-animation.md +2 -2
  148. package/dist/docs/templates/usage-cards.md +2 -2
  149. package/dist/docs/utilities/classNames.md +191 -0
  150. package/dist/docs/utilities/deviceUtils.md +2 -2
  151. package/dist/docs/utilities/featureToggles.md +2 -2
  152. package/dist/docs/utilities/fuelTypeUtils.md +2 -2
  153. package/dist/docs/utilities/routeUtils.md +326 -90
  154. package/dist/docs/utilities/useAfterMount.md +2 -2
  155. package/dist/docs/utilities/useAutoAnimate.md +2 -2
  156. package/dist/docs/utilities/useAverage.md +2 -2
  157. package/dist/docs/utilities/useClickOutside.md +2 -2
  158. package/dist/docs/utilities/useClipboard.md +3 -3
  159. package/dist/docs/utilities/useCookies.md +188 -0
  160. package/dist/docs/utilities/useCount.md +2 -2
  161. package/dist/docs/utilities/useDarkMode.md +2 -2
  162. package/dist/docs/utilities/useDebugInfo.md +5 -5
  163. package/dist/docs/utilities/useEffectOnce.md +2 -2
  164. package/dist/docs/utilities/useElapsedTime.md +2 -2
  165. package/dist/docs/utilities/useElementSize.md +2 -2
  166. package/dist/docs/utilities/useEsc.md +2 -2
  167. package/dist/docs/utilities/useEvent.md +2 -2
  168. package/dist/docs/utilities/useFocusTrap.md +2 -2
  169. package/dist/docs/utilities/useFullscreen.md +2 -2
  170. package/dist/docs/utilities/useHover.md +2 -2
  171. package/dist/docs/utilities/useIncomingPostMessages.md +2 -2
  172. package/dist/docs/utilities/useInterval.md +2 -2
  173. package/dist/docs/utilities/useIsFocusWithin.md +2 -2
  174. package/dist/docs/utilities/useKey.md +2 -2
  175. package/dist/docs/utilities/useLocalStorage.md +2 -2
  176. package/dist/docs/utilities/useLocationSuggestions.md +2 -2
  177. package/dist/docs/utilities/useMax.md +2 -2
  178. package/dist/docs/utilities/useMin.md +2 -2
  179. package/dist/docs/utilities/useMutationObserver.md +2 -2
  180. package/dist/docs/utilities/useOnScreen.md +2 -2
  181. package/dist/docs/utilities/useOnlineStatus.md +2 -2
  182. package/dist/docs/utilities/usePostMessage.md +3 -3
  183. package/dist/docs/utilities/usePostMessageSender.md +2 -2
  184. package/dist/docs/utilities/usePrevious.md +2 -2
  185. package/dist/docs/utilities/useResizeObserver.md +2 -2
  186. package/dist/docs/utilities/useRioCookieConsent.md +90 -0
  187. package/dist/docs/utilities/useScrollPosition.md +2 -2
  188. package/dist/docs/utilities/useSearch.md +2 -2
  189. package/dist/docs/utilities/useSearchHighlight.md +815 -0
  190. package/dist/docs/utilities/useSorting.md +2 -2
  191. package/dist/docs/utilities/useStateWithValidation.md +2 -2
  192. package/dist/docs/utilities/useSum.md +2 -2
  193. package/dist/docs/utilities/useTableExport.md +53 -53
  194. package/dist/docs/utilities/useTableSelection.md +90 -90
  195. package/dist/docs/utilities/useTimeout.md +2 -2
  196. package/dist/docs/utilities/useToggle.md +3 -3
  197. package/dist/docs/utilities/useUrlState.md +418 -0
  198. package/dist/docs/utilities/useWindowResize.md +2 -2
  199. package/dist/index.mjs +8 -8
  200. package/dist/version.json +2 -2
  201. package/package.json +9 -9
@@ -2,8 +2,8 @@
2
2
 
3
3
  *Category:* Components
4
4
  *Section:* Pickers
5
- *Source:* https://uikit.developers.rio.cloud/#components/timepicker
6
- *Captured:* 2026-01-14T09:07:21.593Z
5
+ *Source:* https://uikit.developers.rio.cloud/#/components/timepicker
6
+ *Captured:* 2026-02-23T13:42:01.525Z
7
7
 
8
8
  ## TimePicker
9
9
 
@@ -17,6 +17,8 @@ Controlled component without initial value
17
17
 
18
18
  Set current timeClear time
19
19
 
20
+ Disabled
21
+
20
22
  #### Summary
21
23
 
22
24
  Uncontrolled component
@@ -27,6 +29,8 @@ Controlled component without initial value
27
29
 
28
30
  Set current timeClear time
29
31
 
32
+ Disabled
33
+
30
34
  #### React (tsx)
31
35
 
32
36
  ```tsx
@@ -74,6 +78,10 @@ export default () => {
74
78
  <Button onClick={() => setTimeValue('')}>Clear time</Button>
75
79
  </div>
76
80
  </div>
81
+ <div className='col-sm-6 form-group'>
82
+ <label>Disabled</label>
83
+ <TimePicker value='12:00' disabled />
84
+ </div>
77
85
  </div>
78
86
  );
79
87
  };
@@ -85,17 +93,19 @@ export default () => {
85
93
  <div class="row max-width-600">
86
94
  <div class="col-sm-6 form-group">
87
95
  <label>Uncontrolled component</label>
88
- <div class="TimePicker input-group">
89
- <div class="form-control-feedback-wrapper">
90
- <input class="TimePickerInput form-control" value="">
91
- </div>
92
- <div class="TimePickerIncreaseButton input-group-addon">
93
- <div class="text-color-gray hover-text-color-dark display-grid place-items-center cursor-pointer">
94
- <div class="rioglyph rioglyph-chevron-left scale-90">
95
- </div>
96
+ <div class="TimePicker">
97
+ <div class="input-group">
98
+ <div class="form-control-feedback-wrapper">
99
+ <input class="TimePickerInput form-control" value="">
96
100
  </div>
97
- <div class="text-color-gray hover-text-color-dark margin-left-5 display-grid place-items-center cursor-pointer">
98
- <div class="rioglyph rioglyph-chevron-right scale-90">
101
+ <div class="TimePickerIncreaseButton input-group-addon">
102
+ <div class="text-color-gray hover-text-color-dark display-grid place-items-center cursor-pointer">
103
+ <div class="rioglyph rioglyph-chevron-left scale-90">
104
+ </div>
105
+ </div>
106
+ <div class="text-color-gray hover-text-color-dark margin-left-5 display-grid place-items-center cursor-pointer">
107
+ <div class="rioglyph rioglyph-chevron-right scale-90">
108
+ </div>
99
109
  </div>
100
110
  </div>
101
111
  </div>
@@ -103,21 +113,23 @@ export default () => {
103
113
  </div>
104
114
  <div class="col-sm-6 form-group">
105
115
  <label>With icon</label>
106
- <div class="TimePicker input-group">
107
- <span class="input-group-addon">
108
- <span class="rioglyph rioglyph-time-alt">
116
+ <div class="TimePicker">
117
+ <div class="input-group">
118
+ <span class="input-group-addon">
119
+ <span class="rioglyph rioglyph-time-alt">
120
+ </span>
109
121
  </span>
110
- </span>
111
- <div class="form-control-feedback-wrapper">
112
- <input class="TimePickerInput form-control" value="">
113
- </div>
114
- <div class="TimePickerIncreaseButton input-group-addon">
115
- <div class="text-color-gray hover-text-color-dark display-grid place-items-center cursor-pointer">
116
- <div class="rioglyph rioglyph-chevron-left scale-90">
117
- </div>
122
+ <div class="form-control-feedback-wrapper">
123
+ <input class="TimePickerInput form-control" value="">
118
124
  </div>
119
- <div class="text-color-gray hover-text-color-dark margin-left-5 display-grid place-items-center cursor-pointer">
120
- <div class="rioglyph rioglyph-chevron-right scale-90">
125
+ <div class="TimePickerIncreaseButton input-group-addon">
126
+ <div class="text-color-gray hover-text-color-dark display-grid place-items-center cursor-pointer">
127
+ <div class="rioglyph rioglyph-chevron-left scale-90">
128
+ </div>
129
+ </div>
130
+ <div class="text-color-gray hover-text-color-dark margin-left-5 display-grid place-items-center cursor-pointer">
131
+ <div class="rioglyph rioglyph-chevron-right scale-90">
132
+ </div>
121
133
  </div>
122
134
  </div>
123
135
  </div>
@@ -126,13 +138,15 @@ export default () => {
126
138
  <div class="col-sm-6">
127
139
  <div class="form-group">
128
140
  <label>Controlled component without initial value</label>
129
- <div class="TimePicker input-group">
130
- <span class="input-group-addon">
131
- <span class="rioglyph rioglyph-time-alt">
141
+ <div class="TimePicker">
142
+ <div class="input-group">
143
+ <span class="input-group-addon">
144
+ <span class="rioglyph rioglyph-time-alt">
145
+ </span>
132
146
  </span>
133
- </span>
134
- <div class="form-control-feedback-wrapper">
135
- <input class="TimePickerInput form-control" value="">
147
+ <div class="form-control-feedback-wrapper">
148
+ <input class="TimePickerInput form-control" value="">
149
+ </div>
136
150
  </div>
137
151
  </div>
138
152
  </div>
@@ -141,9 +155,46 @@ export default () => {
141
155
  <button type="button" class="btn btn-default btn-component" tabindex="0">Clear time</button>
142
156
  </div>
143
157
  </div>
158
+ <div class="col-sm-6 form-group">
159
+ <label>Disabled</label>
160
+ <div class="TimePicker">
161
+ <div class="input-group">
162
+ <div class="form-control-feedback-wrapper">
163
+ <input class="TimePickerInput form-control" disabled="" value="">
164
+ </div>
165
+ <div class="TimePickerIncreaseButton input-group-addon pointer-events-none bg-lightest">
166
+ <div class="text-color-gray hover-text-color-dark display-grid place-items-center cursor-pointer">
167
+ <div class="rioglyph rioglyph-chevron-left scale-90">
168
+ </div>
169
+ </div>
170
+ <div class="text-color-gray hover-text-color-dark margin-left-5 display-grid place-items-center cursor-pointer">
171
+ <div class="rioglyph rioglyph-chevron-right scale-90">
172
+ </div>
173
+ </div>
174
+ </div>
175
+ </div>
176
+ </div>
177
+ </div>
144
178
  </div>
145
179
  ```
146
180
 
181
+ #### Props
182
+
183
+ | Name | Type | Default | Description |
184
+ | --- | --- | --- | --- |
185
+ | value | string | — | Value of the time as string. Note, when value is given the component is treated as controlled. |
186
+ | onChange | (value: string) => void | — | Callback function when the value changes and is a valid time format. It also emits an empty string when the input is cleared. If not it handles the state internally until the time is valid and filled. |
187
+ | alwaysShowMask | boolean | true | Defines whether to always show the input mask placeholder. |
188
+ | showIcon | boolean | false | Defines whether to show the input icon. |
189
+ | dropdown | boolean | false | Defines whether to show a dropdown with pre-defined time values. |
190
+ | minuteOffset | number | 15 | Defines the minute interval for time controls and dropdown values. Invalid values fallback to 15. |
191
+ | disabled | boolean | false | Defines whether the component is disabled. |
192
+ | errorMessage | string \| React.ReactNode | — | Input error message. |
193
+ | warningMessage | string \| React.ReactNode | — | Input warning message. |
194
+ | messageWhiteSpace | 'normal' \| 'nowrap' \| 'pre-line' | 'normal' | Feedback message width. |
195
+ | inputProps | Omit<React.InputHTMLAttributes<HTMLInputElement>, 'value' \| 'onChange'> | — | Additional properties to be set on the input element. |
196
+ | className | string | — | Additional classes to be set on the wrapper element. |
197
+
147
198
  ### Example: Example 2
148
199
 
149
200
  DefaultPlease insert a valid time
@@ -186,22 +237,24 @@ export default () => {
186
237
  <div class="max-width-600 height-100 display-flex gap-25">
187
238
  <div class="flex-1-1 max-width-150 form-group has-feedback has-error">
188
239
  <label>Default</label>
189
- <div class="TimePicker input-group">
190
- <div class="form-control-feedback-wrapper">
191
- <input class="TimePickerInput form-control" value="">
192
- <span class="form-control-feedback rioglyph rioglyph-error-sign">
193
- </span>
194
- <span class="help-block white-space-normal">
195
- <span>Please insert a valid time</span>
196
- </span>
197
- </div>
198
- <div class="TimePickerIncreaseButton input-group-addon">
199
- <div class="text-color-gray hover-text-color-dark display-grid place-items-center cursor-pointer">
200
- <div class="rioglyph rioglyph-chevron-left scale-90">
201
- </div>
240
+ <div class="TimePicker">
241
+ <div class="input-group">
242
+ <div class="form-control-feedback-wrapper">
243
+ <input class="TimePickerInput form-control" value="">
244
+ <span class="form-control-feedback rioglyph rioglyph-error-sign">
245
+ </span>
246
+ <span class="help-block white-space-normal">
247
+ <span>Please insert a valid time</span>
248
+ </span>
202
249
  </div>
203
- <div class="text-color-gray hover-text-color-dark margin-left-5 display-grid place-items-center cursor-pointer">
204
- <div class="rioglyph rioglyph-chevron-right scale-90">
250
+ <div class="TimePickerIncreaseButton input-group-addon">
251
+ <div class="text-color-gray hover-text-color-dark display-grid place-items-center cursor-pointer">
252
+ <div class="rioglyph rioglyph-chevron-left scale-90">
253
+ </div>
254
+ </div>
255
+ <div class="text-color-gray hover-text-color-dark margin-left-5 display-grid place-items-center cursor-pointer">
256
+ <div class="rioglyph rioglyph-chevron-right scale-90">
257
+ </div>
205
258
  </div>
206
259
  </div>
207
260
  </div>
@@ -209,30 +262,601 @@ export default () => {
209
262
  </div>
210
263
  <div class="flex-1-1 max-width-150 form-group has-feedback has-warning">
211
264
  <label>With icon</label>
212
- <div class="TimePicker input-group">
213
- <span class="input-group-addon">
214
- <span class="rioglyph rioglyph-time-alt">
215
- </span>
216
- </span>
217
- <div class="form-control-feedback-wrapper">
218
- <input class="TimePickerInput form-control" value="">
219
- <span class="form-control-feedback rioglyph rioglyph-warning-sign">
220
- </span>
221
- <span class="help-block white-space-nowrap">
222
- <span>Just a normal warning message</span>
265
+ <div class="TimePicker">
266
+ <div class="input-group">
267
+ <span class="input-group-addon">
268
+ <span class="rioglyph rioglyph-time-alt">
269
+ </span>
223
270
  </span>
271
+ <div class="form-control-feedback-wrapper">
272
+ <input class="TimePickerInput form-control" value="">
273
+ <span class="form-control-feedback rioglyph rioglyph-warning-sign">
274
+ </span>
275
+ <span class="help-block white-space-nowrap">
276
+ <span>Just a normal warning message</span>
277
+ </span>
278
+ </div>
279
+ <div class="TimePickerIncreaseButton input-group-addon">
280
+ <div class="text-color-gray hover-text-color-dark display-grid place-items-center cursor-pointer">
281
+ <div class="rioglyph rioglyph-chevron-left scale-90">
282
+ </div>
283
+ </div>
284
+ <div class="text-color-gray hover-text-color-dark margin-left-5 display-grid place-items-center cursor-pointer">
285
+ <div class="rioglyph rioglyph-chevron-right scale-90">
286
+ </div>
287
+ </div>
288
+ </div>
289
+ </div>
290
+ </div>
291
+ </div>
292
+ </div>
293
+ ```
294
+
295
+ #### Props
296
+
297
+ | Name | Type | Default | Description |
298
+ | --- | --- | --- | --- |
299
+ | value | string | — | Value of the time as string. Note, when value is given the component is treated as controlled. |
300
+ | onChange | (value: string) => void | — | Callback function when the value changes and is a valid time format. It also emits an empty string when the input is cleared. If not it handles the state internally until the time is valid and filled. |
301
+ | alwaysShowMask | boolean | true | Defines whether to always show the input mask placeholder. |
302
+ | showIcon | boolean | false | Defines whether to show the input icon. |
303
+ | dropdown | boolean | false | Defines whether to show a dropdown with pre-defined time values. |
304
+ | minuteOffset | number | 15 | Defines the minute interval for time controls and dropdown values. Invalid values fallback to 15. |
305
+ | disabled | boolean | false | Defines whether the component is disabled. |
306
+ | errorMessage | string \| React.ReactNode | — | Input error message. |
307
+ | warningMessage | string \| React.ReactNode | — | Input warning message. |
308
+ | messageWhiteSpace | 'normal' \| 'nowrap' \| 'pre-line' | 'normal' | Feedback message width. |
309
+ | inputProps | Omit<React.InputHTMLAttributes<HTMLInputElement>, 'value' \| 'onChange'> | — | Additional properties to be set on the input element. |
310
+ | className | string | — | Additional classes to be set on the wrapper element. |
311
+
312
+ ### Example: Example 3
313
+
314
+ Mandatory value
315
+
316
+ #### Summary
317
+
318
+ Mandatory value
319
+
320
+ #### React (tsx)
321
+
322
+ ```tsx
323
+ import { useState } from 'react';
324
+
325
+ import classNames from '@rio-cloud/rio-uikit/classNames';
326
+ import TimePicker from '@rio-cloud/rio-uikit/TimePicker';
327
+
328
+ export default () => {
329
+ const [timeValue, setTimeValue] = useState('12:00');
330
+ const isInvalid = timeValue === '';
331
+
332
+ return (
333
+ <div className='max-width-300'>
334
+ <div className={classNames('form-group has-feedback', isInvalid && 'has-error')}>
335
+ <label>Mandatory value</label>
336
+ <TimePicker
337
+ value={timeValue}
338
+ onChange={setTimeValue}
339
+ errorMessage={isInvalid ? 'This field is required' : undefined}
340
+ />
224
341
  </div>
225
- <div class="TimePickerIncreaseButton input-group-addon">
226
- <div class="text-color-gray hover-text-color-dark display-grid place-items-center cursor-pointer">
227
- <div class="rioglyph rioglyph-chevron-left scale-90">
342
+ </div>
343
+ );
344
+ };
345
+ ```
346
+
347
+ #### HTML (html)
348
+
349
+ ```html
350
+ <div class="max-width-300">
351
+ <div class="form-group has-feedback">
352
+ <label>Mandatory value</label>
353
+ <div class="TimePicker">
354
+ <div class="input-group">
355
+ <div class="form-control-feedback-wrapper">
356
+ <input class="TimePickerInput form-control" value="">
357
+ </div>
358
+ <div class="TimePickerIncreaseButton input-group-addon">
359
+ <div class="text-color-gray hover-text-color-dark display-grid place-items-center cursor-pointer">
360
+ <div class="rioglyph rioglyph-chevron-left scale-90">
361
+ </div>
362
+ </div>
363
+ <div class="text-color-gray hover-text-color-dark margin-left-5 display-grid place-items-center cursor-pointer">
364
+ <div class="rioglyph rioglyph-chevron-right scale-90">
365
+ </div>
228
366
  </div>
229
367
  </div>
230
- <div class="text-color-gray hover-text-color-dark margin-left-5 display-grid place-items-center cursor-pointer">
231
- <div class="rioglyph rioglyph-chevron-right scale-90">
368
+ </div>
369
+ </div>
370
+ </div>
371
+ </div>
372
+ ```
373
+
374
+ #### Props
375
+
376
+ | Name | Type | Default | Description |
377
+ | --- | --- | --- | --- |
378
+ | value | string | — | Value of the time as string. Note, when value is given the component is treated as controlled. |
379
+ | onChange | (value: string) => void | — | Callback function when the value changes and is a valid time format. It also emits an empty string when the input is cleared. If not it handles the state internally until the time is valid and filled. |
380
+ | alwaysShowMask | boolean | true | Defines whether to always show the input mask placeholder. |
381
+ | showIcon | boolean | false | Defines whether to show the input icon. |
382
+ | dropdown | boolean | false | Defines whether to show a dropdown with pre-defined time values. |
383
+ | minuteOffset | number | 15 | Defines the minute interval for time controls and dropdown values. Invalid values fallback to 15. |
384
+ | disabled | boolean | false | Defines whether the component is disabled. |
385
+ | errorMessage | string \| React.ReactNode | — | Input error message. |
386
+ | warningMessage | string \| React.ReactNode | — | Input warning message. |
387
+ | messageWhiteSpace | 'normal' \| 'nowrap' \| 'pre-line' | 'normal' | Feedback message width. |
388
+ | inputProps | Omit<React.InputHTMLAttributes<HTMLInputElement>, 'value' \| 'onChange'> | — | Additional properties to be set on the input element. |
389
+ | className | string | — | Additional classes to be set on the wrapper element. |
390
+
391
+ ## TimePicker with dropdown
392
+
393
+ ### Example: Example 4
394
+
395
+ Controlled component with dropdown
396
+
397
+ 00:00
398
+ 00:30
399
+ 01:00
400
+ 01:30
401
+ 02:00
402
+ 02:30
403
+ 03:00
404
+ 03:30
405
+ 04:00
406
+ 04:30
407
+ 05:00
408
+ 05:30
409
+ 06:00
410
+ 06:30
411
+ 07:00
412
+ 07:30
413
+ 08:00
414
+ 08:30
415
+ 09:00
416
+ 09:30
417
+ 10:00
418
+ 10:30
419
+ 11:00
420
+ 11:30
421
+ 12:00
422
+ 12:30
423
+ 13:00
424
+ 13:30
425
+ 14:00
426
+ 14:30
427
+ 15:00
428
+ 15:30
429
+ 16:00
430
+ 16:30
431
+ 17:00
432
+ 17:30
433
+ 18:00
434
+ 18:30
435
+ 19:00
436
+ 19:30
437
+ 20:00
438
+ 20:30
439
+ 21:00
440
+ 21:30
441
+ 22:00
442
+ 22:30
443
+ 23:00
444
+ 23:30
445
+
446
+ #### Summary
447
+
448
+ Controlled component with dropdown
449
+
450
+ 00:00
451
+ 00:30
452
+ 01:00
453
+ 01:30
454
+ 02:00
455
+ 02:30
456
+ 03:00
457
+ 03:30
458
+ 04:00
459
+ 04:30
460
+ 05:00
461
+ 05:30
462
+ 06:00
463
+ 06:30
464
+ 07:00
465
+ 07:30
466
+ 08:00
467
+ 08:30
468
+ 09:00
469
+ 09:30
470
+ 10:00
471
+ 10:30
472
+ 11:00
473
+ 11:30
474
+ 12:00
475
+ 12:30
476
+ 13:00
477
+ 13:30
478
+ 14:00
479
+ 14:30
480
+ 15:00
481
+ 15:30
482
+ 16:00
483
+ 16:30
484
+ 17:00
485
+ 17:30
486
+ 18:00
487
+ 18:30
488
+ 19:00
489
+ 19:30
490
+ 20:00
491
+ 20:30
492
+ 21:00
493
+ 21:30
494
+ 22:00
495
+ 22:30
496
+ 23:00
497
+ 23:30
498
+
499
+ #### React (tsx)
500
+
501
+ ```tsx
502
+ import { useState } from 'react';
503
+
504
+ import TimePicker from '@rio-cloud/rio-uikit/TimePicker';
505
+ import Notification from '@rio-cloud/rio-uikit/Notification';
506
+
507
+ export default () => {
508
+ const [timeValue, setTimeValue] = useState('12:00');
509
+
510
+ const handleChangeTime = (value: string) => {
511
+ setTimeValue(value);
512
+ Notification.info(`Entered time: ${value}`);
513
+ };
514
+
515
+ return (
516
+ <div className='max-width-200'>
517
+ <div className='form-group'>
518
+ <label>Controlled component with dropdown</label>
519
+ <TimePicker value={timeValue} onChange={handleChangeTime} dropdown minuteOffset={30} showIcon />
520
+ </div>
521
+ </div>
522
+ );
523
+ };
524
+ ```
525
+
526
+ #### HTML (html)
527
+
528
+ ```html
529
+ <div class="max-width-200">
530
+ <div class="form-group">
531
+ <label>Controlled component with dropdown</label>
532
+ <div class="TimePicker dropdown dropup">
533
+ <div class="input-group">
534
+ <span class="input-group-addon">
535
+ <span class="rioglyph rioglyph-time-alt">
536
+ </span>
537
+ </span>
538
+ <div class="form-control-feedback-wrapper">
539
+ <input class="TimePickerInput form-control" value="">
540
+ </div>
541
+ <div class="TimePickerIncreaseButton input-group-addon">
542
+ <div class="text-color-gray hover-text-color-dark display-grid place-items-center cursor-pointer">
543
+ <div class="rioglyph rioglyph-chevron-left scale-90">
544
+ </div>
545
+ </div>
546
+ <div class="text-color-gray hover-text-color-dark margin-left-5 display-grid place-items-center cursor-pointer">
547
+ <div class="rioglyph rioglyph-chevron-right scale-90">
548
+ </div>
232
549
  </div>
233
550
  </div>
234
551
  </div>
552
+ <ul class="dropdown-menu max-height-200 overflow-auto width-100pct" role="menu">
553
+ <li class="" role="listitem">
554
+ <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="00:00" data-item-index="0">
555
+ <span class="selected-option-dropdown-item">00:00</span>
556
+ <input type="hidden" value="00:00">
557
+ </a>
558
+ </li>
559
+ <li class="" role="listitem">
560
+ <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="00:30" data-item-index="1">
561
+ <span class="selected-option-dropdown-item">00:30</span>
562
+ <input type="hidden" value="00:30">
563
+ </a>
564
+ </li>
565
+ <li class="" role="listitem">
566
+ <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="01:00" data-item-index="2">
567
+ <span class="selected-option-dropdown-item">01:00</span>
568
+ <input type="hidden" value="01:00">
569
+ </a>
570
+ </li>
571
+ <li class="" role="listitem">
572
+ <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="01:30" data-item-index="3">
573
+ <span class="selected-option-dropdown-item">01:30</span>
574
+ <input type="hidden" value="01:30">
575
+ </a>
576
+ </li>
577
+ <li class="" role="listitem">
578
+ <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="02:00" data-item-index="4">
579
+ <span class="selected-option-dropdown-item">02:00</span>
580
+ <input type="hidden" value="02:00">
581
+ </a>
582
+ </li>
583
+ <li class="" role="listitem">
584
+ <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="02:30" data-item-index="5">
585
+ <span class="selected-option-dropdown-item">02:30</span>
586
+ <input type="hidden" value="02:30">
587
+ </a>
588
+ </li>
589
+ <li class="" role="listitem">
590
+ <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="03:00" data-item-index="6">
591
+ <span class="selected-option-dropdown-item">03:00</span>
592
+ <input type="hidden" value="03:00">
593
+ </a>
594
+ </li>
595
+ <li class="" role="listitem">
596
+ <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="03:30" data-item-index="7">
597
+ <span class="selected-option-dropdown-item">03:30</span>
598
+ <input type="hidden" value="03:30">
599
+ </a>
600
+ </li>
601
+ <li class="" role="listitem">
602
+ <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="04:00" data-item-index="8">
603
+ <span class="selected-option-dropdown-item">04:00</span>
604
+ <input type="hidden" value="04:00">
605
+ </a>
606
+ </li>
607
+ <li class="" role="listitem">
608
+ <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="04:30" data-item-index="9">
609
+ <span class="selected-option-dropdown-item">04:30</span>
610
+ <input type="hidden" value="04:30">
611
+ </a>
612
+ </li>
613
+ <li class="" role="listitem">
614
+ <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="05:00" data-item-index="10">
615
+ <span class="selected-option-dropdown-item">05:00</span>
616
+ <input type="hidden" value="05:00">
617
+ </a>
618
+ </li>
619
+ <li class="" role="listitem">
620
+ <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="05:30" data-item-index="11">
621
+ <span class="selected-option-dropdown-item">05:30</span>
622
+ <input type="hidden" value="05:30">
623
+ </a>
624
+ </li>
625
+ <li class="" role="listitem">
626
+ <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="06:00" data-item-index="12">
627
+ <span class="selected-option-dropdown-item">06:00</span>
628
+ <input type="hidden" value="06:00">
629
+ </a>
630
+ </li>
631
+ <li class="" role="listitem">
632
+ <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="06:30" data-item-index="13">
633
+ <span class="selected-option-dropdown-item">06:30</span>
634
+ <input type="hidden" value="06:30">
635
+ </a>
636
+ </li>
637
+ <li class="" role="listitem">
638
+ <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="07:00" data-item-index="14">
639
+ <span class="selected-option-dropdown-item">07:00</span>
640
+ <input type="hidden" value="07:00">
641
+ </a>
642
+ </li>
643
+ <li class="" role="listitem">
644
+ <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="07:30" data-item-index="15">
645
+ <span class="selected-option-dropdown-item">07:30</span>
646
+ <input type="hidden" value="07:30">
647
+ </a>
648
+ </li>
649
+ <li class="" role="listitem">
650
+ <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="08:00" data-item-index="16">
651
+ <span class="selected-option-dropdown-item">08:00</span>
652
+ <input type="hidden" value="08:00">
653
+ </a>
654
+ </li>
655
+ <li class="" role="listitem">
656
+ <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="08:30" data-item-index="17">
657
+ <span class="selected-option-dropdown-item">08:30</span>
658
+ <input type="hidden" value="08:30">
659
+ </a>
660
+ </li>
661
+ <li class="" role="listitem">
662
+ <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="09:00" data-item-index="18">
663
+ <span class="selected-option-dropdown-item">09:00</span>
664
+ <input type="hidden" value="09:00">
665
+ </a>
666
+ </li>
667
+ <li class="" role="listitem">
668
+ <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="09:30" data-item-index="19">
669
+ <span class="selected-option-dropdown-item">09:30</span>
670
+ <input type="hidden" value="09:30">
671
+ </a>
672
+ </li>
673
+ <li class="" role="listitem">
674
+ <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="10:00" data-item-index="20">
675
+ <span class="selected-option-dropdown-item">10:00</span>
676
+ <input type="hidden" value="10:00">
677
+ </a>
678
+ </li>
679
+ <li class="" role="listitem">
680
+ <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="10:30" data-item-index="21">
681
+ <span class="selected-option-dropdown-item">10:30</span>
682
+ <input type="hidden" value="10:30">
683
+ </a>
684
+ </li>
685
+ <li class="" role="listitem">
686
+ <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="11:00" data-item-index="22">
687
+ <span class="selected-option-dropdown-item">11:00</span>
688
+ <input type="hidden" value="11:00">
689
+ </a>
690
+ </li>
691
+ <li class="" role="listitem">
692
+ <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="11:30" data-item-index="23">
693
+ <span class="selected-option-dropdown-item">11:30</span>
694
+ <input type="hidden" value="11:30">
695
+ </a>
696
+ </li>
697
+ <li class="" role="listitem">
698
+ <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="12:00" data-item-index="24">
699
+ <span class="selected-option-dropdown-item">12:00</span>
700
+ <input type="hidden" value="12:00">
701
+ </a>
702
+ </li>
703
+ <li class="" role="listitem">
704
+ <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="12:30" data-item-index="25">
705
+ <span class="selected-option-dropdown-item">12:30</span>
706
+ <input type="hidden" value="12:30">
707
+ </a>
708
+ </li>
709
+ <li class="" role="listitem">
710
+ <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="13:00" data-item-index="26">
711
+ <span class="selected-option-dropdown-item">13:00</span>
712
+ <input type="hidden" value="13:00">
713
+ </a>
714
+ </li>
715
+ <li class="" role="listitem">
716
+ <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="13:30" data-item-index="27">
717
+ <span class="selected-option-dropdown-item">13:30</span>
718
+ <input type="hidden" value="13:30">
719
+ </a>
720
+ </li>
721
+ <li class="" role="listitem">
722
+ <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="14:00" data-item-index="28">
723
+ <span class="selected-option-dropdown-item">14:00</span>
724
+ <input type="hidden" value="14:00">
725
+ </a>
726
+ </li>
727
+ <li class="" role="listitem">
728
+ <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="14:30" data-item-index="29">
729
+ <span class="selected-option-dropdown-item">14:30</span>
730
+ <input type="hidden" value="14:30">
731
+ </a>
732
+ </li>
733
+ <li class="" role="listitem">
734
+ <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="15:00" data-item-index="30">
735
+ <span class="selected-option-dropdown-item">15:00</span>
736
+ <input type="hidden" value="15:00">
737
+ </a>
738
+ </li>
739
+ <li class="" role="listitem">
740
+ <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="15:30" data-item-index="31">
741
+ <span class="selected-option-dropdown-item">15:30</span>
742
+ <input type="hidden" value="15:30">
743
+ </a>
744
+ </li>
745
+ <li class="" role="listitem">
746
+ <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="16:00" data-item-index="32">
747
+ <span class="selected-option-dropdown-item">16:00</span>
748
+ <input type="hidden" value="16:00">
749
+ </a>
750
+ </li>
751
+ <li class="" role="listitem">
752
+ <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="16:30" data-item-index="33">
753
+ <span class="selected-option-dropdown-item">16:30</span>
754
+ <input type="hidden" value="16:30">
755
+ </a>
756
+ </li>
757
+ <li class="" role="listitem">
758
+ <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="17:00" data-item-index="34">
759
+ <span class="selected-option-dropdown-item">17:00</span>
760
+ <input type="hidden" value="17:00">
761
+ </a>
762
+ </li>
763
+ <li class="" role="listitem">
764
+ <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="17:30" data-item-index="35">
765
+ <span class="selected-option-dropdown-item">17:30</span>
766
+ <input type="hidden" value="17:30">
767
+ </a>
768
+ </li>
769
+ <li class="" role="listitem">
770
+ <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="18:00" data-item-index="36">
771
+ <span class="selected-option-dropdown-item">18:00</span>
772
+ <input type="hidden" value="18:00">
773
+ </a>
774
+ </li>
775
+ <li class="" role="listitem">
776
+ <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="18:30" data-item-index="37">
777
+ <span class="selected-option-dropdown-item">18:30</span>
778
+ <input type="hidden" value="18:30">
779
+ </a>
780
+ </li>
781
+ <li class="" role="listitem">
782
+ <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="19:00" data-item-index="38">
783
+ <span class="selected-option-dropdown-item">19:00</span>
784
+ <input type="hidden" value="19:00">
785
+ </a>
786
+ </li>
787
+ <li class="" role="listitem">
788
+ <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="19:30" data-item-index="39">
789
+ <span class="selected-option-dropdown-item">19:30</span>
790
+ <input type="hidden" value="19:30">
791
+ </a>
792
+ </li>
793
+ <li class="" role="listitem">
794
+ <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="20:00" data-item-index="40">
795
+ <span class="selected-option-dropdown-item">20:00</span>
796
+ <input type="hidden" value="20:00">
797
+ </a>
798
+ </li>
799
+ <li class="" role="listitem">
800
+ <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="20:30" data-item-index="41">
801
+ <span class="selected-option-dropdown-item">20:30</span>
802
+ <input type="hidden" value="20:30">
803
+ </a>
804
+ </li>
805
+ <li class="" role="listitem">
806
+ <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="21:00" data-item-index="42">
807
+ <span class="selected-option-dropdown-item">21:00</span>
808
+ <input type="hidden" value="21:00">
809
+ </a>
810
+ </li>
811
+ <li class="" role="listitem">
812
+ <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="21:30" data-item-index="43">
813
+ <span class="selected-option-dropdown-item">21:30</span>
814
+ <input type="hidden" value="21:30">
815
+ </a>
816
+ </li>
817
+ <li class="" role="listitem">
818
+ <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="22:00" data-item-index="44">
819
+ <span class="selected-option-dropdown-item">22:00</span>
820
+ <input type="hidden" value="22:00">
821
+ </a>
822
+ </li>
823
+ <li class="" role="listitem">
824
+ <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="22:30" data-item-index="45">
825
+ <span class="selected-option-dropdown-item">22:30</span>
826
+ <input type="hidden" value="22:30">
827
+ </a>
828
+ </li>
829
+ <li class="" role="listitem">
830
+ <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="23:00" data-item-index="46">
831
+ <span class="selected-option-dropdown-item">23:00</span>
832
+ <input type="hidden" value="23:00">
833
+ </a>
834
+ </li>
835
+ <li class="" role="listitem">
836
+ <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="23:30" data-item-index="47">
837
+ <span class="selected-option-dropdown-item">23:30</span>
838
+ <input type="hidden" value="23:30">
839
+ </a>
840
+ </li>
841
+ </ul>
235
842
  </div>
236
843
  </div>
237
844
  </div>
238
- ```
845
+ ```
846
+
847
+ #### Props
848
+
849
+ | Name | Type | Default | Description |
850
+ | --- | --- | --- | --- |
851
+ | value | string | — | Value of the time as string. Note, when value is given the component is treated as controlled. |
852
+ | onChange | (value: string) => void | — | Callback function when the value changes and is a valid time format. It also emits an empty string when the input is cleared. If not it handles the state internally until the time is valid and filled. |
853
+ | alwaysShowMask | boolean | true | Defines whether to always show the input mask placeholder. |
854
+ | showIcon | boolean | false | Defines whether to show the input icon. |
855
+ | dropdown | boolean | false | Defines whether to show a dropdown with pre-defined time values. |
856
+ | minuteOffset | number | 15 | Defines the minute interval for time controls and dropdown values. Invalid values fallback to 15. |
857
+ | disabled | boolean | false | Defines whether the component is disabled. |
858
+ | errorMessage | string \| React.ReactNode | — | Input error message. |
859
+ | warningMessage | string \| React.ReactNode | — | Input warning message. |
860
+ | messageWhiteSpace | 'normal' \| 'nowrap' \| 'pre-line' | 'normal' | Feedback message width. |
861
+ | inputProps | Omit<React.InputHTMLAttributes<HTMLInputElement>, 'value' \| 'onChange'> | — | Additional properties to be set on the input element. |
862
+ | className | string | — | Additional classes to be set on the wrapper element. |