@rio-cloud/uikit-mcp 1.0.1 → 1.1.1

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 (388) hide show
  1. package/README.md +75 -39
  2. package/dist/doc-metadata.json +1872 -0
  3. package/dist/docs/components/accentBar.md +582 -0
  4. package/dist/docs/components/activity.md +330 -0
  5. package/dist/docs/components/animatedNumber.md +88 -0
  6. package/dist/docs/components/animatedTextReveal.md +381 -0
  7. package/dist/docs/components/animations.md +459 -0
  8. package/dist/docs/components/appHeader.md +737 -0
  9. package/dist/docs/components/appLayout.md +2033 -0
  10. package/dist/docs/components/appNavigationBar.md +274 -0
  11. package/dist/docs/components/areaCharts.md +828 -0
  12. package/dist/docs/components/aspectRatioPlaceholder.md +106 -0
  13. package/dist/docs/components/assetTree.md +3132 -0
  14. package/dist/docs/components/autosuggests.md +1177 -0
  15. package/dist/docs/components/avatar.md +206 -0
  16. package/dist/docs/components/banner.md +668 -0
  17. package/dist/docs/components/barCharts.md +2765 -0
  18. package/dist/docs/components/barList.md +517 -0
  19. package/dist/docs/components/basicMap.md +167 -0
  20. package/dist/docs/components/bottomSheet.md +721 -0
  21. package/dist/docs/components/button.md +775 -0
  22. package/dist/docs/components/buttonToolbar.md +134 -0
  23. package/dist/docs/components/calendarStripe.md +533 -0
  24. package/dist/docs/components/card.md +86 -0
  25. package/dist/docs/components/carousel.md +128 -0
  26. package/dist/docs/components/chartColors.md +716 -0
  27. package/dist/docs/components/chartsGettingStarted.md +28 -0
  28. package/dist/docs/components/chat.md +935 -0
  29. package/dist/docs/components/checkbox.md +996 -0
  30. package/dist/docs/components/clearableInput.md +806 -0
  31. package/dist/docs/components/collapse.md +189 -0
  32. package/dist/docs/components/composedCharts.md +424 -0
  33. package/dist/docs/components/contentLoader.md +674 -0
  34. package/dist/docs/components/dataTabs.md +1251 -0
  35. package/dist/docs/components/datepickers.md +2543 -0
  36. package/dist/docs/components/dialogs.md +2244 -0
  37. package/dist/docs/components/divider.md +219 -0
  38. package/dist/docs/components/dropdowns.md +17538 -0
  39. package/dist/docs/components/editableContent.md +1127 -0
  40. package/dist/docs/components/expander.md +970 -0
  41. package/dist/docs/components/fade.md +836 -0
  42. package/dist/docs/components/fadeExpander.md +180 -0
  43. package/dist/docs/components/fadeUp.md +396 -0
  44. package/dist/docs/components/feedback.md +758 -0
  45. package/dist/docs/components/filePickers.md +370 -0
  46. package/dist/docs/components/formLabel.md +251 -0
  47. package/dist/docs/components/fullscreenMap.md +10 -0
  48. package/dist/docs/components/groupedItemList.md +1001 -0
  49. package/dist/docs/components/iconList.md +306 -0
  50. package/dist/docs/components/imagePreloader.md +167 -0
  51. package/dist/docs/components/labeledElement.md +115 -0
  52. package/dist/docs/components/licensePlate.md +412 -0
  53. package/dist/docs/components/lineCharts.md +2014 -0
  54. package/dist/docs/components/listMenu.md +392 -0
  55. package/dist/docs/components/loadMore.md +219 -0
  56. package/dist/docs/components/mainNavigation.md +129 -0
  57. package/dist/docs/components/mapCircle.md +93 -0
  58. package/dist/docs/components/mapCluster.md +337 -0
  59. package/dist/docs/components/mapContext.md +284 -0
  60. package/dist/docs/components/mapDraggableMarker.md +150 -0
  61. package/dist/docs/components/mapGettingStarted.md +39 -0
  62. package/dist/docs/components/mapInfoBubble.md +135 -0
  63. package/dist/docs/components/mapLayerGroup.md +94 -0
  64. package/dist/docs/components/mapMarker.md +1814 -0
  65. package/dist/docs/components/mapPolygon.md +959 -0
  66. package/dist/docs/components/mapRoute.md +3816 -0
  67. package/dist/docs/components/mapRouteGenerator.md +6 -0
  68. package/dist/docs/components/mapSettings.md +1040 -0
  69. package/dist/docs/components/mapUtils.md +132 -0
  70. package/dist/docs/components/multiselects.md +1921 -0
  71. package/dist/docs/components/noData.md +210 -0
  72. package/dist/docs/components/notifications.md +314 -0
  73. package/dist/docs/components/numbercontrol.md +706 -0
  74. package/dist/docs/components/onboarding.md +297 -0
  75. package/dist/docs/components/page.md +241 -0
  76. package/dist/docs/components/pager.md +133 -0
  77. package/dist/docs/components/pieCharts.md +1284 -0
  78. package/dist/docs/components/popover.md +222 -0
  79. package/dist/docs/components/position.md +50 -0
  80. package/dist/docs/components/radialBarCharts.md +3663 -0
  81. package/dist/docs/components/radiobutton.md +1271 -0
  82. package/dist/docs/components/releaseNotes.md +135 -0
  83. package/dist/docs/components/resizer.md +162 -0
  84. package/dist/docs/components/responsiveColumnStripe.md +435 -0
  85. package/dist/docs/components/responsiveVideo.md +71 -0
  86. package/dist/docs/components/rioglyph.md +331 -0
  87. package/dist/docs/components/rules.md +965 -0
  88. package/dist/docs/components/saveableInput.md +1721 -0
  89. package/dist/docs/components/selects.md +1993 -0
  90. package/dist/docs/components/sidebar.md +332 -0
  91. package/dist/docs/components/sliders.md +376 -0
  92. package/dist/docs/components/smoothScrollbars.md +1180 -0
  93. package/dist/docs/components/spinners.md +506 -0
  94. package/dist/docs/components/states.md +1176 -0
  95. package/dist/docs/components/statsWidgets.md +636 -0
  96. package/dist/docs/components/statusBar.md +644 -0
  97. package/dist/docs/components/stepButton.md +61 -0
  98. package/dist/docs/components/steppedProgressBars.md +1064 -0
  99. package/dist/docs/components/subNavigation.md +470 -0
  100. package/dist/docs/components/supportMarker.md +115 -0
  101. package/dist/docs/components/svgImage.md +248 -0
  102. package/dist/docs/components/switch.md +554 -0
  103. package/dist/docs/components/tables.md +8 -0
  104. package/dist/docs/components/tagManager.md +476 -0
  105. package/dist/docs/components/tags.md +785 -0
  106. package/dist/docs/components/teaser.md +925 -0
  107. package/dist/docs/components/timeline.md +514 -0
  108. package/dist/docs/components/timepicker.md +262 -0
  109. package/dist/docs/components/toggleButton.md +178 -0
  110. package/dist/docs/components/tooltip.md +454 -0
  111. package/dist/docs/components/virtualList.md +486 -0
  112. package/dist/docs/foundations.md +20901 -0
  113. package/dist/docs/start/changelog.md +714 -0
  114. package/dist/docs/start/goodtoknow.md +14 -0
  115. package/dist/docs/start/guidelines/color-combinations.md +678 -0
  116. package/dist/docs/start/guidelines/custom-css.md +42 -0
  117. package/dist/docs/start/guidelines/custom-rioglyph.md +35 -0
  118. package/dist/docs/start/guidelines/formatting.md +587 -0
  119. package/dist/docs/start/guidelines/iframe.md +323 -0
  120. package/dist/docs/start/guidelines/obfuscate-data.md +30 -0
  121. package/dist/docs/start/guidelines/print-css.md +36 -0
  122. package/dist/docs/start/guidelines/spinner.md +710 -0
  123. package/dist/docs/start/guidelines/supported-browsers.md +10 -0
  124. package/dist/docs/start/guidelines/writing.md +635 -0
  125. package/dist/docs/start/howto.md +187 -0
  126. package/dist/docs/start/intro.md +43 -0
  127. package/dist/docs/start/responsiveness.md +98 -0
  128. package/dist/docs/templates/common-table.md +1111 -0
  129. package/dist/docs/templates/detail-views.md +942 -0
  130. package/dist/docs/templates/expandable-details.md +228 -0
  131. package/dist/docs/templates/feature-cards.md +549 -0
  132. package/dist/docs/templates/form-summary.md +199 -0
  133. package/dist/docs/templates/form-toggle.md +367 -0
  134. package/dist/docs/templates/list-blocks.md +1021 -0
  135. package/dist/docs/templates/loading-progress.md +109 -0
  136. package/dist/docs/templates/options-panel.md +152 -0
  137. package/dist/docs/templates/panel-variants.md +164 -0
  138. package/dist/docs/templates/progress-cards.md +607 -0
  139. package/dist/docs/templates/progress-success.md +142 -0
  140. package/dist/docs/templates/settings-form.md +434 -0
  141. package/dist/docs/templates/stats-blocks.md +1381 -0
  142. package/dist/docs/templates/table-panel.md +184 -0
  143. package/dist/docs/templates/table-row-animation.md +317 -0
  144. package/dist/docs/templates/usage-cards.md +227 -0
  145. package/dist/docs/utilities/deviceUtils.md +123 -0
  146. package/dist/docs/utilities/featureToggles.md +90 -0
  147. package/dist/docs/utilities/fuelTypeUtils.md +186 -0
  148. package/dist/docs/utilities/routeUtils.md +138 -0
  149. package/dist/docs/utilities/useAfterMount.md +66 -0
  150. package/dist/docs/utilities/useAutoAnimate.md +193 -0
  151. package/dist/docs/utilities/useAverage.md +95 -0
  152. package/dist/docs/utilities/useClickOutside.md +61 -0
  153. package/dist/docs/utilities/useClipboard.md +93 -0
  154. package/dist/docs/utilities/useCount.md +178 -0
  155. package/dist/docs/utilities/useDarkMode.md +49 -0
  156. package/dist/docs/utilities/useDebugInfo.md +126 -0
  157. package/dist/docs/utilities/useEffectOnce.md +58 -0
  158. package/dist/docs/utilities/useElapsedTime.md +58 -0
  159. package/dist/docs/utilities/useElementSize.md +71 -0
  160. package/dist/docs/utilities/useEsc.md +58 -0
  161. package/dist/docs/utilities/useEvent.md +64 -0
  162. package/dist/docs/utilities/useFocusTrap.md +85 -0
  163. package/dist/docs/utilities/useFullscreen.md +198 -0
  164. package/dist/docs/utilities/useHover.md +55 -0
  165. package/dist/docs/utilities/useIncomingPostMessages.md +237 -0
  166. package/dist/docs/utilities/useInterval.md +85 -0
  167. package/dist/docs/utilities/useIsFocusWithin.md +114 -0
  168. package/dist/docs/utilities/useKey.md +151 -0
  169. package/dist/docs/utilities/useLocalStorage.md +91 -0
  170. package/dist/docs/utilities/useLocationSuggestions.md +114 -0
  171. package/dist/docs/utilities/useMax.md +62 -0
  172. package/dist/docs/utilities/useMin.md +78 -0
  173. package/dist/docs/utilities/useMutationObserver.md +113 -0
  174. package/dist/docs/utilities/useOnScreen.md +138 -0
  175. package/dist/docs/utilities/useOnlineStatus.md +49 -0
  176. package/dist/docs/utilities/usePostMessage.md +117 -0
  177. package/dist/docs/utilities/usePostMessageSender.md +257 -0
  178. package/dist/docs/utilities/usePrevious.md +101 -0
  179. package/dist/docs/utilities/useResizeObserver.md +151 -0
  180. package/dist/docs/utilities/useScrollPosition.md +252 -0
  181. package/dist/docs/utilities/useSearch.md +228 -0
  182. package/dist/docs/utilities/useSorting.md +389 -0
  183. package/dist/docs/utilities/useStateWithValidation.md +83 -0
  184. package/dist/docs/utilities/useSum.md +155 -0
  185. package/dist/docs/utilities/useTableExport.md +404 -0
  186. package/dist/docs/utilities/useTableSelection.md +1120 -0
  187. package/dist/docs/utilities/useTimeout.md +55 -0
  188. package/dist/docs/utilities/useToggle.md +115 -0
  189. package/dist/docs/utilities/useWindowResize.md +70 -0
  190. package/dist/index.mjs +271 -0
  191. package/dist/search-synonyms.json +134 -0
  192. package/dist/version.json +4 -0
  193. package/package.json +23 -19
  194. package/bin/uikit-mcp.mjs +0 -23
  195. package/data/pages/Components/components/accentbar.json +0 -207
  196. package/data/pages/Components/components/activity.json +0 -87
  197. package/data/pages/Components/components/animatednumber.json +0 -99
  198. package/data/pages/Components/components/animations.json +0 -87
  199. package/data/pages/Components/components/appheader.json +0 -291
  200. package/data/pages/Components/components/applayout.json +0 -1198
  201. package/data/pages/Components/components/appnavigationbar.json +0 -327
  202. package/data/pages/Components/components/areacharts.json +0 -563
  203. package/data/pages/Components/components/aspectratioplaceholder.json +0 -75
  204. package/data/pages/Components/components/assettree.json +0 -3080
  205. package/data/pages/Components/components/autosuggests.json +0 -710
  206. package/data/pages/Components/components/avatar.json +0 -157
  207. package/data/pages/Components/components/banner.json +0 -599
  208. package/data/pages/Components/components/barcharts.json +0 -1507
  209. package/data/pages/Components/components/barlist.json +0 -223
  210. package/data/pages/Components/components/basicmap.json +0 -68
  211. package/data/pages/Components/components/bottomsheet.json +0 -601
  212. package/data/pages/Components/components/button.json +0 -583
  213. package/data/pages/Components/components/buttontoolbar.json +0 -63
  214. package/data/pages/Components/components/calendarstripe.json +0 -235
  215. package/data/pages/Components/components/card.json +0 -69
  216. package/data/pages/Components/components/carousel.json +0 -39
  217. package/data/pages/Components/components/chartcolors.json +0 -34
  218. package/data/pages/Components/components/chartsgettingstarted.json +0 -32
  219. package/data/pages/Components/components/chat.json +0 -39
  220. package/data/pages/Components/components/checkbox.json +0 -847
  221. package/data/pages/Components/components/clearableinput.json +0 -789
  222. package/data/pages/Components/components/collapse.json +0 -175
  223. package/data/pages/Components/components/composedcharts.json +0 -159
  224. package/data/pages/Components/components/contentloader.json +0 -233
  225. package/data/pages/Components/components/datatabs.json +0 -680
  226. package/data/pages/Components/components/datepickers.json +0 -287
  227. package/data/pages/Components/components/dialogs.json +0 -1492
  228. package/data/pages/Components/components/divider.json +0 -93
  229. package/data/pages/Components/components/dropdowns.json +0 -936
  230. package/data/pages/Components/components/editablecontent.json +0 -1117
  231. package/data/pages/Components/components/expander.json +0 -377
  232. package/data/pages/Components/components/fade.json +0 -403
  233. package/data/pages/Components/components/fadeexpander.json +0 -75
  234. package/data/pages/Components/components/fadeup.json +0 -127
  235. package/data/pages/Components/components/feedback.json +0 -269
  236. package/data/pages/Components/components/filepickers.json +0 -269
  237. package/data/pages/Components/components/formlabel.json +0 -115
  238. package/data/pages/Components/components/fullscreenmap.json +0 -22
  239. package/data/pages/Components/components/groupeditemlist.json +0 -323
  240. package/data/pages/Components/components/iconlist.json +0 -45
  241. package/data/pages/Components/components/imagepreloader.json +0 -81
  242. package/data/pages/Components/components/labeledelement.json +0 -75
  243. package/data/pages/Components/components/licenseplate.json +0 -69
  244. package/data/pages/Components/components/linecharts.json +0 -987
  245. package/data/pages/Components/components/listmenu.json +0 -313
  246. package/data/pages/Components/components/loadmore.json +0 -175
  247. package/data/pages/Components/components/mainnavigation.json +0 -39
  248. package/data/pages/Components/components/mapcircle.json +0 -34
  249. package/data/pages/Components/components/mapcluster.json +0 -51
  250. package/data/pages/Components/components/mapcontext.json +0 -105
  251. package/data/pages/Components/components/mapdraggablemarker.json +0 -34
  252. package/data/pages/Components/components/mapgettingstarted.json +0 -27
  253. package/data/pages/Components/components/mapgroup.json +0 -1198
  254. package/data/pages/Components/components/mapinfobubble.json +0 -34
  255. package/data/pages/Components/components/maplayergroup.json +0 -34
  256. package/data/pages/Components/components/mapmarker.json +0 -700
  257. package/data/pages/Components/components/mappolygon.json +0 -45
  258. package/data/pages/Components/components/maproute.json +0 -623
  259. package/data/pages/Components/components/maproutegenerator.json +0 -16
  260. package/data/pages/Components/components/mapsettings.json +0 -51
  261. package/data/pages/Components/components/maputils.json +0 -34
  262. package/data/pages/Components/components/multiselects.json +0 -1451
  263. package/data/pages/Components/components/nodata.json +0 -139
  264. package/data/pages/Components/components/notifications.json +0 -65
  265. package/data/pages/Components/components/numbercontrol.json +0 -301
  266. package/data/pages/Components/components/onboarding.json +0 -302
  267. package/data/pages/Components/components/page.json +0 -197
  268. package/data/pages/Components/components/pager.json +0 -93
  269. package/data/pages/Components/components/piecharts.json +0 -731
  270. package/data/pages/Components/components/popover.json +0 -251
  271. package/data/pages/Components/components/position.json +0 -69
  272. package/data/pages/Components/components/radialbarcharts.json +0 -1304
  273. package/data/pages/Components/components/radiobutton.json +0 -1105
  274. package/data/pages/Components/components/releasenotes.json +0 -44
  275. package/data/pages/Components/components/resizer.json +0 -93
  276. package/data/pages/Components/components/responsivecolumnstripe.json +0 -123
  277. package/data/pages/Components/components/responsivevideo.json +0 -75
  278. package/data/pages/Components/components/rioglyph.json +0 -93
  279. package/data/pages/Components/components/rules.json +0 -410
  280. package/data/pages/Components/components/saveableinput.json +0 -703
  281. package/data/pages/Components/components/selects.json +0 -701
  282. package/data/pages/Components/components/sidebar.json +0 -243
  283. package/data/pages/Components/components/sliders.json +0 -235
  284. package/data/pages/Components/components/smoothscrollbars.json +0 -335
  285. package/data/pages/Components/components/spinners.json +0 -343
  286. package/data/pages/Components/components/states.json +0 -1705
  287. package/data/pages/Components/components/statswidgets.json +0 -314
  288. package/data/pages/Components/components/statusbar.json +0 -177
  289. package/data/pages/Components/components/stepbutton.json +0 -57
  290. package/data/pages/Components/components/steppedprogressbars.json +0 -417
  291. package/data/pages/Components/components/subnavigation.json +0 -107
  292. package/data/pages/Components/components/supportmarker.json +0 -45
  293. package/data/pages/Components/components/svgimage.json +0 -81
  294. package/data/pages/Components/components/switch.json +0 -111
  295. package/data/pages/Components/components/tables.json +0 -144
  296. package/data/pages/Components/components/tagmanager.json +0 -86
  297. package/data/pages/Components/components/tags.json +0 -146
  298. package/data/pages/Components/components/teaser.json +0 -188
  299. package/data/pages/Components/components/timeline.json +0 -45
  300. package/data/pages/Components/components/timepicker.json +0 -163
  301. package/data/pages/Components/components/togglebutton.json +0 -247
  302. package/data/pages/Components/components/tooltip.json +0 -270
  303. package/data/pages/Components/components/virtuallist.json +0 -175
  304. package/data/pages/Foundations/foundations.json +0 -2475
  305. package/data/pages/Getting-started/start/changelog.json +0 -22
  306. package/data/pages/Getting-started/start/goodtoknow.json +0 -32
  307. package/data/pages/Getting-started/start/guidelines/color-combinations.json +0 -58
  308. package/data/pages/Getting-started/start/guidelines/custom-css.json +0 -27
  309. package/data/pages/Getting-started/start/guidelines/custom-rioglyph.json +0 -22
  310. package/data/pages/Getting-started/start/guidelines/formatting.json +0 -97
  311. package/data/pages/Getting-started/start/guidelines/iframe.json +0 -93
  312. package/data/pages/Getting-started/start/guidelines/obfuscate-data.json +0 -22
  313. package/data/pages/Getting-started/start/guidelines/print-css.json +0 -37
  314. package/data/pages/Getting-started/start/guidelines/spinner.json +0 -144
  315. package/data/pages/Getting-started/start/guidelines/supported-browsers.json +0 -22
  316. package/data/pages/Getting-started/start/guidelines/writing.json +0 -242
  317. package/data/pages/Getting-started/start/howto.json +0 -72
  318. package/data/pages/Getting-started/start/intro.json +0 -37
  319. package/data/pages/Getting-started/start/responsiveness.json +0 -52
  320. package/data/pages/Templates/templates/common-table.json +0 -39
  321. package/data/pages/Templates/templates/detail-views.json +0 -71
  322. package/data/pages/Templates/templates/expandable-details.json +0 -39
  323. package/data/pages/Templates/templates/feature-cards.json +0 -103
  324. package/data/pages/Templates/templates/form-summary.json +0 -39
  325. package/data/pages/Templates/templates/form-toggle.json +0 -39
  326. package/data/pages/Templates/templates/list-blocks.json +0 -119
  327. package/data/pages/Templates/templates/loading-progress.json +0 -39
  328. package/data/pages/Templates/templates/options-panel.json +0 -39
  329. package/data/pages/Templates/templates/panel-variants.json +0 -39
  330. package/data/pages/Templates/templates/progress-cards.json +0 -71
  331. package/data/pages/Templates/templates/progress-success.json +0 -39
  332. package/data/pages/Templates/templates/settings-form.json +0 -39
  333. package/data/pages/Templates/templates/stats-blocks.json +0 -135
  334. package/data/pages/Templates/templates/table-panel.json +0 -39
  335. package/data/pages/Templates/templates/table-row-animation.json +0 -39
  336. package/data/pages/Templates/templates/usage-cards.json +0 -39
  337. package/data/pages/Utilities/utilities/deviceutils.json +0 -39
  338. package/data/pages/Utilities/utilities/featuretoggles.json +0 -42
  339. package/data/pages/Utilities/utilities/fueltypeutils.json +0 -118
  340. package/data/pages/Utilities/utilities/routeutils.json +0 -34
  341. package/data/pages/Utilities/utilities/useaftermount.json +0 -63
  342. package/data/pages/Utilities/utilities/useaverage.json +0 -86
  343. package/data/pages/Utilities/utilities/useclickoutside.json +0 -69
  344. package/data/pages/Utilities/utilities/useclipboard.json +0 -57
  345. package/data/pages/Utilities/utilities/usecount.json +0 -92
  346. package/data/pages/Utilities/utilities/usedarkmode.json +0 -50
  347. package/data/pages/Utilities/utilities/usedebuginfo.json +0 -63
  348. package/data/pages/Utilities/utilities/useeffectonce.json +0 -57
  349. package/data/pages/Utilities/utilities/useelapsedtime.json +0 -57
  350. package/data/pages/Utilities/utilities/useelementsize.json +0 -63
  351. package/data/pages/Utilities/utilities/useesc.json +0 -57
  352. package/data/pages/Utilities/utilities/useevent.json +0 -75
  353. package/data/pages/Utilities/utilities/usefocustrap.json +0 -57
  354. package/data/pages/Utilities/utilities/usefullscreen.json +0 -197
  355. package/data/pages/Utilities/utilities/usehover.json +0 -57
  356. package/data/pages/Utilities/utilities/useinterval.json +0 -63
  357. package/data/pages/Utilities/utilities/useisfocuswithin.json +0 -75
  358. package/data/pages/Utilities/utilities/usekey.json +0 -75
  359. package/data/pages/Utilities/utilities/uselocalstorage.json +0 -69
  360. package/data/pages/Utilities/utilities/uselocationsuggestions.json +0 -110
  361. package/data/pages/Utilities/utilities/usemax.json +0 -86
  362. package/data/pages/Utilities/utilities/usemin.json +0 -86
  363. package/data/pages/Utilities/utilities/usemutationobserver.json +0 -69
  364. package/data/pages/Utilities/utilities/useonlinestatus.json +0 -39
  365. package/data/pages/Utilities/utilities/useonscreen.json +0 -63
  366. package/data/pages/Utilities/utilities/usepostmessage.json +0 -80
  367. package/data/pages/Utilities/utilities/useprevious.json +0 -63
  368. package/data/pages/Utilities/utilities/useresizeobserver.json +0 -65
  369. package/data/pages/Utilities/utilities/usescrollposition.json +0 -103
  370. package/data/pages/Utilities/utilities/usesearch.json +0 -197
  371. package/data/pages/Utilities/utilities/usesorting.json +0 -139
  372. package/data/pages/Utilities/utilities/usestatewithvalidation.json +0 -69
  373. package/data/pages/Utilities/utilities/usesum.json +0 -86
  374. package/data/pages/Utilities/utilities/usetableexport.json +0 -87
  375. package/data/pages/Utilities/utilities/usetableselection.json +0 -311
  376. package/data/pages/Utilities/utilities/usetimeout.json +0 -63
  377. package/data/pages/Utilities/utilities/usetoggle.json +0 -75
  378. package/data/pages/Utilities/utilities/usewindowresize.json +0 -63
  379. package/data/version.json +0 -4
  380. package/docs/content-schema.md +0 -147
  381. package/docs/navigation-inventory.json +0 -1310
  382. package/docs/search-synonyms.json +0 -43
  383. package/server/index.mjs +0 -268
  384. package/server/lib/load-docs.mjs +0 -48
  385. package/server/lib/normalise-doc.mjs +0 -220
  386. package/server/lib/render-markdown.mjs +0 -82
  387. package/server/lib/search-index.mjs +0 -49
  388. package/server/lib/types.js +0 -99
