@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,996 @@
1
+ # Checkbox
2
+
3
+ *Category:* Components
4
+ *Section:* Interaction
5
+ *Source:* https://uikit.developers.rio.cloud/#components/checkbox
6
+ *Captured:* 2025-12-12T12:38:13.845Z
7
+
8
+ ## Checkbox
9
+
10
+ ### Example: Example 1
11
+
12
+ Select multipleSome custom text
13
+ This one is initially checked
14
+ Indeterminate state
15
+ Disabled checkboxesDisabled checkbox
16
+ Disabled checked checkbox
17
+ Various propsCheckbox with provided label
18
+ Checkbox with error state
19
+ Required Checkbox *
20
+ Required submit test
21
+
22
+ Some text containing a link to Terms and Condition which need to be read.
23
+
24
+ Option 1Option 2Option 3
25
+
26
+ 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.
27
+ 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.
28
+
29
+ Large checkbox
30
+
31
+ 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.
32
+ Checkbox inside grid layout
33
+
34
+ #### Summary
35
+
36
+ Select multipleSome custom text
37
+ This one is initially checked
38
+ Indeterminate state
39
+ Disabled checkboxesDisabled checkbox
40
+ Disabled checked checkbox
41
+ Various propsCheckbox with provided label
42
+ Checkbox with error state
43
+ Required Checkbox *
44
+ Required submit test
45
+
46
+ Some text containing a link to Terms and Condition which need to be read.
47
+
48
+ Option 1Option 2Option 3
49
+
50
+ 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.
51
+ 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.
52
+
53
+ Large checkbox
54
+
55
+ 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.
56
+ Checkbox inside grid layout
57
+
58
+ #### React (tsx)
59
+
60
+ ```tsx
61
+ import Checkbox from '@rio-cloud/rio-uikit/Checkbox';
62
+ import Divider from '@rio-cloud/rio-uikit/Divider';
63
+
64
+ import { dummyTextShort } from '../../../utils/data';
65
+
66
+ export default () => (
67
+ <div className='row'>
68
+ <fieldset className='col-sm-4'>
69
+ <legend className='margin-bottom-5'>Select multiple</legend>
70
+ <p>
71
+ <Checkbox>Some custom text</Checkbox>
72
+ </p>
73
+ <p>
74
+ <Checkbox defaultChecked>This one is initially checked</Checkbox>
75
+ </p>
76
+ <p>
77
+ <Checkbox indeterminate>Indeterminate state</Checkbox>
78
+ </p>
79
+ </fieldset>
80
+ <fieldset className='col-sm-4'>
81
+ <legend className='margin-bottom-5'>Disabled checkboxes</legend>
82
+ <p>
83
+ <Checkbox disabled>Disabled checkbox</Checkbox>
84
+ </p>
85
+ <p>
86
+ <Checkbox disabled defaultChecked>
87
+ Disabled checked checkbox
88
+ </Checkbox>
89
+ </p>
90
+ </fieldset>
91
+ <fieldset className='col-sm-4'>
92
+ <legend className='margin-bottom-5'>Various props</legend>
93
+ <p>
94
+ <Checkbox label='Checkbox with provided label' />
95
+ </p>
96
+ <p>
97
+ <Checkbox error label='Checkbox with error state' />
98
+ </p>
99
+ <form>
100
+ <p>
101
+ <Checkbox required label='Required Checkbox *' />
102
+ </p>
103
+ <button className='btn btn-primary' type='submit'>
104
+ Required submit test
105
+ </button>
106
+ </form>
107
+ </fieldset>
108
+ <div className='col-12'>
109
+ <Divider />
110
+ <p>
111
+ <Checkbox>
112
+ <span>
113
+ Some text containing a link to <span className='link'>Terms and Condition</span> which need to
114
+ be read.
115
+ </span>
116
+ </Checkbox>
117
+ </p>
118
+ <Divider />
119
+ <p>
120
+ <Checkbox inline>Option 1</Checkbox>
121
+ <Checkbox inline>Option 2</Checkbox>
122
+ <Checkbox inline>Option 3</Checkbox>
123
+ </p>
124
+ <Divider />
125
+ <div className='display-flex content-space-between gap-20'>
126
+ <Checkbox>{dummyTextShort}</Checkbox>
127
+
128
+ <Checkbox right>{dummyTextShort}</Checkbox>
129
+ </div>
130
+ <Divider />
131
+ <p>
132
+ <Checkbox size='large'>Large checkbox</Checkbox>
133
+ </p>
134
+ <Divider />
135
+ <p>
136
+ <Checkbox />
137
+ </p>
138
+ <Divider />
139
+ </div>
140
+ <div className='col-12'>
141
+ <div className='display-grid gap-20 align-items-baseline grid-cols-9'>
142
+ <div className='grid-colspan-3'>{dummyTextShort}</div>
143
+ <div className='grid-colspan-4'>
144
+ <Checkbox label='Checkbox inside grid layout' />
145
+ </div>
146
+ </div>
147
+ </div>
148
+ </div>
149
+ );
150
+ ```
151
+
152
+ #### HTML (html)
153
+
154
+ ```html
155
+ <div class="row">
156
+ <fieldset class="col-sm-4">
157
+ <legend class="margin-bottom-5">Select multiple</legend>
158
+ <p>
159
+ <label class="checkbox" tabindex="0">
160
+ <input type="checkbox" class="">
161
+ <span class="checkbox-text">
162
+ <span>Some custom text</span>
163
+ </span>
164
+ </label>
165
+ </p>
166
+ <p>
167
+ <label class="checkbox" tabindex="0">
168
+ <input type="checkbox" class="" checked="">
169
+ <span class="checkbox-text">
170
+ <span>This one is initially checked</span>
171
+ </span>
172
+ </label>
173
+ </p>
174
+ <p>
175
+ <label class="checkbox" tabindex="0">
176
+ <input type="checkbox" class="indeterminate">
177
+ <span class="checkbox-text">
178
+ <span>Indeterminate state</span>
179
+ </span>
180
+ </label>
181
+ </p>
182
+ </fieldset>
183
+ <fieldset class="col-sm-4">
184
+ <legend class="margin-bottom-5">Disabled checkboxes</legend>
185
+ <p>
186
+ <label class="checkbox" tabindex="0">
187
+ <input type="checkbox" disabled="" class="">
188
+ <span class="checkbox-text">
189
+ <span>Disabled checkbox</span>
190
+ </span>
191
+ </label>
192
+ </p>
193
+ <p>
194
+ <label class="checkbox" tabindex="0">
195
+ <input type="checkbox" disabled="" class="" checked="">
196
+ <span class="checkbox-text">
197
+ <span>Disabled checked checkbox</span>
198
+ </span>
199
+ </label>
200
+ </p>
201
+ </fieldset>
202
+ <fieldset class="col-sm-4">
203
+ <legend class="margin-bottom-5">Various props</legend>
204
+ <p>
205
+ <label class="checkbox" tabindex="0">
206
+ <input type="checkbox" class="">
207
+ <span class="checkbox-text">
208
+ <span>Checkbox with provided label</span>
209
+ </span>
210
+ </label>
211
+ </p>
212
+ <p>
213
+ <label class="checkbox" tabindex="0">
214
+ <input type="checkbox" class="error">
215
+ <span class="checkbox-text">
216
+ <span>Checkbox with error state</span>
217
+ </span>
218
+ </label>
219
+ </p>
220
+ <form>
221
+ <p>
222
+ <label class="checkbox" tabindex="0">
223
+ <input type="checkbox" required="" class="">
224
+ <span class="checkbox-text">
225
+ <span>Required Checkbox *</span>
226
+ </span>
227
+ </label>
228
+ </p>
229
+ <button class="btn btn-primary" type="submit">Required submit test</button>
230
+ </form>
231
+ </fieldset>
232
+ <div class="col-12">
233
+ <div class="Divider position-relative width-100pct" style="padding-top: 15px; padding-bottom: 15px;">
234
+ <div class="divider-line bg-light" style="width: 100%; height: 1px;">
235
+ </div>
236
+ </div>
237
+ <p>
238
+ <label class="checkbox" tabindex="0">
239
+ <input type="checkbox" class="">
240
+ <span class="checkbox-text">
241
+ <span>
242
+ <span>Some text containing a link to <span class="link">Terms and Condition</span> which need to be read.</span>
243
+ </span>
244
+ </span>
245
+ </label>
246
+ </p>
247
+ <div class="Divider position-relative width-100pct" style="padding-top: 15px; padding-bottom: 15px;">
248
+ <div class="divider-line bg-light" style="width: 100%; height: 1px;">
249
+ </div>
250
+ </div>
251
+ <p>
252
+ <label class="checkbox checkbox-inline" tabindex="0">
253
+ <input type="checkbox" class="">
254
+ <span class="checkbox-text">
255
+ <span>Option 1</span>
256
+ </span>
257
+ </label>
258
+ <label class="checkbox checkbox-inline" tabindex="0">
259
+ <input type="checkbox" class="">
260
+ <span class="checkbox-text">
261
+ <span>Option 2</span>
262
+ </span>
263
+ </label>
264
+ <label class="checkbox checkbox-inline" tabindex="0">
265
+ <input type="checkbox" class="">
266
+ <span class="checkbox-text">
267
+ <span>Option 3</span>
268
+ </span>
269
+ </label>
270
+ </p>
271
+ <div class="Divider position-relative width-100pct" style="padding-top: 15px; padding-bottom: 15px;">
272
+ <div class="divider-line bg-light" style="width: 100%; height: 1px;">
273
+ </div>
274
+ </div>
275
+ <div class="display-flex content-space-between gap-20">
276
+ <label class="checkbox" tabindex="0">
277
+ <input type="checkbox" class="">
278
+ <span class="checkbox-text">
279
+ <span>
280
+ 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.</span>
281
+ </span>
282
+ </label>
283
+ <label class="checkbox checkbox-right" tabindex="0">
284
+ <input type="checkbox" class="">
285
+ <span class="checkbox-text">
286
+ <span>
287
+ 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.</span>
288
+ </span>
289
+ </label>
290
+ </div>
291
+ <div class="Divider position-relative width-100pct" style="padding-top: 15px; padding-bottom: 15px;">
292
+ <div class="divider-line bg-light" style="width: 100%; height: 1px;">
293
+ </div>
294
+ </div>
295
+ <p>
296
+ <label class="checkbox checkbox-large" tabindex="0">
297
+ <input type="checkbox" class="large">
298
+ <span class="checkbox-text">
299
+ <span>Large checkbox</span>
300
+ </span>
301
+ </label>
302
+ </p>
303
+ <div class="Divider position-relative width-100pct" style="padding-top: 15px; padding-bottom: 15px;">
304
+ <div class="divider-line bg-light" style="width: 100%; height: 1px;">
305
+ </div>
306
+ </div>
307
+ <p>
308
+ <label class="checkbox" tabindex="0">
309
+ <input type="checkbox" class="">
310
+ <span class="checkbox-text">
311
+ </span>
312
+ </label>
313
+ </p>
314
+ <div class="Divider position-relative width-100pct" style="padding-top: 15px; padding-bottom: 15px;">
315
+ <div class="divider-line bg-light" style="width: 100%; height: 1px;">
316
+ </div>
317
+ </div>
318
+ </div>
319
+ <div class="col-12">
320
+ <div class="display-grid gap-20 align-items-baseline grid-cols-9">
321
+ <div class="grid-colspan-3">
322
+ 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.</div>
323
+ <div class="grid-colspan-4">
324
+ <label class="checkbox" tabindex="0">
325
+ <input type="checkbox" class="">
326
+ <span class="checkbox-text">
327
+ <span>Checkbox inside grid layout</span>
328
+ </span>
329
+ </label>
330
+ </div>
331
+ </div>
332
+ </div>
333
+ </div>
334
+ ```
335
+
336
+ #### Props
337
+
338
+ | Name | Type | Default | Description |
339
+ | --- | --- | --- | --- |
340
+ | id | String | — | Passed through as HTML attribute to the underlying input. id. (Uses name otherwise.) |
341
+ | name | String | — | Passed through as HTML attribute to the underlying inputname. |
342
+ | label | String / Node | — | Define some text as a label. |
343
+ | checked | String / Boolean | — | Defines whether the checkbox is checked or not (state cannot be changed). |
344
+ | defaultChecked | String / Boolean | — | Defines whether the checkbox is initially checked or not (state can be changed on click). |
345
+ | disabled | Boolean | false | Defines whether the checkbox is disabled or not. |
346
+ | indeterminate | Boolean | false | Defines if the checkbox is in an indeterminate state with regards to other checkboxes that may be in different selection state. |
347
+ | inline | Boolean | false | Defines whether the checkbox is applying an inline style. Use this in combination with other checkboxes. |
348
+ | right | Boolean | false | Defines whether the checkbox is on the right side. |
349
+ | custom | Boolean | false | Allows for rendering a completely different layout with or without a checkbox tick. |
350
+ | onClick | Function | () => {} | Callback function that is invoked when the checkbox is checked or unchecked. |
351
+ | onChange | Function | () => {} | Callback function that is invoked when the checkbox value changes. This will also be invoked by a keyboard event. |
352
+ | error | Boolean | false | Use "error" to change color of the checkbox. |
353
+ | required | Boolean | false | Defines whether the checkbox is required or not. |
354
+ | size | String | — | Defines the size of the checkbox. Omitting this prop renders the Checkbox in normal size. Possible values are: 'large' |
355
+ | tabIndex | Number | 0 | The tabindex attribute allows developers to make HTML elements focusable, allow or prevent them from being sequentially focusable (usually with the Tab key, hence the name) and determine their relative ordering for sequential focus navigation. See tabIndex |
356
+ | className | String | — | Additional classes to be set on the input field. |
357
+ | children | any | — | Any element to be rendered next to the checkbox. |
358
+ | icon | String | — | Define a custom icon for the checkbox by naming a rioglyph icon like "rioglyph-truck". |
359
+ | iconSize | Number | — | The icon size in pixel. |
360
+ | iconLabelPosition | String | — | The label position for a custom icon checkbox. Using this on a regular checkbox has no effect. Possible values are: "horizontal" or "vertical". |
361
+ | inputRef | Ref | — | A react ref assigned to the input itself. |
362
+
363
+ ## Controlled example
364
+
365
+ ### Example: Example 2
366
+
367
+ Option 1Option 2Option 3
368
+
369
+ #### Summary
370
+
371
+ Option 1Option 2Option 3
372
+
373
+ #### React (tsx)
374
+
375
+ ```tsx
376
+ import { useState } from 'react';
377
+ import { pull } from 'es-toolkit/compat';
378
+
379
+ import Checkbox from '@rio-cloud/rio-uikit/Checkbox';
380
+
381
+ export default () => {
382
+ const [selectedOptions, setSelectedOptions] = useState([1]);
383
+
384
+ const handleSelect = (selected: number) => {
385
+ const updatedSelectedOptions = selectedOptions.includes(selected)
386
+ ? pull(selectedOptions, selected)
387
+ : [...selectedOptions, selected];
388
+
389
+ setSelectedOptions(updatedSelectedOptions);
390
+ };
391
+
392
+ return (
393
+ <div>
394
+ <Checkbox onChange={() => handleSelect(1)} checked={selectedOptions.includes(1)} inline>
395
+ Option 1
396
+ </Checkbox>
397
+ <Checkbox onChange={() => handleSelect(2)} checked={selectedOptions.includes(2)} inline>
398
+ Option 2
399
+ </Checkbox>
400
+ <Checkbox onChange={() => handleSelect(3)} checked={selectedOptions.includes(3)} inline>
401
+ Option 3
402
+ </Checkbox>
403
+ </div>
404
+ );
405
+ };
406
+ ```
407
+
408
+ #### HTML (html)
409
+
410
+ ```html
411
+ <div>
412
+ <label class="checkbox checkbox-inline" tabindex="0">
413
+ <input type="checkbox" class="" checked="">
414
+ <span class="checkbox-text">
415
+ <span>Option 1</span>
416
+ </span>
417
+ </label>
418
+ <label class="checkbox checkbox-inline" tabindex="0">
419
+ <input type="checkbox" class="">
420
+ <span class="checkbox-text">
421
+ <span>Option 2</span>
422
+ </span>
423
+ </label>
424
+ <label class="checkbox checkbox-inline" tabindex="0">
425
+ <input type="checkbox" class="">
426
+ <span class="checkbox-text">
427
+ <span>Option 3</span>
428
+ </span>
429
+ </label>
430
+ </div>
431
+ ```
432
+
433
+ #### Props
434
+
435
+ | Name | Type | Default | Description |
436
+ | --- | --- | --- | --- |
437
+ | id | String | — | Passed through as HTML attribute to the underlying input. id. (Uses name otherwise.) |
438
+ | name | String | — | Passed through as HTML attribute to the underlying inputname. |
439
+ | label | String / Node | — | Define some text as a label. |
440
+ | checked | String / Boolean | — | Defines whether the checkbox is checked or not (state cannot be changed). |
441
+ | defaultChecked | String / Boolean | — | Defines whether the checkbox is initially checked or not (state can be changed on click). |
442
+ | disabled | Boolean | false | Defines whether the checkbox is disabled or not. |
443
+ | indeterminate | Boolean | false | Defines if the checkbox is in an indeterminate state with regards to other checkboxes that may be in different selection state. |
444
+ | inline | Boolean | false | Defines whether the checkbox is applying an inline style. Use this in combination with other checkboxes. |
445
+ | right | Boolean | false | Defines whether the checkbox is on the right side. |
446
+ | custom | Boolean | false | Allows for rendering a completely different layout with or without a checkbox tick. |
447
+ | onClick | Function | () => {} | Callback function that is invoked when the checkbox is checked or unchecked. |
448
+ | onChange | Function | () => {} | Callback function that is invoked when the checkbox value changes. This will also be invoked by a keyboard event. |
449
+ | error | Boolean | false | Use "error" to change color of the checkbox. |
450
+ | required | Boolean | false | Defines whether the checkbox is required or not. |
451
+ | size | String | — | Defines the size of the checkbox. Omitting this prop renders the Checkbox in normal size. Possible values are: 'large' |
452
+ | tabIndex | Number | 0 | The tabindex attribute allows developers to make HTML elements focusable, allow or prevent them from being sequentially focusable (usually with the Tab key, hence the name) and determine their relative ordering for sequential focus navigation. See tabIndex |
453
+ | className | String | — | Additional classes to be set on the input field. |
454
+ | children | any | — | Any element to be rendered next to the checkbox. |
455
+ | icon | String | — | Define a custom icon for the checkbox by naming a rioglyph icon like "rioglyph-truck". |
456
+ | iconSize | Number | — | The icon size in pixel. |
457
+ | iconLabelPosition | String | — | The label position for a custom icon checkbox. Using this on a regular checkbox has no effect. Possible values are: "horizontal" or "vertical". |
458
+ | inputRef | Ref | — | A react ref assigned to the input itself. |
459
+
460
+ ## Custom card example
461
+
462
+ > Note: When using the custom option, make sure to wrap the children with the class name checkbox-text-wrapper. For using the checkbox tick, use an element with class name checkbox-text.
463
+
464
+ ### Example: This option is a first option
465
+
466
+ Custom checkbox listOption 1
467
+ This option is a first option
468
+
469
+ Option 2
470
+ This option is a second option
471
+
472
+ Option 3
473
+ This option is a third option
474
+
475
+ Custom checkbox list as pick list without tickBanana
476
+ Peach
477
+ Pear
478
+ Strawberry
479
+
480
+ #### Summary
481
+
482
+ Custom checkbox listOption 1
483
+ This option is a first option
484
+
485
+ Option 2
486
+ This option is a second option
487
+
488
+ Option 3
489
+ This option is a third option
490
+
491
+ Custom checkbox list as pick list without tickBanana
492
+ Peach
493
+ Pear
494
+ Strawberry
495
+
496
+ #### React (tsx)
497
+
498
+ ```tsx
499
+ import { useState } from 'react';
500
+ import { pull } from 'es-toolkit/compat';
501
+
502
+ import Checkbox from '@rio-cloud/rio-uikit/Checkbox';
503
+
504
+ const getCheckboxClasses = (isSelected: boolean) =>
505
+ `padding-15 user-select-none border rounded ${isSelected ? 'border-color-highlight' : ''}`;
506
+
507
+ const getPicklistCheckboxClasses = (isSelected: boolean) =>
508
+ `padding-x-15 padding-y-5 user-select-none rounded shadow-accent ${isSelected ? 'border-color-highlight bg-highlight text-color-white' : 'hover-bg-highlight-decent text-color-darker'}`;
509
+
510
+ export default () => {
511
+ const [selectedOptions, setSelectedOptions] = useState([1]);
512
+
513
+ const handleSelect = (selected: number) => {
514
+ const updatedSelectedOptions = selectedOptions.includes(selected)
515
+ ? pull(selectedOptions, selected)
516
+ : [...selectedOptions, selected];
517
+
518
+ setSelectedOptions(updatedSelectedOptions);
519
+ };
520
+
521
+ return (
522
+ <form>
523
+ <fieldset className='display-flex gap-15 margin-bottom-50'>
524
+ <legend className='margin-bottom-20'>Custom checkbox list</legend>
525
+ <Checkbox
526
+ onChange={() => handleSelect(1)}
527
+ checked={selectedOptions.includes(1)}
528
+ custom
529
+ className={getCheckboxClasses(selectedOptions.includes(1))}
530
+ >
531
+ <div className='checkbox-text-wrapper display-flex justify-content-between'>
532
+ <div className='margin-right-15'>
533
+ <div className='text-medium text-size-16 text-color-darker'>Option 1</div>
534
+ <div className='text-color-dark'>This option is a first option</div>
535
+ </div>
536
+ <div className='checkbox-text' />
537
+ </div>
538
+ </Checkbox>
539
+ <Checkbox
540
+ onChange={() => handleSelect(2)}
541
+ checked={selectedOptions.includes(2)}
542
+ custom
543
+ className={getCheckboxClasses(selectedOptions.includes(2))}
544
+ >
545
+ <div className='checkbox-text-wrapper display-flex justify-content-between'>
546
+ <div className='margin-right-15'>
547
+ <div className='text-medium text-size-16 text-color-darker'>Option 2</div>
548
+ <div className='text-color-dark'>This option is a second option</div>
549
+ </div>
550
+ <div className='checkbox-text' />
551
+ </div>
552
+ </Checkbox>
553
+ <Checkbox
554
+ onChange={() => handleSelect(3)}
555
+ checked={selectedOptions.includes(3)}
556
+ custom
557
+ className={getCheckboxClasses(selectedOptions.includes(3))}
558
+ >
559
+ <div className='checkbox-text-wrapper display-flex justify-content-between'>
560
+ <div className='margin-right-15'>
561
+ <div className='text-medium text-size-16 text-color-darker'>Option 3</div>
562
+ <div className='text-color-dark'>This option is a third option</div>
563
+ </div>
564
+ <div className='checkbox-text' />
565
+ </div>
566
+ </Checkbox>
567
+ </fieldset>
568
+
569
+ <fieldset className='display-flex gap-5'>
570
+ <legend className='margin-bottom-20'>Custom checkbox list as pick list without tick</legend>
571
+ <Checkbox
572
+ onChange={() => handleSelect(4)}
573
+ checked={selectedOptions.includes(4)}
574
+ custom
575
+ className={getPicklistCheckboxClasses(selectedOptions.includes(4))}
576
+ >
577
+ <div className='checkbox-text-wrapper'>Banana</div>
578
+ </Checkbox>
579
+ <Checkbox
580
+ onChange={() => handleSelect(5)}
581
+ checked={selectedOptions.includes(5)}
582
+ custom
583
+ className={getPicklistCheckboxClasses(selectedOptions.includes(5))}
584
+ >
585
+ <div className='checkbox-text-wrapper'>Peach</div>
586
+ </Checkbox>
587
+ <Checkbox
588
+ onChange={() => handleSelect(6)}
589
+ checked={selectedOptions.includes(6)}
590
+ custom
591
+ className={getPicklistCheckboxClasses(selectedOptions.includes(6))}
592
+ >
593
+ <div className='checkbox-text-wrapper'>Pear</div>
594
+ </Checkbox>
595
+ <Checkbox
596
+ onChange={() => handleSelect(7)}
597
+ checked={selectedOptions.includes(7)}
598
+ custom
599
+ className={getPicklistCheckboxClasses(selectedOptions.includes(7))}
600
+ >
601
+ <div className='checkbox-text-wrapper'>Strawberry</div>
602
+ </Checkbox>
603
+ </fieldset>
604
+ </form>
605
+ );
606
+ };
607
+ ```
608
+
609
+ #### HTML (html)
610
+
611
+ ```html
612
+ <form>
613
+ <fieldset class="display-flex gap-15 margin-bottom-50">
614
+ <legend class="margin-bottom-20">Custom checkbox list</legend>
615
+ <label class="checkbox padding-15 user-select-none border rounded border-color-highlight" tabindex="0">
616
+ <input type="checkbox" class="padding-15 user-select-none border rounded border-color-highlight" checked="">
617
+ <div class="checkbox-text-wrapper display-flex justify-content-between">
618
+ <div class="margin-right-15">
619
+ <div class="text-medium text-size-16 text-color-darker">Option 1</div>
620
+ <div class="text-color-dark">This option is a first option</div>
621
+ </div>
622
+ <div class="checkbox-text">
623
+ </div>
624
+ </div>
625
+ </label>
626
+ <label class="checkbox padding-15 user-select-none border rounded " tabindex="0">
627
+ <input type="checkbox" class="padding-15 user-select-none border rounded ">
628
+ <div class="checkbox-text-wrapper display-flex justify-content-between">
629
+ <div class="margin-right-15">
630
+ <div class="text-medium text-size-16 text-color-darker">Option 2</div>
631
+ <div class="text-color-dark">This option is a second option</div>
632
+ </div>
633
+ <div class="checkbox-text">
634
+ </div>
635
+ </div>
636
+ </label>
637
+ <label class="checkbox padding-15 user-select-none border rounded " tabindex="0">
638
+ <input type="checkbox" class="padding-15 user-select-none border rounded ">
639
+ <div class="checkbox-text-wrapper display-flex justify-content-between">
640
+ <div class="margin-right-15">
641
+ <div class="text-medium text-size-16 text-color-darker">Option 3</div>
642
+ <div class="text-color-dark">This option is a third option</div>
643
+ </div>
644
+ <div class="checkbox-text">
645
+ </div>
646
+ </div>
647
+ </label>
648
+ </fieldset>
649
+ <fieldset class="display-flex gap-5">
650
+ <legend class="margin-bottom-20">Custom checkbox list as pick list without tick</legend>
651
+ <label class="checkbox padding-x-15 padding-y-5 user-select-none rounded shadow-accent hover-bg-highlight-decent text-color-darker" tabindex="0">
652
+ <input type="checkbox" class="padding-x-15 padding-y-5 user-select-none rounded shadow-accent hover-bg-highlight-decent text-color-darker">
653
+ <div class="checkbox-text-wrapper">Banana</div>
654
+ </label>
655
+ <label class="checkbox padding-x-15 padding-y-5 user-select-none rounded shadow-accent hover-bg-highlight-decent text-color-darker" tabindex="0">
656
+ <input type="checkbox" class="padding-x-15 padding-y-5 user-select-none rounded shadow-accent hover-bg-highlight-decent text-color-darker">
657
+ <div class="checkbox-text-wrapper">Peach</div>
658
+ </label>
659
+ <label class="checkbox padding-x-15 padding-y-5 user-select-none rounded shadow-accent hover-bg-highlight-decent text-color-darker" tabindex="0">
660
+ <input type="checkbox" class="padding-x-15 padding-y-5 user-select-none rounded shadow-accent hover-bg-highlight-decent text-color-darker">
661
+ <div class="checkbox-text-wrapper">Pear</div>
662
+ </label>
663
+ <label class="checkbox padding-x-15 padding-y-5 user-select-none rounded shadow-accent hover-bg-highlight-decent text-color-darker" tabindex="0">
664
+ <input type="checkbox" class="padding-x-15 padding-y-5 user-select-none rounded shadow-accent hover-bg-highlight-decent text-color-darker">
665
+ <div class="checkbox-text-wrapper">Strawberry</div>
666
+ </label>
667
+ </fieldset>
668
+ </form>
669
+ ```
670
+
671
+ #### Props
672
+
673
+ | Name | Type | Default | Description |
674
+ | --- | --- | --- | --- |
675
+ | id | String | — | Passed through as HTML attribute to the underlying input. id. (Uses name otherwise.) |
676
+ | name | String | — | Passed through as HTML attribute to the underlying inputname. |
677
+ | label | String / Node | — | Define some text as a label. |
678
+ | checked | String / Boolean | — | Defines whether the checkbox is checked or not (state cannot be changed). |
679
+ | defaultChecked | String / Boolean | — | Defines whether the checkbox is initially checked or not (state can be changed on click). |
680
+ | disabled | Boolean | false | Defines whether the checkbox is disabled or not. |
681
+ | indeterminate | Boolean | false | Defines if the checkbox is in an indeterminate state with regards to other checkboxes that may be in different selection state. |
682
+ | inline | Boolean | false | Defines whether the checkbox is applying an inline style. Use this in combination with other checkboxes. |
683
+ | right | Boolean | false | Defines whether the checkbox is on the right side. |
684
+ | custom | Boolean | false | Allows for rendering a completely different layout with or without a checkbox tick. |
685
+ | onClick | Function | () => {} | Callback function that is invoked when the checkbox is checked or unchecked. |
686
+ | onChange | Function | () => {} | Callback function that is invoked when the checkbox value changes. This will also be invoked by a keyboard event. |
687
+ | error | Boolean | false | Use "error" to change color of the checkbox. |
688
+ | required | Boolean | false | Defines whether the checkbox is required or not. |
689
+ | size | String | — | Defines the size of the checkbox. Omitting this prop renders the Checkbox in normal size. Possible values are: 'large' |
690
+ | tabIndex | Number | 0 | The tabindex attribute allows developers to make HTML elements focusable, allow or prevent them from being sequentially focusable (usually with the Tab key, hence the name) and determine their relative ordering for sequential focus navigation. See tabIndex |
691
+ | className | String | — | Additional classes to be set on the input field. |
692
+ | children | any | — | Any element to be rendered next to the checkbox. |
693
+ | icon | String | — | Define a custom icon for the checkbox by naming a rioglyph icon like "rioglyph-truck". |
694
+ | iconSize | Number | — | The icon size in pixel. |
695
+ | iconLabelPosition | String | — | The label position for a custom icon checkbox. Using this on a regular checkbox has no effect. Possible values are: "horizontal" or "vertical". |
696
+ | inputRef | Ref | — | A react ref assigned to the input itself. |
697
+
698
+ ## Custom list example
699
+
700
+ ### Example: This option is a first option
701
+
702
+ Custom checkbox list
703
+ Option 1
704
+ This option is a first option
705
+
706
+ Option 2
707
+ This option is a second option
708
+
709
+ Option 3
710
+ This option is a third option
711
+
712
+ #### Summary
713
+
714
+ Custom checkbox list
715
+ Option 1
716
+ This option is a first option
717
+
718
+ Option 2
719
+ This option is a second option
720
+
721
+ Option 3
722
+ This option is a third option
723
+
724
+ #### React (tsx)
725
+
726
+ ```tsx
727
+ import { useState } from 'react';
728
+ import { pull } from 'es-toolkit/compat';
729
+
730
+ import Checkbox from '@rio-cloud/rio-uikit/Checkbox';
731
+
732
+ export default () => {
733
+ const [selectedOptions, setSelectedOptions] = useState([1]);
734
+
735
+ const handleSelect = (selected: number) => {
736
+ const updatedSelectedOptions = selectedOptions.includes(selected)
737
+ ? pull(selectedOptions, selected)
738
+ : [...selectedOptions, selected];
739
+
740
+ setSelectedOptions(updatedSelectedOptions);
741
+ };
742
+
743
+ return (
744
+ <fieldset className='display-flex flex-column width-300'>
745
+ <legend>Custom checkbox list</legend>
746
+ <div className='border rounded'>
747
+ <Checkbox
748
+ onChange={() => handleSelect(1)}
749
+ checked={selectedOptions.includes(1)}
750
+ custom
751
+ className='padding-15 border border-bottom-only user-select-none hover-bg-highlight-decent rounded-top'
752
+ >
753
+ <div className='checkbox-text-wrapper display-flex gap-10'>
754
+ <div className='checkbox-text' />
755
+ <div className='flex-1-1'>
756
+ <div className='text-medium text-size-16 text-color-darker'>Option 1</div>
757
+ <div className='text-color-dark'>This option is a first option</div>
758
+ </div>
759
+ </div>
760
+ </Checkbox>
761
+ <Checkbox
762
+ onChange={() => handleSelect(2)}
763
+ checked={selectedOptions.includes(2)}
764
+ custom
765
+ className='padding-15 border border-bottom-only user-select-none hover-bg-highlight-decent'
766
+ >
767
+ <div className='checkbox-text-wrapper display-flex gap-10'>
768
+ <div className='checkbox-text' />
769
+ <div className='flex-1-1'>
770
+ <div className='text-medium text-size-16 text-color-darker'>Option 2</div>
771
+ <div className='text-color-dark'>This option is a second option</div>
772
+ </div>
773
+ </div>
774
+ </Checkbox>
775
+ <Checkbox
776
+ onChange={() => handleSelect(3)}
777
+ checked={selectedOptions.includes(3)}
778
+ custom
779
+ className='padding-15 user-select-none hover-bg-highlight-decent rounded-bottom'
780
+ >
781
+ <div className='checkbox-text-wrapper display-flex gap-10'>
782
+ <div className='checkbox-text' />
783
+ <div className='flex-1-1'>
784
+ <div className='text-medium text-size-16 text-color-darker'>Option 3</div>
785
+ <div className='text-color-dark'>This option is a third option</div>
786
+ </div>
787
+ </div>
788
+ </Checkbox>
789
+ </div>
790
+ </fieldset>
791
+ );
792
+ };
793
+ ```
794
+
795
+ #### HTML (html)
796
+
797
+ ```html
798
+ <fieldset class="display-flex flex-column width-300">
799
+ <legend>Custom checkbox list</legend>
800
+ <div class="border rounded">
801
+ <label class="checkbox padding-15 border border-bottom-only user-select-none hover-bg-highlight-decent rounded-top" tabindex="0">
802
+ <input type="checkbox" class="padding-15 border border-bottom-only user-select-none hover-bg-highlight-decent rounded-top" checked="">
803
+ <div class="checkbox-text-wrapper display-flex gap-10">
804
+ <div class="checkbox-text">
805
+ </div>
806
+ <div class="flex-1-1">
807
+ <div class="text-medium text-size-16 text-color-darker">Option 1</div>
808
+ <div class="text-color-dark">This option is a first option</div>
809
+ </div>
810
+ </div>
811
+ </label>
812
+ <label class="checkbox padding-15 border border-bottom-only user-select-none hover-bg-highlight-decent" tabindex="0">
813
+ <input type="checkbox" class="padding-15 border border-bottom-only user-select-none hover-bg-highlight-decent">
814
+ <div class="checkbox-text-wrapper display-flex gap-10">
815
+ <div class="checkbox-text">
816
+ </div>
817
+ <div class="flex-1-1">
818
+ <div class="text-medium text-size-16 text-color-darker">Option 2</div>
819
+ <div class="text-color-dark">This option is a second option</div>
820
+ </div>
821
+ </div>
822
+ </label>
823
+ <label class="checkbox padding-15 user-select-none hover-bg-highlight-decent rounded-bottom" tabindex="0">
824
+ <input type="checkbox" class="padding-15 user-select-none hover-bg-highlight-decent rounded-bottom">
825
+ <div class="checkbox-text-wrapper display-flex gap-10">
826
+ <div class="checkbox-text">
827
+ </div>
828
+ <div class="flex-1-1">
829
+ <div class="text-medium text-size-16 text-color-darker">Option 3</div>
830
+ <div class="text-color-dark">This option is a third option</div>
831
+ </div>
832
+ </div>
833
+ </label>
834
+ </div>
835
+ </fieldset>
836
+ ```
837
+
838
+ #### Props
839
+
840
+ | Name | Type | Default | Description |
841
+ | --- | --- | --- | --- |
842
+ | id | String | — | Passed through as HTML attribute to the underlying input. id. (Uses name otherwise.) |
843
+ | name | String | — | Passed through as HTML attribute to the underlying inputname. |
844
+ | label | String / Node | — | Define some text as a label. |
845
+ | checked | String / Boolean | — | Defines whether the checkbox is checked or not (state cannot be changed). |
846
+ | defaultChecked | String / Boolean | — | Defines whether the checkbox is initially checked or not (state can be changed on click). |
847
+ | disabled | Boolean | false | Defines whether the checkbox is disabled or not. |
848
+ | indeterminate | Boolean | false | Defines if the checkbox is in an indeterminate state with regards to other checkboxes that may be in different selection state. |
849
+ | inline | Boolean | false | Defines whether the checkbox is applying an inline style. Use this in combination with other checkboxes. |
850
+ | right | Boolean | false | Defines whether the checkbox is on the right side. |
851
+ | custom | Boolean | false | Allows for rendering a completely different layout with or without a checkbox tick. |
852
+ | onClick | Function | () => {} | Callback function that is invoked when the checkbox is checked or unchecked. |
853
+ | onChange | Function | () => {} | Callback function that is invoked when the checkbox value changes. This will also be invoked by a keyboard event. |
854
+ | error | Boolean | false | Use "error" to change color of the checkbox. |
855
+ | required | Boolean | false | Defines whether the checkbox is required or not. |
856
+ | size | String | — | Defines the size of the checkbox. Omitting this prop renders the Checkbox in normal size. Possible values are: 'large' |
857
+ | tabIndex | Number | 0 | The tabindex attribute allows developers to make HTML elements focusable, allow or prevent them from being sequentially focusable (usually with the Tab key, hence the name) and determine their relative ordering for sequential focus navigation. See tabIndex |
858
+ | className | String | — | Additional classes to be set on the input field. |
859
+ | children | any | — | Any element to be rendered next to the checkbox. |
860
+ | icon | String | — | Define a custom icon for the checkbox by naming a rioglyph icon like "rioglyph-truck". |
861
+ | iconSize | Number | — | The icon size in pixel. |
862
+ | iconLabelPosition | String | — | The label position for a custom icon checkbox. Using this on a regular checkbox has no effect. Possible values are: "horizontal" or "vertical". |
863
+ | inputRef | Ref | — | A react ref assigned to the input itself. |
864
+
865
+ ## Checkbox with custom icon
866
+
867
+ ### Example: Example 5
868
+
869
+ Option 1Option 2Option 3
870
+ Option 1Option 2Option 3
871
+
872
+ #### Summary
873
+
874
+ Option 1Option 2Option 3
875
+ Option 1Option 2Option 3
876
+
877
+ #### React (tsx)
878
+
879
+ ```tsx
880
+ import Checkbox from '@rio-cloud/rio-uikit/Checkbox';
881
+
882
+ export default () => (
883
+ <div>
884
+ <div>
885
+ <Checkbox inline icon='rioglyph-truck' iconLabelPosition={Checkbox.ICON_LABEL_HORIZONTAL}>
886
+ Option 1
887
+ </Checkbox>
888
+ <Checkbox inline icon='rioglyph-bus' iconLabelPosition={Checkbox.ICON_LABEL_HORIZONTAL}>
889
+ Option 2
890
+ </Checkbox>
891
+ <Checkbox inline icon='rioglyph-van' iconLabelPosition='horizontal'>
892
+ Option 3
893
+ </Checkbox>
894
+ </div>
895
+ <hr />
896
+ <div>
897
+ <Checkbox inline className='width-50' icon='rioglyph-truck' iconSize={75}>
898
+ Option 1
899
+ </Checkbox>
900
+ <Checkbox inline icon='rioglyph-bus' iconSize={75}>
901
+ Option 2
902
+ </Checkbox>
903
+ <Checkbox inline icon='rioglyph-van' iconSize={75}>
904
+ Option 3
905
+ </Checkbox>
906
+ </div>
907
+ </div>
908
+ );
909
+ ```
910
+
911
+ #### HTML (html)
912
+
913
+ ```html
914
+ <div>
915
+ <div>
916
+ <label class="checkbox checkbox-inline" tabindex="0">
917
+ <input type="checkbox" class="">
918
+ <span class="checkbox-icon label-horizontal">
919
+ <span class="rioglyph rioglyph-truck" style="width: 16px; height: 16px; font-size: 16px; line-height: 16px;">
920
+ </span>
921
+ <span class="checkbox-label">Option 1</span>
922
+ </span>
923
+ </label>
924
+ <label class="checkbox checkbox-inline" tabindex="0">
925
+ <input type="checkbox" class="">
926
+ <span class="checkbox-icon label-horizontal">
927
+ <span class="rioglyph rioglyph-bus" style="width: 16px; height: 16px; font-size: 16px; line-height: 16px;">
928
+ </span>
929
+ <span class="checkbox-label">Option 2</span>
930
+ </span>
931
+ </label>
932
+ <label class="checkbox checkbox-inline" tabindex="0">
933
+ <input type="checkbox" class="">
934
+ <span class="checkbox-icon label-horizontal">
935
+ <span class="rioglyph rioglyph-van" style="width: 16px; height: 16px; font-size: 16px; line-height: 16px;">
936
+ </span>
937
+ <span class="checkbox-label">Option 3</span>
938
+ </span>
939
+ </label>
940
+ </div>
941
+ <hr>
942
+ <div>
943
+ <label class="checkbox checkbox-inline width-50" tabindex="0">
944
+ <input type="checkbox" class="width-50">
945
+ <span class="checkbox-icon label-vertical">
946
+ <span class="rioglyph rioglyph-truck" style="width: 75px; height: 75px; font-size: 75px; line-height: 75px;">
947
+ </span>
948
+ <span class="checkbox-label">Option 1</span>
949
+ </span>
950
+ </label>
951
+ <label class="checkbox checkbox-inline" tabindex="0">
952
+ <input type="checkbox" class="">
953
+ <span class="checkbox-icon label-vertical">
954
+ <span class="rioglyph rioglyph-bus" style="width: 75px; height: 75px; font-size: 75px; line-height: 75px;">
955
+ </span>
956
+ <span class="checkbox-label">Option 2</span>
957
+ </span>
958
+ </label>
959
+ <label class="checkbox checkbox-inline" tabindex="0">
960
+ <input type="checkbox" class="">
961
+ <span class="checkbox-icon label-vertical">
962
+ <span class="rioglyph rioglyph-van" style="width: 75px; height: 75px; font-size: 75px; line-height: 75px;">
963
+ </span>
964
+ <span class="checkbox-label">Option 3</span>
965
+ </span>
966
+ </label>
967
+ </div>
968
+ </div>
969
+ ```
970
+
971
+ #### Props
972
+
973
+ | Name | Type | Default | Description |
974
+ | --- | --- | --- | --- |
975
+ | id | String | — | Passed through as HTML attribute to the underlying input. id. (Uses name otherwise.) |
976
+ | name | String | — | Passed through as HTML attribute to the underlying inputname. |
977
+ | label | String / Node | — | Define some text as a label. |
978
+ | checked | String / Boolean | — | Defines whether the checkbox is checked or not (state cannot be changed). |
979
+ | defaultChecked | String / Boolean | — | Defines whether the checkbox is initially checked or not (state can be changed on click). |
980
+ | disabled | Boolean | false | Defines whether the checkbox is disabled or not. |
981
+ | indeterminate | Boolean | false | Defines if the checkbox is in an indeterminate state with regards to other checkboxes that may be in different selection state. |
982
+ | inline | Boolean | false | Defines whether the checkbox is applying an inline style. Use this in combination with other checkboxes. |
983
+ | right | Boolean | false | Defines whether the checkbox is on the right side. |
984
+ | custom | Boolean | false | Allows for rendering a completely different layout with or without a checkbox tick. |
985
+ | onClick | Function | () => {} | Callback function that is invoked when the checkbox is checked or unchecked. |
986
+ | onChange | Function | () => {} | Callback function that is invoked when the checkbox value changes. This will also be invoked by a keyboard event. |
987
+ | error | Boolean | false | Use "error" to change color of the checkbox. |
988
+ | required | Boolean | false | Defines whether the checkbox is required or not. |
989
+ | size | String | — | Defines the size of the checkbox. Omitting this prop renders the Checkbox in normal size. Possible values are: 'large' |
990
+ | tabIndex | Number | 0 | The tabindex attribute allows developers to make HTML elements focusable, allow or prevent them from being sequentially focusable (usually with the Tab key, hence the name) and determine their relative ordering for sequential focus navigation. See tabIndex |
991
+ | className | String | — | Additional classes to be set on the input field. |
992
+ | children | any | — | Any element to be rendered next to the checkbox. |
993
+ | icon | String | — | Define a custom icon for the checkbox by naming a rioglyph icon like "rioglyph-truck". |
994
+ | iconSize | Number | — | The icon size in pixel. |
995
+ | iconLabelPosition | String | — | The label position for a custom icon checkbox. Using this on a regular checkbox has no effect. Possible values are: "horizontal" or "vertical". |
996
+ | inputRef | Ref | — | A react ref assigned to the input itself. |