@rio-cloud/uikit-mcp 1.1.6 → 1.1.8

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 (201) hide show
  1. package/README.md +13 -17
  2. package/dist/doc-metadata.json +125 -295
  3. package/dist/docs/components/accentBar.md +16 -69
  4. package/dist/docs/components/activity.md +7 -44
  5. package/dist/docs/components/animatedNumber.md +3 -11
  6. package/dist/docs/components/animatedTextReveal.md +3 -31
  7. package/dist/docs/components/animations.md +21 -54
  8. package/dist/docs/components/appHeader.md +11 -30
  9. package/dist/docs/components/appLayout.md +36 -172
  10. package/dist/docs/components/appNavigationBar.md +1 -24
  11. package/dist/docs/components/areaCharts.md +7 -22
  12. package/dist/docs/components/aspectRatioPlaceholder.md +1 -9
  13. package/dist/docs/components/assetTree.md +141 -374
  14. package/dist/docs/components/autosuggests.md +3 -102
  15. package/dist/docs/components/avatar.md +1 -16
  16. package/dist/docs/components/banner.md +4 -37
  17. package/dist/docs/components/barCharts.md +20 -75
  18. package/dist/docs/components/barList.md +9 -77
  19. package/dist/docs/components/basicMap.md +1 -67
  20. package/dist/docs/components/bottomSheet.md +2 -28
  21. package/dist/docs/components/button.md +12 -65
  22. package/dist/docs/components/buttonToolbar.md +5 -19
  23. package/dist/docs/components/calendarStripe.md +48 -106
  24. package/dist/docs/components/card.md +1 -9
  25. package/dist/docs/components/carousel.md +1 -14
  26. package/dist/docs/components/chartColors.md +1 -156
  27. package/dist/docs/components/chartsGettingStarted.md +1 -1
  28. package/dist/docs/components/chat.md +2 -81
  29. package/dist/docs/components/checkbox.md +11 -72
  30. package/dist/docs/components/circularProgress.md +8 -49
  31. package/dist/docs/components/clearableInput.md +3 -62
  32. package/dist/docs/components/collapse.md +2 -15
  33. package/dist/docs/components/composedCharts.md +16 -26
  34. package/dist/docs/components/contentLoader.md +7 -25
  35. package/dist/docs/components/dataTabs.md +16 -104
  36. package/dist/docs/components/datepickers.md +710 -962
  37. package/dist/docs/components/dialogs.md +5 -67
  38. package/dist/docs/components/divider.md +1 -33
  39. package/dist/docs/components/dropdowns.md +3412 -5600
  40. package/dist/docs/components/editableContent.md +4 -82
  41. package/dist/docs/components/expander.md +15 -88
  42. package/dist/docs/components/fade.md +4 -61
  43. package/dist/docs/components/fadeExpander.md +1 -7
  44. package/dist/docs/components/fadeUp.md +2 -76
  45. package/dist/docs/components/feedback.md +9 -68
  46. package/dist/docs/components/filePickers.md +4 -18
  47. package/dist/docs/components/formLabel.md +7 -27
  48. package/dist/docs/components/groupedItemList.md +2 -158
  49. package/dist/docs/components/iconList.md +8 -65
  50. package/dist/docs/components/imagePreloader.md +1 -9
  51. package/dist/docs/components/labeledElement.md +3 -18
  52. package/dist/docs/components/licensePlate.md +1 -43
  53. package/dist/docs/components/lineCharts.md +7 -38
  54. package/dist/docs/components/listMenu.md +2 -34
  55. package/dist/docs/components/loadMore.md +5 -24
  56. package/dist/docs/components/mainNavigation.md +1 -9
  57. package/dist/docs/components/mapCircle.md +1 -23
  58. package/dist/docs/components/mapCluster.md +2 -54
  59. package/dist/docs/components/mapContext.md +1 -23
  60. package/dist/docs/components/mapDraggableMarker.md +2 -28
  61. package/dist/docs/components/mapGettingStarted.md +2 -2
  62. package/dist/docs/components/mapInfoBubble.md +1 -27
  63. package/dist/docs/components/mapLayerGroup.md +1 -23
  64. package/dist/docs/components/mapMarker.md +1 -99
  65. package/dist/docs/components/mapPolygon.md +2 -116
  66. package/dist/docs/components/mapRoute.md +6 -1465
  67. package/dist/docs/components/mapRouteGenerator.md +1 -1
  68. package/dist/docs/components/mapSettings.md +11 -128
  69. package/dist/docs/components/mapUtils.md +10 -113
  70. package/dist/docs/components/multiselects.md +14 -163
  71. package/dist/docs/components/noData.md +8 -22
  72. package/dist/docs/components/notifications.md +3 -19
  73. package/dist/docs/components/numbercontrol.md +3 -47
  74. package/dist/docs/components/onboarding.md +3 -15
  75. package/dist/docs/components/page.md +1 -33
  76. package/dist/docs/components/pager.md +1 -17
  77. package/dist/docs/components/pieCharts.md +40 -71
  78. package/dist/docs/components/popover.md +1 -12
  79. package/dist/docs/components/position.md +2 -6
  80. package/dist/docs/components/radialBarCharts.md +32 -116
  81. package/dist/docs/components/radioCardGroup.md +6 -48
  82. package/dist/docs/components/radiobutton.md +6 -75
  83. package/dist/docs/components/releaseNotes.md +3 -21
  84. package/dist/docs/components/resizer.md +1 -7
  85. package/dist/docs/components/responsiveColumnStripe.md +9 -49
  86. package/dist/docs/components/responsiveVideo.md +1 -7
  87. package/dist/docs/components/rioglyph.md +1 -17
  88. package/dist/docs/components/rules.md +7 -70
  89. package/dist/docs/components/saveableInput.md +267 -401
  90. package/dist/docs/components/selects.md +27 -1164
  91. package/dist/docs/components/sidebar.md +6 -17
  92. package/dist/docs/components/sliders.md +1 -27
  93. package/dist/docs/components/smoothScrollbars.md +1 -73
  94. package/dist/docs/components/spinners.md +6 -51
  95. package/dist/docs/components/states.md +6 -92
  96. package/dist/docs/components/statsWidgets.md +1 -76
  97. package/dist/docs/components/statusBar.md +1 -57
  98. package/dist/docs/components/stepButton.md +2 -7
  99. package/dist/docs/components/steppedProgressBars.md +5 -62
  100. package/dist/docs/components/subNavigation.md +1 -31
  101. package/dist/docs/components/supportMarker.md +2 -14
  102. package/dist/docs/components/svgImage.md +1 -5
  103. package/dist/docs/components/switch.md +2 -33
  104. package/dist/docs/components/tables.md +1 -1
  105. package/dist/docs/components/tagManager.md +1 -41
  106. package/dist/docs/components/tags.md +1 -138
  107. package/dist/docs/components/teaser.md +2 -122
  108. package/dist/docs/components/textTruncateMiddle.md +2 -9
  109. package/dist/docs/components/timeline.md +1 -99
  110. package/dist/docs/components/timepicker.md +4 -79
  111. package/dist/docs/components/toggleButton.md +2 -15
  112. package/dist/docs/components/tooltip.md +9 -30
  113. package/dist/docs/components/tracker.md +2 -19
  114. package/dist/docs/components/virtualList.md +57 -123
  115. package/dist/docs/foundations.md +753 -4073
  116. package/dist/docs/start/changelog.md +793 -1
  117. package/dist/docs/start/goodtoknow.md +1 -1
  118. package/dist/docs/start/guidelines/color-combinations.md +149 -483
  119. package/dist/docs/start/guidelines/custom-css.md +1 -1
  120. package/dist/docs/start/guidelines/custom-rioglyph.md +1 -1
  121. package/dist/docs/start/guidelines/formatting.md +1 -1
  122. package/dist/docs/start/guidelines/iframe.md +4 -16
  123. package/dist/docs/start/guidelines/obfuscate-data.md +1 -1
  124. package/dist/docs/start/guidelines/print-css.md +1 -1
  125. package/dist/docs/start/guidelines/spinner.md +13 -67
  126. package/dist/docs/start/guidelines/state-in-url.md +1 -1
  127. package/dist/docs/start/guidelines/supported-browsers.md +1 -1
  128. package/dist/docs/start/guidelines/writing.md +1 -1
  129. package/dist/docs/start/howto.md +11 -11
  130. package/dist/docs/start/intro.md +1 -1
  131. package/dist/docs/start/responsiveness.md +1 -1
  132. package/dist/docs/utilities/classNames.md +3 -18
  133. package/dist/docs/utilities/deviceUtils.md +7 -13
  134. package/dist/docs/utilities/featureToggles.md +1 -1
  135. package/dist/docs/utilities/fuelTypeUtils.md +2 -12
  136. package/dist/docs/utilities/routeUtils.md +25 -343
  137. package/dist/docs/utilities/useAfterMount.md +1 -6
  138. package/dist/docs/utilities/useAutoAnimate.md +2 -15
  139. package/dist/docs/utilities/useAverage.md +1 -6
  140. package/dist/docs/utilities/useClickOutside.md +1 -5
  141. package/dist/docs/utilities/useClipboard.md +2 -6
  142. package/dist/docs/utilities/useCookies.md +2 -10
  143. package/dist/docs/utilities/useCount.md +7 -16
  144. package/dist/docs/utilities/useDarkMode.md +2 -6
  145. package/dist/docs/utilities/useDebugInfo.md +6 -20
  146. package/dist/docs/utilities/useEffectOnce.md +1 -6
  147. package/dist/docs/utilities/useElapsedTime.md +2 -6
  148. package/dist/docs/utilities/useElementSize.md +1 -7
  149. package/dist/docs/utilities/useEsc.md +1 -5
  150. package/dist/docs/utilities/useEvent.md +1 -5
  151. package/dist/docs/utilities/useFocusTrap.md +1 -5
  152. package/dist/docs/utilities/useFullscreen.md +2 -15
  153. package/dist/docs/utilities/useHover.md +1 -5
  154. package/dist/docs/utilities/useIncomingPostMessages.md +2 -18
  155. package/dist/docs/utilities/useInterval.md +2 -8
  156. package/dist/docs/utilities/useIsFocusWithin.md +1 -10
  157. package/dist/docs/utilities/useKey.md +1 -15
  158. package/dist/docs/utilities/useLocalStorage.md +2 -11
  159. package/dist/docs/utilities/useLocationSuggestions.md +1 -5
  160. package/dist/docs/utilities/useMax.md +1 -5
  161. package/dist/docs/utilities/useMin.md +1 -5
  162. package/dist/docs/utilities/useMutationObserver.md +3 -11
  163. package/dist/docs/utilities/useOnScreen.md +1 -8
  164. package/dist/docs/utilities/useOnlineStatus.md +1 -5
  165. package/dist/docs/utilities/usePostMessage.md +3 -9
  166. package/dist/docs/utilities/usePostMessageSender.md +3 -13
  167. package/dist/docs/utilities/usePrevious.md +1 -5
  168. package/dist/docs/utilities/useResizeObserver.md +3 -11
  169. package/dist/docs/utilities/useRioCookieConsent.md +1 -5
  170. package/dist/docs/utilities/useScrollPosition.md +3 -59
  171. package/dist/docs/utilities/useSearch.md +2 -16
  172. package/dist/docs/utilities/useSearchHighlight.md +13 -78
  173. package/dist/docs/utilities/useSorting.md +18 -43
  174. package/dist/docs/utilities/useStateWithValidation.md +1 -5
  175. package/dist/docs/utilities/useSum.md +1 -9
  176. package/dist/docs/utilities/useTableExport.md +42 -59
  177. package/dist/docs/utilities/useTableSelection.md +75 -120
  178. package/dist/docs/utilities/useTimeout.md +2 -6
  179. package/dist/docs/utilities/useToggle.md +4 -14
  180. package/dist/docs/utilities/useUrlState.md +2 -27
  181. package/dist/docs/utilities/useWindowResize.md +1 -5
  182. package/dist/index.mjs +46 -10
  183. package/dist/version.json +2 -2
  184. package/package.json +2 -2
  185. package/dist/docs/templates/common-table.md +0 -1112
  186. package/dist/docs/templates/detail-views.md +0 -942
  187. package/dist/docs/templates/expandable-details.md +0 -228
  188. package/dist/docs/templates/feature-cards.md +0 -549
  189. package/dist/docs/templates/form-summary.md +0 -199
  190. package/dist/docs/templates/form-toggle.md +0 -367
  191. package/dist/docs/templates/list-blocks.md +0 -1021
  192. package/dist/docs/templates/loading-progress.md +0 -109
  193. package/dist/docs/templates/options-panel.md +0 -152
  194. package/dist/docs/templates/panel-variants.md +0 -164
  195. package/dist/docs/templates/progress-cards.md +0 -607
  196. package/dist/docs/templates/progress-success.md +0 -142
  197. package/dist/docs/templates/settings-form.md +0 -434
  198. package/dist/docs/templates/stats-blocks.md +0 -1381
  199. package/dist/docs/templates/table-panel.md +0 -184
  200. package/dist/docs/templates/table-row-animation.md +0 -317
  201. package/dist/docs/templates/usage-cards.md +0 -227
