@rio-cloud/uikit-mcp 1.0.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 (198) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +91 -0
  3. package/bin/uikit-mcp.mjs +23 -0
  4. package/data/pages/Components/components/accentbar.json +207 -0
  5. package/data/pages/Components/components/activity.json +87 -0
  6. package/data/pages/Components/components/animatednumber.json +99 -0
  7. package/data/pages/Components/components/animations.json +87 -0
  8. package/data/pages/Components/components/appheader.json +291 -0
  9. package/data/pages/Components/components/applayout.json +1198 -0
  10. package/data/pages/Components/components/appnavigationbar.json +327 -0
  11. package/data/pages/Components/components/areacharts.json +563 -0
  12. package/data/pages/Components/components/aspectratioplaceholder.json +75 -0
  13. package/data/pages/Components/components/assettree.json +3080 -0
  14. package/data/pages/Components/components/autosuggests.json +710 -0
  15. package/data/pages/Components/components/avatar.json +157 -0
  16. package/data/pages/Components/components/banner.json +599 -0
  17. package/data/pages/Components/components/barcharts.json +1507 -0
  18. package/data/pages/Components/components/barlist.json +223 -0
  19. package/data/pages/Components/components/basicmap.json +68 -0
  20. package/data/pages/Components/components/bottomsheet.json +601 -0
  21. package/data/pages/Components/components/button.json +583 -0
  22. package/data/pages/Components/components/buttontoolbar.json +63 -0
  23. package/data/pages/Components/components/calendarstripe.json +235 -0
  24. package/data/pages/Components/components/card.json +69 -0
  25. package/data/pages/Components/components/carousel.json +39 -0
  26. package/data/pages/Components/components/chartcolors.json +34 -0
  27. package/data/pages/Components/components/chartsgettingstarted.json +32 -0
  28. package/data/pages/Components/components/chat.json +39 -0
  29. package/data/pages/Components/components/checkbox.json +847 -0
  30. package/data/pages/Components/components/clearableinput.json +789 -0
  31. package/data/pages/Components/components/collapse.json +175 -0
  32. package/data/pages/Components/components/composedcharts.json +159 -0
  33. package/data/pages/Components/components/contentloader.json +233 -0
  34. package/data/pages/Components/components/datatabs.json +680 -0
  35. package/data/pages/Components/components/datepickers.json +287 -0
  36. package/data/pages/Components/components/dialogs.json +1492 -0
  37. package/data/pages/Components/components/divider.json +93 -0
  38. package/data/pages/Components/components/dropdowns.json +936 -0
  39. package/data/pages/Components/components/editablecontent.json +1117 -0
  40. package/data/pages/Components/components/expander.json +377 -0
  41. package/data/pages/Components/components/fade.json +403 -0
  42. package/data/pages/Components/components/fadeexpander.json +75 -0
  43. package/data/pages/Components/components/fadeup.json +127 -0
  44. package/data/pages/Components/components/feedback.json +269 -0
  45. package/data/pages/Components/components/filepickers.json +269 -0
  46. package/data/pages/Components/components/formlabel.json +115 -0
  47. package/data/pages/Components/components/fullscreenmap.json +22 -0
  48. package/data/pages/Components/components/groupeditemlist.json +323 -0
  49. package/data/pages/Components/components/iconlist.json +45 -0
  50. package/data/pages/Components/components/imagepreloader.json +81 -0
  51. package/data/pages/Components/components/labeledelement.json +75 -0
  52. package/data/pages/Components/components/licenseplate.json +69 -0
  53. package/data/pages/Components/components/linecharts.json +987 -0
  54. package/data/pages/Components/components/listmenu.json +313 -0
  55. package/data/pages/Components/components/loadmore.json +175 -0
  56. package/data/pages/Components/components/mainnavigation.json +39 -0
  57. package/data/pages/Components/components/mapcircle.json +34 -0
  58. package/data/pages/Components/components/mapcluster.json +51 -0
  59. package/data/pages/Components/components/mapcontext.json +105 -0
  60. package/data/pages/Components/components/mapdraggablemarker.json +34 -0
  61. package/data/pages/Components/components/mapgettingstarted.json +27 -0
  62. package/data/pages/Components/components/mapgroup.json +1198 -0
  63. package/data/pages/Components/components/mapinfobubble.json +34 -0
  64. package/data/pages/Components/components/maplayergroup.json +34 -0
  65. package/data/pages/Components/components/mapmarker.json +700 -0
  66. package/data/pages/Components/components/mappolygon.json +45 -0
  67. package/data/pages/Components/components/maproute.json +623 -0
  68. package/data/pages/Components/components/maproutegenerator.json +16 -0
  69. package/data/pages/Components/components/mapsettings.json +51 -0
  70. package/data/pages/Components/components/maputils.json +34 -0
  71. package/data/pages/Components/components/multiselects.json +1451 -0
  72. package/data/pages/Components/components/nodata.json +139 -0
  73. package/data/pages/Components/components/notifications.json +65 -0
  74. package/data/pages/Components/components/numbercontrol.json +301 -0
  75. package/data/pages/Components/components/onboarding.json +302 -0
  76. package/data/pages/Components/components/page.json +197 -0
  77. package/data/pages/Components/components/pager.json +93 -0
  78. package/data/pages/Components/components/piecharts.json +731 -0
  79. package/data/pages/Components/components/popover.json +251 -0
  80. package/data/pages/Components/components/position.json +69 -0
  81. package/data/pages/Components/components/radialbarcharts.json +1304 -0
  82. package/data/pages/Components/components/radiobutton.json +1105 -0
  83. package/data/pages/Components/components/releasenotes.json +44 -0
  84. package/data/pages/Components/components/resizer.json +93 -0
  85. package/data/pages/Components/components/responsivecolumnstripe.json +123 -0
  86. package/data/pages/Components/components/responsivevideo.json +75 -0
  87. package/data/pages/Components/components/rioglyph.json +93 -0
  88. package/data/pages/Components/components/rules.json +410 -0
  89. package/data/pages/Components/components/saveableinput.json +703 -0
  90. package/data/pages/Components/components/selects.json +701 -0
  91. package/data/pages/Components/components/sidebar.json +243 -0
  92. package/data/pages/Components/components/sliders.json +235 -0
  93. package/data/pages/Components/components/smoothscrollbars.json +335 -0
  94. package/data/pages/Components/components/spinners.json +343 -0
  95. package/data/pages/Components/components/states.json +1705 -0
  96. package/data/pages/Components/components/statswidgets.json +314 -0
  97. package/data/pages/Components/components/statusbar.json +177 -0
  98. package/data/pages/Components/components/stepbutton.json +57 -0
  99. package/data/pages/Components/components/steppedprogressbars.json +417 -0
  100. package/data/pages/Components/components/subnavigation.json +107 -0
  101. package/data/pages/Components/components/supportmarker.json +45 -0
  102. package/data/pages/Components/components/svgimage.json +81 -0
  103. package/data/pages/Components/components/switch.json +111 -0
  104. package/data/pages/Components/components/tables.json +144 -0
  105. package/data/pages/Components/components/tagmanager.json +86 -0
  106. package/data/pages/Components/components/tags.json +146 -0
  107. package/data/pages/Components/components/teaser.json +188 -0
  108. package/data/pages/Components/components/timeline.json +45 -0
  109. package/data/pages/Components/components/timepicker.json +163 -0
  110. package/data/pages/Components/components/togglebutton.json +247 -0
  111. package/data/pages/Components/components/tooltip.json +270 -0
  112. package/data/pages/Components/components/virtuallist.json +175 -0
  113. package/data/pages/Foundations/foundations.json +2475 -0
  114. package/data/pages/Getting-started/start/changelog.json +22 -0
  115. package/data/pages/Getting-started/start/goodtoknow.json +32 -0
  116. package/data/pages/Getting-started/start/guidelines/color-combinations.json +58 -0
  117. package/data/pages/Getting-started/start/guidelines/custom-css.json +27 -0
  118. package/data/pages/Getting-started/start/guidelines/custom-rioglyph.json +22 -0
  119. package/data/pages/Getting-started/start/guidelines/formatting.json +97 -0
  120. package/data/pages/Getting-started/start/guidelines/iframe.json +93 -0
  121. package/data/pages/Getting-started/start/guidelines/obfuscate-data.json +22 -0
  122. package/data/pages/Getting-started/start/guidelines/print-css.json +37 -0
  123. package/data/pages/Getting-started/start/guidelines/spinner.json +144 -0
  124. package/data/pages/Getting-started/start/guidelines/supported-browsers.json +22 -0
  125. package/data/pages/Getting-started/start/guidelines/writing.json +242 -0
  126. package/data/pages/Getting-started/start/howto.json +72 -0
  127. package/data/pages/Getting-started/start/intro.json +37 -0
  128. package/data/pages/Getting-started/start/responsiveness.json +52 -0
  129. package/data/pages/Templates/templates/common-table.json +39 -0
  130. package/data/pages/Templates/templates/detail-views.json +71 -0
  131. package/data/pages/Templates/templates/expandable-details.json +39 -0
  132. package/data/pages/Templates/templates/feature-cards.json +103 -0
  133. package/data/pages/Templates/templates/form-summary.json +39 -0
  134. package/data/pages/Templates/templates/form-toggle.json +39 -0
  135. package/data/pages/Templates/templates/list-blocks.json +119 -0
  136. package/data/pages/Templates/templates/loading-progress.json +39 -0
  137. package/data/pages/Templates/templates/options-panel.json +39 -0
  138. package/data/pages/Templates/templates/panel-variants.json +39 -0
  139. package/data/pages/Templates/templates/progress-cards.json +71 -0
  140. package/data/pages/Templates/templates/progress-success.json +39 -0
  141. package/data/pages/Templates/templates/settings-form.json +39 -0
  142. package/data/pages/Templates/templates/stats-blocks.json +135 -0
  143. package/data/pages/Templates/templates/table-panel.json +39 -0
  144. package/data/pages/Templates/templates/table-row-animation.json +39 -0
  145. package/data/pages/Templates/templates/usage-cards.json +39 -0
  146. package/data/pages/Utilities/utilities/deviceutils.json +39 -0
  147. package/data/pages/Utilities/utilities/featuretoggles.json +42 -0
  148. package/data/pages/Utilities/utilities/fueltypeutils.json +118 -0
  149. package/data/pages/Utilities/utilities/routeutils.json +34 -0
  150. package/data/pages/Utilities/utilities/useaftermount.json +63 -0
  151. package/data/pages/Utilities/utilities/useaverage.json +86 -0
  152. package/data/pages/Utilities/utilities/useclickoutside.json +69 -0
  153. package/data/pages/Utilities/utilities/useclipboard.json +57 -0
  154. package/data/pages/Utilities/utilities/usecount.json +92 -0
  155. package/data/pages/Utilities/utilities/usedarkmode.json +50 -0
  156. package/data/pages/Utilities/utilities/usedebuginfo.json +63 -0
  157. package/data/pages/Utilities/utilities/useeffectonce.json +57 -0
  158. package/data/pages/Utilities/utilities/useelapsedtime.json +57 -0
  159. package/data/pages/Utilities/utilities/useelementsize.json +63 -0
  160. package/data/pages/Utilities/utilities/useesc.json +57 -0
  161. package/data/pages/Utilities/utilities/useevent.json +75 -0
  162. package/data/pages/Utilities/utilities/usefocustrap.json +57 -0
  163. package/data/pages/Utilities/utilities/usefullscreen.json +197 -0
  164. package/data/pages/Utilities/utilities/usehover.json +57 -0
  165. package/data/pages/Utilities/utilities/useinterval.json +63 -0
  166. package/data/pages/Utilities/utilities/useisfocuswithin.json +75 -0
  167. package/data/pages/Utilities/utilities/usekey.json +75 -0
  168. package/data/pages/Utilities/utilities/uselocalstorage.json +69 -0
  169. package/data/pages/Utilities/utilities/uselocationsuggestions.json +110 -0
  170. package/data/pages/Utilities/utilities/usemax.json +86 -0
  171. package/data/pages/Utilities/utilities/usemin.json +86 -0
  172. package/data/pages/Utilities/utilities/usemutationobserver.json +69 -0
  173. package/data/pages/Utilities/utilities/useonlinestatus.json +39 -0
  174. package/data/pages/Utilities/utilities/useonscreen.json +63 -0
  175. package/data/pages/Utilities/utilities/usepostmessage.json +80 -0
  176. package/data/pages/Utilities/utilities/useprevious.json +63 -0
  177. package/data/pages/Utilities/utilities/useresizeobserver.json +65 -0
  178. package/data/pages/Utilities/utilities/usescrollposition.json +103 -0
  179. package/data/pages/Utilities/utilities/usesearch.json +197 -0
  180. package/data/pages/Utilities/utilities/usesorting.json +139 -0
  181. package/data/pages/Utilities/utilities/usestatewithvalidation.json +69 -0
  182. package/data/pages/Utilities/utilities/usesum.json +86 -0
  183. package/data/pages/Utilities/utilities/usetableexport.json +87 -0
  184. package/data/pages/Utilities/utilities/usetableselection.json +311 -0
  185. package/data/pages/Utilities/utilities/usetimeout.json +63 -0
  186. package/data/pages/Utilities/utilities/usetoggle.json +75 -0
  187. package/data/pages/Utilities/utilities/usewindowresize.json +63 -0
  188. package/data/version.json +4 -0
  189. package/docs/content-schema.md +147 -0
  190. package/docs/navigation-inventory.json +1310 -0
  191. package/docs/search-synonyms.json +43 -0
  192. package/package.json +38 -0
  193. package/server/index.mjs +268 -0
  194. package/server/lib/load-docs.mjs +48 -0
  195. package/server/lib/normalise-doc.mjs +220 -0
  196. package/server/lib/render-markdown.mjs +82 -0
  197. package/server/lib/search-index.mjs +49 -0
  198. package/server/lib/types.js +99 -0
