@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
@@ -1,87 +0,0 @@
1
- {
2
- "metadata": {
3
- "captured_at": "2025-11-21T12:07:33.340Z",
4
- "source": "https://uikit.developers.rio.cloud/#components/animations",
5
- "category": "Components",
6
- "section": "Content",
7
- "slug": "components/animations",
8
- "version": "v1.13.2",
9
- "hash_algorithm": "sha256",
10
- "hash": "bd99dbe57b8592fa85354f1d2a37c06c0e84130a5de435e73bd24cf6e3824d78"
11
- },
12
- "title": "Animations",
13
- "lead": "The UIKIT uses the famous animation library Framer Motion. To allow services to use Framer Motion without adding it as a depemdency to their project, the UIKIT re-exports all framer-motioncomponents.",
14
- "content": [
15
- {
16
- "heading": "Animations",
17
- "body": "The official documentation can be found here www.framer.com/motion",
18
- "examples": [
19
- {
20
- "caption": "Example 1",
21
- "rendered_html": "<div class=\"playground-content bg-white padding-20 padding-bottom-25\" style=\"width: 100%;\"><div style=\"opacity: 0.999644;\"><div class=\"margin-10\"><label>Some Data</label><div>\nLorem ipsum dolor sit amet, consectetur adipiscing elit. In pharetra dui eget massa efficitur aliquam condimentum in felis. Integer eget metus vel nunc efficitur iaculis. Vivamus elementum ante et est sagittis semper. Ut consectetur enim nec tortor scelerisque tincidunt. Fusce ac ligula bibendum, rutrum libero quis, viverra sem. Interdum et malesuada fames ac ante ipsum primis in faucibus. Duis ut hendrerit massa, in molestie elit. Sed vitae orci ac purus volutpat posuere ac ut neque. Mauris ante orci, semper finibus lorem in, fringilla pretium velit.</div></div></div></div>",
22
- "tabs": [
23
- {
24
- "label": "React",
25
- "language": "tsx",
26
- "code": "import { motion } from '@rio-cloud/rio-uikit/framer-motion';\n\nimport { dummyText } from '../../../utils/data';\n\nexport default () => {\n return (\n <motion.div\n animate={{ opacity: [1, 0, 1] }}\n transition={{\n // Keyframes that match to the keyframes of the opacity settings above\n times: [0, 0.5, 1],\n repeat: Infinity,\n ease: 'easeInOut',\n duration: 2.5,\n repeatDelay: 2,\n }}\n >\n <div className='margin-10'>\n <label>Some Data</label>\n <div>{dummyText}</div>\n </div>\n </motion.div>\n );\n};"
27
- },
28
- {
29
- "label": "HTML",
30
- "language": "html",
31
- "code": "<div style=\"opacity: 0.857835;\">\n <div class=\"margin-10\">\n <label>Some Data</label>\n <div>\n Lorem ipsum dolor sit amet, consectetur adipiscing elit. In pharetra dui eget massa efficitur aliquam condimentum in felis. Integer eget metus vel nunc efficitur iaculis. Vivamus elementum ante et est sagittis semper. Ut consectetur enim nec tortor scelerisque tincidunt. Fusce ac ligula bibendum, rutrum libero quis, viverra sem. Interdum et malesuada fames ac ante ipsum primis in faucibus. Duis ut hendrerit massa, in molestie elit. Sed vitae orci ac purus volutpat posuere ac ut neque. Mauris ante orci, semper finibus lorem in, fringilla pretium velit.</div>\n </div>\n</div>"
32
- }
33
- ]
34
- },
35
- {
36
- "caption": "Example 2",
37
- "rendered_html": "<div class=\"playground-content bg-white padding-20 padding-bottom-25\" style=\"width: 100%;\"><div class=\"display-flex gap-20 text-color-darker\" style=\"opacity: 0.0555556;\"><div style=\"opacity: 0.0555556;\"><svg width=\"50\" height=\"50\" class=\"w-6 h-6\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M14 5l7 7m0 0l-7 7m7-7H3\" stroke-dashoffset=\"0px\" stroke-dasharray=\"0px 37.798988342285156px\"></path></svg></div><div style=\"opacity: 0;\"><svg width=\"50\" height=\"50\" class=\"w-6 h-6\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M5 13l4 4L19 7\" stroke-dashoffset=\"0px\" stroke-dasharray=\"0px 19.79899024963379px\"></path></svg></div><div style=\"opacity: 0;\"><svg width=\"50\" height=\"50\" class=\"w-6 h-6\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14\" stroke-dashoffset=\"0px\" stroke-dasharray=\"0px 63.5682487487793px\"></path></svg></div></div></div>",
38
- "tabs": [
39
- {
40
- "label": "React",
41
- "language": "tsx",
42
- "code": "import { AnimatePresence, motion } from '@rio-cloud/rio-uikit/framer-motion';\n\nconst icons = {\n check: {\n d: 'M5 13l4 4L19 7',\n },\n arrowRight: {\n d: 'M14 5l7 7m0 0l-7 7m7-7H3',\n },\n externalLink: {\n d: 'M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14',\n },\n};\n\nconst AnimatedIcon = props => {\n const { icon = 'check', delay = 0.2, ...remainingProps } = props;\n return (\n <svg\n {...remainingProps}\n className='w-6 h-6'\n fill='none'\n stroke='currentColor'\n viewBox='0 0 24 24'\n xmlns='http://www.w3.org/2000/svg'\n >\n <motion.path\n key={icon}\n initial={{ pathLength: 0 }}\n animate={{ pathLength: 1 }}\n transition={{ duration: 0.5, delay, type: 'tween', ease: 'easeOut' }}\n strokeLinecap='round'\n strokeLinejoin='round'\n strokeWidth='2'\n {...icons[icon]}\n />\n </svg>\n );\n};\n\nconst container = {\n hidden: { opacity: 0 },\n show: {\n opacity: 1,\n transition: {\n staggerChildren: 0.2,\n },\n },\n};\n\nconst item = {\n hidden: { opacity: 0 },\n show: { opacity: 1 },\n};\n\nexport default () => (\n <>\n <motion.div\n variants={container}\n initial='hidden'\n animate='show'\n className='display-flex gap-20 text-color-darker'\n >\n <motion.div key='1' variants={item}>\n <AnimatedIcon key='arrowRight' delay={0.2} icon='arrowRight' width='50' height='50' />\n </motion.div>\n <motion.div key='2' variants={item}>\n <AnimatedIcon key='check' delay={0.4} icon='check' width='50' height='50' />\n </motion.div>\n <motion.div key='3' variants={item}>\n <AnimatedIcon key='externalLink' delay={0.8} icon='externalLink' width='50' height='50' />\n </motion.div>\n </motion.div>\n </>\n);"
43
- },
44
- {
45
- "label": "HTML",
46
- "language": "html",
47
- "code": "<div class=\"display-flex gap-20 text-color-darker\" style=\"opacity: 1;\">\n <div style=\"opacity: 1;\">\n <svg width=\"50\" height=\"50\" class=\"w-6 h-6\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M14 5l7 7m0 0l-7 7m7-7H3\" stroke-dashoffset=\"0px\" stroke-dasharray=\"37.798988342285156px 37.798988342285156px\">\n </path>\n </svg>\n </div>\n <div style=\"opacity: 1;\">\n <svg width=\"50\" height=\"50\" class=\"w-6 h-6\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M5 13l4 4L19 7\" stroke-dashoffset=\"0px\" stroke-dasharray=\"18.389653773926696px 19.79899024963379px\">\n </path>\n </svg>\n </div>\n <div style=\"opacity: 1;\">\n <svg width=\"50\" height=\"50\" class=\"w-6 h-6\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14\" stroke-dashoffset=\"0px\" stroke-dasharray=\"0px 63.5682487487793px\">\n </path>\n </svg>\n </div>\n</div>"
48
- }
49
- ]
50
- },
51
- {
52
- "caption": "Example 3",
53
- "rendered_html": "<div class=\"playground-content bg-white padding-20 padding-bottom-25\" style=\"width: 100%;\"><div><button type=\"button\" class=\"btn btn-default btn-component\" tabindex=\"0\">Add Item</button><div class=\"border rounded bg-white padding-15 margin-top-25 overflow-hidden\"><div style=\"height: 3.2796px;\"><div style=\"opacity: 0.0555556;\"><div class=\"display-flex justify-content-between align-items-center padding-x-15 padding-y-10 border border-bottom-only\"><div>Item T8IQ5N3PGI</div><button type=\"button\" class=\"btn btn-muted btn-sm btn-icon-only btn-component\" tabindex=\"0\"><span class=\"rioglyph rioglyph-remove text-size-14\"></span></button></div></div></div><div style=\"height: 3.2796px;\"><div style=\"opacity: 0.0555556;\"><div class=\"display-flex justify-content-between align-items-center padding-x-15 padding-y-10 border border-bottom-only\"><div>Item QUEP70WQ4J</div><button type=\"button\" class=\"btn btn-muted btn-sm btn-icon-only btn-component\" tabindex=\"0\"><span class=\"rioglyph rioglyph-remove text-size-14\"></span></button></div></div></div><div style=\"height: 3.2796px;\"><div style=\"opacity: 0.0555556;\"><div class=\"display-flex justify-content-between align-items-center padding-x-15 padding-y-10 border border-bottom-only\"><div>Item U3LH1YBJI2</div><button type=\"button\" class=\"btn btn-muted btn-sm btn-icon-only btn-component\" tabindex=\"0\"><span class=\"rioglyph rioglyph-remove text-size-14\"></span></button></div></div></div></div><div class=\"margin-top-15\">\nLorem ipsum dolor sit amet, consectetur adipiscing elit. In pharetra dui eget massa efficitur aliquam condimentum in felis. Integer eget metus vel nunc efficitur iaculis. Vivamus elementum ante et est sagittis semper. Ut consectetur enim nec tortor scelerisque tincidunt. Fusce ac ligula bibendum, rutrum libero quis, viverra sem. Interdum et malesuada fames ac ante ipsum primis in faucibus. Duis ut hendrerit massa, in molestie elit. Sed vitae orci ac purus volutpat posuere ac ut neque. Mauris ante orci, semper finibus lorem in, fringilla pretium velit.</div></div></div>",
54
- "tabs": [
55
- {
56
- "label": "React",
57
- "language": "tsx",
58
- "code": "import { useState } from 'react';\n\nimport { AnimatePresence, motion } from '@rio-cloud/rio-uikit/framer-motion';\nimport Button from '@rio-cloud/rio-uikit/Button';\n\nimport { dummyText } from '../../../utils/data';\n\nconst getRandomString = () => (Math.random() + 1).toString(36).toUpperCase().substring(2);\nconst generateItems = length => Array.from({ length }, () => getRandomString());\n\nexport default () => {\n const [items, setItems] = useState([...generateItems(3)]);\n\n const handleAddItem = () => setItems(items => [...items, getRandomString()]);\n const handleRemoveItem = item => setItems(items => items.filter(i => i !== item));\n\n return (\n <div>\n <Button onClick={handleAddItem}>Add Item</Button>\n <div className='border rounded bg-white padding-15 margin-top-25 overflow-hidden'>\n <AnimatePresence>\n {items.map(item => (\n <motion.div\n key={item}\n initial={{ height: 0 }}\n animate={{ height: 'auto' }}\n exit={{ height: 0 }}\n >\n <motion.div\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n exit={{ opacity: 0 }}\n transition={{\n opacity: { duration: 0.1 },\n }}\n >\n <div className='display-flex justify-content-between align-items-center padding-x-15 padding-y-10 border border-bottom-only'>\n <div>Item {item}</div>\n <Button onClick={() => handleRemoveItem(item)} bsStyle='muted' bsSize='sm' iconOnly>\n <span className='rioglyph rioglyph-remove text-size-14' />\n </Button>\n </div>\n </motion.div>\n </motion.div>\n ))}\n </AnimatePresence>\n </div>\n <div className='margin-top-15'>{dummyText}</div>\n </div>\n );\n};"
59
- },
60
- {
61
- "label": "HTML",
62
- "language": "html",
63
- "code": "<div>\n <button type=\"button\" class=\"btn btn-default btn-component\" tabindex=\"0\">Add Item</button>\n <div class=\"border rounded bg-white padding-15 margin-top-25 overflow-hidden\">\n <div style=\"height: auto;\">\n <div style=\"opacity: 1;\">\n <div class=\"display-flex justify-content-between align-items-center padding-x-15 padding-y-10 border border-bottom-only\">\n <div>Item T8IQ5N3PGI</div>\n <button type=\"button\" class=\"btn btn-muted btn-sm btn-icon-only btn-component\" tabindex=\"0\">\n <span class=\"rioglyph rioglyph-remove text-size-14\">\n </span>\n </button>\n </div>\n </div>\n </div>\n <div style=\"height: auto;\">\n <div style=\"opacity: 1;\">\n <div class=\"display-flex justify-content-between align-items-center padding-x-15 padding-y-10 border border-bottom-only\">\n <div>Item QUEP70WQ4J</div>\n <button type=\"button\" class=\"btn btn-muted btn-sm btn-icon-only btn-component\" tabindex=\"0\">\n <span class=\"rioglyph rioglyph-remove text-size-14\">\n </span>\n </button>\n </div>\n </div>\n </div>\n <div style=\"height: auto;\">\n <div style=\"opacity: 1;\">\n <div class=\"display-flex justify-content-between align-items-center padding-x-15 padding-y-10 border border-bottom-only\">\n <div>Item U3LH1YBJI2</div>\n <button type=\"button\" class=\"btn btn-muted btn-sm btn-icon-only btn-component\" tabindex=\"0\">\n <span class=\"rioglyph rioglyph-remove text-size-14\">\n </span>\n </button>\n </div>\n </div>\n </div>\n </div>\n <div class=\"margin-top-15\">\n Lorem ipsum dolor sit amet, consectetur adipiscing elit. In pharetra dui eget massa efficitur aliquam condimentum in felis. Integer eget metus vel nunc efficitur iaculis. Vivamus elementum ante et est sagittis semper. Ut consectetur enim nec tortor scelerisque tincidunt. Fusce ac ligula bibendum, rutrum libero quis, viverra sem. Interdum et malesuada fames ac ante ipsum primis in faucibus. Duis ut hendrerit massa, in molestie elit. Sed vitae orci ac purus volutpat posuere ac ut neque. Mauris ante orci, semper finibus lorem in, fringilla pretium velit.</div>\n</div>"
64
- }
65
- ]
66
- },
67
- {
68
- "caption": "Example 4",
69
- "rendered_html": "<div class=\"playground-content bg-white padding-20 padding-bottom-25\" style=\"width: 100%;\"><div><button type=\"button\" class=\"btn btn-default btn-component\" tabindex=\"0\">Load Items</button><ul class=\"list-group margin-top-25 width-300\"><li style=\"opacity: 1; transform: none;\"><label class=\"checkbox list-group-item margin-bottom-10\" tabindex=\"0\"><input type=\"checkbox\" class=\"list-group-item margin-bottom-10\"><span class=\"checkbox-text\"><span><div class=\"display-flex gap-5\"><span>Item TZ5V6W1OYD</span></div></span></span></label></li><li style=\"opacity: 1; transform: none;\"><label class=\"checkbox list-group-item margin-bottom-10\" tabindex=\"0\"><input type=\"checkbox\" class=\"list-group-item margin-bottom-10\"><span class=\"checkbox-text\"><span><div class=\"display-flex gap-5\"><span>Item 9KUDIUKG57</span></div></span></span></label></li><li style=\"opacity: 1; transform: none;\"><label class=\"checkbox list-group-item margin-bottom-10\" tabindex=\"0\"><input type=\"checkbox\" class=\"list-group-item margin-bottom-10\"><span class=\"checkbox-text\"><span><div class=\"display-flex gap-5\"><span>Item XN40M4M8Y8</span></div></span></span></label></li><li style=\"opacity: 1; transform: none;\"><label class=\"checkbox list-group-item margin-bottom-10\" tabindex=\"0\"><input type=\"checkbox\" class=\"list-group-item margin-bottom-10\"><span class=\"checkbox-text\"><span><div class=\"display-flex gap-5\"><span>Item IA501W1S8L</span></div></span></span></label></li><li style=\"opacity: 1; transform: none;\"><label class=\"checkbox list-group-item margin-bottom-10\" tabindex=\"0\"><input type=\"checkbox\" class=\"list-group-item margin-bottom-10\"><span class=\"checkbox-text\"><span><div class=\"display-flex gap-5\"><span>Item 9GBYWQUU6R</span></div></span></span></label></li><li style=\"opacity: 1; transform: none;\"><label class=\"checkbox list-group-item margin-bottom-10\" tabindex=\"0\"><input type=\"checkbox\" class=\"list-group-item margin-bottom-10\"><span class=\"checkbox-text\"><span><div class=\"display-flex gap-5\"><span>Item 9TP2B7VZUJ</span></div></span></span></label></li></ul></div></div>",
70
- "tabs": [
71
- {
72
- "label": "React",
73
- "language": "tsx",
74
- "code": "import { useState } from 'react';\n\nimport { AnimatePresence, motion } from '@rio-cloud/rio-uikit/framer-motion';\nimport Button from '@rio-cloud/rio-uikit/Button';\nimport Checkbox from '@rio-cloud/rio-uikit/Checkbox';\n\nconst getRandomString = () => (Math.random() + 1).toString(36).toUpperCase().substring(2);\nconst generateItems = () => Array.from({ length: 6 }, () => getRandomString());\n\nexport default () => {\n const [items, setItems] = useState([...generateItems()]);\n\n const handleGenerateItem = () => setItems(generateItems());\n\n return (\n <div>\n <Button onClick={handleGenerateItem}>Load Items</Button>\n <ul className='list-group margin-top-25 width-300'>\n <AnimatePresence initial={false}>\n {items.map((item, index) => (\n <motion.li\n key={item}\n variants={{\n hidden: { opacity: 0, y: -50 },\n visible: index => ({\n opacity: 1,\n y: 0,\n transition: {\n delay: index * 0.1,\n },\n }),\n }}\n initial='hidden'\n animate='visible'\n custom={index}\n >\n <Checkbox className='list-group-item margin-bottom-10'>\n <div className='display-flex gap-5'>\n <span>Item {item}</span>\n </div>\n </Checkbox>\n </motion.li>\n ))}\n </AnimatePresence>\n </ul>\n </div>\n );\n};"
75
- },
76
- {
77
- "label": "HTML",
78
- "language": "html",
79
- "code": "<div>\n <button type=\"button\" class=\"btn btn-default btn-component\" tabindex=\"0\">Load Items</button>\n <ul class=\"list-group margin-top-25 width-300\">\n <li style=\"opacity: 1; transform: none;\">\n <label class=\"checkbox list-group-item margin-bottom-10\" tabindex=\"0\">\n <input type=\"checkbox\" class=\"list-group-item margin-bottom-10\">\n <span class=\"checkbox-text\">\n <span>\n <div class=\"display-flex gap-5\">\n <span>Item TZ5V6W1OYD</span>\n </div>\n </span>\n </span>\n </label>\n </li>\n <li style=\"opacity: 1; transform: none;\">\n <label class=\"checkbox list-group-item margin-bottom-10\" tabindex=\"0\">\n <input type=\"checkbox\" class=\"list-group-item margin-bottom-10\">\n <span class=\"checkbox-text\">\n <span>\n <div class=\"display-flex gap-5\">\n <span>Item 9KUDIUKG57</span>\n </div>\n </span>\n </span>\n </label>\n </li>\n <li style=\"opacity: 1; transform: none;\">\n <label class=\"checkbox list-group-item margin-bottom-10\" tabindex=\"0\">\n <input type=\"checkbox\" class=\"list-group-item margin-bottom-10\">\n <span class=\"checkbox-text\">\n <span>\n <div class=\"display-flex gap-5\">\n <span>Item XN40M4M8Y8</span>\n </div>\n </span>\n </span>\n </label>\n </li>\n <li style=\"opacity: 1; transform: none;\">\n <label class=\"checkbox list-group-item margin-bottom-10\" tabindex=\"0\">\n <input type=\"checkbox\" class=\"list-group-item margin-bottom-10\">\n <span class=\"checkbox-text\">\n <span>\n <div class=\"display-flex gap-5\">\n <span>Item IA501W1S8L</span>\n </div>\n </span>\n </span>\n </label>\n </li>\n <li style=\"opacity: 1; transform: none;\">\n <label class=\"checkbox list-group-item margin-bottom-10\" tabindex=\"0\">\n <input type=\"checkbox\" class=\"list-group-item margin-bottom-10\">\n <span class=\"checkbox-text\">\n <span>\n <div class=\"display-flex gap-5\">\n <span>Item 9GBYWQUU6R</span>\n </div>\n </span>\n </span>\n </label>\n </li>\n <li style=\"opacity: 1; transform: none;\">\n <label class=\"checkbox list-group-item margin-bottom-10\" tabindex=\"0\">\n <input type=\"checkbox\" class=\"list-group-item margin-bottom-10\">\n <span class=\"checkbox-text\">\n <span>\n <div class=\"display-flex gap-5\">\n <span>Item 9TP2B7VZUJ</span>\n </div>\n </span>\n </span>\n </label>\n </li>\n </ul>\n</div>"
80
- }
81
- ]
82
- }
83
- ]
84
- }
85
- ],
86
- "see_also": []
87
- }
@@ -1,291 +0,0 @@
1
- {
2
- "metadata": {
3
- "captured_at": "2025-11-21T12:07:04.142Z",
4
- "source": "https://uikit.developers.rio.cloud/#components/appHeader",
5
- "category": "Components",
6
- "section": "Application",
7
- "slug": "components/appheader",
8
- "version": "v1.13.2",
9
- "hash_algorithm": "sha256",
10
- "hash": "a1486a960820924f5e995469c4252a5a5a6a229861d96124b8d675fe2fb15870"
11
- },
12
- "title": "ApplicationHeader",
13
- "lead": "This is the header component for all services. All navigation link components that are passed into the header should be based on react-router",
14
- "content": [
15
- {
16
- "heading": "ApplicationHeader",
17
- "body": "",
18
- "examples": [
19
- {
20
- "caption": "Example 1",
21
- "rendered_html": "<div class=\"playground-content bg-lighter padding-20 padding-bottom-25\" style=\"width: 100%;\"><div><div class=\"ApplicationLayout\"><div class=\"ApplicationLayoutHeader\" id=\"ApplicationLayoutHeader\"><nav class=\"ApplicationHeader user-select-none\"><div class=\"navbar-header\"><span class=\"navbar-brand home-icon\"><a aria-current=\"page\" class=\"active\" href=\"#\"></a></span></div><ul class=\"ModuleNavigation AppMenu user-select-none hasModules appNavigatorClassName\"><li class=\"dropdown\"><a class=\"ModuleNavigation-dropdown dropdown-toggle justify-content-between\" role=\"button\" id=\"basic-nav-dropdown\"><span>ApplicationHeader</span><span class=\"caret\"></span></a><ul role=\"menu\" class=\"dropdown-menu ModuleNavigation-dropdown-menu\"><li role=\"presentation\"><div class=\"display-flex flex-column padding-10\"><a href=\"/\" target=\"_top\" class=\"rounded link bg-white display-flex align-items-start gap-15 user-select-none text-decoration-none hover-bg-lightest padding-15\"><div class=\"position-relative padding-20 border border-size-2 border-color-primary bg-white\"><div class=\"position-absolute inset-0 display-grid place-items-center\"><span class=\"text-size-20 rioglyph rioglyph-number-1\"></span></div></div><div class=\"flex-1-1\"><div class=\"line-height-125rel margin-top--3\"><div class=\"text-size-18 text-medium margin-bottom-3 text-color-primary\">Headline 1</div><div class=\"text-size-14 text-color-darkest text-capitalize\">Subline 1</div></div></div></a><a href=\"/\" target=\"_top\" class=\"rounded link bg-white display-flex align-items-start gap-15 user-select-none text-decoration-none hover-bg-lightest padding-15\"><div class=\"position-relative padding-20 border border-size-2 border-color-primary bg-white\"><div class=\"position-absolute inset-0 display-grid place-items-center\"><span class=\"text-size-20 rioglyph rioglyph-number-2\"></span></div></div><div class=\"flex-1-1\"><div class=\"line-height-125rel margin-top--3\"><div class=\"text-size-18 text-medium margin-bottom-3 text-color-primary\">Headline 2</div><div class=\"text-size-14 text-color-darkest text-capitalize\">Subline 2</div></div></div></a><a href=\"/\" target=\"_top\" class=\"rounded link bg-white display-flex align-items-start gap-15 user-select-none text-decoration-none hover-bg-lightest padding-15\"><div class=\"position-relative padding-20 border border-size-2 border-color-primary bg-white\"><div class=\"position-absolute inset-0 display-grid place-items-center\"><span class=\"text-size-20 rioglyph rioglyph-number-3\"></span></div></div><div class=\"flex-1-1\"><div class=\"line-height-125rel margin-top--3\"><div class=\"text-size-18 text-medium margin-bottom-3 text-color-primary\">Headline 3</div><div class=\"text-size-14 text-color-darkest text-capitalize\">Subline 3</div></div></div></a></div></li></ul></li></ul><ul class=\"SubmoduleNavigation nav\"><li class=\"submodule \" data-nav-item-key=\"A\"><a aria-current=\"page\" class=\"active\" href=\"#components/appHeader\">Test A</a></li><li class=\"submodule \" data-nav-item-key=\"B\"><a href=\"#2\">Test B</a></li><li class=\"submodule \" data-nav-item-key=\"C\"><a href=\"#3\">Test C</a></li><li class=\"submodule \" data-nav-item-key=\"D\"><a href=\"#4\">Test D</a></li><li class=\"CollapsedDropdown dropdown \"><a id=\"basic-nav-dropdown\" role=\"button\" class=\"dropdown-toggle text-color-gray\" aria-haspopup=\"true\" aria-expanded=\"true\"><span class=\"rioglyph rioglyph-option-horizontal\" aria-hidden=\"true\"></span></a><ul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"basic-nav-dropdown\"><li class=\"submodule\" data-nav-item-key=\"E\"><a href=\"#5\">Test E</a></li></ul></li></ul><ul class=\"ApplicationActionBar nav navbar-nav navbar-right \"><li role=\"presentation\" class=\"navigationItem\"><div class=\"ActionBarItem\"><div class=\"ActionBarItemIcon\"><span class=\"icon rioglyph rioglyph-cog\"></span></div></div></li><li role=\"presentation\" class=\"navigationItem\"><div class=\"ActionBarItem\"><div class=\"ActionBarItemIcon\"><span class=\"icon rioglyph rioglyph-user\"></span></div></div></li></ul></nav></div></div><div class=\"margin-top-20 margin-bottom-20\"><button type=\"button\" class=\"btn btn-default\">Load different Nav Items</button></div></div></div>",
22
- "tabs": [
23
- {
24
- "label": "React",
25
- "language": "tsx",
26
- "code": "import { useEffect, useRef, useState } from 'react';\nimport { NavLink } from 'react-router-dom';\n\nimport ApplicationLayout from '@rio-cloud/rio-uikit/ApplicationLayout';\nimport ApplicationHeader from '@rio-cloud/rio-uikit/ApplicationHeader';\nimport ActionBarItem from '@rio-cloud/rio-uikit/ActionBarItem';\nimport Notification from '@rio-cloud/rio-uikit/Notification';\nimport Dialog from '@rio-cloud/rio-uikit/Dialog';\nimport Checkbox from '@rio-cloud/rio-uikit/Checkbox';\nimport Button from '@rio-cloud/rio-uikit/Button';\nimport ButtonToolbar from '@rio-cloud/rio-uikit/ButtonToolbar';\n\nconst manyNavItems = [\n { key: 'A', route: <NavLink to='/components/appHeader'>Test A</NavLink> },\n { key: 'B', route: <NavLink to='/2'>Test B</NavLink> },\n { key: 'C', route: <NavLink to='/3'>Test C</NavLink> },\n { key: 'D', route: <NavLink to='/4'>Test D</NavLink> },\n { key: 'E', route: <NavLink to='/5'>Test E</NavLink> },\n];\n\nconst fewNavItems = [\n { key: '1', route: <NavLink to='/6'>Lorem</NavLink> },\n { key: '2', route: <NavLink to='/7'>Ipsum</NavLink> },\n { key: '3', route: <NavLink to='/8'>Dolor</NavLink> },\n];\n\nconst fakeAppNavigator = (\n <div className='display-flex flex-column padding-10'>\n {[1, 2, 3].map(index => (\n <a\n key={index}\n href='/'\n target='_top'\n className='rounded link bg-white display-flex align-items-start gap-15 user-select-none text-decoration-none hover-bg-lightest padding-15'\n >\n <div className='position-relative padding-20 border border-size-2 border-color-primary bg-white'>\n <div className='position-absolute inset-0 display-grid place-items-center'>\n <span className={`text-size-20 rioglyph rioglyph-number-${index}`} />\n </div>\n </div>\n <div className='flex-1-1'>\n <div className='line-height-125rel margin-top--3'>\n <div className='text-size-18 text-medium margin-bottom-3 text-color-primary'>\n Headline {index}\n </div>\n <div className='text-size-14 text-color-darkest text-capitalize'>Subline {index}</div>\n </div>\n </div>\n </a>\n ))}\n </div>\n);\n\n// We use this component to simulate a pre rendered component\nconst PreRendered = () => {\n const [index, setIndex] = useState(0);\n\n useEffect(() => {\n let counter = 0;\n const id = setInterval(() => {\n setIndex(counter++);\n }, 1000);\n return () => clearInterval(id);\n }, []);\n\n return (\n <div className='display-flex flex-row justify-content-between align-items-center'>\n <div>\n <span className='margin-right-5 text-color-gray'>Counter:</span>\n <span>{index}</span>\n </div>\n <div>\n <button\n className='btn btn-default'\n type='button'\n onClick={() => Notification.info(`Button clicked with ${index}`)}\n >\n Click Me\n </button>\n </div>\n </div>\n );\n};\n\nconst AccountMenuComponent = (\n <ActionBarItem id='accountMenu'>\n <ActionBarItem.Icon>\n <span className='icon rioglyph rioglyph-user' />\n </ActionBarItem.Icon>\n <ActionBarItem.Popover title='Prerending the Popover' useOffscreen>\n <PreRendered />\n </ActionBarItem.Popover>\n </ActionBarItem>\n);\n\nconst AppHeaderExample = () => {\n const [navItems, setNavItems] = useState(manyNavItems);\n\n const [showSettingsDialog, setShowSettingsDialog] = useState(false);\n\n const headerRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (headerRef.current) {\n console.log('Header mounted');\n }\n }, [headerRef.current]);\n\n const handleOnClick = () => {\n setNavItems(prevNavItems => (prevNavItems === fewNavItems ? manyNavItems : fewNavItems));\n };\n\n const sampleActionBarComponent = (\n <ActionBarItem id='cog'>\n <ActionBarItem.Icon onClick={() => setShowSettingsDialog(true)}>\n <span className='icon rioglyph rioglyph-cog' />\n </ActionBarItem.Icon>\n <Dialog\n show={showSettingsDialog}\n body={\n <div>\n <div className='margin-bottom-15'>\n <i>\n This is the place for some service specific settings, that are not global for all\n services.\n </i>\n </div>\n <div className='margin-bottom-25'>\n <legend>Category one settings</legend>\n <div className='form-group'>\n <label className='width-100pct'>\n <div>Lorem ipsum</div>\n <input\n className='form-control margin-y-5'\n type='text'\n placeholder='Lorem Ipsum Dolor'\n />\n </label>\n <label className='width-100pct'>\n <div className='margin-bottom-5'>Lorem ipsum</div>\n <div className='input-group'>\n <span className='input-group-addon'>\n <span className='rioglyph rioglyph-user' />\n </span>\n <input className='form-control' type='text' placeholder='Lorem Ipsum Dolor' />\n </div>\n </label>\n </div>\n </div>\n <div>\n <legend>Category two settings</legend>\n <div className='form-group space-y-10'>\n <Checkbox>Lorem ipsum solor</Checkbox>\n <Checkbox defaultChecked>Ipsum dolor sit</Checkbox>\n <Checkbox>Dolor sit amet</Checkbox>\n </div>\n </div>\n </div>\n }\n title='Service settings'\n footer={\n <ButtonToolbar>\n <Button onClick={() => setShowSettingsDialog(false)}>Discard</Button>\n <Button bsStyle='primary' onClick={() => setShowSettingsDialog(false)}>\n Apply changes\n </Button>\n </ButtonToolbar>\n }\n onClose={() => setShowSettingsDialog(false)}\n bsSize={Dialog.SIZE_SM}\n showCloseButton\n />\n </ActionBarItem>\n );\n\n return (\n <div>\n <ApplicationLayout>\n <ApplicationLayout.Header>\n <ApplicationHeader\n ref={headerRef}\n label='ApplicationHeader'\n homeRoute={<NavLink to='/' />}\n appNavigator={fakeAppNavigator}\n appNavigatorClassName='appNavigatorClassName'\n navItems={navItems}\n onToggleAppMenu={isMenuOpen => console.log({ isMenuOpen })}\n actionBarItems={[sampleActionBarComponent, AccountMenuComponent]}\n />\n </ApplicationLayout.Header>\n </ApplicationLayout>\n <div className='margin-top-20 margin-bottom-20'>\n <button type='button' className='btn btn-default' onClick={handleOnClick}>\n Load different Nav Items\n </button>\n </div>\n </div>\n );\n};\n\nexport default AppHeaderExample;"
27
- },
28
- {
29
- "label": "HTML",
30
- "language": "html",
31
- "code": "<div>\n <div class=\"ApplicationLayout\">\n <div class=\"ApplicationLayoutHeader\" id=\"ApplicationLayoutHeader\">\n <nav class=\"ApplicationHeader user-select-none\">\n <div class=\"navbar-header\">\n <span class=\"navbar-brand home-icon\">\n <a aria-current=\"page\" class=\"active\" href=\"#\">\n </a>\n </span>\n </div>\n <ul class=\"ModuleNavigation AppMenu user-select-none hasModules appNavigatorClassName\">\n <li class=\"dropdown\">\n <a class=\"ModuleNavigation-dropdown dropdown-toggle justify-content-between\" role=\"button\" id=\"basic-nav-dropdown\">\n <span>ApplicationHeader</span>\n <span class=\"caret\">\n </span>\n </a>\n <ul role=\"menu\" class=\"dropdown-menu ModuleNavigation-dropdown-menu\">\n <li role=\"presentation\">\n <div class=\"display-flex flex-column padding-10\">\n <a href=\"/\" target=\"_top\" class=\"rounded link bg-white display-flex align-items-start gap-15 user-select-none text-decoration-none hover-bg-lightest padding-15\">\n <div class=\"position-relative padding-20 border border-size-2 border-color-primary bg-white\">\n <div class=\"position-absolute inset-0 display-grid place-items-center\">\n <span class=\"text-size-20 rioglyph rioglyph-number-1\">\n </span>\n </div>\n </div>\n <div class=\"flex-1-1\">\n <div class=\"line-height-125rel margin-top--3\">\n <div class=\"text-size-18 text-medium margin-bottom-3 text-color-primary\">Headline 1</div>\n <div class=\"text-size-14 text-color-darkest text-capitalize\">Subline 1</div>\n </div>\n </div>\n </a>\n <a href=\"/\" target=\"_top\" class=\"rounded link bg-white display-flex align-items-start gap-15 user-select-none text-decoration-none hover-bg-lightest padding-15\">\n <div class=\"position-relative padding-20 border border-size-2 border-color-primary bg-white\">\n <div class=\"position-absolute inset-0 display-grid place-items-center\">\n <span class=\"text-size-20 rioglyph rioglyph-number-2\">\n </span>\n </div>\n </div>\n <div class=\"flex-1-1\">\n <div class=\"line-height-125rel margin-top--3\">\n <div class=\"text-size-18 text-medium margin-bottom-3 text-color-primary\">Headline 2</div>\n <div class=\"text-size-14 text-color-darkest text-capitalize\">Subline 2</div>\n </div>\n </div>\n </a>\n <a href=\"/\" target=\"_top\" class=\"rounded link bg-white display-flex align-items-start gap-15 user-select-none text-decoration-none hover-bg-lightest padding-15\">\n <div class=\"position-relative padding-20 border border-size-2 border-color-primary bg-white\">\n <div class=\"position-absolute inset-0 display-grid place-items-center\">\n <span class=\"text-size-20 rioglyph rioglyph-number-3\">\n </span>\n </div>\n </div>\n <div class=\"flex-1-1\">\n <div class=\"line-height-125rel margin-top--3\">\n <div class=\"text-size-18 text-medium margin-bottom-3 text-color-primary\">Headline 3</div>\n <div class=\"text-size-14 text-color-darkest text-capitalize\">Subline 3</div>\n </div>\n </div>\n </a>\n </div>\n </li>\n </ul>\n </li>\n </ul>\n <ul class=\"SubmoduleNavigation nav\">\n <li class=\"submodule \" data-nav-item-key=\"A\">\n <a aria-current=\"page\" class=\"active\" href=\"#components/appHeader\">Test A</a>\n </li>\n <li class=\"submodule \" data-nav-item-key=\"B\">\n <a href=\"#2\">Test B</a>\n </li>\n <li class=\"submodule \" data-nav-item-key=\"C\">\n <a href=\"#3\">Test C</a>\n </li>\n <li class=\"submodule \" data-nav-item-key=\"D\">\n <a href=\"#4\">Test D</a>\n </li>\n <li class=\"CollapsedDropdown dropdown \">\n <a id=\"basic-nav-dropdown\" role=\"button\" class=\"dropdown-toggle text-color-gray\" aria-haspopup=\"true\" aria-expanded=\"true\">\n <span class=\"rioglyph rioglyph-option-horizontal\" aria-hidden=\"true\">\n </span>\n </a>\n <ul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"basic-nav-dropdown\">\n <li class=\"submodule\" data-nav-item-key=\"E\">\n <a href=\"#5\">Test E</a>\n </li>\n </ul>\n </li>\n </ul>\n <ul class=\"ApplicationActionBar nav navbar-nav navbar-right \">\n <li role=\"presentation\" class=\"navigationItem\">\n <div class=\"ActionBarItem\">\n <div class=\"ActionBarItemIcon\">\n <span class=\"icon rioglyph rioglyph-cog\">\n </span>\n </div>\n </div>\n </li>\n <li role=\"presentation\" class=\"navigationItem\">\n <div class=\"ActionBarItem\">\n <div class=\"ActionBarItemIcon\">\n <span class=\"icon rioglyph rioglyph-user\">\n </span>\n </div>\n </div>\n </li>\n </ul>\n </nav>\n </div>\n </div>\n <div class=\"margin-top-20 margin-bottom-20\">\n <button type=\"button\" class=\"btn btn-default\">Load different Nav Items</button>\n </div>\n</div>"
32
- },
33
- {
34
- "label": "Props",
35
- "language": "json",
36
- "code": null,
37
- "props": [
38
- {
39
- "heading": null,
40
- "rows": [
41
- {
42
- "name": "label",
43
- "type": "Node",
44
- "default": "",
45
- "description": "The service name shown as the navigator dropdown label."
46
- },
47
- {
48
- "name": "homeRoute",
49
- "type": "Node",
50
- "default": "",
51
- "description": "The home URL that shall be used for the home button. Pass a react-router-dom NavLink as homeRoute into the header. For example: <NavLink to='https://home.rio.cloud' />"
52
- },
53
- {
54
- "name": "showHomeIcon",
55
- "type": "Boolean",
56
- "default": "true",
57
- "description": "Defines to either show the home icon or the RIO logo as brand logo."
58
- },
59
- {
60
- "name": "appNavigator",
61
- "type": "Node",
62
- "default": "",
63
- "description": "The component for the navigation between apps which will be shown inside the main dropdown. Platform apps may use the default AppNavigator but there are also other cases like support apps where it's just a simple list In this case, use the prop appMenuItems. If no appNavigator is defined, the dropdown menu will not be rendered."
64
- },
65
- {
66
- "name": "appNavigatorClassName",
67
- "type": "String",
68
- "default": "",
69
- "description": "Additional class names that are added to the appNavigator."
70
- },
71
- {
72
- "name": "appMenuItems",
73
- "type": "Array",
74
- "default": "",
75
- "description": "List of application navigation link components."
76
- },
77
- {
78
- "name": "└key",
79
- "type": "String",
80
- "default": "",
81
- "description": "Unique key for the navigation component."
82
- },
83
- {
84
- "name": "└route",
85
- "type": "Node",
86
- "default": "",
87
- "description": "The navigation link component used for rendering the name and for routing. For example: <NavLink to='/app1'>{'App 1'}</NavLink>"
88
- },
89
- {
90
- "name": "navItems",
91
- "type": "Array",
92
- "default": "",
93
- "description": "List of sub-module navigation component of an app. Items collapse into a dropdown if remaining space in the header is not sufficient."
94
- },
95
- {
96
- "name": "└key",
97
- "type": "String",
98
- "default": "",
99
- "description": "Unique key for the sub-module navigation component of an app."
100
- },
101
- {
102
- "name": "└route",
103
- "type": "Node",
104
- "default": "",
105
- "description": "The navigation link component used for rendering the name and for routing. For example: <NavLink to='/app/ipsum'>{'Lorem ipsum'}</NavLink>"
106
- },
107
- {
108
- "name": "actionBarItems",
109
- "type": "Array of Nodes",
110
- "default": "[]",
111
- "description": "List of external smart components like the rio-accountmenu or application owned components such as a ServiceInfo icon. These components are based on the ActionBarItem"
112
- },
113
- {
114
- "name": "onToggleAppMenu",
115
- "type": "(isOpen: boolean) => void",
116
- "default": "",
117
- "description": "Callback function triggered when the application menu is open or closed."
118
- },
119
- {
120
- "name": "className",
121
- "type": "String",
122
- "default": "",
123
- "description": "Additional class names that are added to the wrapper component."
124
- }
125
- ]
126
- }
127
- ]
128
- }
129
- ]
130
- }
131
- ]
132
- },
133
- {
134
- "heading": "ActionBarItem",
135
- "body": "The ActionBarItem components consists mainly of two sub-components: Icon and Popover. The Icon component is mandatory and is shown in the header. The Popover component is optional and it's content will be shown inside a Popover.",
136
- "examples": [
137
- {
138
- "caption": "Example 2",
139
- "rendered_html": "<div class=\"playground-content bg-lighter padding-20 padding-bottom-25\" style=\"width: 100%;\"><div class=\"ApplicationLayout\"><div class=\"ApplicationLayoutHeader\" id=\"ApplicationLayoutHeader\"><nav class=\"ApplicationHeader user-select-none\"><div class=\"navbar-header\"><span class=\"navbar-brand home-icon\"></span></div><ul class=\"ModuleNavigation AppMenu user-select-none pointer-events-none\"><li class=\"dropdown\"><a class=\"ModuleNavigation-dropdown dropdown-toggle justify-content-between inactive\" role=\"button\" id=\"basic-nav-dropdown\"><span>ApplicationHeader</span></a></li></ul><ul class=\"SubmoduleNavigation nav\"></ul><ul class=\"ApplicationActionBar nav navbar-nav navbar-right \"><li role=\"presentation\" class=\"navigationItem\"><div class=\"ActionBarItem\"><div class=\"ActionBarItemIcon\"><span class=\"icon rioglyph rioglyph-support\"></span></div></div></li><li role=\"presentation\" class=\"navigationItem\"><div class=\"ActionBarItem myItem\"><div class=\"ActionBarItemIcon\"><span class=\"icon rioglyph rioglyph-info-sign\"></span></div></div></li><li role=\"presentation\" class=\"navigationItem\"><div class=\"ActionBarItem\"><div class=\"ActionBarItemIcon\"><span class=\"icon rioglyph rioglyph-notification\"></span><span class=\"badge badge-primary badge-indicator badge-indicator-pinging\">4</span></div></div></li><li role=\"presentation\" class=\"navigationItem\"><div class=\"ActionBarItem\"><div class=\"ActionBarItemIcon\"><span class=\"icon rioglyph rioglyph-user\"></span></div></div></li></ul></nav></div></div></div>",
140
- "tabs": [
141
- {
142
- "label": "React",
143
- "language": "tsx",
144
- "code": "import React, { useState, type ChangeEvent } from 'react';\nimport { Link } from 'react-router-dom';\n\nimport ApplicationLayout from '@rio-cloud/rio-uikit/ApplicationLayout';\nimport ApplicationHeader from '@rio-cloud/rio-uikit/ApplicationHeader';\nimport ActionBarItem from '@rio-cloud/rio-uikit/ActionBarItem';\nimport Select from '@rio-cloud/rio-uikit/Select';\nimport Fade from '@rio-cloud/rio-uikit/Fade';\nimport ToggleButton from '@rio-cloud/rio-uikit/ToggleButton';\nimport Notification from '@rio-cloud/rio-uikit/Notification';\nimport Button from '@rio-cloud/rio-uikit/Button';\n\nconst ActionBarItemsExample = () => {\n const [showFeedbackNotification, setShowFeedbackNotification] = useState(false);\n const [feedbackButtonText, setFeedbackButtonText] = useState('Send feedback');\n const [value, setValue] = useState('');\n const [rows, setRows] = useState(5);\n const [minRows, setMinRows] = useState(5);\n const [maxRows, setMaxRows] = useState(30);\n\n const handleFeedbackCategory = (id: string) => {\n switch (id) {\n case '1':\n setFeedbackButtonText('Send usability feedback');\n break;\n case '2':\n setFeedbackButtonText('Send bug report');\n break;\n case '3':\n setFeedbackButtonText('Send feature request');\n break;\n default:\n setFeedbackButtonText('Send feedback');\n break;\n }\n };\n\n const handleAutosize = (event: ChangeEvent<HTMLTextAreaElement>) => {\n const textareaLineHeight = 20.1; // 1.42857143 + 14px\n\n const previousRows = event.target.rows;\n event.target.rows = minRows; // reset number of rows in textarea\n\n const currentRows = Math.floor(event.target.scrollHeight / textareaLineHeight);\n\n if (currentRows === previousRows) {\n event.target.rows = currentRows;\n }\n\n if (currentRows >= maxRows) {\n event.target.rows = maxRows;\n event.target.scrollTop = event.target.scrollHeight;\n }\n\n setValue(event.target.value);\n setRows(currentRows < maxRows ? currentRows : maxRows);\n };\n\n const title = (\n <div>\n <span>Service XYZ</span>\n <span className='text-color-gray margin-left-10'>v1.1.0</span>\n </div>\n );\n\n const FeedbackComponent = (\n <ActionBarItem id='feedback' hidePopoverOnClick={false} popoverWidth={400}>\n <ActionBarItem.Icon>\n <span className='icon rioglyph rioglyph-support' />\n </ActionBarItem.Icon>\n <ActionBarItem.Popover title='Customer care center' className='padding-20'>\n <div className='padding-top-5 padding-bottom-5'>\n <div className='text-center padding-top-10 padding-bottom-25'>\n <a className='text-size-h4' hre='tel:0049-0800-22550746'>\n Hotline +(49) 08 00 / 22 55 07 46\n </a>\n <div className='text-size-16'>Monday - Friday: 8:00 am - 04:30 pm (MEZ)</div>\n </div>\n <form>\n <div className='form-group'>\n <input className='form-control' type='email' placeholder='logged.in@user.email' disabled />\n </div>\n <div className='form-group'>\n <Select\n placeholder='Type of feedback'\n options={[\n {\n id: '1',\n label: 'Usability',\n },\n {\n id: '2',\n label: 'Bug report',\n },\n {\n id: '3',\n label: 'Missing feature',\n },\n {\n id: '4',\n label: 'Other',\n },\n ]}\n onChange={item => handleFeedbackCategory(item.id)}\n />\n </div>\n <div className='form-group'>\n <textarea\n rows={rows}\n value={value}\n className='form-control'\n onChange={event => handleAutosize(event)}\n />\n </div>\n <div className='display-flex justify-content-end'>\n <ToggleButton\n className='margin-bottom-10'\n active={showFeedbackNotification}\n onClick={() => setShowFeedbackNotification(!showFeedbackNotification)}\n >\n {feedbackButtonText}\n </ToggleButton>\n </div>\n <Fade show={showFeedbackNotification}>\n <div className='alert alert-success margin-bottom-0'>\n <strong>Thank you for your feedback!</strong> We will use your feedback for future\n improvement. In case it`s necessary, we will contact you for further clarification.\n </div>\n </Fade>\n </form>\n </div>\n </ActionBarItem.Popover>\n </ActionBarItem>\n );\n\n const ServiceInfo = () => (\n <ActionBarItem.List>\n <ActionBarItem.ListItem icon='rioglyph-hand-right' onClick={() => Notification.info('Show welcome dialog')}>\n <div className='display-flex align-items-center gap-5'>\n <span>Welcome</span>\n <span className='badge badge-primary'>1</span>\n </div>\n </ActionBarItem.ListItem>\n <ActionBarItem.ListItem\n icon='rioglyph-exclamation-sign'\n onClick={() => Notification.info(\"Show what's new dialog\")}\n >\n What's new?\n </ActionBarItem.ListItem>\n <ActionBarItem.ListItem\n icon='rioglyph-question-sign'\n onClick={() => Notification.info('Show features dialog')}\n >\n Features\n </ActionBarItem.ListItem>\n <ActionBarItem.ListSeparator />\n <ActionBarItem.ListItem icon='rioglyph-envelope' hasLink>\n <Link to='/components/appHeader'>Feedback</Link>\n </ActionBarItem.ListItem>\n </ActionBarItem.List>\n );\n\n const ServiceInfoComponent = (\n <ActionBarItem id='serviceInfo' className='myItem'>\n <ActionBarItem.Icon>\n <span className='icon rioglyph rioglyph-info-sign' />\n </ActionBarItem.Icon>\n <ActionBarItem.Popover className='myItemPopover' title={title}>\n <ServiceInfo />\n </ActionBarItem.Popover>\n </ActionBarItem>\n );\n\n const AccountMenuComponent = (\n <ActionBarItem>\n <ActionBarItem.Icon>\n <span className='icon rioglyph rioglyph-user' />\n </ActionBarItem.Icon>\n <ActionBarItem.Popover>\n <ActionBarItem.List>\n <div className='padding-10'>\n <div className='text-medium'>This is just an example</div>\n <div>The real content goes here...</div>\n </div>\n <ActionBarItem.ListSeparator />\n <ActionBarItem.ListItem>\n <Button\n bsStyle='default'\n variant='link'\n iconName='rioglyph-logout'\n onClick={() => Notification.info('Logout')}\n >\n <span className='hover-text-decoration-none'>Logout</span>\n </Button>\n </ActionBarItem.ListItem>\n </ActionBarItem.List>\n </ActionBarItem.Popover>\n </ActionBarItem>\n );\n\n const Notifications = (\n <ActionBarItem>\n <ActionBarItem.Icon>\n <span className='icon rioglyph rioglyph-notification' />\n <span className='badge badge-primary badge-indicator badge-indicator-pinging'>4</span>\n </ActionBarItem.Icon>\n </ActionBarItem>\n );\n\n return (\n <ApplicationLayout>\n <ApplicationLayout.Header>\n <ApplicationHeader\n label='ApplicationHeader'\n actionBarItems={[FeedbackComponent, ServiceInfoComponent, Notifications, AccountMenuComponent]}\n />\n </ApplicationLayout.Header>\n </ApplicationLayout>\n );\n};\n\nexport default ActionBarItemsExample;"
145
- },
146
- {
147
- "label": "HTML",
148
- "language": "html",
149
- "code": "<div class=\"ApplicationLayout\">\n <div class=\"ApplicationLayoutHeader\" id=\"ApplicationLayoutHeader\">\n <nav class=\"ApplicationHeader user-select-none\">\n <div class=\"navbar-header\">\n <span class=\"navbar-brand home-icon\">\n </span>\n </div>\n <ul class=\"ModuleNavigation AppMenu user-select-none pointer-events-none\">\n <li class=\"dropdown\">\n <a class=\"ModuleNavigation-dropdown dropdown-toggle justify-content-between inactive\" role=\"button\" id=\"basic-nav-dropdown\">\n <span>ApplicationHeader</span>\n </a>\n </li>\n </ul>\n <ul class=\"SubmoduleNavigation nav\">\n </ul>\n <ul class=\"ApplicationActionBar nav navbar-nav navbar-right \">\n <li role=\"presentation\" class=\"navigationItem\">\n <div class=\"ActionBarItem\">\n <div class=\"ActionBarItemIcon\">\n <span class=\"icon rioglyph rioglyph-support\">\n </span>\n </div>\n </div>\n </li>\n <li role=\"presentation\" class=\"navigationItem\">\n <div class=\"ActionBarItem myItem\">\n <div class=\"ActionBarItemIcon\">\n <span class=\"icon rioglyph rioglyph-info-sign\">\n </span>\n </div>\n </div>\n </li>\n <li role=\"presentation\" class=\"navigationItem\">\n <div class=\"ActionBarItem\">\n <div class=\"ActionBarItemIcon\">\n <span class=\"icon rioglyph rioglyph-notification\">\n </span>\n <span class=\"badge badge-primary badge-indicator badge-indicator-pinging\">4</span>\n </div>\n </div>\n </li>\n <li role=\"presentation\" class=\"navigationItem\">\n <div class=\"ActionBarItem\">\n <div class=\"ActionBarItemIcon\">\n <span class=\"icon rioglyph rioglyph-user\">\n </span>\n </div>\n </div>\n </li>\n </ul>\n </nav>\n </div>\n</div>"
150
- },
151
- {
152
- "label": "Props",
153
- "language": "json",
154
- "code": null,
155
- "props": [
156
- {
157
- "heading": "ActionBarItem",
158
- "rows": [
159
- {
160
- "name": "id",
161
- "type": "String",
162
- "default": "",
163
- "description": "The id is used to identify the item in the DOM. If not provided, a random id is used instead."
164
- },
165
- {
166
- "name": "title",
167
- "type": "String",
168
- "default": "",
169
- "description": "The title property for the sub component ActionBarItem.Popover. This can be a String or another component as well as a React-Intl component."
170
- },
171
- {
172
- "name": "className",
173
- "type": "String",
174
- "default": "",
175
- "description": "Additional class names that are added to the respective component. It can be defined for the parent and all sub components."
176
- },
177
- {
178
- "name": "mobileDialogBodyClassName",
179
- "type": "String",
180
- "default": "",
181
- "description": "Additional class names that are added to dialog fallback modal-body element."
182
- },
183
- {
184
- "name": "hidePopoverOnClick",
185
- "type": "Boolean",
186
- "default": "true",
187
- "description": "Defined if the popover should close when any child element is being clicked."
188
- },
189
- {
190
- "name": "popoverWidth",
191
- "type": "Number",
192
- "default": "250",
193
- "description": "Possible values are: 100, 150, 200, 250, 300, 350, 400, 450 or 500"
194
- },
195
- {
196
- "name": "useOffscreen",
197
- "type": "Boolean",
198
- "default": "",
199
- "description": "Set on ActionBarItem.Popover in order to render the Popover content in the offscreen to have it in place and loaded when the Popover is shown. This flag ignored for mobile, in order to save energy."
200
- },
201
- {
202
- "name": "children",
203
- "type": "any",
204
- "default": "",
205
- "description": "Any component given to the sub components will be within the respective area. NoteChild elements for ActionItemBar.Icon such as rioglyph or svg icons that shall be shown as icon in the header must have set the class icon"
206
- }
207
- ]
208
- },
209
- {
210
- "heading": "ActionBarItem.List",
211
- "rows": [
212
- {
213
- "name": "className",
214
- "type": "String",
215
- "default": "",
216
- "description": "Additional class names that are added to the wrapping list item component."
217
- }
218
- ]
219
- },
220
- {
221
- "heading": "ActionBarItem.ListItem",
222
- "rows": [
223
- {
224
- "name": "hasLink",
225
- "type": "Boolean",
226
- "default": "",
227
- "description": "Set it to true when you want to use the item as link item. In case, please use the Link component from react-router-dom instead of an anchor tag to prevent side effects when automatically closing the popover."
228
- },
229
- {
230
- "name": "icon",
231
- "type": "String",
232
- "default": "",
233
- "description": "The name of the icon to be used for the item."
234
- },
235
- {
236
- "name": "onClick",
237
- "type": "Function",
238
- "default": "",
239
- "description": "Callback function to be triggered when the internal button of a list item is clicked. Note: When no callback function is provided, the children are rendered as is without wrapping them in a button."
240
- },
241
- {
242
- "name": "className",
243
- "type": "String",
244
- "default": "",
245
- "description": "Additional class names that are added to the wrapping list item component."
246
- }
247
- ]
248
- },
249
- {
250
- "heading": "ActionBarItem.ListSeparator",
251
- "rows": [
252
- {
253
- "name": "className",
254
- "type": "String",
255
- "default": "",
256
- "description": "Additional class names that are added to the wrapping list item component."
257
- }
258
- ]
259
- },
260
- {
261
- "heading": "ActionBarItem.Popover",
262
- "rows": [
263
- {
264
- "name": "title",
265
- "type": "String / Node",
266
- "default": "",
267
- "description": "The popover title."
268
- },
269
- {
270
- "name": "useOffscreen",
271
- "type": "Boolean",
272
- "default": "false",
273
- "description": "Define whether the popover content shall be rendered behind the scene to pre-load content or to avoid unmounting the content component"
274
- },
275
- {
276
- "name": "className",
277
- "type": "String",
278
- "default": "",
279
- "description": "Additional class names that are added to the popover content."
280
- }
281
- ]
282
- }
283
- ]
284
- }
285
- ]
286
- }
287
- ]
288
- }
289
- ],
290
- "see_also": []
291
- }