@@ -1,1381 +0,0 @@
1
- # Stats blocks
2
-
3
- *Category:* Templates
4
- *Section:* Content
5
- *Source:* https://uikit.developers.rio.cloud/#/templates/stats-blocks
6
- *Captured:* 2026-02-23T13:48:44.447Z
7
-
8
- ## Stats blocks
9
-
10
- ### Example: Total inventory
11
-
12
- Stats page
13
- Overview of your supply chain operations
14
-
15
- Total inventory
16
- 1197 units
17
-
18
- 12%from last month
19
-
20
- Open orders
21
- 79
22
-
23
- 5%from last month
24
-
25
- In transit
26
- 6
27
-
28
- -3%from last month
29
-
30
- Issues
31
- 4
32
-
33
- #### Summary
34
-
35
- Stats page
36
- Overview of your supply chain operations
37
-
38
- Total inventory
39
- 1197 units
40
-
41
- 12%from last month
42
-
43
- Open orders
44
- 79
45
-
46
- 5%from last month
47
-
48
- In transit
49
- 6
50
-
51
- -3%from last month
52
-
53
- Issues
54
- 4
55
-
56
- #### React (tsx)
57
-
58
- ```tsx
59
- import { faker } from '@faker-js/faker';
60
- import StatsWidgets from '@rio-cloud/rio-uikit/StatsWidgets';
61
- import StatsWidget from '@rio-cloud/rio-uikit/StatsWidget';
62
-
63
- export default () => {
64
- const data = {
65
- inventory: faker.number.int({ min: 800, max: 1600 }),
66
- inventoryChange: 12,
67
- orders: faker.number.int({ min: 20, max: 80 }),
68
- ordersChange: 5,
69
- inTransit: faker.number.int({ min: 5, max: 25 }),
70
- inTransitChange: -3,
71
- issues: faker.number.int({ min: 0, max: 10 }),
72
- };
73
-
74
- return (
75
- <div className='margin-25-md'>
76
- <div className='text-size-h2 text-bold text-color-darkest'>Stats page</div>
77
- <p className='text-color-darker margin-top-0'>Overview of your supply chain operations</p>
78
-
79
- <StatsWidgets className='display-grid grid-auto-fit-250'>
80
- <StatsWidget className='shadow-default display-flex flex-column'>
81
- <div className='flex-1-1 display-flex gap-15 padding-20'>
82
- <div className='height-50 aspect-ratio-1 bg-lightest rounded display-grid place-items-center text-size-14'>
83
- <span className='rioglyph rioglyph-parcel text-size-200pct text-color-darker' />
84
- </div>
85
- <div>
86
- <div className='text-color-dark'>Total inventory</div>
87
- <div className='text-size-h3 text-color-darkest line-height-125rel'>
88
- {data.inventory} units
89
- </div>
90
- </div>
91
- </div>
92
- <div className='text-size-12 padding-x-20 padding-y-10 bg-lightest rounded-bottom display-flex gap-5'>
93
- <span className='text-medium text-color-success display-flex gap-2 align-items-center'>
94
- <span className='rioglyph rioglyph-arrow-up' />
95
- {data.inventoryChange}%
96
- </span>
97
- <span className='text-color-dark'>from last month</span>
98
- </div>
99
- </StatsWidget>
100
-
101
- <StatsWidget className='shadow-default display-flex flex-column'>
102
- <div className='flex-1-1 display-flex gap-15 padding-20'>
103
- <div className='height-50 aspect-ratio-1 bg-lightest rounded display-grid place-items-center text-size-14'>
104
- <span className='rioglyph rioglyph-order text-size-200pct text-color-darker' />
105
- </div>
106
- <div>
107
- <div className='text-color-dark'>Open orders</div>
108
- <div className='text-size-h3 text-color-darkest line-height-125rel'>{data.orders}</div>
109
- </div>
110
- </div>
111
- <div className='text-size-12 padding-x-20 padding-y-10 bg-lightest rounded-bottom display-flex gap-5'>
112
- <span className='text-medium text-color-success display-flex gap-2 align-items-center'>
113
- <span className='rioglyph rioglyph-arrow-up' />
114
- {data.ordersChange}%
115
- </span>
116
- <span className='text-color-dark'>from last month</span>
117
- </div>
118
- </StatsWidget>
119
-
120
- <StatsWidget className='shadow-default display-flex flex-column'>
121
- <div className='flex-1-1 display-flex gap-15 padding-20'>
122
- <div className='height-50 aspect-ratio-1 bg-lightest rounded display-grid place-items-center text-size-14'>
123
- <span className='rioglyph rioglyph-delivery text-size-200pct text-color-darker' />
124
- </div>
125
- <div>
126
- <div className='text-color-dark'>In transit</div>
127
- <div className='text-size-h3 text-color-darkest line-height-125rel'>{data.inTransit}</div>
128
- </div>
129
- </div>
130
- <div className='text-size-12 padding-x-20 padding-y-10 bg-lightest rounded-bottom display-flex gap-5'>
131
- <span className='text-medium text-color-danger display-flex gap-2 align-items-center'>
132
- <span className='rioglyph rioglyph-arrow-down' />
133
- {data.inTransitChange}%
134
- </span>
135
- <span className='text-color-dark'>from last month</span>
136
- </div>
137
- </StatsWidget>
138
-
139
- <StatsWidget className='shadow-default display-flex flex-column'>
140
- <div className='flex-1-1 display-flex gap-15 padding-20'>
141
- <div className='height-50 aspect-ratio-1 bg-lightest rounded display-grid place-items-center text-size-14'>
142
- <span className='rioglyph rioglyph-warning-sign text-size-200pct text-color-warning' />
143
- </div>
144
- <div>
145
- <div className='text-color-dark'>Issues</div>
146
- <div className='text-size-h3 text-color-darkest line-height-125rel'>{data.issues}</div>
147
- </div>
148
- </div>
149
- </StatsWidget>
150
- </StatsWidgets>
151
- </div>
152
- );
153
- };
154
- ```
155
-
156
- #### HTML (html)
157
-
158
- ```html
159
- <div class="margin-25-md">
160
- <div class="text-size-h2 text-bold text-color-darkest">Stats page</div>
161
- <p class="text-color-darker margin-top-0">Overview of your supply chain operations</p>
162
- <div class="StatsWidget-wrapper display-grid grid-auto-fit-250">
163
- <div class="StatsWidget shadow-default display-flex flex-column">
164
- <div class="flex-1-1 display-flex gap-15 padding-20">
165
- <div class="height-50 aspect-ratio-1 bg-lightest rounded display-grid place-items-center text-size-14">
166
- <span class="rioglyph rioglyph-parcel text-size-200pct text-color-darker">
167
- </span>
168
- </div>
169
- <div>
170
- <div class="text-color-dark">Total inventory</div>
171
- <div class="text-size-h3 text-color-darkest line-height-125rel">1197 units</div>
172
- </div>
173
- </div>
174
- <div class="text-size-12 padding-x-20 padding-y-10 bg-lightest rounded-bottom display-flex gap-5">
175
- <span class="text-medium text-color-success display-flex gap-2 align-items-center">
176
- <span class="rioglyph rioglyph-arrow-up">
177
- </span>12%</span>
178
- <span class="text-color-dark">from last month</span>
179
- </div>
180
- </div>
181
- <div class="StatsWidget shadow-default display-flex flex-column">
182
- <div class="flex-1-1 display-flex gap-15 padding-20">
183
- <div class="height-50 aspect-ratio-1 bg-lightest rounded display-grid place-items-center text-size-14">
184
- <span class="rioglyph rioglyph-order text-size-200pct text-color-darker">
185
- </span>
186
- </div>
187
- <div>
188
- <div class="text-color-dark">Open orders</div>
189
- <div class="text-size-h3 text-color-darkest line-height-125rel">79</div>
190
- </div>
191
- </div>
192
- <div class="text-size-12 padding-x-20 padding-y-10 bg-lightest rounded-bottom display-flex gap-5">
193
- <span class="text-medium text-color-success display-flex gap-2 align-items-center">
194
- <span class="rioglyph rioglyph-arrow-up">
195
- </span>5%</span>
196
- <span class="text-color-dark">from last month</span>
197
- </div>
198
- </div>
199
- <div class="StatsWidget shadow-default display-flex flex-column">
200
- <div class="flex-1-1 display-flex gap-15 padding-20">
201
- <div class="height-50 aspect-ratio-1 bg-lightest rounded display-grid place-items-center text-size-14">
202
- <span class="rioglyph rioglyph-delivery text-size-200pct text-color-darker">
203
- </span>
204
- </div>
205
- <div>
206
- <div class="text-color-dark">In transit</div>
207
- <div class="text-size-h3 text-color-darkest line-height-125rel">6</div>
208
- </div>
209
- </div>
210
- <div class="text-size-12 padding-x-20 padding-y-10 bg-lightest rounded-bottom display-flex gap-5">
211
- <span class="text-medium text-color-danger display-flex gap-2 align-items-center">
212
- <span class="rioglyph rioglyph-arrow-down">
213
- </span>-3%</span>
214
- <span class="text-color-dark">from last month</span>
215
- </div>
216
- </div>
217
- <div class="StatsWidget shadow-default display-flex flex-column">
218
- <div class="flex-1-1 display-flex gap-15 padding-20">
219
- <div class="height-50 aspect-ratio-1 bg-lightest rounded display-grid place-items-center text-size-14">
220
- <span class="rioglyph rioglyph-warning-sign text-size-200pct text-color-warning">
221
- </span>
222
- </div>
223
- <div>
224
- <div class="text-color-dark">Issues</div>
225
- <div class="text-size-h3 text-color-darkest line-height-125rel">4</div>
226
- </div>
227
- </div>
228
- </div>
229
- </div>
230
- </div>
231
- ```
232
-
233
- ### Example: Orders delivered
234
-
235
- 25M +
236
- Orders delivered
237
-
238
- 99.99%
239
- Total uptime
240
-
241
- 4.8
242
- Customer score
243
-
244
- #### Summary
245
-
246
- 25M +
247
- Orders delivered
248
-
249
- 99.99%
250
- Total uptime
251
-
252
- 4.8
253
- Customer score
254
-
255
- #### React (tsx)
256
-
257
- ```tsx
258
- import { FormattedNumber } from 'react-intl';
259
-
260
- import StatsWidgets from '@rio-cloud/rio-uikit/StatsWidgets';
261
- import StatsWidget from '@rio-cloud/rio-uikit/StatsWidget';
262
-
263
- export default () => {
264
- return (
265
- <div className='margin-25-md'>
266
- <StatsWidgets className='display-grid grid-auto-fit-150'>
267
- <StatsWidget className='padding-20'>
268
- <div className='text-size-h2 line-height-h2 text-medium text-color-darkest'>25M +</div>
269
- <div className='text-color-dark padding-top-5'>Orders delivered</div>
270
- </StatsWidget>
271
- <StatsWidget className='padding-20'>
272
- <div className='text-size-h2 line-height-h2 text-medium text-color-darkest'>
273
- <FormattedNumber value={99.99} style='unit' unit='percent' />
274
- </div>
275
- <div className='text-color-dark padding-top-5'>Total uptime</div>
276
- </StatsWidget>
277
- <StatsWidget className='padding-20'>
278
- <div className='text-size-h2 line-height-h2 text-medium text-color-darkest'>
279
- <FormattedNumber value={4.8} />
280
- </div>
281
- <div className='text-color-dark padding-top-5'>Customer score</div>
282
- </StatsWidget>
283
- </StatsWidgets>
284
- </div>
285
- );
286
- };
287
- ```
288
-
289
- #### HTML (html)
290
-
291
- ```html
292
- <div class="margin-25-md">
293
- <div class="StatsWidget-wrapper display-grid grid-auto-fit-150">
294
- <div class="StatsWidget padding-20">
295
- <div class="text-size-h2 line-height-h2 text-medium text-color-darkest">25M +</div>
296
- <div class="text-color-dark padding-top-5">Orders delivered</div>
297
- </div>
298
- <div class="StatsWidget padding-20">
299
- <div class="text-size-h2 line-height-h2 text-medium text-color-darkest">99.99%</div>
300
- <div class="text-color-dark padding-top-5">Total uptime</div>
301
- </div>
302
- <div class="StatsWidget padding-20">
303
- <div class="text-size-h2 line-height-h2 text-medium text-color-darkest">4.8</div>
304
- <div class="text-color-dark padding-top-5">Customer score</div>
305
- </div>
306
- </div>
307
- </div>
308
- ```
309
-
310
- ### Example: Total uptime
311
-
312
- 25M +
313
- Orders delivered
314
-
315
- 99.99%
316
- Total uptime
317
-
318
- 4.8
319
- Customer score
320
-
321
- #### Summary
322
-
323
- 25M +
324
- Orders delivered
325
-
326
- 99.99%
327
- Total uptime
328
-
329
- 4.8
330
- Customer score
331
-
332
- #### React (tsx)
333
-
334
- ```tsx
335
- import { FormattedNumber } from 'react-intl';
336
-
337
- import StatsWidgets from '@rio-cloud/rio-uikit/StatsWidgets';
338
- import Divider from '@rio-cloud/rio-uikit/Divider';
339
-
340
- export default () => {
341
- return (
342
- <div className='margin-25-md margin-auto'>
343
- <StatsWidgets>
344
- <div className='padding-20'>
345
- <div className='text-size-h2 line-height-h2 text-medium text-color-darkest'>25M +</div>
346
- <div className='text-color-dar padding-y-5'>Orders delivered</div>
347
- </div>
348
- <Divider vertical className='hidden-xs' />
349
- <div className='padding-20'>
350
- <div className='text-size-h2 line-height-h2 text-medium text-color-darkest'>
351
- <FormattedNumber value={99.99} style='unit' unit='percent' />
352
- </div>
353
- <div className='text-color-dark padding-y-5'>Total uptime</div>
354
- </div>
355
- <Divider vertical className='hidden-xs' />
356
- <div className='padding-20'>
357
- <div className='text-size-h2 line-height-h2 text-medium text-color-darkest'>
358
- <FormattedNumber value={4.8} />
359
- </div>
360
- <div className='text-color-dark padding-y-5'>Customer score</div>
361
- </div>
362
- </StatsWidgets>
363
- </div>
364
- );
365
- };
366
- ```
367
-
368
- #### HTML (html)
369
-
370
- ```html
371
- <div class="margin-25-md margin-auto">
372
- <div class="StatsWidget-wrapper">
373
- <div class="padding-20">
374
- <div class="text-size-h2 line-height-h2 text-medium text-color-darkest">25M +</div>
375
- <div class="text-color-dar padding-y-5">Orders delivered</div>
376
- </div>
377
- <div class="Divider position-relative hidden-xs" style="padding-left: 15px; padding-right: 15px;">
378
- <div class="divider-line bg-light" style="width: 1px; height: 100%;">
379
- </div>
380
- </div>
381
- <div class="padding-20">
382
- <div class="text-size-h2 line-height-h2 text-medium text-color-darkest">99.99%</div>
383
- <div class="text-color-dark padding-y-5">Total uptime</div>
384
- </div>
385
- <div class="Divider position-relative hidden-xs" style="padding-left: 15px; padding-right: 15px;">
386
- <div class="divider-line bg-light" style="width: 1px; height: 100%;">
387
- </div>
388
- </div>
389
- <div class="padding-20">
390
- <div class="text-size-h2 line-height-h2 text-medium text-color-darkest">4.8</div>
391
- <div class="text-color-dark padding-y-5">Customer score</div>
392
- </div>
393
- </div>
394
- </div>
395
- ```
396
-
397
- ### Example: Orders delivered
398
-
399
- Orders delivered
400
- 25M +
401
-
402
- Total uptime
403
- 99.99%
404
-
405
- Customer score
406
- 4.8
407
-
408
- #### Summary
409
-
410
- Orders delivered
411
- 25M +
412
-
413
- Total uptime
414
- 99.99%
415
-
416
- Customer score
417
- 4.8
418
-
419
- #### React (tsx)
420
-
421
- ```tsx
422
- import { FormattedNumber } from 'react-intl';
423
-
424
- import StatsWidgets from '@rio-cloud/rio-uikit/StatsWidgets';
425
- import StatsWidget from '@rio-cloud/rio-uikit/StatsWidget';
426
-
427
- export default () => {
428
- return (
429
- <div className='margin-25-md'>
430
- <StatsWidgets className='border rounded bg-white flex-nowrap gap-5 gap-10-ls gap-20-sm'>
431
- <StatsWidget className='padding-10 padding-15-ls padding-20-sm bg-none rounded-none border-right-only'>
432
- <div className='text-color-dark padding-bottom-5'>Orders delivered</div>
433
- <div className='text-size-h2 line-height-h2 text-medium text-color-darkest'>25M +</div>
434
- </StatsWidget>
435
- <StatsWidget className='padding-10 padding-15-ls padding-20-sm bg-none rounded-none border-right-only'>
436
- <div className='text-color-dark padding-bottom-5'>Total uptime</div>
437
- <div className='text-size-h2 line-height-h2 text-medium text-color-darkest'>
438
- <FormattedNumber value={99.99} style='unit' unit='percent' />
439
- </div>
440
- </StatsWidget>
441
- <StatsWidget className='padding-10 padding-15-ls padding-20-sm bg-none rounded-none border-none'>
442
- <div className='text-color-dark padding-bottom-5'>Customer score</div>
443
- <div className='text-size-h2 line-height-h2 text-medium text-color-darkest'>
444
- <FormattedNumber value={4.8} />
445
- </div>
446
- </StatsWidget>
447
- </StatsWidgets>
448
- </div>
449
- );
450
- };
451
- ```
452
-
453
- #### HTML (html)
454
-
455
- ```html
456
- <div class="margin-25-md">
457
- <div class="StatsWidget-wrapper border rounded bg-white flex-nowrap gap-5 gap-10-ls gap-20-sm">
458
- <div class="StatsWidget padding-10 padding-15-ls padding-20-sm bg-none rounded-none border-right-only">
459
- <div class="text-color-dark padding-bottom-5">Orders delivered</div>
460
- <div class="text-size-h2 line-height-h2 text-medium text-color-darkest">25M +</div>
461
- </div>
462
- <div class="StatsWidget padding-10 padding-15-ls padding-20-sm bg-none rounded-none border-right-only">
463
- <div class="text-color-dark padding-bottom-5">Total uptime</div>
464
- <div class="text-size-h2 line-height-h2 text-medium text-color-darkest">99.99%</div>
465
- </div>
466
- <div class="StatsWidget padding-10 padding-15-ls padding-20-sm bg-none rounded-none border-none">
467
- <div class="text-color-dark padding-bottom-5">Customer score</div>
468
- <div class="text-size-h2 line-height-h2 text-medium text-color-darkest">4.8</div>
469
- </div>
470
- </div>
471
- </div>
472
- ```
473
-
474
- ### Example: from 68,345
475
-
476
- Orders processed
477
- 72,678
478
- from 68,345
479
-
480
- 11.5%
481
-
482
- Open rate
483
- 43.6
484
- from 41.6
485
-
486
- 3.1%
487
-
488
- Error rate
489
- 3.6
490
- from 2.4
491
-
492
- 2.01%
493
-
494
- #### Summary
495
-
496
- Orders processed
497
- 72,678
498
- from 68,345
499
-
500
- 11.5%
501
-
502
- Open rate
503
- 43.6
504
- from 41.6
505
-
506
- 3.1%
507
-
508
- Error rate
509
- 3.6
510
- from 2.4
511
-
512
- 2.01%
513
-
514
- #### React (tsx)
515
-
516
- ```tsx
517
- import { FormattedNumber } from 'react-intl';
518
-
519
- import StatsWidgets from '@rio-cloud/rio-uikit/StatsWidgets';
520
- import StatsWidget from '@rio-cloud/rio-uikit/StatsWidget';
521
-
522
- export default () => {
523
- // Workaround to create a inner border that is also visible when items wrap onto the next line
524
- const widgetBorderStyle = {
525
- boxShadow: '1px 0 0 0 var(--gray-light), 0 1px 0 0 var(--gray-light)',
526
- };
527
-
528
- return (
529
- <div className='margin-25-md'>
530
- <div className='bg-white border rounded overflow-hidden'>
531
- <StatsWidgets className='display-grid grid-auto-fit-250 gap-1'>
532
- <StatsWidget className='padding-20 bg-white rounded-none border-none' style={widgetBorderStyle}>
533
- <div className='text-size-16 text-color-darkest padding-bottom-5'>Orders processed</div>
534
- <div className='display-flex align-items-end justify-content-between gap-10 flex-wrap'>
535
- <div className='display-flex align-items-end gap-10'>
536
- <div className='text-size-h2 line-height-h2 text-medium text-color-primary'>
537
- <FormattedNumber value={72_678} />
538
- </div>
539
- <div className='text-size-16 text-color-dark'>
540
- from <FormattedNumber value={68_345} />
541
- </div>
542
- </div>
543
- <div className='label label-success padding-x-5'>
544
- <span className='rioglyph rioglyph-arrow-up' />
545
- <FormattedNumber value={11.5} style='unit' unit='percent' />
546
- </div>
547
- </div>
548
- </StatsWidget>
549
- <StatsWidget className='padding-20 bg-white rounded-none border-none' style={widgetBorderStyle}>
550
- <div className='text-size-16 text-color-darkest padding-bottom-5'>Open rate</div>
551
- <div className='display-flex align-items-end justify-content-between gap-10 flex-wrap'>
552
- <div className='display-flex align-items-end gap-10'>
553
- <div className='text-size-h2 line-height-h2 text-medium text-color-primary'>
554
- <FormattedNumber value={43.6} />
555
- </div>
556
- <div className='text-size-16 text-color-dark'>
557
- from <FormattedNumber value={41.6} />
558
- </div>
559
- </div>
560
- <div className='label label-success padding-x-5'>
561
- <span className='rioglyph rioglyph-arrow-up' />
562
- <FormattedNumber value={3.1} style='unit' unit='percent' />
563
- </div>
564
- </div>
565
- </StatsWidget>
566
- <StatsWidget className='padding-20 bg-white rounded-none border-none' style={widgetBorderStyle}>
567
- <div className='text-size-16 text-color-darkest padding-bottom-5'>Error rate</div>
568
- <div className='display-flex align-items-end justify-content-between gap-10 flex-wrap'>
569
- <div className='display-flex align-items-end gap-10'>
570
- <div className='text-size-h2 line-height-h2 text-medium text-color-primary'>
571
- <FormattedNumber value={3.6} />
572
- </div>
573
- <div className='text-size-16 text-color-dark'>
574
- from <FormattedNumber value={2.4} />
575
- </div>
576
- </div>
577
- <div className='label label-danger padding-x-5'>
578
- <span className='rioglyph rioglyph-arrow-up' />
579
- <FormattedNumber value={2.01} style='unit' unit='percent' />
580
- </div>
581
- </div>
582
- </StatsWidget>
583
- </StatsWidgets>
584
- </div>
585
- </div>
586
- );
587
- };
588
- ```
589
-
590
- #### HTML (html)
591
-
592
- ```html
593
- <div class="margin-25-md">
594
- <div class="bg-white border rounded overflow-hidden">
595
- <div class="StatsWidget-wrapper display-grid grid-auto-fit-250 gap-1">
596
- <div class="StatsWidget padding-20 bg-white rounded-none border-none" style="box-shadow: 1px 0 0 0 var(--gray-light), 0 1px 0 0 var(--gray-light);">
597
- <div class="text-size-16 text-color-darkest padding-bottom-5">Orders processed</div>
598
- <div class="display-flex align-items-end justify-content-between gap-10 flex-wrap">
599
- <div class="display-flex align-items-end gap-10">
600
- <div class="text-size-h2 line-height-h2 text-medium text-color-primary">72,678</div>
601
- <div class="text-size-16 text-color-dark">from 68,345</div>
602
- </div>
603
- <div class="label label-success padding-x-5">
604
- <span class="rioglyph rioglyph-arrow-up">
605
- </span>11.5%
606
- </div>
607
- </div>
608
- </div>
609
- <div class="StatsWidget padding-20 bg-white rounded-none border-none" style="box-shadow: 1px 0 0 0 var(--gray-light), 0 1px 0 0 var(--gray-light);">
610
- <div class="text-size-16 text-color-darkest padding-bottom-5">Open rate</div>
611
- <div class="display-flex align-items-end justify-content-between gap-10 flex-wrap">
612
- <div class="display-flex align-items-end gap-10">
613
- <div class="text-size-h2 line-height-h2 text-medium text-color-primary">43.6</div>
614
- <div class="text-size-16 text-color-dark">from 41.6</div>
615
- </div>
616
- <div class="label label-success padding-x-5">
617
- <span class="rioglyph rioglyph-arrow-up">
618
- </span>3.1%
619
- </div>
620
- </div>
621
- </div>
622
- <div class="StatsWidget padding-20 bg-white rounded-none border-none" style="box-shadow: 1px 0 0 0 var(--gray-light), 0 1px 0 0 var(--gray-light);">
623
- <div class="text-size-16 text-color-darkest padding-bottom-5">Error rate</div>
624
- <div class="display-flex align-items-end justify-content-between gap-10 flex-wrap">
625
- <div class="display-flex align-items-end gap-10">
626
- <div class="text-size-h2 line-height-h2 text-medium text-color-primary">3.6</div>
627
- <div class="text-size-16 text-color-dark">from 2.4</div>
628
- </div>
629
- <div class="label label-danger padding-x-5">
630
- <span class="rioglyph rioglyph-arrow-up">
631
- </span>2.01%
632
- </div>
633
- </div>
634
- </div>
635
- </div>
636
- </div>
637
- </div>
638
- ```
639
-
640
- ### Example: Number of data brokers removal requests have been sent to.
641
-
642
- September, 2025
643
- Requests sent
644
- 185
645
-
646
- Number of data brokers removal requests have been sent to.
647
-
648
- Requests in progress
649
- 185
650
-
651
- Number of data brokers that have started processing our removal requests.
652
-
653
- Requests completed
654
- 0
655
-
656
- Number of data brokers that checked and confirmed that they are now not holding your data.
657
-
658
- #### Summary
659
-
660
- September, 2025
661
- Requests sent
662
- 185
663
-
664
- Number of data brokers removal requests have been sent to.
665
-
666
- Requests in progress
667
- 185
668
-
669
- Number of data brokers that have started processing our removal requests.
670
-
671
- Requests completed
672
- 0
673
-
674
- Number of data brokers that checked and confirmed that they are now not holding your data.
675
-
676
- #### React (tsx)
677
-
678
- ```tsx
679
- import Divider from '@rio-cloud/rio-uikit/Divider';
680
- import Card from '@rio-cloud/rio-uikit/Card';
681
-
682
- export default () => {
683
- return (
684
- <div className='margin-25-md'>
685
- <div className='padding-20 cq-container'>
686
- <h2 className='margin-top-0 margin-bottom-25'>September, 2025</h2>
687
- <div className='display-grid grid-cols-1 cq-400:grid-cols-2 cq-700:grid-cols-3 gap-25'>
688
- <Card className='padding-20'>
689
- <div className='text-color-darker text-size-18 text-medium margin-bottom-5'>Requests sent</div>
690
- <div className='text-size-h1 text-bold text-color-darkest'>185</div>
691
- <Divider dividerColor='lighter' />
692
- <div className='text-color-dark text-size-12'>
693
- Number of data brokers removal requests have been sent to.
694
- </div>
695
- </Card>
696
-
697
- <Card className='padding-20'>
698
- <div className='text-color-darker text-size-18 text-medium margin-bottom-5'>
699
- Requests in progress
700
- </div>
701
- <div className='text-size-h1 text-bold text-color-darkest'>185</div>
702
- <Divider dividerColor='lighter' />
703
- <div className='text-color-dark text-size-12'>
704
- Number of data brokers that have started processing our removal requests.
705
- </div>
706
- </Card>
707
-
708
- <Card className='padding-20'>
709
- <div className='text-color-darker text-size-18 text-medium margin-bottom-5'>
710
- Requests completed
711
- </div>
712
- <div className='text-size-h1 text-bold text-color-darkest'>0</div>
713
- <Divider dividerColor='lighter' />
714
- <div className='text-color-dark text-size-12'>
715
- Number of data brokers that checked and confirmed that they are now not holding your data.
716
- </div>
717
- </Card>
718
- </div>
719
- </div>
720
- </div>
721
- );
722
- };
723
- ```
724
-
725
- #### HTML (html)
726
-
727
- ```html
728
- <div class="margin-25-md">
729
- <div class="padding-20 cq-container">
730
- <h2 class="margin-top-0 margin-bottom-25">September, 2025</h2>
731
- <div class="display-grid grid-cols-1 cq-400:grid-cols-2 cq-700:grid-cols-3 gap-25">
732
- <div class="bg-white rounded border shadow-default padding-15 padding-20">
733
- <div class="text-color-darker text-size-18 text-medium margin-bottom-5">Requests sent</div>
734
- <div class="text-size-h1 text-bold text-color-darkest">185</div>
735
- <div class="Divider position-relative width-100pct" style="padding-top: 15px; padding-bottom: 15px;">
736
- <div class="divider-line bg-lighter" style="width: 100%; height: 1px;">
737
- </div>
738
- </div>
739
- <div class="text-color-dark text-size-12">Number of data brokers removal requests have been sent to.</div>
740
- </div>
741
- <div class="bg-white rounded border shadow-default padding-15 padding-20">
742
- <div class="text-color-darker text-size-18 text-medium margin-bottom-5">Requests in progress</div>
743
- <div class="text-size-h1 text-bold text-color-darkest">185</div>
744
- <div class="Divider position-relative width-100pct" style="padding-top: 15px; padding-bottom: 15px;">
745
- <div class="divider-line bg-lighter" style="width: 100%; height: 1px;">
746
- </div>
747
- </div>
748
- <div class="text-color-dark text-size-12">Number of data brokers that have started processing our removal requests.</div>
749
- </div>
750
- <div class="bg-white rounded border shadow-default padding-15 padding-20">
751
- <div class="text-color-darker text-size-18 text-medium margin-bottom-5">Requests completed</div>
752
- <div class="text-size-h1 text-bold text-color-darkest">0</div>
753
- <div class="Divider position-relative width-100pct" style="padding-top: 15px; padding-bottom: 15px;">
754
- <div class="divider-line bg-lighter" style="width: 100%; height: 1px;">
755
- </div>
756
- </div>
757
- <div class="text-color-dark text-size-12">Number of data brokers that checked and confirmed that they are now not holding your data.</div>
758
- </div>
759
- </div>
760
- </div>
761
- </div>
762
- ```
763
-
764
- ### Example:
765
-
766
- Lorem ipsum dolor
767
-
768
- JanuaryFebruaryMarchAprilMayJune
769
-
770
- Lorem ipsum dolor
771
-
772
- StatusLocationETA
773
-
774
- In transit
775
- Hamburg, DE2024-02-02
776
-
777
- Delivered
778
- Rotterdam, NL2024-01-29
779
-
780
- Awaiting pickup
781
- Warsaw, PL2024-02-05
782
-
783
- Customs clearance
784
- Antwerp, BE2024-02-03
785
-
786
- Transport ipsum dolor
787
-
788
- On-time delivery
789
-
790
- Warehouse efficiency
791
-
792
- Truck utilization
793
-
794
- Freight cost/km
795
-
796
- Fuel consumption index
797
-
798
- 92%
799
-
800
- 84%
801
-
802
- 78%
803
-
804
- 65%
805
-
806
- 15%
807
-
808
- #### Summary
809
-
810
- Lorem ipsum dolor
811
-
812
- JanuaryFebruaryMarchAprilMayJune
813
-
814
- Lorem ipsum dolor
815
-
816
- StatusLocationETA
817
-
818
- In transit
819
- Hamburg, DE2024-02-02
820
-
821
- Delivered
822
- Rotterdam, NL2024-01-29
823
-
824
- Awaiting pickup
825
- Warsaw, PL2024-02-05
826
-
827
- Customs clearance
828
- Antwerp, BE2024-02-03
829
-
830
- Transport ipsum dolor
831
-
832
- On-time delivery
833
-
834
- Warehouse efficiency
835
-
836
- Truck utilization
837
-
838
- Freight cost/km
839
-
840
- Fuel consumption index
841
-
842
- 92%
843
-
844
- 84%
845
-
846
- 78%
847
-
848
- 65%
849
-
850
- 15%
851
-
852
- #### React (tsx)
853
-
854
- ```tsx
855
- import Bar from '@rio-cloud/rio-uikit/Bar';
856
- import BarChart from '@rio-cloud/rio-uikit/BarChart';
857
- import ButtonDropdown from '@rio-cloud/rio-uikit/ButtonDropdown';
858
- import AccentBar from '@rio-cloud/rio-uikit/AccentBar';
859
- import SimpleTooltip from '@rio-cloud/rio-uikit/SimpleTooltip';
860
- import BarList from '@rio-cloud/rio-uikit/BarList';
861
-
862
- export default () => {
863
- const optionsButton = (
864
- <ButtonDropdown
865
- bsStyle='muted'
866
- title={<span className='rioglyph rioglyph-option-horizontal' aria-hidden='true' />}
867
- items={[
868
- {
869
- value: 'Edit',
870
- },
871
- {
872
- value: 'Share',
873
- },
874
- {
875
- value: 'Report issue',
876
- },
877
- ]}
878
- iconOnly
879
- pullRight
880
- />
881
- );
882
-
883
- return (
884
- <div className='margin-25-md'>
885
- <div className='display-grid grid-cols-1 grid-cols-2-sm gap-25'>
886
- <div className='panel panel-default shadow-default min-width-200'>
887
- <div className='panel-heading display-flex align-items-center justify-content-between padding-left-20'>
888
- <div className='text-medium text-size-16'>Lorem ipsum dolor</div>
889
- <div>{optionsButton}</div>
890
- </div>
891
- <div className='panel-body padding-15 padding-25-sm height-300 overflow-auto'>
892
- <BarChart
893
- data={data}
894
- dataKey='label'
895
- xAxisOptions={{ dataKey: 'label' }}
896
- showYAxis={false}
897
- margin={{ bottom: 15 }}
898
- bars={[
899
- <Bar
900
- key='myBar'
901
- dataKey='costs'
902
- unit='€'
903
- color='brand-primary'
904
- radius={[3, 3, 0, 0]}
905
- label={{
906
- position: 'top',
907
- formatter: (value: number) => `${value} €`,
908
- }}
909
- />,
910
- ]}
911
- />
912
- </div>
913
- </div>
914
-
915
- <div className='panel panel-default shadow-default min-width-200'>
916
- <div className='panel-heading display-flex align-items-center justify-content-between padding-left-20'>
917
- <div className='text-medium text-size-16 display-flex gap-5 align-items-center'>
918
- <span>Lorem ipsum dolor</span>
919
- <SimpleTooltip content='Some helper text' placement='top'>
920
- <span className='rioglyph rioglyph-question-sign text-color-dark cursor-pointer' />
921
- </SimpleTooltip>
922
- </div>
923
- <div>{optionsButton}</div>
924
- </div>
925
- <div className='panel-body padding-15 padding-25-sm overflow-auto'>
926
- <table className='table'>
927
- <thead>
928
- <tr>
929
- <th>Status</th>
930
- <th>Location</th>
931
- <th>ETA</th>
932
- </tr>
933
- </thead>
934
- <tbody>
935
- {tableData.map(row => (
936
- <tr key={row.id}>
937
- <td>
938
- <AccentBar color={getStatusColor(row.status)}>{row.status}</AccentBar>
939
- </td>
940
- <td>{row.location}</td>
941
- <td>{row.eta}</td>
942
- </tr>
943
- ))}
944
- </tbody>
945
- </table>
946
- </div>
947
- </div>
948
-
949
- <div className='panel panel-default shadow-default min-width-200'>
950
- <div className='panel-heading display-flex align-items-center justify-content-between padding-left-20'>
951
- <div className='text-medium text-size-16 display-flex gap-5 align-items-center'>
952
- <span>Transport ipsum dolor</span>
953
- </div>
954
- <div>{optionsButton}</div>
955
- </div>
956
- <div className='panel-body padding-15 padding-25-sm overflow-auto'>
957
- <BarList
958
- data={barListData}
959
- valueFormatter={value => `${value}%`}
960
- referenceValue={100}
961
- showAnimation
962
- />
963
- </div>
964
- </div>
965
- </div>
966
- </div>
967
- );
968
- };
969
-
970
- const data = [
971
- {
972
- label: 'January',
973
- costs: 46.8,
974
- },
975
- {
976
- label: 'February',
977
- costs: 22.0,
978
- },
979
- {
980
- label: 'March',
981
- costs: 12.4,
982
- },
983
- {
984
- label: 'April',
985
- costs: 3.88,
986
- },
987
- {
988
- label: 'May',
989
- costs: 3.23,
990
- },
991
- {
992
- label: 'June',
993
- costs: 4.67,
994
- },
995
- ];
996
-
997
- const tableData = [
998
- { id: 1, status: 'In transit', location: 'Hamburg, DE', eta: '2024-02-02' },
999
- { id: 2, status: 'Delivered', location: 'Rotterdam, NL', eta: '2024-01-29' },
1000
- { id: 3, status: 'Awaiting pickup', location: 'Warsaw, PL', eta: '2024-02-05' },
1001
- { id: 4, status: 'Customs clearance', location: 'Antwerp, BE', eta: '2024-02-03' },
1002
- ];
1003
-
1004
- const barListData = [
1005
- {
1006
- key: 'truck_utilization',
1007
- name: 'Truck utilization',
1008
- value: 78,
1009
- },
1010
- {
1011
- key: 'on_time_delivery',
1012
- name: 'On-time delivery',
1013
- value: 92,
1014
- },
1015
- {
1016
- key: 'freight_cost_per_km',
1017
- name: 'Freight cost/km',
1018
- value: 65,
1019
- },
1020
- {
1021
- key: 'warehouse_efficiency',
1022
- name: 'Warehouse efficiency',
1023
- value: 84,
1024
- },
1025
- {
1026
- key: 'fuel_consumption',
1027
- name: 'Fuel consumption index',
1028
- value: 15,
1029
- },
1030
- ];
1031
-
1032
- const getStatusColor = (status: string) => {
1033
- switch (status) {
1034
- case 'In transit':
1035
- return 'bg-warning';
1036
- case 'Delivered':
1037
- return 'bg-success';
1038
- case 'Awaiting pickup':
1039
- return 'bg-info';
1040
- case 'Customs clearance':
1041
- return 'bg-danger';
1042
- default:
1043
- return 'bg-primary';
1044
- }
1045
- };
1046
- ```
1047
-
1048
- #### HTML (html)
1049
-
1050
- ```html
1051
- <div class="margin-25-md">
1052
- <div class="display-grid grid-cols-1 grid-cols-2-sm gap-25">
1053
- <div class="panel panel-default shadow-default min-width-200">
1054
- <div class="panel-heading display-flex align-items-center justify-content-between padding-left-20">
1055
- <div class="text-medium text-size-16">Lorem ipsum dolor</div>
1056
- <div>
1057
- <div class="dropdown btn-group">
1058
- <button type="button" id="d5vz3ho8v0d" class="btn btn-muted btn-md btn-icon-only btn-component dropdown-toggle" tabindex="0">
1059
- <span class="rioglyph rioglyph-option-horizontal" aria-hidden="true">
1060
- </span>
1061
- </button>
1062
- </div>
1063
- </div>
1064
- </div>
1065
- <div class="panel-body padding-15 padding-25-sm height-300 overflow-auto">
1066
- <div class="recharts-responsive-container" style="width: 100%; height: 100%; min-width: 100px; min-height: 100px;">
1067
- <div style="width: 0px; height: 0px; overflow: visible;">
1068
- <div width="365" height="250" class="recharts-wrapper" style="position: relative; cursor: default; width: 365px; height: 250px;">
1069
- <div xmlns="http://www.w3.org/1999/xhtml" tabindex="-1" class="recharts-tooltip-wrapper" style="visibility: hidden; pointer-events: none; position: absolute; top: 0px; left: 0px;">
1070
- <div class="recharts-default-tooltip" role="status" aria-live="assertive" style="margin: 0px; padding: 10px; background-color: rgb(255, 255, 255); border: 1px solid rgb(204, 204, 204); white-space: nowrap;">
1071
- <p class="recharts-tooltip-label" style="margin: 0px;">
1072
- </p>
1073
- </div>
1074
- </div>
1075
- <svg role="application" tabindex="0" class="recharts-surface" width="365" height="250" viewBox="0 0 365 250" style="width: 100%; height: 100%; display: block;">
1076
- <title>
1077
- </title>
1078
- <desc>
1079
- </desc>
1080
- <g tabindex="-1">
1081
- </g>
1082
- <g tabindex="-1">
1083
- </g>
1084
- <defs>
1085
- <clipPath id="recharts1-clip">
1086
- <rect x="0" y="0" height="205" width="365">
1087
- </rect>
1088
- </clipPath>
1089
- </defs>
1090
- <g tabindex="-1">
1091
- </g>
1092
- <g tabindex="-1">
1093
- </g>
1094
- <g tabindex="-1">
1095
- <g class="recharts-layer recharts-bar" id="recharts-bar-:r0:">
1096
- <g class="recharts-layer recharts-bar-rectangles">
1097
- <g class="recharts-layer">
1098
- <g class="recharts-layer recharts-bar-rectangle">
1099
- <path fill="#30b4c0 " name="undefined" x="6.0833" y="45.1" width="48" height="159.9" class="recharts-rectangle" d="M6.0833,48.1A 3,3,0,0,1,9.0833,45.1L 51.0833,45.1A 3,3,0,0,1,
1100
- 54.0833,48.1L 54.0833,205L 6.0833,205Z">
1101
- </path>
1102
- </g>
1103
- <g class="recharts-layer recharts-bar-rectangle">
1104
- <path fill="#30b4c0 " name="undefined" x="66.9167" y="129.8333" width="48" height="75.1667" class="recharts-rectangle" d="M66.9167,132.8333A 3,3,0,0,1,69.9167,129.8333L 111.9167,129.8333A 3,3,0,0,1,
1105
- 114.9167,132.8333L 114.9167,205L 66.9167,205Z">
1106
- </path>
1107
- </g>
1108
- <g class="recharts-layer recharts-bar-rectangle">
1109
- <path fill="#30b4c0 " name="undefined" x="127.75" y="162.6333" width="48" height="42.3667" class="recharts-rectangle" d="M127.75,165.6333A 3,3,0,0,1,130.75,162.6333L 172.75,162.6333A 3,3,0,0,1,
1110
- 175.75,165.6333L 175.75,205L 127.75,205Z">
1111
- </path>
1112
- </g>
1113
- <g class="recharts-layer recharts-bar-rectangle">
1114
- <path fill="#30b4c0 " name="undefined" x="188.5833" y="191.7433" width="48" height="13.2567" class="recharts-rectangle" d="M188.5833,194.7433A 3,3,0,0,1,191.5833,191.7433L 233.5833,191.7433A 3,3,0,0,1,
1115
- 236.5833,194.7433L 236.5833,205L 188.5833,205Z">
1116
- </path>
1117
- </g>
1118
- <g class="recharts-layer recharts-bar-rectangle">
1119
- <path fill="#30b4c0 " name="undefined" x="249.4167" y="193.9642" width="48" height="11.0358" class="recharts-rectangle" d="M249.4167,196.9642A 3,3,0,0,1,252.4167,193.9642L 294.4167,193.9642A 3,3,0,0,1,
1120
- 297.4167,196.9642L 297.4167,205L 249.4167,205Z">
1121
- </path>
1122
- </g>
1123
- <g class="recharts-layer recharts-bar-rectangle">
1124
- <path fill="#30b4c0 " name="undefined" x="310.25" y="189.0442" width="48" height="15.9558" class="recharts-rectangle" d="M310.25,192.0442A 3,3,0,0,1,313.25,189.0442L 355.25,189.0442A 3,3,0,0,1,
1125
- 358.25,192.0442L 358.25,205L 310.25,205Z">
1126
- </path>
1127
- </g>
1128
- </g>
1129
- </g>
1130
- </g>
1131
- </g>
1132
- <g tabindex="-1">
1133
- </g>
1134
- <g tabindex="-1">
1135
- <g class="recharts-layer recharts-cartesian-axis recharts-xAxis xAxis">
1136
- <line angle="0" height="30" orientation="bottom" x="0" y="205" width="365" class="recharts-cartesian-axis-line" stroke="#666" fill="none" x1="0" y1="205" x2="365" y2="205">
1137
- </line>
1138
- <g class="recharts-cartesian-axis-ticks recharts-xAxis-ticks">
1139
- <g class="recharts-cartesian-axis-tick-lines recharts-xAxis-tick-lines">
1140
- <g class="recharts-layer recharts-cartesian-axis-tick">
1141
- <line angle="0" height="30" orientation="bottom" x="0" y="205" width="365" class="recharts-cartesian-axis-tick-line" stroke="#666" fill="none" x1="30.416666666666668" y1="211" x2="30.416666666666668" y2="205">
1142
- </line>
1143
- </g>
1144
- <g class="recharts-layer recharts-cartesian-axis-tick">
1145
- <line angle="0" height="30" orientation="bottom" x="0" y="205" width="365" class="recharts-cartesian-axis-tick-line" stroke="#666" fill="none" x1="91.25" y1="211" x2="91.25" y2="205">
1146
- </line>
1147
- </g>
1148
- <g class="recharts-layer recharts-cartesian-axis-tick">
1149
- <line angle="0" height="30" orientation="bottom" x="0" y="205" width="365" class="recharts-cartesian-axis-tick-line" stroke="#666" fill="none" x1="152.08333333333334" y1="211" x2="152.08333333333334" y2="205">
1150
- </line>
1151
- </g>
1152
- <g class="recharts-layer recharts-cartesian-axis-tick">
1153
- <line angle="0" height="30" orientation="bottom" x="0" y="205" width="365" class="recharts-cartesian-axis-tick-line" stroke="#666" fill="none" x1="212.91666666666666" y1="211" x2="212.91666666666666" y2="205">
1154
- </line>
1155
- </g>
1156
- <g class="recharts-layer recharts-cartesian-axis-tick">
1157
- <line angle="0" height="30" orientation="bottom" x="0" y="205" width="365" class="recharts-cartesian-axis-tick-line" stroke="#666" fill="none" x1="273.75" y1="211" x2="273.75" y2="205">
1158
- </line>
1159
- </g>
1160
- <g class="recharts-layer recharts-cartesian-axis-tick">
1161
- <line angle="0" height="30" orientation="bottom" x="0" y="205" width="365" class="recharts-cartesian-axis-tick-line" stroke="#666" fill="none" x1="334.58333333333337" y1="211" x2="334.58333333333337" y2="205">
1162
- </line>
1163
- </g>
1164
- </g>
1165
- </g>
1166
- </g>
1167
- </g>
1168
- <g tabindex="-1">
1169
- </g>
1170
- <g tabindex="-1">
1171
- </g>
1172
- <g tabindex="-1">
1173
- </g>
1174
- <g tabindex="-1">
1175
- </g>
1176
- <g tabindex="-1">
1177
- <g class="recharts-cartesian-axis-tick-labels recharts-xAxis-tick-labels">
1178
- <g class="recharts-layer recharts-cartesian-axis-tick-label">
1179
- <text height="30" orientation="bottom" width="365" stroke="none" x="30.416666666666668" y="213" class="recharts-text recharts-cartesian-axis-tick-value" text-anchor="middle" fill="#666">
1180
- <tspan x="30.416666666666668" dy="0.71em">January</tspan>
1181
- </text>
1182
- </g>
1183
- <g class="recharts-layer recharts-cartesian-axis-tick-label">
1184
- <text height="30" orientation="bottom" width="365" stroke="none" x="91.25" y="213" class="recharts-text recharts-cartesian-axis-tick-value" text-anchor="middle" fill="#666">
1185
- <tspan x="91.25" dy="0.71em">February</tspan>
1186
- </text>
1187
- </g>
1188
- <g class="recharts-layer recharts-cartesian-axis-tick-label">
1189
- <text height="30" orientation="bottom" width="365" stroke="none" x="152.08333333333334" y="213" class="recharts-text recharts-cartesian-axis-tick-value" text-anchor="middle" fill="#666">
1190
- <tspan x="152.08333333333334" dy="0.71em">March</tspan>
1191
- </text>
1192
- </g>
1193
- <g class="recharts-layer recharts-cartesian-axis-tick-label">
1194
- <text height="30" orientation="bottom" width="365" stroke="none" x="212.91666666666666" y="213" class="recharts-text recharts-cartesian-axis-tick-value" text-anchor="middle" fill="#666">
1195
- <tspan x="212.91666666666666" dy="0.71em">April</tspan>
1196
- </text>
1197
- </g>
1198
- <g class="recharts-layer recharts-cartesian-axis-tick-label">
1199
- <text height="30" orientation="bottom" width="365" stroke="none" x="273.75" y="213" class="recharts-text recharts-cartesian-axis-tick-value" text-anchor="middle" fill="#666">
1200
- <tspan x="273.75" dy="0.71em">May</tspan>
1201
- </text>
1202
- </g>
1203
- <g class="recharts-layer recharts-cartesian-axis-tick-label">
1204
- <text height="30" orientation="bottom" width="365" stroke="none" x="334.58333333333337" y="213" class="recharts-text recharts-cartesian-axis-tick-value" text-anchor="middle" fill="#666">
1205
- <tspan x="334.58333333333337" dy="0.71em">June</tspan>
1206
- </text>
1207
- </g>
1208
- </g>
1209
- <g class="recharts-layer recharts-label-list">
1210
- <text width="48" height="45.100000000000016" offset="5" x="30.083333333333336" y="40.100000000000016" class="recharts-text recharts-label" text-anchor="middle" fill="#808080">
1211
- <tspan x="30.083333333333336" dy="0em">46.8 €</tspan>
1212
- </text>
1213
- <text width="48" height="129.83333333333331" offset="5" x="90.91666666666667" y="124.83333333333331" class="recharts-text recharts-label" text-anchor="middle" fill="#808080">
1214
- <tspan x="90.91666666666667" dy="0em">22 €</tspan>
1215
- </text>
1216
- <text width="48" height="162.63333333333333" offset="5" x="151.75" y="157.63333333333333" class="recharts-text recharts-label" text-anchor="middle" fill="#808080">
1217
- <tspan x="151.75" dy="0em">12.4 €</tspan>
1218
- </text>
1219
- <text width="48" height="191.74333333333334" offset="5" x="212.58333333333334" y="186.74333333333334" class="recharts-text recharts-label" text-anchor="middle" fill="#808080">
1220
- <tspan x="212.58333333333334" dy="0em">3.88 €</tspan>
1221
- </text>
1222
- <text width="48" height="193.96416666666667" offset="5" x="273.4166666666667" y="188.96416666666667" class="recharts-text recharts-label" text-anchor="middle" fill="#808080">
1223
- <tspan x="273.4166666666667" dy="0em">3.23 €</tspan>
1224
- </text>
1225
- <text width="48" height="189.04416666666668" offset="5" x="334.25" y="184.04416666666668" class="recharts-text recharts-label" text-anchor="middle" fill="#808080">
1226
- <tspan x="334.25" dy="0em">4.67 €</tspan>
1227
- </text>
1228
- </g>
1229
- </g>
1230
- </svg>
1231
- </div>
1232
- </div>
1233
- </div>
1234
- </div>
1235
- </div>
1236
- <div class="panel panel-default shadow-default min-width-200">
1237
- <div class="panel-heading display-flex align-items-center justify-content-between padding-left-20">
1238
- <div class="text-medium text-size-16 display-flex gap-5 align-items-center">
1239
- <span>Lorem ipsum dolor</span>
1240
- <span class="rioglyph rioglyph-question-sign text-color-dark cursor-pointer">
1241
- </span>
1242
- </div>
1243
- <div>
1244
- <div class="dropdown btn-group">
1245
- <button type="button" id="r6ftwig55b9" class="btn btn-muted btn-md btn-icon-only btn-component dropdown-toggle" tabindex="0">
1246
- <span class="rioglyph rioglyph-option-horizontal" aria-hidden="true">
1247
- </span>
1248
- </button>
1249
- </div>
1250
- </div>
1251
- </div>
1252
- <div class="panel-body padding-15 padding-25-sm overflow-auto">
1253
- <table class="table">
1254
- <thead>
1255
- <tr>
1256
- <th>Status</th>
1257
- <th>Location</th>
1258
- <th>ETA</th>
1259
- </tr>
1260
- </thead>
1261
- <tbody>
1262
- <tr>
1263
- <td>
1264
- <div class="display-flex align-items-stretch">
1265
- <div class="AccentBar bg-warning">
1266
- </div>In transit
1267
- </div>
1268
- </td>
1269
- <td>Hamburg, DE</td>
1270
- <td>2024-02-02</td>
1271
- </tr>
1272
- <tr>
1273
- <td>
1274
- <div class="display-flex align-items-stretch">
1275
- <div class="AccentBar bg-success">
1276
- </div>Delivered
1277
- </div>
1278
- </td>
1279
- <td>Rotterdam, NL</td>
1280
- <td>2024-01-29</td>
1281
- </tr>
1282
- <tr>
1283
- <td>
1284
- <div class="display-flex align-items-stretch">
1285
- <div class="AccentBar bg-info">
1286
- </div>Awaiting pickup
1287
- </div>
1288
- </td>
1289
- <td>Warsaw, PL</td>
1290
- <td>2024-02-05</td>
1291
- </tr>
1292
- <tr>
1293
- <td>
1294
- <div class="display-flex align-items-stretch">
1295
- <div class="AccentBar bg-danger">
1296
- </div>Customs clearance
1297
- </div>
1298
- </td>
1299
- <td>Antwerp, BE</td>
1300
- <td>2024-02-03</td>
1301
- </tr>
1302
- </tbody>
1303
- </table>
1304
- </div>
1305
- </div>
1306
- <div class="panel panel-default shadow-default min-width-200">
1307
- <div class="panel-heading display-flex align-items-center justify-content-between padding-left-20">
1308
- <div class="text-medium text-size-16 display-flex gap-5 align-items-center">
1309
- <span>Transport ipsum dolor</span>
1310
- </div>
1311
- <div>
1312
- <div class="dropdown btn-group">
1313
- <button type="button" id="uqmbvvglcpf" class="btn btn-muted btn-md btn-icon-only btn-component dropdown-toggle" tabindex="0">
1314
- <span class="rioglyph rioglyph-option-horizontal" aria-hidden="true">
1315
- </span>
1316
- </button>
1317
- </div>
1318
- </div>
1319
- </div>
1320
- <div class="panel-body padding-15 padding-25-sm overflow-auto">
1321
- <div class="display-flex justify-content-between gap-15">
1322
- <div class="width-100pct space-y-5">
1323
- <div class="position-relative width-100pct rounded-small transition-all transition-ease-in-out transition-duration-01 bg-transparent">
1324
- <div class="display-flex align-items-center rounded-small transition-all transition-ease-in-out transition-duration-01 bg-highlight-light" role="presentation" style="height: 25px; opacity: 0.5; width: 92%;">
1325
- </div>
1326
- <div class="position-absolute left-0 top-50pct translate-y-50pct display-flex width-100pct padding-left-10">
1327
- <div class="text-color-darker">On-time delivery</div>
1328
- </div>
1329
- </div>
1330
- <div class="position-relative width-100pct rounded-small transition-all transition-ease-in-out transition-duration-01 bg-transparent">
1331
- <div class="display-flex align-items-center rounded-small transition-all transition-ease-in-out transition-duration-01 bg-highlight-light" role="presentation" style="height: 25px; opacity: 0.5; width: 84%;">
1332
- </div>
1333
- <div class="position-absolute left-0 top-50pct translate-y-50pct display-flex width-100pct padding-left-10">
1334
- <div class="text-color-darker">Warehouse efficiency</div>
1335
- </div>
1336
- </div>
1337
- <div class="position-relative width-100pct rounded-small transition-all transition-ease-in-out transition-duration-01 bg-transparent">
1338
- <div class="display-flex align-items-center rounded-small transition-all transition-ease-in-out transition-duration-01 bg-highlight-light" role="presentation" style="height: 25px; opacity: 0.5; width: 78%;">
1339
- </div>
1340
- <div class="position-absolute left-0 top-50pct translate-y-50pct display-flex width-100pct padding-left-10">
1341
- <div class="text-color-darker">Truck utilization</div>
1342
- </div>
1343
- </div>
1344
- <div class="position-relative width-100pct rounded-small transition-all transition-ease-in-out transition-duration-01 bg-transparent">
1345
- <div class="display-flex align-items-center rounded-small transition-all transition-ease-in-out transition-duration-01 bg-highlight-light" role="presentation" style="height: 25px; opacity: 0.5; width: 65%;">
1346
- </div>
1347
- <div class="position-absolute left-0 top-50pct translate-y-50pct display-flex width-100pct padding-left-10">
1348
- <div class="text-color-darker">Freight cost/km</div>
1349
- </div>
1350
- </div>
1351
- <div class="position-relative width-100pct rounded-small transition-all transition-ease-in-out transition-duration-01 bg-transparent">
1352
- <div class="display-flex align-items-center rounded-small transition-all transition-ease-in-out transition-duration-01 bg-highlight-light" role="presentation" style="height: 25px; opacity: 0.5; width: 15%;">
1353
- </div>
1354
- <div class="position-absolute left-0 top-50pct translate-y-50pct display-flex width-100pct padding-left-10">
1355
- <div class="text-color-darker">Fuel consumption index</div>
1356
- </div>
1357
- </div>
1358
- </div>
1359
- <div class="space-y-5">
1360
- <div class="display-flex align-items-center justify-content-end" style="height: 25px;">
1361
- <div class="text-color-darkest">92%</div>
1362
- </div>
1363
- <div class="display-flex align-items-center justify-content-end" style="height: 25px;">
1364
- <div class="text-color-darkest">84%</div>
1365
- </div>
1366
- <div class="display-flex align-items-center justify-content-end" style="height: 25px;">
1367
- <div class="text-color-darkest">78%</div>
1368
- </div>
1369
- <div class="display-flex align-items-center justify-content-end" style="height: 25px;">
1370
- <div class="text-color-darkest">65%</div>
1371
- </div>
1372
- <div class="display-flex align-items-center justify-content-end" style="height: 25px;">
1373
- <div class="text-color-darkest">15%</div>
1374
- </div>
1375
- </div>
1376
- </div>
1377
- </div>
1378
- </div>
1379
- </div>
1380
- </div>
1381
- ```