@@ -0,0 +1,85 @@
1
+ # useFocusTrap
2
+
3
+ *Category:* Utilities
4
+ *Section:* DOM behavior hooks
5
+ *Source:* https://uikit.developers.rio.cloud/#utilities/useFocusTrap
6
+ *Captured:* 2025-12-12T14:21:44.774Z
7
+
8
+ This custom hook allows to keep the focus inside a defined wrapper element. This might be a dialog or a custom overlay.
9
+
10
+ ## useFocusTrap
11
+
12
+ - When you have a external component that will be re-rendered after the overlay opens, you can use the built-in ref. This ref will be returned from this hook and can be set on the respective wrapper element.
13
+ - When you have an element that does not re-render, use a local state setter function to be set as the ref. This element can then be passed as a parameter to this hook and it will be used instead of the built-in ref.const [focusTrapRef, setFocusTrapRef] = useState<HTMLDivElement | null>(null); useFocusTrap(focusTrapRef); <div ref={setFocusTrapRef}>...</div>
14
+
15
+ ### Example: Example 1
16
+
17
+ Open Dialog
18
+
19
+ #### Summary
20
+
21
+ Open Dialog
22
+
23
+ #### React (tsx)
24
+
25
+ ```tsx
26
+ import { useEffect, useRef, useState } from 'react';
27
+
28
+ import Dialog from '@rio-cloud/rio-uikit/Dialog';
29
+ import Button from '@rio-cloud/rio-uikit/Button';
30
+ import useFocusTrap from '@rio-cloud/rio-uikit/useFocusTrap';
31
+
32
+ const DemoBody = () => {
33
+ const inputRef = useRef<HTMLInputElement>(null);
34
+
35
+ const focusTrapRef = useFocusTrap();
36
+
37
+ useEffect(() => {
38
+ if (inputRef.current) {
39
+ inputRef.current.focus();
40
+ }
41
+ }, [inputRef.current]);
42
+
43
+ return (
44
+ <div ref={focusTrapRef} className='form-group display-flex gap-10'>
45
+ <input ref={inputRef} className='form-control' />
46
+ <div className='btn-toolbar flex-nowrap'>
47
+ <Button>Button 1</Button>
48
+ <Button>Button 2</Button>
49
+ </div>
50
+ </div>
51
+ );
52
+ };
53
+
54
+ export default () => {
55
+ const [showDialog, setShowDialog] = useState(false);
56
+
57
+ return (
58
+ <div>
59
+ <Dialog
60
+ show={showDialog}
61
+ onClose={() => setShowDialog(false)}
62
+ title='Demo Focus Trap'
63
+ showCloseButton
64
+ bsSize='sm'
65
+ body={<DemoBody />}
66
+ />
67
+ <Button onClick={() => setShowDialog(true)}>Open Dialog</Button>
68
+ </div>
69
+ );
70
+ };
71
+ ```
72
+
73
+ #### HTML (html)
74
+
75
+ ```html
76
+ <div>
77
+ <button type="button" class="btn btn-default btn-component" tabindex="0">Open Dialog</button>
78
+ </div>
79
+ ```
80
+
81
+ #### Props
82
+
83
+ | Name | Type | Default | Description |
84
+ | --- | --- | --- | --- |
85
+ | element | HTMLDivElement \| null | — | The wrapper element that traps the focus. Use this if your component does not rerender, otherwise use the internal ref that gets returned from the hook. |
@@ -0,0 +1,198 @@
1
+ # useFullscreen
2
+
3
+ *Category:* Utilities
4
+ *Section:* DOM behavior hooks
5
+ *Source:* https://uikit.developers.rio.cloud/#utilities/useFullscreen
6
+ *Captured:* 2025-12-12T14:21:46.293Z
7
+
8
+ The cross-browser useFullscreen hook allows to easily switch to fullscreen mode for the document or a dedicated element like a map or a certain part of a service.
9
+
10
+ ## useFullscreen
11
+
12
+ **Fullscreen on dedicated element**
13
+
14
+ ### Example: Example 1
15
+
16
+ Fullscreen enabled: false
17
+ Is Fullscreen active: false
18
+ Request Fullscreen
19
+ Exit Fullscreen
20
+ Toggle Fullscreen
21
+
22
+ #### Summary
23
+
24
+ Fullscreen enabled: false
25
+ Is Fullscreen active: false
26
+ Request Fullscreen
27
+ Exit Fullscreen
28
+ Toggle Fullscreen
29
+
30
+ #### React (tsx)
31
+
32
+ ```tsx
33
+ import useFullscreen from '@rio-cloud/rio-uikit/useFullscreen';
34
+
35
+ export default () => {
36
+ const handleChange = (event: Event) => console.log(event);
37
+ const handleError = (event: Event) => console.log(event);
38
+
39
+ const { exitFullscreen, isEnabled, isFullscreen, requestFullscreen, toggleFullscreen } = useFullscreen({
40
+ onChange: handleChange,
41
+ onError: handleError,
42
+ });
43
+
44
+ return (
45
+ <div>
46
+ <div>
47
+ Fullscreen enabled: <span>{`${isEnabled}`}</span>
48
+ </div>
49
+ <hr />
50
+ <div>
51
+ Is Fullscreen active: <span>{`${isFullscreen}`}</span>
52
+ </div>
53
+ <hr />
54
+ <div className='btn-toolbar'>
55
+ <div className='btn btn-default' onClick={requestFullscreen}>
56
+ Request Fullscreen
57
+ </div>
58
+ <div className='btn btn-default' onClick={exitFullscreen}>
59
+ Exit Fullscreen
60
+ </div>
61
+ <div className='btn btn-default' onClick={toggleFullscreen}>
62
+ Toggle Fullscreen
63
+ </div>
64
+ </div>
65
+ </div>
66
+ );
67
+ };
68
+ ```
69
+
70
+ #### HTML (html)
71
+
72
+ ```html
73
+ <div>
74
+ <div>Fullscreen enabled: <span>false</span>
75
+ </div>
76
+ <hr>
77
+ <div>Is Fullscreen active: <span>false</span>
78
+ </div>
79
+ <hr>
80
+ <div class="btn-toolbar">
81
+ <div class="btn btn-default">Request Fullscreen</div>
82
+ <div class="btn btn-default">Exit Fullscreen</div>
83
+ <div class="btn btn-default">Toggle Fullscreen</div>
84
+ </div>
85
+ </div>
86
+ ```
87
+
88
+ #### Props
89
+
90
+ | Name | Type | Default | Description |
91
+ | --- | --- | --- | --- |
92
+ | element | HTMLElement | — | The target element other than document. Note, the element need to be existing in the DOM when initializing the hook. Otherwise pass the element as argument to the "requestFullscreen" function. |
93
+ | onChange | (callback: OnChangeEventCallback) => void | () => {} | Custom callback function for acting on the fullscreen change. |
94
+ | onError | (callback: EventCallback) => void | () => {} | Custom callback function for acting on an error when the fullscreen fails. |
95
+ | requestFullscreenOptions | { navigationUI?: string \| "auto" \| "hide" \| "show" } | {} | Define additional options for requesting the fullscreen. |
96
+
97
+ #### Props
98
+
99
+ | Name | Type | Default | Description |
100
+ | --- | --- | --- | --- |
101
+ | requestFullscreen | (targetElement: HTMLElement) => void | — | This function requests the fullscreen to the browser. It takes an optional argument to define the target element later than on init. |
102
+ | exitFullscreen | Function | — | This function exits the fullscreen. |
103
+ | toggleFullscreen | Function | — | This function requests or exists the fullscreen depending on the fullscreen state. |
104
+ | isFullscreen | Boolean | — | Defines whether the browser is in fullscreen mode. Note, the can only be on element in fullscreen at a time, either the document or a dedicated element. |
105
+ | isEnabled | Boolean | — | Tells you if the browser allows the fullscreen mode. |
106
+
107
+ ### Example: Example 2
108
+
109
+ Example - click on expand icon to use fullscreen
110
+
111
+ Sample content.
112
+ Here you can have arbitrary content like a map or charts etc.
113
+
114
+ #### Summary
115
+
116
+ Example - click on expand icon to use fullscreen
117
+
118
+ Sample content.
119
+ Here you can have arbitrary content like a map or charts etc.
120
+
121
+ #### React (tsx)
122
+
123
+ ```tsx
124
+ import { useRef } from 'react';
125
+
126
+ import useFullscreen from '@rio-cloud/rio-uikit/useFullscreen';
127
+
128
+ import { dummyTextLong } from '../../../utils/data';
129
+
130
+ export default () => {
131
+ const wrapperRef = useRef<HTMLDivElement>(null);
132
+
133
+ const { toggleFullscreen, isFullscreen } = useFullscreen();
134
+
135
+ return (
136
+ <div className='example-wrapper bg-lighter display-grid' ref={wrapperRef}>
137
+ <div className={`panel panel-default shadow-default ${isFullscreen ? 'margin-25' : ''}`}>
138
+ <div className='panel-heading display-flex justify-content-between align-items-center'>
139
+ <div className='text-medium text-color-darker'>
140
+ Example - click on expand icon to use fullscreen
141
+ </div>
142
+ <div
143
+ className='text-color-gray text-size-16 cursor-pointer'
144
+ onClick={() => toggleFullscreen(wrapperRef.current)}
145
+ >
146
+ <span className='rioglyph rioglyph-fullscreen' />
147
+ </div>
148
+ </div>
149
+ <div className='panel-body'>
150
+ <p>
151
+ Sample content. <br />
152
+ Here you can have arbitrary content like a map or charts etc.
153
+ </p>
154
+ {isFullscreen && <p>{dummyTextLong}</p>}
155
+ </div>
156
+ </div>
157
+ </div>
158
+ );
159
+ };
160
+ ```
161
+
162
+ #### HTML (html)
163
+
164
+ ```html
165
+ <div class="example-wrapper bg-lighter display-grid">
166
+ <div class="panel panel-default shadow-default ">
167
+ <div class="panel-heading display-flex justify-content-between align-items-center">
168
+ <div class="text-medium text-color-darker">Example - click on expand icon to use fullscreen</div>
169
+ <div class="text-color-gray text-size-16 cursor-pointer">
170
+ <span class="rioglyph rioglyph-fullscreen">
171
+ </span>
172
+ </div>
173
+ </div>
174
+ <div class="panel-body">
175
+ <p>Sample content. <br>Here you can have arbitrary content like a map or charts etc.</p>
176
+ </div>
177
+ </div>
178
+ </div>
179
+ ```
180
+
181
+ #### Props
182
+
183
+ | Name | Type | Default | Description |
184
+ | --- | --- | --- | --- |
185
+ | element | HTMLElement | — | The target element other than document. Note, the element need to be existing in the DOM when initializing the hook. Otherwise pass the element as argument to the "requestFullscreen" function. |
186
+ | onChange | (callback: OnChangeEventCallback) => void | () => {} | Custom callback function for acting on the fullscreen change. |
187
+ | onError | (callback: EventCallback) => void | () => {} | Custom callback function for acting on an error when the fullscreen fails. |
188
+ | requestFullscreenOptions | { navigationUI?: string \| "auto" \| "hide" \| "show" } | {} | Define additional options for requesting the fullscreen. |
189
+
190
+ #### Props
191
+
192
+ | Name | Type | Default | Description |
193
+ | --- | --- | --- | --- |
194
+ | requestFullscreen | (targetElement: HTMLElement) => void | — | This function requests the fullscreen to the browser. It takes an optional argument to define the target element later than on init. |
195
+ | exitFullscreen | Function | — | This function exits the fullscreen. |
196
+ | toggleFullscreen | Function | — | This function requests or exists the fullscreen depending on the fullscreen state. |
197
+ | isFullscreen | Boolean | — | Defines whether the browser is in fullscreen mode. Note, the can only be on element in fullscreen at a time, either the document or a dedicated element. |
198
+ | isEnabled | Boolean | — | Tells you if the browser allows the fullscreen mode. |
@@ -0,0 +1,55 @@
1
+ # useHover
2
+
3
+ *Category:* Utilities
4
+ *Section:* DOM behavior hooks
5
+ *Source:* https://uikit.developers.rio.cloud/#utilities/useHover
6
+ *Captured:* 2025-12-12T14:21:45.911Z
7
+
8
+ ## useHover
9
+
10
+ ### Example: Example 1
11
+
12
+ Lorem ipsum dolor sit amet
13
+
14
+ #### Summary
15
+
16
+ Lorem ipsum dolor sit amet
17
+
18
+ #### React (tsx)
19
+
20
+ ```tsx
21
+ /* eslint-disable max-len */
22
+ import { useRef } from 'react';
23
+
24
+ import useHover from '@rio-cloud/rio-uikit/useHover';
25
+
26
+ export default () => {
27
+ const ref = useRef<HTMLInputElement>(null);
28
+
29
+ const isHover = useHover(ref);
30
+
31
+ return (
32
+ <div
33
+ ref={ref}
34
+ className='well display-flex gap-10 align-items-center border hover-border-color-primary max-width-300 cursor-pointer'
35
+ >
36
+ <span className='text-color-darker text-size-16 text-medium'>Lorem ipsum dolor sit amet</span>
37
+ {isHover && <span className='rioglyph rioglyph-antenna text-size-20 text-color-primary' />}
38
+ </div>
39
+ );
40
+ };
41
+ ```
42
+
43
+ #### HTML (html)
44
+
45
+ ```html
46
+ <div class="well display-flex gap-10 align-items-center border hover-border-color-primary max-width-300 cursor-pointer">
47
+ <span class="text-color-darker text-size-16 text-medium">Lorem ipsum dolor sit amet</span>
48
+ </div>
49
+ ```
50
+
51
+ #### Props
52
+
53
+ | Name | Type | Default | Description |
54
+ | --- | --- | --- | --- |
55
+ | ref | React.Ref | — | The reference to the element that shall be hovered. |
@@ -0,0 +1,237 @@
1
+ # useIncomingPostMessages
2
+
3
+ *Category:* Utilities
4
+ *Section:* Browser & device hooks
5
+ *Source:* https://uikit.developers.rio.cloud/#utilities/useIncomingPostMessages
6
+ *Captured:* 2025-12-12T14:21:49.672Z
7
+
8
+ For handling postMessage events in React components.
9
+
10
+ ## useIncomingPostMessages
11
+
12
+ You can either handle "vanilla" events yourself or declaratively listen to "action-style" events. The latter are inspired by Redux actions, as the event data is an object with a type property and an optional payload.
13
+
14
+ The payload does not have to be a simple string, but can be a complex object, as well.
15
+
16
+ ### Example: Example 1
17
+
18
+ Send raw message ("hello, world")Send action: EVENT_WIDGET_READYSend action: EVENT_WIDGET_DATA
19
+ Note that in this simple example, we're not really sending messages across windows. The origin-filtering handlers are in place, though. You can experiment by opening this page in an iframe inside a page with a different origin and try sending the same events as in the example code.
20
+ Simple events
21
+ Shows every incoming postMessage as-is (no origin filter or type parsing). Useful for quick debugging of any messages your page receives.
22
+
23
+ Simple events with origin filter
24
+ Same raw view, but driven by the origin+handler object form (instead of a single callback) and only for messages whose origin matches this page.
25
+
26
+ Action events
27
+ Only shows action-style messages (objects with a `type` field) and extracts their payload. Handy when you control the sender and use message types to route logic.
28
+
29
+ Action events with origin filter
30
+ Action messages constrained by origin. Use this to route typed messages while still protecting against unexpected origins.
31
+
32
+ #### Summary
33
+
34
+ Send raw message ("hello, world")Send action: EVENT_WIDGET_READYSend action: EVENT_WIDGET_DATA
35
+ Note that in this simple example, we're not really sending messages across windows. The origin-filtering handlers are in place, though. You can experiment by opening this page in an iframe inside a page with a different origin and try sending the same events as in the example code.
36
+ Simple events
37
+ Shows every incoming postMessage as-is (no origin filter or type parsing). Useful for quick debugging of any messages your page receives.
38
+
39
+ Simple events with origin filter
40
+ Same raw view, but driven by the origin+handler object form (instead of a single callback) and only for messages whose origin matches this page.
41
+
42
+ Action events
43
+ Only shows action-style messages (objects with a `type` field) and extracts their payload. Handy when you control the sender and use message types to route logic.
44
+
45
+ Action events with origin filter
46
+ Action messages constrained by origin. Use this to route typed messages while still protecting against unexpected origins.
47
+
48
+ #### React (tsx)
49
+
50
+ ```tsx
51
+ import { useEffect, useRef, useState } from 'react';
52
+
53
+ import ButtonToolbar from '@rio-cloud/rio-uikit/ButtonToolbar';
54
+ import Button from '@rio-cloud/rio-uikit/components/button/Button';
55
+ import useIncomingPostMessages from '@rio-cloud/rio-uikit/hooks/useIncomingPostMessages';
56
+
57
+ export default () => {
58
+ const [simpleEvents, setSimpleEvents] = useState<string[]>([]);
59
+ const [filteredSimpleEvents, setFilteredSimpleEvents] = useState<string[]>([]);
60
+ const [actionEvents, setActionEvents] = useState<string[]>([]);
61
+ const [filteredActionEvents, setFilteredActionEvents] = useState<string[]>([]);
62
+
63
+ useIncomingPostMessages(event => {
64
+ // We're getting ALL kinds of events here, so we need to implement appropriate filters ourselves!
65
+ if (isReactDevtoolsEvent(event)) {
66
+ return;
67
+ }
68
+
69
+ setSimpleEvents([...simpleEvents, JSON.stringify(event.data)]);
70
+ });
71
+
72
+ useIncomingPostMessages({
73
+ // this will ignore all events not coming from a declared origin - in this simple example, we're just using the current page's origin itself
74
+ origin: window.origin,
75
+ handler: event => {
76
+ // We're getting ALL kinds of events here, so we need to implement appropriate filters ourselves!
77
+ if (isReactDevtoolsEvent(event)) {
78
+ return;
79
+ }
80
+
81
+ setFilteredSimpleEvents([...filteredSimpleEvents, JSON.stringify(event.data)]);
82
+ },
83
+ });
84
+
85
+ useIncomingPostMessages({
86
+ handlers: {
87
+ EVENT_WIDGET_READY: (payload: string) => {
88
+ setActionEvents([...actionEvents, payload]);
89
+ },
90
+ EVENT_WIDGET_DATA: (payload: unknown) => {
91
+ const message = typeof payload === 'string' ? payload : JSON.stringify(payload);
92
+ setActionEvents([...actionEvents, message]);
93
+ },
94
+ },
95
+ });
96
+
97
+ useIncomingPostMessages({
98
+ // this will ignore all events not coming from a declared origin - in this simple example, we're just using the current page's origin itself
99
+ origin: window.origin,
100
+ handlers: {
101
+ EVENT_WIDGET_READY: (payload: string) => {
102
+ setFilteredActionEvents([...filteredActionEvents, payload]);
103
+ },
104
+ EVENT_WIDGET_DATA: (payload: unknown) => {
105
+ const message = typeof payload === 'string' ? payload : JSON.stringify(payload);
106
+ setFilteredActionEvents([...filteredActionEvents, message]);
107
+ },
108
+ },
109
+ });
110
+
111
+ const sendSimpleEvent = () => {
112
+ window.postMessage('hello, world');
113
+ };
114
+
115
+ const sendActionEvent = (type: 'EVENT_WIDGET_READY' | 'EVENT_WIDGET_DATA') => {
116
+ const payload =
117
+ type === 'EVENT_WIDGET_READY'
118
+ ? 'Widget is ready to receive data'
119
+ : {
120
+ widgetId: 'demo-widget',
121
+ user: 'Jane Doe',
122
+ shipment: { orderId: 'ORD-1001', status: 'ready', etaDays: 2 },
123
+ };
124
+ window.postMessage({ type, payload });
125
+ };
126
+
127
+ return (
128
+ <>
129
+ <ButtonToolbar>
130
+ <Button onClick={() => sendSimpleEvent()}>Send raw message ("hello, world")</Button>
131
+ <Button onClick={() => sendActionEvent('EVENT_WIDGET_READY')}>Send action: EVENT_WIDGET_READY</Button>
132
+ <Button onClick={() => sendActionEvent('EVENT_WIDGET_DATA')}>Send action: EVENT_WIDGET_DATA</Button>
133
+ </ButtonToolbar>
134
+
135
+ <p>
136
+ Note that in this simple example, we're not really sending messages across windows. The origin-filtering
137
+ handlers are in place, though. You can experiment by opening this page in an iframe inside a page with a
138
+ different origin and try sending the same events as in the example code.
139
+ </p>
140
+
141
+ <div className='display-grid grid-cols-1 grid-cols-2-md margin-y-20 gap-25'>
142
+ <div>
143
+ <h5>Simple events</h5>
144
+ <p className='text-color-darker margin-y-10'>
145
+ Shows every incoming postMessage as-is (no origin filter or type parsing). Useful for quick
146
+ debugging of any messages your page receives.
147
+ </p>
148
+ <EventTextarea events={simpleEvents} />
149
+ </div>
150
+ <div>
151
+ <h5>Simple events with origin filter</h5>
152
+ <p className='text-color-darker margin-y-10'>
153
+ Same raw view, but driven by the origin+handler object form (instead of a single callback) and
154
+ only for messages whose origin matches this page.
155
+ </p>
156
+ <EventTextarea events={filteredSimpleEvents} />
157
+ </div>
158
+ <div>
159
+ <h5>Action events</h5>
160
+ <p className='text-color-darker margin-y-10'>
161
+ Only shows action-style messages (objects with a `type` field) and extracts their payload. Handy
162
+ when you control the sender and use message types to route logic.
163
+ </p>
164
+ <EventTextarea events={actionEvents} />
165
+ </div>
166
+ <div>
167
+ <h5>Action events with origin filter</h5>
168
+ <p className='text-color-darker margin-y-10'>
169
+ Action messages constrained by origin. Use this to route typed messages while still protecting
170
+ against unexpected origins.
171
+ </p>
172
+ <EventTextarea events={filteredActionEvents} />
173
+ </div>
174
+ </div>
175
+ </>
176
+ );
177
+ };
178
+
179
+ const EventTextarea = ({ events }: { events: string[] }) => {
180
+ const textareaRef = useRef<HTMLTextAreaElement>(null);
181
+
182
+ useEffect(() => {
183
+ const element = textareaRef.current;
184
+ if (element) {
185
+ element.scrollTop = element.scrollHeight;
186
+ }
187
+ }, [events]);
188
+
189
+ return (
190
+ <div>
191
+ <textarea
192
+ ref={textareaRef}
193
+ readOnly
194
+ spellCheck={false}
195
+ value={events.join('\n')}
196
+ className='form-control width-100pct min-height-150 padding-15'
197
+ />
198
+ </div>
199
+ );
200
+ };
201
+
202
+ const isReactDevtoolsEvent = (event: MessageEvent<unknown>) => {
203
+ if (typeof event.data === 'object' && event.data !== null) {
204
+ const source = (event.data as Record<string, unknown>).source;
205
+ return typeof source === 'string' && source.startsWith('react-devtools-');
206
+ }
207
+ return false;
208
+ };
209
+ ```
210
+
211
+ #### Props: Simple event handler
212
+
213
+ ### Simple event handler
214
+
215
+ | Name | Type | Default | Description |
216
+ | --- | --- | --- | --- |
217
+ | handler | (event: MessageEvent<unknown>) => void | — | A callback function triggered when a message is received. |
218
+
219
+ #### Props: Simple handler with origin filtering
220
+
221
+ ### Simple handler with origin filtering
222
+
223
+ | Name | Type | Default | Description |
224
+ | --- | --- | --- | --- |
225
+ | options | object | — | An object holding the handler and the expected event origin. |
226
+ | └origin | string | — | The origin for which events are accepted. All other events are ignored. |
227
+ | └handler | (event: MessageEvent<unknown>) => void | — | A callback function triggered when a message is received. |
228
+
229
+ #### Props: Declarative, action-style handlers
230
+
231
+ ### Declarative, action-style handlers
232
+
233
+ | Name | Type | Default | Description |
234
+ | --- | --- | --- | --- |
235
+ | options | object | — | An object holding the handlers and the expected event origin. |
236
+ | └origin | string | "*" | The origin for which events are accepted. All other events are ignored. Optional; defaults to "*". |
237
+ | └handlers | Record<string, (payload: unknown) => void> | — | Map of callbacks to be registered. Object keys describe the event action "type". The handler will be called with the payload. |
@@ -0,0 +1,85 @@
1
+ # useInterval
2
+
3
+ *Category:* Utilities
4
+ *Section:* Lifecycle & execution hooks
5
+ *Source:* https://uikit.developers.rio.cloud/#utilities/useInterval
6
+ *Captured:* 2025-12-12T14:21:41.891Z
7
+
8
+ The useInterval hook allows for executing some code after a specified amount of time.
9
+
10
+ ## useInterval
11
+
12
+ ### Example: Example 1
13
+
14
+ Count:0
15
+
16
+ Stop
17
+
18
+ #### Summary
19
+
20
+ Count:0
21
+
22
+ Stop
23
+
24
+ #### React (tsx)
25
+
26
+ ```tsx
27
+ import { useState } from 'react';
28
+
29
+ import useInterval from '@rio-cloud/rio-uikit/useInterval';
30
+
31
+ export default () => {
32
+ const [count, setCount] = useState(0);
33
+ const [delay, setDelay] = useState(1000);
34
+ const [isRunning, setIsRunning] = useState(true);
35
+
36
+ useInterval(
37
+ () => {
38
+ // Your custom logic here
39
+ setCount(count + 1);
40
+ },
41
+ isRunning ? delay : null
42
+ );
43
+
44
+ return (
45
+ <div className='display-flex flex-column justify-content-center align-items-center'>
46
+ <div className='display-flex flex-column justify-content-center align-items-center margin-bottom-20'>
47
+ <label>Count:</label>
48
+ <div className='h2 margin-0'>{count}</div>
49
+ </div>
50
+ <div className='form-group display-flex gap-10'>
51
+ <input
52
+ className='form-control'
53
+ value={delay}
54
+ onChange={event => setDelay(Number(event.target.value))}
55
+ />
56
+ <button className='btn btn-default' type='button' onClick={() => setIsRunning(!isRunning)}>
57
+ {isRunning ? 'Stop' : 'Start'}
58
+ </button>
59
+ </div>
60
+ </div>
61
+ );
62
+ };
63
+ ```
64
+
65
+ #### HTML (html)
66
+
67
+ ```html
68
+ <div class="display-flex flex-column justify-content-center align-items-center">
69
+ <div class="display-flex flex-column justify-content-center align-items-center margin-bottom-20">
70
+ <label>Count:</label>
71
+ <div class="h2 margin-0">0</div>
72
+ </div>
73
+ <div class="form-group display-flex gap-10">
74
+ <input class="form-control" value="1000">
75
+ <button class="btn btn-default" type="button">Stop</button>
76
+ </div>
77
+ </div>
78
+ ```
79
+
80
+ #### Props
81
+
82
+ | Name | Type | Default | Description |
83
+ | --- | --- | --- | --- |
84
+ | callback | Function | — | The callback function to be triggered. |
85
+ | delay | Number | — | The time to wait until the callback function gets invoked. |