@rio-cloud/uikit-mcp 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (388) hide show
  1. package/README.md +75 -40
  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 +2016 -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 +3223 -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 +2785 -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 +525 -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 +932 -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 +17550 -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 +483 -0
  112. package/dist/docs/foundations.md +20901 -0
  113. package/dist/docs/start/changelog.md +439 -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,257 @@
1
+ # usePostMessageSender
2
+
3
+ *Category:* Utilities
4
+ *Section:* Browser & device hooks
5
+ *Source:* https://uikit.developers.rio.cloud/#utilities/usePostMessageSender
6
+ *Captured:* 2025-12-12T12:39:46.089Z
7
+
8
+ Helper hook to fire postMessage events to other windows: a specific target (including yourself), the parent or top window, or every iframe on the page. It uses the wildcard target origin (*) and no-ops when a target window is missing, so it is safe to call even when an iframe or parent is not present.
9
+
10
+ ## usePostMessageSender
11
+
12
+ ### Example: Example 1
13
+
14
+ Use the buttons below to dispatch messages using usePostMessageSender. The gray box below is a real <iframe> that listens for your messages and sends an IFRAME_ECHO back.
15
+ Send to Self (Window)Send to Iframe (Ref)Broadcast to All IframesSend to Parent
16
+ Target Iframe
17
+ This iframe acts as a separate window context. It runs a script to display what it receives.
18
+
19
+ Activity Log
20
+ Shows outgoing confirmations and incoming "Echos" from the iframe.
21
+
22
+ #### Summary
23
+
24
+ Use the buttons below to dispatch messages using usePostMessageSender. The gray box below is a real <iframe> that listens for your messages and sends an IFRAME_ECHO back.
25
+ Send to Self (Window)Send to Iframe (Ref)Broadcast to All IframesSend to Parent
26
+ Target Iframe
27
+ This iframe acts as a separate window context. It runs a script to display what it receives.
28
+
29
+ Activity Log
30
+ Shows outgoing confirmations and incoming "Echos" from the iframe.
31
+
32
+ #### React (tsx)
33
+
34
+ ```tsx
35
+ import { useEffect, useRef, useState } from 'react';
36
+
37
+ import ButtonToolbar from '@rio-cloud/rio-uikit/ButtonToolbar';
38
+ import Button from '@rio-cloud/rio-uikit/components/button/Button';
39
+ import usePostMessageSender from '@rio-cloud/rio-uikit/usePostMessageSender';
40
+ import useIncomingPostMessages from '@rio-cloud/rio-uikit/useIncomingPostMessages';
41
+
42
+ export default () => {
43
+ const { sendMessage, sendMessageToAllIframes, sendMessageToParent } = usePostMessageSender();
44
+
45
+ const [logs, setLogs] = useState<string[]>([]);
46
+
47
+ // We use a ref to target a specific iframe for the "Single Target" test
48
+ const iframeRef = useRef<HTMLIFrameElement>(null);
49
+
50
+ // 1. LISTEN FOR REPLIES (ECHOS)
51
+ // We reuse the receiving hook to verify that our sent messages were actually processed
52
+ // by the target (the iframe or window) and replied to.
53
+ useIncomingPostMessages({
54
+ handlers: {
55
+ // The iframe in this demo is programmed to send this event back
56
+ IFRAME_ECHO: (payload: { type: string; payload: unknown }) => {
57
+ addLog(`Received ECHO from iframe: ${JSON.stringify(payload)}`);
58
+ },
59
+ },
60
+ });
61
+
62
+ // Also listen for raw messages to catch self-sent messages
63
+ useIncomingPostMessages(event => {
64
+ if (event.data === 'Hello Self!') {
65
+ addLog('Received self-sent message: "Hello Self!"');
66
+ }
67
+ });
68
+
69
+ const addLog = (msg: string) => setLogs(prev => [...prev, `[${new Date().toLocaleTimeString()}] ${msg}`]);
70
+
71
+ // 2. SENDING ACTIONS
72
+ const handleSendToSelf = () => {
73
+ // Sending to 'window' is useful for decoupling components on the same page
74
+ sendMessage('Hello Self!', window);
75
+ addLog('Sent "Hello Self!" to current window');
76
+ };
77
+
78
+ const handleSendToIframe = () => {
79
+ if (iframeRef.current?.contentWindow) {
80
+ // Target a specific window (the iframe)
81
+ const payload = { id: 123, text: 'Direct message' };
82
+ sendMessage({ type: 'UPDATE_DATA', payload }, iframeRef.current.contentWindow);
83
+ addLog('Sent UPDATE_DATA to specific iframe');
84
+ }
85
+ };
86
+
87
+ const handleBroadcast = () => {
88
+ // Useful if you have multiple widgets/iframes and want to notify all of them
89
+ sendMessageToAllIframes({ type: 'GLOBAL_RESET' });
90
+ addLog('Broadcasted GLOBAL_RESET to all iframes');
91
+ };
92
+
93
+ const handleSendToParent = () => {
94
+ // This might not do much if you are top-level, but won't crash
95
+ sendMessageToParent('Hello Parent!');
96
+ addLog('Sent message to parent window (check console if inside iframe)');
97
+ };
98
+
99
+ return (
100
+ <>
101
+ <p className='margin-bottom-20'>
102
+ Use the buttons below to dispatch messages using <code>usePostMessageSender</code>. The gray box below
103
+ is a real <code>&lt;iframe&gt;</code> that listens for your messages and sends an <b>IFRAME_ECHO</b>{' '}
104
+ back.
105
+ </p>
106
+
107
+ <ButtonToolbar>
108
+ <Button onClick={handleSendToSelf}>Send to Self (Window)</Button>
109
+ <Button onClick={handleSendToIframe}>Send to Iframe (Ref)</Button>
110
+ <Button onClick={handleBroadcast}>Broadcast to All Iframes</Button>
111
+ <Button onClick={handleSendToParent}>Send to Parent</Button>
112
+ </ButtonToolbar>
113
+
114
+ <div className='display-grid grid-cols-1 grid-cols-2-md margin-y-20 gap-25'>
115
+ <div>
116
+ <h5>Target Iframe</h5>
117
+ <p className='text-color-darker margin-y-10'>
118
+ This iframe acts as a separate window context. It runs a script to display what it receives.
119
+ </p>
120
+ <iframe
121
+ ref={iframeRef}
122
+ title='Receiver demo'
123
+ className='width-100pct height-200 border rounded'
124
+ srcDoc={iframeScript} // See variable at bottom of file
125
+ />
126
+ </div>
127
+
128
+ <div>
129
+ <h5>Activity Log</h5>
130
+ <p className='text-color-darker margin-y-10'>
131
+ Shows outgoing confirmations and incoming "Echos" from the iframe.
132
+ </p>
133
+ <EventTextarea events={logs} />
134
+ </div>
135
+ </div>
136
+ </>
137
+ );
138
+ };
139
+
140
+ const EventTextarea = ({ events }: { events: string[] }) => {
141
+ const textareaRef = useRef<HTMLTextAreaElement>(null);
142
+
143
+ useEffect(() => {
144
+ if (textareaRef.current) {
145
+ textareaRef.current.scrollTop = textareaRef.current.scrollHeight;
146
+ }
147
+ }, [events]);
148
+
149
+ return (
150
+ <textarea
151
+ ref={textareaRef}
152
+ readOnly
153
+ spellCheck={false}
154
+ value={events.join('\n')}
155
+ className='form-control width-100pct height-200 padding-15 font-size-12'
156
+ />
157
+ );
158
+ };
159
+
160
+ // This HTML/JS blob is injected into the iframe to simulate a receiving widget
161
+ const iframeScript = `
162
+ <!DOCTYPE html>
163
+ <html>
164
+ <body style="background-color: #f9f9f9; font-family: sans-serif; padding: 10px; margin: 0;">
165
+ <h4 style="margin-top: 0; color: #555;">Iframe Content</h4>
166
+ <div id="display" style="font-size: 13px; color: #333;">Waiting for messages...</div>
167
+ <script>
168
+ window.addEventListener('message', (event) => {
169
+ // Ignore react-devtools
170
+ if(typeof event.data === 'object' && event.data?.source?.startsWith('react-devtools')) return;
171
+
172
+ const display = document.getElementById('display');
173
+ const dataStr = typeof event.data === 'string' ? event.data : JSON.stringify(event.data);
174
+
175
+ display.innerHTML = '<strong>Received:</strong><br/>' + dataStr;
176
+ display.style.backgroundColor = '#e6fffa';
177
+ setTimeout(() => display.style.backgroundColor = 'transparent', 500);
178
+
179
+ // Send an ECHO back to the parent to prove communication loop
180
+ if (event.data && typeof event.data === 'object') {
181
+ window.parent.postMessage({
182
+ type: 'IFRAME_ECHO',
183
+ payload: event.data
184
+ }, '*');
185
+ }
186
+ });
187
+ </script>
188
+ </body>
189
+ </html>
190
+ `;
191
+ ```
192
+
193
+ #### HTML (html)
194
+
195
+ ```html
196
+ <p class="margin-bottom-20">Use the buttons below to dispatch messages using <code>usePostMessageSender</code>. The gray box below is a real <code>&lt;iframe&gt;</code> that listens for your messages and sends an <b>IFRAME_ECHO</b> back.</p>
197
+ <div class="btn-toolbar">
198
+ <button type="button" class="btn btn-default btn-component" tabindex="0">Send to Self (Window)</button>
199
+ <button type="button" class="btn btn-default btn-component" tabindex="0">Send to Iframe (Ref)</button>
200
+ <button type="button" class="btn btn-default btn-component" tabindex="0">Broadcast to All Iframes</button>
201
+ <button type="button" class="btn btn-default btn-component" tabindex="0">Send to Parent</button>
202
+ </div>
203
+ <div class="display-grid grid-cols-1 grid-cols-2-md margin-y-20 gap-25">
204
+ <div>
205
+ <h5>Target Iframe</h5>
206
+ <p class="text-color-darker margin-y-10">This iframe acts as a separate window context. It runs a script to display what it receives.</p>
207
+ <iframe title="Receiver demo" class="width-100pct height-200 border rounded" srcdoc="
208
+ &lt;!DOCTYPE html&gt;
209
+ &lt;html&gt;
210
+ &lt;body style=&quot;background-color: #f9f9f9; font-family: sans-serif; padding: 10px; margin: 0;&quot;&gt;
211
+ &lt;h4 style=&quot;margin-top: 0; color: #555;&quot;&gt;Iframe Content&lt;/h4&gt;
212
+ &lt;div id=&quot;display&quot; style=&quot;font-size: 13px; color: #333;&quot;&gt;Waiting for messages...&lt;/div&gt;
213
+ &lt;script&gt;
214
+ window.addEventListener('message', (event) =&gt; {
215
+ // Ignore react-devtools
216
+ if(typeof event.data === 'object' &amp;&amp; event.data?.source?.startsWith('react-devtools')) return;
217
+
218
+ const display = document.getElementById('display');
219
+ const dataStr = typeof event.data === 'string' ? event.data : JSON.stringify(event.data);
220
+
221
+ display.innerHTML = '&lt;strong&gt;Received:&lt;/strong&gt;&lt;br/&gt;' + dataStr;
222
+ display.style.backgroundColor = '#e6fffa';
223
+ setTimeout(() =&gt; display.style.backgroundColor = 'transparent', 500);
224
+
225
+ // Send an ECHO back to the parent to prove communication loop
226
+ if (event.data &amp;&amp; typeof event.data === 'object') {
227
+ window.parent.postMessage({
228
+ type: 'IFRAME_ECHO',
229
+ payload: event.data
230
+ }, '*');
231
+ }
232
+ });
233
+ &lt;/script&gt;
234
+ &lt;/body&gt;
235
+ &lt;/html&gt;
236
+ ">
237
+ </iframe>
238
+ </div>
239
+ <div>
240
+ <h5>Activity Log</h5>
241
+ <p class="text-color-darker margin-y-10">Shows outgoing confirmations and incoming "Echos" from the iframe.</p>
242
+ <textarea readonly="" spellcheck="false" class="form-control width-100pct height-200 padding-15 font-size-12">
243
+ </textarea>
244
+ </div>
245
+ </div>
246
+ ```
247
+
248
+ #### Props: Returns
249
+
250
+ ### Returns
251
+
252
+ | Name | Type | Default | Description |
253
+ | --- | --- | --- | --- |
254
+ | sendMessage | (message: unknown, targetWindow: WindowProxy \| null \| undefined) => void | — | Send a message to the provided window (or to yourself if you pass window). Does nothing if target is null/undefined. |
255
+ | sendMessageToParent | (message: unknown) => void | — | Send a message to the parent window (no-op when already top-level). |
256
+ | sendMessageToTop | (message: unknown) => void | — | Send a message to the top window (no-op when already top-level). |
257
+ | sendMessageToAllIframes | (message: unknown) => void | — | Broadcast a message to every iframe found on the page. |
@@ -0,0 +1,101 @@
1
+ # usePrevious
2
+
3
+ *Category:* Utilities
4
+ *Section:* Lifecycle & execution hooks
5
+ *Source:* https://uikit.developers.rio.cloud/#utilities/usePrevious
6
+ *Captured:* 2025-12-12T12:39:37.704Z
7
+
8
+ The usePrevious hook allows to easily access state from previous component render. Instead of using a React.ref and a useEffect, this hook uses a useState internally to keep track of the previous state value.
9
+
10
+ ## usePrevious
11
+
12
+ - If the value you need can be computed entirely from the current props or other state, remove that redundant state altogether. If you’re worried about recomputing too often, the useMemo Hook can help.
13
+ - If you want to reset the entire component tree’s state, pass a different key to your component.
14
+ - If you can, update all the relevant state in the event handlers.
15
+
16
+ ```jsx
17
+ function List({ items }) {
18
+ const [isReverse, setIsReverse] = useState(false);
19
+ const [selection, setSelection] = useState(null);
20
+
21
+ // Better: Adjust the state while rendering
22
+ const [prevItems, setPrevItems] = useState(items);
23
+ if (items !== prevItems) {
24
+ setPrevItems(items);
25
+ setSelection(null);
26
+ }
27
+ // ...
28
+ }
29
+ ```
30
+
31
+ > Note: If you want to use this to update the internal state due to a prop change, you might run into a loop. Therefore, use the following snippet suggested by the React team here: https://react.dev/learn/you-might-not-need-an-effect#adjusting-some-state-when-a-prop-changes
32
+
33
+ ### Example: Example 1
34
+
35
+ { count: 1, previousCount: 1 }
36
+
37
+ #### Summary
38
+
39
+ { count: 1, previousCount: 1 }
40
+
41
+ #### React (tsx)
42
+
43
+ ```tsx
44
+ import { useState } from 'react';
45
+
46
+ import usePrevious from '@rio-cloud/rio-uikit/usePrevious';
47
+ import NumberControl from '@rio-cloud/rio-uikit/NumberControl';
48
+
49
+ export default () => {
50
+ const [count, setCount] = useState<number | undefined>(1);
51
+
52
+ const previousCount = usePrevious(count);
53
+
54
+ return (
55
+ <div className='display-flex flex-wrap gap-20 align-items-center'>
56
+ <NumberControl
57
+ value={count}
58
+ onChange={(value?: number) => setCount(value)}
59
+ className='margin-0 width-100'
60
+ />
61
+ <div className='text-italic text-color-darker'>
62
+ {`{ count: ${count}, previousCount: ${previousCount} }`}
63
+ </div>
64
+ </div>
65
+ );
66
+ };
67
+ ```
68
+
69
+ #### HTML (html)
70
+
71
+ ```html
72
+ <div class="display-flex flex-wrap gap-20 align-items-center">
73
+ <div class="NumberControl margin-0 width-100">
74
+ <div class="input-group">
75
+ <div class="form-control-feedback-wrapper">
76
+ <input type="number" step="1" min="0" max="1.7976931348623157e+308" class="form-control no-controls" aria-label="number-input" value="1">
77
+ </div>
78
+ <div class="input-group-addon ">
79
+ <div class="display-flex padding-left-10">
80
+ <div role="button" aria-label="decrement-button" class="decrementButton display-flex align-items-center text-color-gray hover-text-color-dark cursor-pointer">
81
+ <div class="rioglyph rioglyph-minus scale-90">
82
+ </div>
83
+ </div>
84
+ <div role="button" aria-label="increment-button" class="incrementButton display-flex align-items-center text-color-gray hover-text-color-dark cursor-pointer margin-left-5">
85
+ <div class="rioglyph rioglyph-plus scale-90">
86
+ </div>
87
+ </div>
88
+ </div>
89
+ </div>
90
+ </div>
91
+ </div>
92
+ <div class="text-italic text-color-darker">{ count: 1, previousCount: 1 }</div>
93
+ </div>
94
+ ```
95
+
96
+ #### Props
97
+
98
+ | Name | Type | Default | Description |
99
+ | --- | --- | --- | --- |
100
+ | state | any | — | The value of the current state to keep track of. |
101
+ | | any | — | Returns the previous value of the state to keep track of. |
@@ -0,0 +1,151 @@
1
+ # useResizeObserver
2
+
3
+ *Category:* Utilities
4
+ *Section:* DOM behavior hooks
5
+ *Source:* https://uikit.developers.rio.cloud/#utilities/useResizeObserver
6
+ *Captured:* 2025-12-12T12:39:43.338Z
7
+
8
+ The useResizeObserver hook allows to react on resize changes of a given element.
9
+
10
+ ## useResizeObserver
11
+
12
+ > Note: that is important to consider the padding of the element to observe and to take it into consideration when working with its width and height. When using the contentRect from the observerEntry, keep in mind that this will not include the paddings.
13
+
14
+ To include the target elements padding, please use the borderBoxSize instead.
15
+
16
+ ### Example: Example 1
17
+
18
+ Box with padding200x50
19
+
20
+ #### Summary
21
+
22
+ Box with padding200x50
23
+
24
+ #### React (tsx)
25
+
26
+ ```tsx
27
+ import { useState } from 'react';
28
+
29
+ import Resizer from '@rio-cloud/rio-uikit/Resizer';
30
+ import useResizeObserver from '@rio-cloud/rio-uikit/useResizeObserver';
31
+
32
+ export default () => {
33
+ const [boxWidth, setBoxWidth] = useState(200);
34
+
35
+ // To include target elements padding, use "borderBoxSize" or for convenience
36
+ // purpose, use the dedicated return object already containing "inlineSize" and "blockSize".
37
+ // const [ref, { borderBox }] = useResizeObserver();
38
+ const [ref, _, { inlineSize, blockSize }] = useResizeObserver();
39
+
40
+ const handleResizeHorizontal = (diff: number) => setBoxWidth(previousValue => previousValue - diff);
41
+
42
+ return (
43
+ <>
44
+ <label>Box with padding</label>
45
+ <div
46
+ className={
47
+ 'height-50 bg-info position-relative display-flex align-items-center ' +
48
+ 'justify-content-center padding-5'
49
+ }
50
+ style={{ width: boxWidth }}
51
+ ref={ref}
52
+ >
53
+ <div className='text-color-white text-medium'>
54
+ {inlineSize}x{blockSize}
55
+ </div>
56
+ <Resizer onResize={handleResizeHorizontal}>
57
+ <div className='width-5 height-100pct bg-light' />
58
+ </Resizer>
59
+ </div>
60
+ </>
61
+ );
62
+ };
63
+ ```
64
+
65
+ #### HTML (html)
66
+
67
+ ```html
68
+ <label>Box with padding</label>
69
+ <div class="height-50 bg-info position-relative display-flex align-items-center justify-content-center padding-5" style="width: 200px;">
70
+ <div class="text-color-white text-medium">200x50</div>
71
+ <div class="Resizer resize-horizontal resize-right">
72
+ <div class="width-5 height-100pct bg-light">
73
+ </div>
74
+ </div>
75
+ </div>
76
+ ```
77
+
78
+ #### Props (json)
79
+
80
+ ```json
81
+ ref
82
+ ```
83
+
84
+ ### Example: Example 2
85
+
86
+ Box without padding200x50
87
+
88
+ #### Summary
89
+
90
+ Box without padding200x50
91
+
92
+ #### React (tsx)
93
+
94
+ ```tsx
95
+ import { useState, useCallback } from 'react';
96
+
97
+ import Resizer from '@rio-cloud/rio-uikit/Resizer';
98
+ import useResizeObserver from '@rio-cloud/rio-uikit/useResizeObserver';
99
+
100
+ export default () => {
101
+ const [boxWidth, setBoxWidth] = useState(200);
102
+
103
+ const [ref, observerEntry] = useResizeObserver();
104
+
105
+ const contentRect = observerEntry?.contentRect;
106
+
107
+ const getContentRect = useCallback(
108
+ (key: keyof DOMRectReadOnly) => Math.round(contentRect?.[key] as number),
109
+ [contentRect]
110
+ );
111
+
112
+ const handleResizeHorizontal = (diff: number) => setBoxWidth(previousValue => previousValue - diff);
113
+
114
+ return (
115
+ <>
116
+ <label>Box without padding</label>
117
+ <div
118
+ className='height-50 bg-info position-relative display-flex align-items-center justify-content-center'
119
+ style={{ width: boxWidth }}
120
+ ref={ref}
121
+ >
122
+ <div className='text-color-white text-medium'>
123
+ {getContentRect('width')}x{getContentRect('height')}
124
+ </div>
125
+ <Resizer onResize={handleResizeHorizontal}>
126
+ <div className='width-5 height-100pct bg-light' />
127
+ </Resizer>
128
+ </div>
129
+ </>
130
+ );
131
+ };
132
+ ```
133
+
134
+ #### HTML (html)
135
+
136
+ ```html
137
+ <label>Box without padding</label>
138
+ <div class="height-50 bg-info position-relative display-flex align-items-center justify-content-center" style="width: 200px;">
139
+ <div class="text-color-white text-medium">200x50</div>
140
+ <div class="Resizer resize-horizontal resize-right">
141
+ <div class="width-5 height-100pct bg-light">
142
+ </div>
143
+ </div>
144
+ </div>
145
+ ```
146
+
147
+ #### Props (json)
148
+
149
+ ```json
150
+ ref
151
+ ```