@@ -0,0 +1,343 @@
1
+ {
2
+ "metadata": {
3
+ "captured_at": "2025-11-21T12:07:59.323Z",
4
+ "source": "https://uikit.developers.rio.cloud/#components/spinners",
5
+ "category": "Components",
6
+ "section": "Misc",
7
+ "slug": "components/spinners",
8
+ "version": "v1.13.2",
9
+ "hash_algorithm": "sha256",
10
+ "hash": "3d58aa9483282de283604e2b85fc7bb9f5644fb1906c78b4f56d5f5efb7817f6"
11
+ },
12
+ "title": "Spinner",
13
+ "lead": null,
14
+ "content": [
15
+ {
16
+ "heading": "Spinner",
17
+ "body": "",
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><div class=\"form-group\"><label>Default Spinner</label><div class=\"spinnerInfoBox display-flex justify-content-center align-items-center height-100pct\"><div class=\"spinner\"><div></div><div></div><div></div><div></div></div></div></div><div class=\"form-group\"><label>Double sized Spinner</label><div class=\"spinnerInfoBox display-flex justify-content-center align-items-center height-100pct\"><div class=\"spinner double\"><div></div><div></div><div></div><div></div></div></div></div><div class=\"form-group\"><label>With loading text</label><div class=\"spinnerInfoBox display-flex justify-content-center align-items-center height-100pct\"><div class=\"spinner\"><div></div><div></div><div></div><div></div></div><div class=\"spinnerText\">Loading</div></div></div><div class=\"form-group\"><label>Full sized Spinner (doesn't render without \"show\")</label></div><div class=\"form-group\"><label>Inline Spinner</label><div class=\"spinner\"><div></div><div></div><div></div><div></div></div></div></div></div>",
22
+ "tabs": [
23
+ {
24
+ "label": "React",
25
+ "language": "tsx",
26
+ "code": "import React from 'react';\n\nimport Spinner from '@rio-cloud/rio-uikit/Spinner';\n\nexport default () => (\n <div>\n <div className='form-group'>\n <label>Default Spinner</label>\n <Spinner />\n </div>\n <div className='form-group'>\n <label>Double sized Spinner</label>\n <Spinner isDoubleSized />\n </div>\n <div className='form-group'>\n <label>With loading text</label>\n <Spinner text='Loading' />\n </div>\n <div className='form-group'>\n <label>Full sized Spinner (doesn't render without \"show\")</label>\n <Spinner isFullSized />\n </div>\n <div className='form-group'>\n <label>Inline Spinner</label>\n <Spinner isInline />\n </div>\n </div>\n);"
27
+ },
28
+ {
29
+ "label": "HTML",
30
+ "language": "html",
31
+ "code": "<div>\n <div class=\"form-group\">\n <label>Default Spinner</label>\n <div class=\"spinnerInfoBox display-flex justify-content-center align-items-center height-100pct\">\n <div class=\"spinner\">\n <div>\n </div>\n <div>\n </div>\n <div>\n </div>\n <div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"form-group\">\n <label>Double sized Spinner</label>\n <div class=\"spinnerInfoBox display-flex justify-content-center align-items-center height-100pct\">\n <div class=\"spinner double\">\n <div>\n </div>\n <div>\n </div>\n <div>\n </div>\n <div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"form-group\">\n <label>With loading text</label>\n <div class=\"spinnerInfoBox display-flex justify-content-center align-items-center height-100pct\">\n <div class=\"spinner\">\n <div>\n </div>\n <div>\n </div>\n <div>\n </div>\n <div>\n </div>\n </div>\n <div class=\"spinnerText\">Loading</div>\n </div>\n </div>\n <div class=\"form-group\">\n <label>Full sized Spinner (doesn't render without \"show\")</label>\n </div>\n <div class=\"form-group\">\n <label>Inline Spinner</label>\n <div class=\"spinner\">\n <div>\n </div>\n <div>\n </div>\n <div>\n </div>\n <div>\n </div>\n </div>\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": "isInverse",
43
+ "type": "Boolean",
44
+ "default": "false",
45
+ "description": "Defines whether the spinner is shown on bright or dark background."
46
+ },
47
+ {
48
+ "name": "isDoubleSized",
49
+ "type": "Boolean",
50
+ "default": "false",
51
+ "description": "If set to \"true\" the spinner will be rendered twice as big."
52
+ },
53
+ {
54
+ "name": "isFullSized",
55
+ "type": "Boolean",
56
+ "default": "false",
57
+ "description": "Renders the spinner as overlay in full-size mode, relative to the parent container. Set the parent element to \"position-relative\" in this case."
58
+ },
59
+ {
60
+ "name": "isFullScreen",
61
+ "type": "Boolean",
62
+ "default": "false",
63
+ "description": "Renders the spinner in fullscreen mode, relative to the body."
64
+ },
65
+ {
66
+ "name": "isInline",
67
+ "type": "Boolean",
68
+ "default": "false",
69
+ "description": "Renders the spinner without centered wrapper."
70
+ },
71
+ {
72
+ "name": "show",
73
+ "type": "Boolean",
74
+ "default": "false",
75
+ "description": "Flag to control the visibility of the spinner. Only relevant in combination with isFullSized or isFullScreen to animate the appearance."
76
+ },
77
+ {
78
+ "name": "text",
79
+ "type": "String / Node",
80
+ "default": "",
81
+ "description": "The text shown next to the spinner icon."
82
+ }
83
+ ]
84
+ }
85
+ ]
86
+ }
87
+ ]
88
+ }
89
+ ]
90
+ },
91
+ {
92
+ "heading": "Spinner in Buttons",
93
+ "body": "",
94
+ "examples": [
95
+ {
96
+ "caption": "Example 2",
97
+ "rendered_html": "<div class=\"playground-content bg-white padding-20 padding-bottom-25\" style=\"width: 100%;\"><div><div class=\"form-group\"><label>Spinner and text in button <b>.btn-loading</b></label><br><div class=\"btn-toolbar\"><button class=\"btn btn-default btn-loading\">Default Button</button><button class=\"btn btn-primary btn-loading\">Primary Button</button><button class=\"btn btn-default btn-loading disabled\">Button text</button><button class=\"btn btn-primary btn-loading disabled btn-block max-width-300\">Button text</button></div></div><div class=\"form-group\"><label>Colored Buttons</label><br><div class=\"btn-toolbar\"><button class=\"btn btn-info btn-loading\">Info Button</button><button class=\"btn btn-success btn-loading\">Success Button</button><button class=\"btn btn-warning btn-loading\">Warning Button</button><button class=\"btn btn-danger btn-loading\">Danger Button</button></div></div><div class=\"form-group\"><label>Outline Buttons</label><br><div class=\"btn-toolbar padding-10 bg-checkerboard rounded\"><button class=\"btn btn-outline btn-info btn-loading\">Info Button</button><button class=\"btn btn-outline btn-success btn-loading\">Success Button</button><button class=\"btn btn-outline btn-warning btn-loading\">Warning Button</button><button class=\"btn btn-outline btn-danger btn-loading\">Danger Button</button></div></div><div class=\"form-group\"><label>Spinner with same width as the button text <b>.btn-loading-overlay</b></label><br><div class=\"btn-toolbar\"><button class=\"btn btn-default\">Button text</button><button class=\"btn btn-primary\">Button text</button><button class=\"btn btn-default btn-loading-overlay\">Button text</button><button class=\"btn btn-primary btn-loading-overlay\">Button text</button></div></div><div class=\"form-group\"><label>Spinner in icon only button <b>.btn-loading .btn-icon-only</b></label><br><div class=\"btn-toolbar\"><button class=\"btn btn-default btn-loading btn-icon-only\"></button><button class=\"btn btn-primary btn-loading btn-icon-only\"></button><button class=\"btn btn-muted btn-loading btn-icon-only\"></button><button class=\"btn btn-default btn-loading btn-icon-only disabled\"></button><button class=\"btn btn-primary btn-loading btn-icon-only disabled\"></button><button class=\"btn btn-muted btn-loading btn-icon-only disabled\"></button><button class=\"btn btn-primary btn-xs btn-loading btn-icon-only\"></button><button class=\"btn btn-primary btn-sm btn-loading btn-icon-only\"></button><button class=\"btn btn-primary btn-lg btn-loading btn-icon-only\"></button></div></div></div></div>",
98
+ "tabs": [
99
+ {
100
+ "label": "React",
101
+ "language": "tsx",
102
+ "code": "import React from 'react';\n\nexport default () => (\n <div>\n <div className='form-group'>\n <label>\n {'Spinner and text in button '}\n <b>.btn-loading</b>\n </label>\n <br />\n <div className='btn-toolbar'>\n <button className='btn btn-default btn-loading'>Default Button</button>\n <button className='btn btn-primary btn-loading'>Primary Button</button>\n <button className='btn btn-default btn-loading disabled'>Button text</button>\n <button className='btn btn-primary btn-loading disabled btn-block max-width-300'>Button text</button>\n </div>\n </div>\n <div className='form-group'>\n <label>Colored Buttons</label>\n <br />\n <div className='btn-toolbar'>\n <button className='btn btn-info btn-loading'>Info Button</button>\n <button className='btn btn-success btn-loading'>Success Button</button>\n <button className='btn btn-warning btn-loading'>Warning Button</button>\n <button className='btn btn-danger btn-loading'>Danger Button</button>\n </div>\n </div>\n <div className='form-group'>\n <label>Outline Buttons</label>\n <br />\n <div className='btn-toolbar padding-10 bg-checkerboard rounded'>\n <button className='btn btn-outline btn-info btn-loading'>Info Button</button>\n <button className='btn btn-outline btn-success btn-loading'>Success Button</button>\n <button className='btn btn-outline btn-warning btn-loading'>Warning Button</button>\n <button className='btn btn-outline btn-danger btn-loading'>Danger Button</button>\n </div>\n </div>\n <div className='form-group'>\n <label>\n {'Spinner with same width as the button text '}\n <b>.btn-loading-overlay</b>\n </label>\n <br />\n <div className='btn-toolbar'>\n <button className='btn btn-default'>Button text</button>\n <button className='btn btn-primary'>Button text</button>\n <button className='btn btn-default btn-loading-overlay'>Button text</button>\n <button className='btn btn-primary btn-loading-overlay'>Button text</button>\n </div>\n </div>\n <div className='form-group'>\n <label>\n {'Spinner in icon only button '}\n <b>.btn-loading .btn-icon-only</b>\n </label>\n <br />\n <div className='btn-toolbar'>\n <button className='btn btn-default btn-loading btn-icon-only' />\n <button className='btn btn-primary btn-loading btn-icon-only' />\n <button className='btn btn-muted btn-loading btn-icon-only' />\n <button className='btn btn-default btn-loading btn-icon-only disabled' />\n <button className='btn btn-primary btn-loading btn-icon-only disabled' />\n <button className='btn btn-muted btn-loading btn-icon-only disabled' />\n <button className='btn btn-primary btn-xs btn-loading btn-icon-only' />\n <button className='btn btn-primary btn-sm btn-loading btn-icon-only' />\n <button className='btn btn-primary btn-lg btn-loading btn-icon-only' />\n </div>\n </div>\n </div>\n);"
103
+ },
104
+ {
105
+ "label": "HTML",
106
+ "language": "html",
107
+ "code": "<div>\n <div class=\"form-group\">\n <label>Spinner and text in button <b>.btn-loading</b>\n </label>\n <br>\n <div class=\"btn-toolbar\">\n <button class=\"btn btn-default btn-loading\">Default Button</button>\n <button class=\"btn btn-primary btn-loading\">Primary Button</button>\n <button class=\"btn btn-default btn-loading disabled\">Button text</button>\n <button class=\"btn btn-primary btn-loading disabled btn-block max-width-300\">Button text</button>\n </div>\n </div>\n <div class=\"form-group\">\n <label>Colored Buttons</label>\n <br>\n <div class=\"btn-toolbar\">\n <button class=\"btn btn-info btn-loading\">Info Button</button>\n <button class=\"btn btn-success btn-loading\">Success Button</button>\n <button class=\"btn btn-warning btn-loading\">Warning Button</button>\n <button class=\"btn btn-danger btn-loading\">Danger Button</button>\n </div>\n </div>\n <div class=\"form-group\">\n <label>Outline Buttons</label>\n <br>\n <div class=\"btn-toolbar padding-10 bg-checkerboard rounded\">\n <button class=\"btn btn-outline btn-info btn-loading\">Info Button</button>\n <button class=\"btn btn-outline btn-success btn-loading\">Success Button</button>\n <button class=\"btn btn-outline btn-warning btn-loading\">Warning Button</button>\n <button class=\"btn btn-outline btn-danger btn-loading\">Danger Button</button>\n </div>\n </div>\n <div class=\"form-group\">\n <label>Spinner with same width as the button text <b>.btn-loading-overlay</b>\n </label>\n <br>\n <div class=\"btn-toolbar\">\n <button class=\"btn btn-default\">Button text</button>\n <button class=\"btn btn-primary\">Button text</button>\n <button class=\"btn btn-default btn-loading-overlay\">Button text</button>\n <button class=\"btn btn-primary btn-loading-overlay\">Button text</button>\n </div>\n </div>\n <div class=\"form-group\">\n <label>Spinner in icon only button <b>.btn-loading .btn-icon-only</b>\n </label>\n <br>\n <div class=\"btn-toolbar\">\n <button class=\"btn btn-default btn-loading btn-icon-only\">\n </button>\n <button class=\"btn btn-primary btn-loading btn-icon-only\">\n </button>\n <button class=\"btn btn-muted btn-loading btn-icon-only\">\n </button>\n <button class=\"btn btn-default btn-loading btn-icon-only disabled\">\n </button>\n <button class=\"btn btn-primary btn-loading btn-icon-only disabled\">\n </button>\n <button class=\"btn btn-muted btn-loading btn-icon-only disabled\">\n </button>\n <button class=\"btn btn-primary btn-xs btn-loading btn-icon-only\">\n </button>\n <button class=\"btn btn-primary btn-sm btn-loading btn-icon-only\">\n </button>\n <button class=\"btn btn-primary btn-lg btn-loading btn-icon-only\">\n </button>\n </div>\n </div>\n</div>"
108
+ }
109
+ ]
110
+ }
111
+ ]
112
+ },
113
+ {
114
+ "heading": "Spinner inverse",
115
+ "body": "",
116
+ "examples": [
117
+ {
118
+ "caption": "Example 3",
119
+ "rendered_html": "<div class=\"playground-content bg-white padding-20 padding-bottom-25\" style=\"width: 100%;\"><div class=\"display-flex justify-content-center align-items-center bg-primary padding-25\"><div class=\"spinnerInfoBox display-flex justify-content-center align-items-center height-100pct\"><div class=\"spinner inverse\"><div></div><div></div><div></div><div></div></div><div class=\"spinnerText\">Loading</div></div></div></div>",
120
+ "tabs": [
121
+ {
122
+ "label": "React",
123
+ "language": "tsx",
124
+ "code": "import React from 'react';\n\nimport Spinner from '@rio-cloud/rio-uikit/Spinner';\n\nexport default () => (\n <div className='display-flex justify-content-center align-items-center bg-primary padding-25'>\n <Spinner text='Loading' isInverse />\n </div>\n);"
125
+ },
126
+ {
127
+ "label": "HTML",
128
+ "language": "html",
129
+ "code": "<div class=\"display-flex justify-content-center align-items-center bg-primary padding-25\">\n <div class=\"spinnerInfoBox display-flex justify-content-center align-items-center height-100pct\">\n <div class=\"spinner inverse\">\n <div>\n </div>\n <div>\n </div>\n <div>\n </div>\n <div>\n </div>\n </div>\n <div class=\"spinnerText\">Loading</div>\n </div>\n</div>"
130
+ },
131
+ {
132
+ "label": "Props",
133
+ "language": "json",
134
+ "code": null,
135
+ "props": [
136
+ {
137
+ "heading": null,
138
+ "rows": [
139
+ {
140
+ "name": "isInverse",
141
+ "type": "Boolean",
142
+ "default": "false",
143
+ "description": "Defines whether the spinner is shown on bright or dark background."
144
+ },
145
+ {
146
+ "name": "isDoubleSized",
147
+ "type": "Boolean",
148
+ "default": "false",
149
+ "description": "If set to \"true\" the spinner will be rendered twice as big."
150
+ },
151
+ {
152
+ "name": "isFullSized",
153
+ "type": "Boolean",
154
+ "default": "false",
155
+ "description": "Renders the spinner as overlay in full-size mode, relative to the parent container. Set the parent element to \"position-relative\" in this case."
156
+ },
157
+ {
158
+ "name": "isFullScreen",
159
+ "type": "Boolean",
160
+ "default": "false",
161
+ "description": "Renders the spinner in fullscreen mode, relative to the body."
162
+ },
163
+ {
164
+ "name": "isInline",
165
+ "type": "Boolean",
166
+ "default": "false",
167
+ "description": "Renders the spinner without centered wrapper."
168
+ },
169
+ {
170
+ "name": "show",
171
+ "type": "Boolean",
172
+ "default": "false",
173
+ "description": "Flag to control the visibility of the spinner. Only relevant in combination with isFullSized or isFullScreen to animate the appearance."
174
+ },
175
+ {
176
+ "name": "text",
177
+ "type": "String / Node",
178
+ "default": "",
179
+ "description": "The text shown next to the spinner icon."
180
+ }
181
+ ]
182
+ }
183
+ ]
184
+ }
185
+ ]
186
+ }
187
+ ]
188
+ },
189
+ {
190
+ "heading": "Spinner fullsized",
191
+ "body": "",
192
+ "examples": [
193
+ {
194
+ "caption": "Example 4",
195
+ "rendered_html": "<div class=\"playground-content bg-lighter padding-20 padding-bottom-25\" style=\"width: 100%;\"><div class=\"display-flex flex-column justify-content-center align-items-center margin-25\"><div class=\"panel panel-default shadow-default position-relative\"><div class=\"panel-heading\">Lorem ipsum dolor sit amet</div><div class=\"panel-body\">\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><button class=\"btn btn-default margin-top-25\" type=\"button\">Toggle loading spinner</button></div></div>",
196
+ "tabs": [
197
+ {
198
+ "label": "React",
199
+ "language": "tsx",
200
+ "code": "import React, { useState } from 'react';\n\nimport Spinner from '@rio-cloud/rio-uikit/Spinner';\nimport { dummyText } from '../../../utils/data';\n\nexport default () => {\n const [toggled, setToggle] = useState(false);\n\n return (\n <div className='display-flex flex-column justify-content-center align-items-center margin-25'>\n <div className='panel panel-default shadow-default position-relative'>\n <div className='panel-heading'>Lorem ipsum dolor sit amet</div>\n <div className='panel-body'>{dummyText}</div>\n <Spinner show={toggled} text='Loading' isFullSized />\n </div>\n <button className='btn btn-default margin-top-25' type='button' onClick={() => setToggle(!toggled)}>\n Toggle loading spinner\n </button>\n </div>\n );\n};"
201
+ },
202
+ {
203
+ "label": "HTML",
204
+ "language": "html",
205
+ "code": "<div class=\"display-flex flex-column justify-content-center align-items-center margin-25\">\n <div class=\"panel panel-default shadow-default position-relative\">\n <div class=\"panel-heading\">Lorem ipsum dolor sit amet</div>\n <div class=\"panel-body\">\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 <button class=\"btn btn-default margin-top-25\" type=\"button\">Toggle loading spinner</button>\n</div>"
206
+ },
207
+ {
208
+ "label": "Props",
209
+ "language": "json",
210
+ "code": null,
211
+ "props": [
212
+ {
213
+ "heading": null,
214
+ "rows": [
215
+ {
216
+ "name": "isInverse",
217
+ "type": "Boolean",
218
+ "default": "false",
219
+ "description": "Defines whether the spinner is shown on bright or dark background."
220
+ },
221
+ {
222
+ "name": "isDoubleSized",
223
+ "type": "Boolean",
224
+ "default": "false",
225
+ "description": "If set to \"true\" the spinner will be rendered twice as big."
226
+ },
227
+ {
228
+ "name": "isFullSized",
229
+ "type": "Boolean",
230
+ "default": "false",
231
+ "description": "Renders the spinner as overlay in full-size mode, relative to the parent container. Set the parent element to \"position-relative\" in this case."
232
+ },
233
+ {
234
+ "name": "isFullScreen",
235
+ "type": "Boolean",
236
+ "default": "false",
237
+ "description": "Renders the spinner in fullscreen mode, relative to the body."
238
+ },
239
+ {
240
+ "name": "isInline",
241
+ "type": "Boolean",
242
+ "default": "false",
243
+ "description": "Renders the spinner without centered wrapper."
244
+ },
245
+ {
246
+ "name": "show",
247
+ "type": "Boolean",
248
+ "default": "false",
249
+ "description": "Flag to control the visibility of the spinner. Only relevant in combination with isFullSized or isFullScreen to animate the appearance."
250
+ },
251
+ {
252
+ "name": "text",
253
+ "type": "String / Node",
254
+ "default": "",
255
+ "description": "The text shown next to the spinner icon."
256
+ }
257
+ ]
258
+ }
259
+ ]
260
+ }
261
+ ]
262
+ }
263
+ ]
264
+ },
265
+ {
266
+ "heading": "Spinner fullscreen",
267
+ "body": "",
268
+ "examples": [
269
+ {
270
+ "caption": "Example 5",
271
+ "rendered_html": "<div class=\"playground-content bg-white padding-20 padding-bottom-25\" style=\"width: 100%;\"><div class=\"display-flex flex-column justify-content-center align-items-center margin-25\"><button class=\"btn btn-default margin-top-25\" type=\"button\">Toggle fullscreen loading spinner</button><p>exit fullscreen with esc key</p></div></div>",
272
+ "tabs": [
273
+ {
274
+ "label": "React",
275
+ "language": "tsx",
276
+ "code": "import React, { useState } from 'react';\n\nimport Spinner from '@rio-cloud/rio-uikit/Spinner';\nimport useEsc from '@rio-cloud/rio-uikit/useEsc';\n\nexport default () => {\n const [toggled, setToggle] = useState(false);\n\n useEsc(() => setToggle(false));\n\n return (\n <div className='display-flex flex-column justify-content-center align-items-center margin-25'>\n <Spinner show={toggled} text='Loading' isFullScreen />\n <button className='btn btn-default margin-top-25' type='button' onClick={() => setToggle(true)}>\n Toggle fullscreen loading spinner\n </button>\n <p>exit fullscreen with esc key</p>\n </div>\n );\n};"
277
+ },
278
+ {
279
+ "label": "HTML",
280
+ "language": "html",
281
+ "code": "<div class=\"display-flex flex-column justify-content-center align-items-center margin-25\">\n <button class=\"btn btn-default margin-top-25\" type=\"button\">Toggle fullscreen loading spinner</button>\n <p>exit fullscreen with esc key</p>\n</div>"
282
+ },
283
+ {
284
+ "label": "Props",
285
+ "language": "json",
286
+ "code": null,
287
+ "props": [
288
+ {
289
+ "heading": null,
290
+ "rows": [
291
+ {
292
+ "name": "isInverse",
293
+ "type": "Boolean",
294
+ "default": "false",
295
+ "description": "Defines whether the spinner is shown on bright or dark background."
296
+ },
297
+ {
298
+ "name": "isDoubleSized",
299
+ "type": "Boolean",
300
+ "default": "false",
301
+ "description": "If set to \"true\" the spinner will be rendered twice as big."
302
+ },
303
+ {
304
+ "name": "isFullSized",
305
+ "type": "Boolean",
306
+ "default": "false",
307
+ "description": "Renders the spinner as overlay in full-size mode, relative to the parent container. Set the parent element to \"position-relative\" in this case."
308
+ },
309
+ {
310
+ "name": "isFullScreen",
311
+ "type": "Boolean",
312
+ "default": "false",
313
+ "description": "Renders the spinner in fullscreen mode, relative to the body."
314
+ },
315
+ {
316
+ "name": "isInline",
317
+ "type": "Boolean",
318
+ "default": "false",
319
+ "description": "Renders the spinner without centered wrapper."
320
+ },
321
+ {
322
+ "name": "show",
323
+ "type": "Boolean",
324
+ "default": "false",
325
+ "description": "Flag to control the visibility of the spinner. Only relevant in combination with isFullSized or isFullScreen to animate the appearance."
326
+ },
327
+ {
328
+ "name": "text",
329
+ "type": "String / Node",
330
+ "default": "",
331
+ "description": "The text shown next to the spinner icon."
332
+ }
333
+ ]
334
+ }
335
+ ]
336
+ }
337
+ ]
338
+ }
339
+ ]
340
+ }
341
+ ],
342
+ "see_also": []
343
+ }