@rio-cloud/uikit-mcp 1.1.8 → 1.1.10

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 (210) hide show
  1. package/README.md +17 -7
  2. package/dist/doc-metadata.json +325 -85
  3. package/dist/docs/components/accentBar.md +110 -116
  4. package/dist/docs/components/activity.md +1 -1
  5. package/dist/docs/components/analyticsAnalysisOverlay.md +628 -0
  6. package/dist/docs/components/animatedNumber.md +2 -2
  7. package/dist/docs/components/animatedTextReveal.md +53 -55
  8. package/dist/docs/components/animations.md +22 -22
  9. package/dist/docs/components/appHeader.md +27 -38
  10. package/dist/docs/components/appLayout.md +38 -42
  11. package/dist/docs/components/appNavigationBar.md +1 -1
  12. package/dist/docs/components/areaCharts.md +57 -63
  13. package/dist/docs/components/aspectRatioPlaceholder.md +1 -1
  14. package/dist/docs/components/assetTree.md +200 -167
  15. package/dist/docs/components/autosuggests.md +1 -1
  16. package/dist/docs/components/avatar.md +1 -1
  17. package/dist/docs/components/banner.md +2 -2
  18. package/dist/docs/components/barCharts.md +531 -417
  19. package/dist/docs/components/barList.md +9 -9
  20. package/dist/docs/components/basicMap.md +60 -39
  21. package/dist/docs/components/bottomSheet.md +2 -2
  22. package/dist/docs/components/button.md +8 -2
  23. package/dist/docs/components/buttonToolbar.md +1 -1
  24. package/dist/docs/components/calendarStripe.md +57 -65
  25. package/dist/docs/components/card.md +1 -1
  26. package/dist/docs/components/carousel.md +1 -1
  27. package/dist/docs/components/chartColors.md +1 -3
  28. package/dist/docs/components/chartsGettingStarted.md +1 -3
  29. package/dist/docs/components/chat.md +2 -2
  30. package/dist/docs/components/checkbox.md +15 -12
  31. package/dist/docs/components/circularProgress.md +8 -8
  32. package/dist/docs/components/clearableInput.md +1 -1
  33. package/dist/docs/components/collapse.md +2 -4
  34. package/dist/docs/components/composedCharts.md +63 -53
  35. package/dist/docs/components/contentLoader.md +1 -1
  36. package/dist/docs/components/dataTabs.md +33 -33
  37. package/dist/docs/components/datepickers.md +693 -687
  38. package/dist/docs/components/dayPicker.md +5574 -0
  39. package/dist/docs/components/dayPickerCalendar.md +5269 -0
  40. package/dist/docs/components/dialogs.md +17 -19
  41. package/dist/docs/components/divider.md +1 -1
  42. package/dist/docs/components/dropdowns.md +3252 -3276
  43. package/dist/docs/components/editableContent.md +91 -91
  44. package/dist/docs/components/expander.md +4 -1
  45. package/dist/docs/components/fade.md +1 -1
  46. package/dist/docs/components/fadeExpander.md +1 -1
  47. package/dist/docs/components/fadeUp.md +32 -36
  48. package/dist/docs/components/feedback.md +1 -1
  49. package/dist/docs/components/filePickers.md +1 -1
  50. package/dist/docs/components/formLabel.md +29 -31
  51. package/dist/docs/components/groupedItemList.md +3 -7
  52. package/dist/docs/components/htmlTable.md +5074 -0
  53. package/dist/docs/components/iconList.md +4 -4
  54. package/dist/docs/components/imagePreloader.md +1 -1
  55. package/dist/docs/components/labeledElement.md +1 -1
  56. package/dist/docs/components/licensePlate.md +1 -1
  57. package/dist/docs/components/lineCharts.md +172 -172
  58. package/dist/docs/components/listMenu.md +15 -12
  59. package/dist/docs/components/loadMore.md +4 -2
  60. package/dist/docs/components/mainNavigation.md +1 -1
  61. package/dist/docs/components/mapCircle.md +10 -1
  62. package/dist/docs/components/mapCluster.md +23 -1
  63. package/dist/docs/components/mapContext.md +12 -4
  64. package/dist/docs/components/mapDraggableMarker.md +12 -1
  65. package/dist/docs/components/mapGettingStarted.md +1 -1
  66. package/dist/docs/components/mapInfoBubble.md +129 -2
  67. package/dist/docs/components/mapLayerGroup.md +10 -1
  68. package/dist/docs/components/mapMarker.md +10 -3
  69. package/dist/docs/components/mapPolygon.md +288 -85
  70. package/dist/docs/components/mapRoute.md +262 -172
  71. package/dist/docs/components/mapRouteGenerator.md +1 -1
  72. package/dist/docs/components/mapSettings.md +23 -1
  73. package/dist/docs/components/mapUtils.md +1 -1
  74. package/dist/docs/components/multiselects.md +211 -18
  75. package/dist/docs/components/noData.md +1 -1
  76. package/dist/docs/components/notifications.md +2 -2
  77. package/dist/docs/components/numbercontrol.md +15 -15
  78. package/dist/docs/components/onboarding.md +1 -1
  79. package/dist/docs/components/page.md +1 -1
  80. package/dist/docs/components/pager.md +1 -1
  81. package/dist/docs/components/pieCharts.md +237 -213
  82. package/dist/docs/components/popover.md +1 -1
  83. package/dist/docs/components/position.md +1 -1
  84. package/dist/docs/components/radialBarCharts.md +446 -400
  85. package/dist/docs/components/radioCardGroup.md +1 -1
  86. package/dist/docs/components/radiobutton.md +96 -98
  87. package/dist/docs/components/releaseNotes.md +1 -1
  88. package/dist/docs/components/resizer.md +1 -3
  89. package/dist/docs/components/responsiveColumnStripe.md +1 -3
  90. package/dist/docs/components/responsiveVideo.md +1 -1
  91. package/dist/docs/components/rioglyph.md +1 -1
  92. package/dist/docs/components/rules.md +41 -47
  93. package/dist/docs/components/saveableInput.md +252 -252
  94. package/dist/docs/components/selects.md +165 -111
  95. package/dist/docs/components/sidebar.md +1 -1
  96. package/dist/docs/components/sliders.md +1 -1
  97. package/dist/docs/components/smoothScrollbars.md +19 -15
  98. package/dist/docs/components/spinners.md +1 -1
  99. package/dist/docs/components/states.md +1 -1
  100. package/dist/docs/components/statsWidgets.md +1 -1
  101. package/dist/docs/components/statusBar.md +1 -1
  102. package/dist/docs/components/stepButton.md +1 -1
  103. package/dist/docs/components/steppedProgressBars.md +9 -11
  104. package/dist/docs/components/subNavigation.md +1 -1
  105. package/dist/docs/components/supportMarker.md +1 -1
  106. package/dist/docs/components/svgImage.md +1 -1
  107. package/dist/docs/components/switch.md +3 -1
  108. package/dist/docs/components/table.md +19584 -0
  109. package/dist/docs/components/tableControls.md +982 -0
  110. package/dist/docs/components/tagManager.md +1 -1
  111. package/dist/docs/components/tags.md +1 -1
  112. package/dist/docs/components/teaser.md +1 -3
  113. package/dist/docs/components/textTruncateMiddle.md +1 -1
  114. package/dist/docs/components/timeline.md +1 -1
  115. package/dist/docs/components/timepicker.md +1 -1
  116. package/dist/docs/components/toggleButton.md +3 -1
  117. package/dist/docs/components/tooltip.md +4 -2
  118. package/dist/docs/components/tracker.md +1 -1
  119. package/dist/docs/components/virtualList.md +56 -56
  120. package/dist/docs/foundations.md +640 -3122
  121. package/dist/docs/start/changelog.md +53 -3
  122. package/dist/docs/start/goodtoknow.md +2 -4
  123. package/dist/docs/start/guidelines/color-combinations.md +1 -1
  124. package/dist/docs/start/guidelines/custom-css.md +1 -1
  125. package/dist/docs/start/guidelines/custom-rioglyph.md +1 -1
  126. package/dist/docs/start/guidelines/formatting.md +1 -3
  127. package/dist/docs/start/guidelines/iframe.md +17 -19
  128. package/dist/docs/start/guidelines/obfuscate-data.md +2 -4
  129. package/dist/docs/start/guidelines/print-css.md +1 -1
  130. package/dist/docs/start/guidelines/spinner.md +1 -1
  131. package/dist/docs/start/guidelines/state-in-url.md +1 -1
  132. package/dist/docs/start/guidelines/supported-browsers.md +1 -1
  133. package/dist/docs/start/guidelines/writing.md +1 -1
  134. package/dist/docs/start/howto.md +12 -20
  135. package/dist/docs/start/intro.md +1 -1
  136. package/dist/docs/start/responsiveness.md +1 -3
  137. package/dist/docs/templates/ai-assistant.md +311 -0
  138. package/dist/docs/templates/common-table.md +814 -0
  139. package/dist/docs/templates/detail-views.md +846 -0
  140. package/dist/docs/templates/expandable-details.md +214 -0
  141. package/dist/docs/templates/feature-cards.md +479 -0
  142. package/dist/docs/templates/form-summary.md +179 -0
  143. package/dist/docs/templates/form-toggle.md +329 -0
  144. package/dist/docs/templates/list-blocks.md +872 -0
  145. package/dist/docs/templates/loading-progress.md +100 -0
  146. package/dist/docs/templates/options-panel.md +132 -0
  147. package/dist/docs/templates/panel-variants.md +137 -0
  148. package/dist/docs/templates/progress-cards.md +541 -0
  149. package/dist/docs/templates/progress-success.md +125 -0
  150. package/dist/docs/templates/settings-form.md +401 -0
  151. package/dist/docs/templates/stats-blocks.md +1245 -0
  152. package/dist/docs/templates/table-panel.md +310 -0
  153. package/dist/docs/templates/usage-cards.md +199 -0
  154. package/dist/docs/utilities/classNames.md +1 -1
  155. package/dist/docs/utilities/deviceUtils.md +2 -2
  156. package/dist/docs/utilities/featureToggles.md +1 -1
  157. package/dist/docs/utilities/fuelTypeUtils.md +27 -29
  158. package/dist/docs/utilities/getTrackingAttributes.md +277 -0
  159. package/dist/docs/utilities/routeUtils.md +2 -2
  160. package/dist/docs/utilities/useAfterMount.md +1 -1
  161. package/dist/docs/utilities/useAutoAnimate.md +1 -1
  162. package/dist/docs/utilities/useAverage.md +1 -1
  163. package/dist/docs/utilities/useClickOutside.md +1 -1
  164. package/dist/docs/utilities/useClipboard.md +2 -2
  165. package/dist/docs/utilities/useCookies.md +1 -1
  166. package/dist/docs/utilities/useCount.md +1 -1
  167. package/dist/docs/utilities/useDarkMode.md +5 -4
  168. package/dist/docs/utilities/useDebugInfo.md +3 -3
  169. package/dist/docs/utilities/useDraggableElement.md +281 -0
  170. package/dist/docs/utilities/useEffectOnce.md +1 -1
  171. package/dist/docs/utilities/useElapsedTime.md +1 -1
  172. package/dist/docs/utilities/useElementSize.md +1 -1
  173. package/dist/docs/utilities/useEsc.md +1 -1
  174. package/dist/docs/utilities/useEvent.md +1 -1
  175. package/dist/docs/utilities/useFocusTrap.md +1 -1
  176. package/dist/docs/utilities/useFullscreen.md +1 -1
  177. package/dist/docs/utilities/useHover.md +1 -1
  178. package/dist/docs/utilities/useIncomingPostMessages.md +1 -1
  179. package/dist/docs/utilities/useInterval.md +1 -1
  180. package/dist/docs/utilities/useIsFocusWithin.md +1 -1
  181. package/dist/docs/utilities/useKey.md +8 -10
  182. package/dist/docs/utilities/useLocalStorage.md +1 -1
  183. package/dist/docs/utilities/useLocationSuggestions.md +1 -1
  184. package/dist/docs/utilities/useMax.md +1 -1
  185. package/dist/docs/utilities/useMin.md +1 -1
  186. package/dist/docs/utilities/useMutationObserver.md +1 -1
  187. package/dist/docs/utilities/useOnScreen.md +1 -1
  188. package/dist/docs/utilities/useOnlineStatus.md +1 -1
  189. package/dist/docs/utilities/usePostMessage.md +2 -2
  190. package/dist/docs/utilities/usePostMessageSender.md +1 -1
  191. package/dist/docs/utilities/usePrevious.md +2 -4
  192. package/dist/docs/utilities/useResizeObserver.md +35 -15
  193. package/dist/docs/utilities/useRioCookieConsent.md +1 -1
  194. package/dist/docs/utilities/useScrollPosition.md +3 -6
  195. package/dist/docs/utilities/useSearch.md +1 -3
  196. package/dist/docs/utilities/useSearchHighlight.md +1 -1
  197. package/dist/docs/utilities/useSorting.md +370 -239
  198. package/dist/docs/utilities/useStateWithValidation.md +1 -1
  199. package/dist/docs/utilities/useSum.md +1 -1
  200. package/dist/docs/utilities/useTableExport.md +364 -288
  201. package/dist/docs/utilities/useTableSelection.md +88 -92
  202. package/dist/docs/utilities/useTimeout.md +1 -1
  203. package/dist/docs/utilities/useToggle.md +1 -1
  204. package/dist/docs/utilities/useUrlState.md +1 -1
  205. package/dist/docs/utilities/useWindowResize.md +1 -1
  206. package/dist/index.mjs +2 -8
  207. package/dist/search-synonyms.json +2 -2
  208. package/dist/version.json +2 -2
  209. package/package.json +15 -9
  210. package/dist/docs/components/tables.md +0 -8
@@ -0,0 +1,814 @@
1
+ # Common table
2
+
3
+ *Category:* Templates
4
+ *Section:* Tables
5
+ *Source:* https://uikit.developers.rio.cloud/#/templates/common-table
6
+ *Captured:* 2026-04-20T12:55:46.931Z
7
+
8
+ ## Common table
9
+
10
+ ### Example: Example 1
11
+
12
+ New Action
13
+
14
+ ‹ April 2026 ›
15
+ Su Mo Tu We Th Fr Sa
16
+
17
+ 29 30 31 1 2 3 4
18
+ 5 6 7 8 9 10 11
19
+ 12 13 14 15 16 17 18
20
+ 19 20 21 22 23 24 25
21
+ 26 27 28 29 30 1 2
22
+ 3 4 5 6 7 8 9
23
+
24
+ 12:00 AM
25
+
26
+ Table view
27
+ Cards view
28
+ List view
29
+
30
+ Columns
31
+
32
+ ID
33
+
34
+ Name
35
+
36
+ VIN
37
+
38
+ Status
39
+
40
+ Duration
41
+
42
+ Actions
43
+
44
+ 233
45
+
46
+ Ipsum
47
+
48
+ WVWZZZ1JZXW000002
49
+
50
+ Inactive
51
+
52
+ 5h 15m
53
+
54
+ 895
55
+
56
+ Dolor
57
+
58
+ WVWZZZ1JZXW000003
59
+
60
+ Active
61
+
62
+ 8h 45m
63
+
64
+ 2445
65
+
66
+ Amet
67
+
68
+ WVWZZZ1JZXW000005
69
+
70
+ Active
71
+
72
+ 7h 25m
73
+
74
+ 3456
75
+
76
+ Sit
77
+
78
+ WVWZZZ1JZXW000004
79
+
80
+ Maintenance
81
+
82
+ 12h 00m
83
+
84
+ 7354
85
+
86
+ Lorem
87
+
88
+ WVWZZZ1JZXW000001
89
+
90
+ Active
91
+
92
+ 10h 30m
93
+
94
+ #### React (tsx)
95
+
96
+ ```tsx
97
+ import { useMemo, useState } from 'react';
98
+
99
+ import Button from '@rio-cloud/rio-uikit/Button';
100
+ import DatePicker from '@rio-cloud/rio-uikit/DatePicker';
101
+ import NotFoundState from '@rio-cloud/rio-uikit/NotFoundState';
102
+ import Table, {
103
+ TableBody,
104
+ TableColumn,
105
+ TableColumnsDropdown,
106
+ TableHeader,
107
+ TableHeaderColumn,
108
+ TableRow,
109
+ } from '@rio-cloud/rio-uikit/Table';
110
+ import TableCardsSorting from '@rio-cloud/rio-uikit/TableCardsSorting';
111
+ import TableRowActionsDropdown from '@rio-cloud/rio-uikit/TableRowActionsDropdown';
112
+ import TableSearch from '@rio-cloud/rio-uikit/TableSearch';
113
+ import TableToolbar, { TableToolbarColumn } from '@rio-cloud/rio-uikit/TableToolbar';
114
+ import TableViewToggles, { type TableViewTogglesViewType } from '@rio-cloud/rio-uikit/TableViewToggles';
115
+ import useSorting from '@rio-cloud/rio-uikit/useSorting';
116
+
117
+ type DemoVehicle = {
118
+ id: string;
119
+ name: string;
120
+ vin: string;
121
+ status: 'Active' | 'Inactive' | 'Maintenance';
122
+ duration: string;
123
+ };
124
+
125
+ type DemoColumn = {
126
+ key: keyof DemoVehicle | 'actions';
127
+ label: string;
128
+ visible: boolean;
129
+ sortable?: boolean;
130
+ width?: number;
131
+ horizontalAlign?: 'left' | 'center' | 'right';
132
+ };
133
+
134
+ const vehicles: DemoVehicle[] = [
135
+ { id: '7354', name: 'Lorem', vin: 'WVWZZZ1JZXW000001', status: 'Active', duration: '10h 30m' },
136
+ { id: '233', name: 'Ipsum', vin: 'WVWZZZ1JZXW000002', status: 'Inactive', duration: '5h 15m' },
137
+ { id: '895', name: 'Dolor', vin: 'WVWZZZ1JZXW000003', status: 'Active', duration: '8h 45m' },
138
+ { id: '3456', name: 'Sit', vin: 'WVWZZZ1JZXW000004', status: 'Maintenance', duration: '12h 00m' },
139
+ { id: '2445', name: 'Amet', vin: 'WVWZZZ1JZXW000005', status: 'Active', duration: '7h 25m' },
140
+ ];
141
+
142
+ const initialColumns: DemoColumn[] = [
143
+ { key: 'id', label: 'ID', visible: true, sortable: true, width: 90 },
144
+ { key: 'name', label: 'Name', visible: true, sortable: true },
145
+ { key: 'vin', label: 'VIN', visible: true, sortable: true },
146
+ { key: 'status', label: 'Status', visible: true, sortable: true },
147
+ { key: 'duration', label: 'Duration', visible: true, sortable: true, horizontalAlign: 'right' },
148
+ { key: 'actions', label: 'Actions', visible: true, width: 60, horizontalAlign: 'right' },
149
+ ];
150
+
151
+ const resolveStatusLabelClassName = (status: DemoVehicle['status']) => {
152
+ switch (status) {
153
+ case 'Active':
154
+ return 'label label-success label-filled label-condensed';
155
+ case 'Inactive':
156
+ return 'label label-warning label-filled label-condensed';
157
+ case 'Maintenance':
158
+ return 'label label-info label-filled label-condensed';
159
+ default:
160
+ return 'label label-muted label-filled label-condensed';
161
+ }
162
+ };
163
+
164
+ const TableCommonDemo = () => {
165
+ const [viewType, setViewType] = useState<TableViewTogglesViewType>('TABLE');
166
+ const [searchValue, setSearchValue] = useState('');
167
+ const [columns, setColumns] = useState<DemoColumn[]>(initialColumns);
168
+ const [activeRowId, setActiveRowId] = useState<string | number | undefined>();
169
+
170
+ const { sortedItems, sortKey, sortDirection, setSortKey, setSortDirection } = useSorting(vehicles, 'id');
171
+
172
+ const visibleColumns = columns.filter(column => column.visible !== false);
173
+
174
+ const filteredItems = useMemo(() => {
175
+ if (!searchValue) {
176
+ return sortedItems;
177
+ }
178
+
179
+ const normalizedSearchValue = searchValue.toLowerCase();
180
+
181
+ return sortedItems.filter(
182
+ vehicle =>
183
+ vehicle.id.toLowerCase().includes(normalizedSearchValue) ||
184
+ vehicle.name.toLowerCase().includes(normalizedSearchValue) ||
185
+ vehicle.vin.toLowerCase().includes(normalizedSearchValue) ||
186
+ vehicle.status.toLowerCase().includes(normalizedSearchValue) ||
187
+ vehicle.duration.toLowerCase().includes(normalizedSearchValue)
188
+ );
189
+ }, [searchValue, sortedItems]);
190
+
191
+ const handleSortChange = (columnKey: string, direction: 'asc' | 'desc') => {
192
+ setSortKey(columnKey as keyof DemoVehicle);
193
+ setSortDirection(direction);
194
+ };
195
+
196
+ const handleColumnOrderChange = (columnOrder: string[]) => {
197
+ setColumns(previousColumns => {
198
+ const columnsByKey = new Map(previousColumns.map(column => [column.key, column]));
199
+
200
+ return columnOrder.flatMap(columnKey => {
201
+ const column = columnsByKey.get(columnKey as keyof DemoVehicle);
202
+ return column ? [column] : [];
203
+ });
204
+ });
205
+ };
206
+
207
+ const handleColumnVisibilityChange = (columnKey: string, visible: boolean) => {
208
+ setColumns(previousColumns =>
209
+ previousColumns.map(column =>
210
+ column.key === (columnKey as keyof DemoVehicle) ? { ...column, visible } : column
211
+ )
212
+ );
213
+ };
214
+
215
+ const handleColumnsReset = () => {
216
+ setColumns(initialColumns);
217
+ };
218
+
219
+ return (
220
+ <div className='padding-20'>
221
+ <TableToolbar>
222
+ <TableToolbarColumn>
223
+ <div className='btn-toolbar'>
224
+ <Button bsStyle='primary' iconName='rioglyph-plus'>
225
+ New
226
+ </Button>
227
+ <Button>Action</Button>
228
+ </div>
229
+ </TableToolbarColumn>
230
+ <TableToolbarColumn className='min-width-150'>
231
+ <DatePicker inputProps={{ placeholder: 'Select date' }} />
232
+ </TableToolbarColumn>
233
+ <TableToolbarColumn horizontalAlign='right' separator>
234
+ <TableSearch value={searchValue} onChange={setSearchValue} placeholder='Search in table' />
235
+ </TableToolbarColumn>
236
+ <TableToolbarColumn horizontalAlign='right'>
237
+ <div className='display-flex gap-10'>
238
+ <TableViewToggles
239
+ viewType={viewType}
240
+ tableViewLabel='Table view'
241
+ singleCardViewLabel='List view'
242
+ multiCardsViewLabel='Cards view'
243
+ onViewTypeChange={setViewType}
244
+ />
245
+ <TableColumnsDropdown
246
+ columns={columns}
247
+ label='Columns'
248
+ onColumnOrderChange={handleColumnOrderChange}
249
+ onColumnVisibilityChange={handleColumnVisibilityChange}
250
+ onReset={handleColumnsReset}
251
+ showResetButton
252
+ resetLabel='Reset columns'
253
+ />
254
+ </div>
255
+ </TableToolbarColumn>
256
+ </TableToolbar>
257
+
258
+ {viewType !== 'TABLE' && (
259
+ <TableCardsSorting
260
+ selectOptions={columns
261
+ .filter(column => column.sortable)
262
+ .map(column => ({
263
+ id: column.key,
264
+ label: column.label,
265
+ selected: column.key === sortKey,
266
+ }))}
267
+ sortName={String(sortKey)}
268
+ sortOrder={sortDirection}
269
+ onSortChange={handleSortChange}
270
+ />
271
+ )}
272
+
273
+ <Table
274
+ rowKey='id'
275
+ viewType={viewType}
276
+ hover
277
+ shadow
278
+ activeRowId={activeRowId}
279
+ onActiveRowChange={rowId => setActiveRowId(rowId)}
280
+ sortBy={String(sortKey)}
281
+ sortDirection={sortDirection}
282
+ onSortChange={handleSortChange}
283
+ columnOrder={columns.map(column => column.key)}
284
+ onColumnOrderChange={handleColumnOrderChange}
285
+ noRowsState={
286
+ <NotFoundState
287
+ headline='No matching vehicles found'
288
+ message='Try adjusting your search query or resetting the filters to see more results.'
289
+ outerClassName='border-none'
290
+ />
291
+ }
292
+ >
293
+ <TableHeader>
294
+ {visibleColumns.map(column => (
295
+ <TableHeaderColumn
296
+ key={column.key}
297
+ columnKey={column.key}
298
+ sortable={column.sortable}
299
+ width={column.width}
300
+ horizontalAlign={column.horizontalAlign}
301
+ >
302
+ {column.label}
303
+ </TableHeaderColumn>
304
+ ))}
305
+ </TableHeader>
306
+ <TableBody>
307
+ {filteredItems.map(vehicle => (
308
+ <TableRow key={vehicle.id} id={vehicle.id}>
309
+ {visibleColumns.map(column => {
310
+ switch (column.key) {
311
+ case 'status':
312
+ return (
313
+ <TableColumn key={column.key} columnKey={column.key}>
314
+ <span className={resolveStatusLabelClassName(vehicle.status)}>
315
+ {vehicle.status}
316
+ </span>
317
+ </TableColumn>
318
+ );
319
+ case 'duration':
320
+ return (
321
+ <TableColumn
322
+ key={column.key}
323
+ columnKey={column.key}
324
+ horizontalAlign='right'
325
+ >
326
+ {vehicle.duration}
327
+ </TableColumn>
328
+ );
329
+ case 'actions':
330
+ return (
331
+ <TableColumn
332
+ key={column.key}
333
+ columnKey={column.key}
334
+ horizontalAlign='right'
335
+ preventRowClick
336
+ className='padding-y-0'
337
+ >
338
+ <TableRowActionsDropdown
339
+ items={[
340
+ {
341
+ value: (
342
+ <span className='display-flex align-items-center gap-15'>
343
+ <span className='rioglyph rioglyph-pencil' />
344
+ <span>Edit</span>
345
+ </span>
346
+ ),
347
+ onSelect: () => {},
348
+ },
349
+ {
350
+ value: (
351
+ <span className='display-flex align-items-center gap-15'>
352
+ <span className='rioglyph rioglyph-duplicate' />
353
+ <span>Duplicate</span>
354
+ </span>
355
+ ),
356
+ onSelect: () => {},
357
+ },
358
+ {
359
+ value: (
360
+ <span className='display-flex align-items-center gap-15'>
361
+ <span className='rioglyph rioglyph-trash' />
362
+ <span>Delete</span>
363
+ </span>
364
+ ),
365
+ onSelect: () => {},
366
+ },
367
+ ]}
368
+ />
369
+ </TableColumn>
370
+ );
371
+ default:
372
+ return (
373
+ <TableColumn key={column.key} columnKey={column.key}>
374
+ {vehicle[column.key]}
375
+ </TableColumn>
376
+ );
377
+ }
378
+ })}
379
+ </TableRow>
380
+ ))}
381
+ </TableBody>
382
+ </Table>
383
+ </div>
384
+ );
385
+ };
386
+
387
+ export default TableCommonDemo;
388
+ ```
389
+
390
+ #### HTML (html)
391
+
392
+ ```html
393
+ <div class="padding-20">
394
+ <div class="table-toolbar">
395
+ <div class="table-toolbar-container">
396
+ <div class="table-toolbar-group-left">
397
+ <div class="table-toolbar-column align-self-end">
398
+ <div class="btn-toolbar">
399
+ <button type="button" class="btn btn-primary btn-component" tabindex="0">
400
+ <span class="rioglyph rioglyph-plus">
401
+ </span>New</button>
402
+ <button type="button" class="btn btn-default btn-component" tabindex="0">Action</button>
403
+ </div>
404
+ </div>
405
+ <div class="table-toolbar-column align-self-end min-width-150">
406
+ <div class="rdt DatePicker form-group">
407
+ <div class="input-group">
408
+ <span class="input-group-addon">
409
+ <span class="rioglyph rioglyph-calendar" aria-hidden="true">
410
+ </span>
411
+ </span>
412
+ <div class="ClearableInput input-group">
413
+ <input type="text" class="form-control" placeholder="Select date" value="">
414
+ </div>
415
+ </div>
416
+ <div class="rdtPicker">
417
+ <div class="rdtDays">
418
+ <table>
419
+ <thead>
420
+ <tr>
421
+ <th class="rdtPrev">
422
+ <span>‹</span>
423
+ </th>
424
+ <th class="rdtSwitch" colspan="5" data-value="3">April 2026</th>
425
+ <th class="rdtNext">
426
+ <span>›</span>
427
+ </th>
428
+ </tr>
429
+ <tr>
430
+ <th class="dow">Su</th>
431
+ <th class="dow">Mo</th>
432
+ <th class="dow">Tu</th>
433
+ <th class="dow">We</th>
434
+ <th class="dow">Th</th>
435
+ <th class="dow">Fr</th>
436
+ <th class="dow">Sa</th>
437
+ </tr>
438
+ </thead>
439
+ <tbody>
440
+ <tr>
441
+ <td data-value="29" data-month="2" data-year="2026" class="rdtDay rdtOld">29</td>
442
+ <td data-value="30" data-month="2" data-year="2026" class="rdtDay rdtOld">30</td>
443
+ <td data-value="31" data-month="2" data-year="2026" class="rdtDay rdtOld">31</td>
444
+ <td data-value="1" data-month="3" data-year="2026" class="rdtDay">1</td>
445
+ <td data-value="2" data-month="3" data-year="2026" class="rdtDay">2</td>
446
+ <td data-value="3" data-month="3" data-year="2026" class="rdtDay">3</td>
447
+ <td data-value="4" data-month="3" data-year="2026" class="rdtDay">4</td>
448
+ </tr>
449
+ <tr>
450
+ <td data-value="5" data-month="3" data-year="2026" class="rdtDay">5</td>
451
+ <td data-value="6" data-month="3" data-year="2026" class="rdtDay">6</td>
452
+ <td data-value="7" data-month="3" data-year="2026" class="rdtDay">7</td>
453
+ <td data-value="8" data-month="3" data-year="2026" class="rdtDay">8</td>
454
+ <td data-value="9" data-month="3" data-year="2026" class="rdtDay">9</td>
455
+ <td data-value="10" data-month="3" data-year="2026" class="rdtDay">10</td>
456
+ <td data-value="11" data-month="3" data-year="2026" class="rdtDay">11</td>
457
+ </tr>
458
+ <tr>
459
+ <td data-value="12" data-month="3" data-year="2026" class="rdtDay">12</td>
460
+ <td data-value="13" data-month="3" data-year="2026" class="rdtDay">13</td>
461
+ <td data-value="14" data-month="3" data-year="2026" class="rdtDay">14</td>
462
+ <td data-value="15" data-month="3" data-year="2026" class="rdtDay">15</td>
463
+ <td data-value="16" data-month="3" data-year="2026" class="rdtDay">16</td>
464
+ <td data-value="17" data-month="3" data-year="2026" class="rdtDay">17</td>
465
+ <td data-value="18" data-month="3" data-year="2026" class="rdtDay">18</td>
466
+ </tr>
467
+ <tr>
468
+ <td data-value="19" data-month="3" data-year="2026" class="rdtDay">19</td>
469
+ <td data-value="20" data-month="3" data-year="2026" class="rdtDay rdtToday">20</td>
470
+ <td data-value="21" data-month="3" data-year="2026" class="rdtDay">21</td>
471
+ <td data-value="22" data-month="3" data-year="2026" class="rdtDay">22</td>
472
+ <td data-value="23" data-month="3" data-year="2026" class="rdtDay">23</td>
473
+ <td data-value="24" data-month="3" data-year="2026" class="rdtDay">24</td>
474
+ <td data-value="25" data-month="3" data-year="2026" class="rdtDay">25</td>
475
+ </tr>
476
+ <tr>
477
+ <td data-value="26" data-month="3" data-year="2026" class="rdtDay">26</td>
478
+ <td data-value="27" data-month="3" data-year="2026" class="rdtDay">27</td>
479
+ <td data-value="28" data-month="3" data-year="2026" class="rdtDay">28</td>
480
+ <td data-value="29" data-month="3" data-year="2026" class="rdtDay">29</td>
481
+ <td data-value="30" data-month="3" data-year="2026" class="rdtDay">30</td>
482
+ <td data-value="1" data-month="4" data-year="2026" class="rdtDay rdtNew">1</td>
483
+ <td data-value="2" data-month="4" data-year="2026" class="rdtDay rdtNew">2</td>
484
+ </tr>
485
+ <tr>
486
+ <td data-value="3" data-month="4" data-year="2026" class="rdtDay rdtNew">3</td>
487
+ <td data-value="4" data-month="4" data-year="2026" class="rdtDay rdtNew">4</td>
488
+ <td data-value="5" data-month="4" data-year="2026" class="rdtDay rdtNew">5</td>
489
+ <td data-value="6" data-month="4" data-year="2026" class="rdtDay rdtNew">6</td>
490
+ <td data-value="7" data-month="4" data-year="2026" class="rdtDay rdtNew">7</td>
491
+ <td data-value="8" data-month="4" data-year="2026" class="rdtDay rdtNew">8</td>
492
+ <td data-value="9" data-month="4" data-year="2026" class="rdtDay rdtNew">9</td>
493
+ </tr>
494
+ </tbody>
495
+ <tfoot>
496
+ <tr>
497
+ <td colspan="7" class="rdtTimeToggle">12:00 AM</td>
498
+ </tr>
499
+ </tfoot>
500
+ </table>
501
+ </div>
502
+ </div>
503
+ </div>
504
+ </div>
505
+ </div>
506
+ <div class="table-toolbar-group-right">
507
+ <div class="table-toolbar-column align-self-end table-toolbar-column-separator">
508
+ <div class="table-toolbar-search input-group">
509
+ <span class="input-group-addon">
510
+ <span class="rioglyph rioglyph-search">
511
+ </span>
512
+ </span>
513
+ <div class="ClearableInput input-group">
514
+ <input placeholder="Search in table" class="form-control" type="text" tabindex="0" value="">
515
+ <span class="clearButton hide">
516
+ <span class="clearButtonIcon rioglyph rioglyph-remove-sign">
517
+ </span>
518
+ </span>
519
+ </div>
520
+ </div>
521
+ </div>
522
+ <div class="table-toolbar-column align-self-end">
523
+ <div class="display-flex gap-10">
524
+ <div class="TableViewToggles">
525
+ <div class="form-group margin-bottom-0">
526
+ <div class="select dropdown">
527
+ <button type="button" class="dropdown-toggle form-control text-left" data-toggle="dropdown" tabindex="0" aria-haspopup="true" aria-expanded="false">
528
+ <span class="selected-option-text">
529
+ <span>
530
+ <span class="rioglyph rioglyph-table-view">
531
+ </span>
532
+ </span>
533
+ </span>
534
+ <span class="select-toggle-actions">
535
+ <span class="clearButton hide pointer-events-none">
536
+ <span class="clearButtonIcon rioglyph rioglyph-remove-sign">
537
+ </span>
538
+ </span>
539
+ <span class="caret">
540
+ </span>
541
+ </span>
542
+ </button>
543
+ <ul class="dropdown-menu pull-right" role="menu">
544
+ <li class="" role="listitem">
545
+ <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="TABLE" data-item-index="0">
546
+ <span class="selected-option-dropdown-item">
547
+ <span class="rioglyph rioglyph-table-view">
548
+ </span>Table view</span>
549
+ <input type="hidden" value="TABLE">
550
+ </a>
551
+ </li>
552
+ <li class="" role="listitem">
553
+ <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="MULTI_CARDS" data-item-index="1">
554
+ <span class="selected-option-dropdown-item">
555
+ <span class="rioglyph rioglyph-split-view">
556
+ </span>Cards view</span>
557
+ <input type="hidden" value="MULTI_CARDS">
558
+ </a>
559
+ </li>
560
+ <li class="" role="listitem">
561
+ <a role="menuitem" class="display-flex align-items-center gap-3" data-item-id="SINGLE_CARD" data-item-index="2">
562
+ <span class="selected-option-dropdown-item">
563
+ <span class="rioglyph rioglyph-th-list">
564
+ </span>List view</span>
565
+ <input type="hidden" value="SINGLE_CARD">
566
+ </a>
567
+ </li>
568
+ </ul>
569
+ </div>
570
+ </div>
571
+ </div>
572
+ <div class="dropdown btn-group">
573
+ <button type="button" id="p3bept73hr" class="btn btn-default btn-md btn-component dropdown-toggle" tabindex="0">
574
+ <span class="display-inline-flex align-items-center gap-5">
575
+ <span class="rioglyph rioglyph-table-view">
576
+ </span>
577
+ <span>Columns</span>
578
+ </span>
579
+ </button>
580
+ </div>
581
+ </div>
582
+ </div>
583
+ </div>
584
+ </div>
585
+ </div>
586
+ <div class="table table-view-table table-hover shadow-default border table-rounded table-has-head" role="table" style="--table-columns: minmax(0, 90px) minmax(50px, 1fr) minmax(50px, 1fr) minmax(50px, 1fr) minmax(50px, 1fr) minmax(0, 60px); --table-areas: &quot;table-col-1 table-col-2 table-col-3 table-col-4 table-col-5 table-col-6&quot;; --table-column-count: 6; --table-sticky-reference-top: var(--table-sticky-offset); --table-width: 868px;" aria-colcount="6">
587
+ <div class="table-head" role="rowgroup">
588
+ <div class="table-head-grid" role="row" style="grid-template-rows: repeat(1, auto);">
589
+ <div class="table-head-cell table-head-cell-sortable table-head-cell-has-column-divider table-align-left table-vertical-align-middle" data-column="id" role="columnheader" aria-colindex="1" aria-rowindex="1" aria-sort="ascending" style="grid-area: 1 / 1 / span 1 / span 1;">
590
+ <div class="table-head-cell-content">
591
+ <div class="table-head-cell-content-row">
592
+ <button type="button" class="table-head-button">
593
+ <span class="table-head-button-label">
594
+ <span class="sort-arrows sort-asc">
595
+ </span>
596
+ <span class="table-head-label">ID</span>
597
+ </span>
598
+ </button>
599
+ </div>
600
+ </div>
601
+ </div>
602
+ <div class="table-head-cell table-head-cell-sortable table-head-cell-has-column-divider table-align-left table-vertical-align-middle" data-column="name" role="columnheader" aria-colindex="2" aria-rowindex="1" aria-sort="none" style="grid-area: 1 / 2 / span 1 / span 1;">
603
+ <div class="table-head-cell-content">
604
+ <div class="table-head-cell-content-row">
605
+ <button type="button" class="table-head-button">
606
+ <span class="table-head-button-label">
607
+ <span class="sort-arrows ">
608
+ </span>
609
+ <span class="table-head-label">Name</span>
610
+ </span>
611
+ </button>
612
+ </div>
613
+ </div>
614
+ </div>
615
+ <div class="table-head-cell table-head-cell-sortable table-head-cell-has-column-divider table-align-left table-vertical-align-middle" data-column="vin" role="columnheader" aria-colindex="3" aria-rowindex="1" aria-sort="none" style="grid-area: 1 / 3 / span 1 / span 1;">
616
+ <div class="table-head-cell-content">
617
+ <div class="table-head-cell-content-row">
618
+ <button type="button" class="table-head-button">
619
+ <span class="table-head-button-label">
620
+ <span class="sort-arrows ">
621
+ </span>
622
+ <span class="table-head-label">VIN</span>
623
+ </span>
624
+ </button>
625
+ </div>
626
+ </div>
627
+ </div>
628
+ <div class="table-head-cell table-head-cell-sortable table-head-cell-has-column-divider table-align-left table-vertical-align-middle" data-column="status" role="columnheader" aria-colindex="4" aria-rowindex="1" aria-sort="none" style="grid-area: 1 / 4 / span 1 / span 1;">
629
+ <div class="table-head-cell-content">
630
+ <div class="table-head-cell-content-row">
631
+ <button type="button" class="table-head-button">
632
+ <span class="table-head-button-label">
633
+ <span class="sort-arrows ">
634
+ </span>
635
+ <span class="table-head-label">Status</span>
636
+ </span>
637
+ </button>
638
+ </div>
639
+ </div>
640
+ </div>
641
+ <div class="table-head-cell table-head-cell-sortable table-head-cell-has-column-divider table-align-right table-vertical-align-middle" data-column="duration" role="columnheader" aria-colindex="5" aria-rowindex="1" aria-sort="none" style="grid-area: 1 / 5 / span 1 / span 1;">
642
+ <div class="table-head-cell-content">
643
+ <div class="table-head-cell-content-row">
644
+ <button type="button" class="table-head-button">
645
+ <span class="table-head-button-label">
646
+ <span class="sort-arrows ">
647
+ </span>
648
+ <span class="table-head-label">Duration</span>
649
+ </span>
650
+ </button>
651
+ </div>
652
+ </div>
653
+ </div>
654
+ <div class="table-head-cell table-align-right table-vertical-align-middle" data-column="actions" role="columnheader" aria-colindex="6" aria-rowindex="1" style="grid-area: 1 / 6 / span 1 / span 1;">
655
+ <div class="table-head-cell-content">
656
+ <div class="table-head-cell-content-row">
657
+ <span class="table-head-label-wrapper">
658
+ <span class="table-head-label">Actions</span>
659
+ </span>
660
+ </div>
661
+ </div>
662
+ </div>
663
+ </div>
664
+ </div>
665
+ <div class="table-body" role="rowgroup">
666
+ <div id="233" class="table-row table-row-clickable" data-index="0" data-row-id="233" role="row" tabindex="0">
667
+ <div class="table-cell table-align-left table-vertical-align-middle" data-column="id" role="cell" aria-colindex="1" style="grid-area: 1 / 1 / span 1 / span 1;">
668
+ <div class="table-cell-content overflow-hidden">233</div>
669
+ </div>
670
+ <div class="table-cell table-align-left table-vertical-align-middle" data-column="name" role="cell" aria-colindex="2" style="grid-area: 1 / 2 / span 1 / span 1;">
671
+ <div class="table-cell-content overflow-hidden">Ipsum</div>
672
+ </div>
673
+ <div class="table-cell table-align-left table-vertical-align-middle" data-column="vin" role="cell" aria-colindex="3" style="grid-area: 1 / 3 / span 1 / span 1;">
674
+ <div class="table-cell-content overflow-hidden">WVWZZZ1JZXW000002</div>
675
+ </div>
676
+ <div class="table-cell table-align-left table-vertical-align-middle" data-column="status" role="cell" aria-colindex="4" style="grid-area: 1 / 4 / span 1 / span 1;">
677
+ <div class="table-cell-content overflow-hidden">
678
+ <span class="label label-warning label-filled label-condensed">Inactive</span>
679
+ </div>
680
+ </div>
681
+ <div class="table-cell table-align-right table-vertical-align-middle" data-column="duration" role="cell" aria-colindex="5" style="grid-area: 1 / 5 / span 1 / span 1;">
682
+ <div class="table-cell-content overflow-hidden">5h 15m</div>
683
+ </div>
684
+ <div class="table-cell table-align-right table-vertical-align-middle padding-y-0" data-column="actions" role="cell" aria-colindex="6" style="grid-area: 1 / 6 / span 1 / span 1;">
685
+ <div class="table-cell-content overflow-hidden">
686
+ <div class="dropdown btn-group">
687
+ <button type="button" aria-label="Row actions" id="r5jxpmggl4" class="btn btn-muted btn-md btn-icon-only btn-component dropdown-toggle" tabindex="0">
688
+ <span class="rioglyph rioglyph-option-horizontal" aria-hidden="true">
689
+ </span>
690
+ </button>
691
+ </div>
692
+ </div>
693
+ </div>
694
+ </div>
695
+ <div id="895" class="table-row table-row-clickable" data-index="1" data-row-id="895" role="row" tabindex="0">
696
+ <div class="table-cell table-align-left table-vertical-align-middle" data-column="id" role="cell" aria-colindex="1" style="grid-area: 1 / 1 / span 1 / span 1;">
697
+ <div class="table-cell-content overflow-hidden">895</div>
698
+ </div>
699
+ <div class="table-cell table-align-left table-vertical-align-middle" data-column="name" role="cell" aria-colindex="2" style="grid-area: 1 / 2 / span 1 / span 1;">
700
+ <div class="table-cell-content overflow-hidden">Dolor</div>
701
+ </div>
702
+ <div class="table-cell table-align-left table-vertical-align-middle" data-column="vin" role="cell" aria-colindex="3" style="grid-area: 1 / 3 / span 1 / span 1;">
703
+ <div class="table-cell-content overflow-hidden">WVWZZZ1JZXW000003</div>
704
+ </div>
705
+ <div class="table-cell table-align-left table-vertical-align-middle" data-column="status" role="cell" aria-colindex="4" style="grid-area: 1 / 4 / span 1 / span 1;">
706
+ <div class="table-cell-content overflow-hidden">
707
+ <span class="label label-success label-filled label-condensed">Active</span>
708
+ </div>
709
+ </div>
710
+ <div class="table-cell table-align-right table-vertical-align-middle" data-column="duration" role="cell" aria-colindex="5" style="grid-area: 1 / 5 / span 1 / span 1;">
711
+ <div class="table-cell-content overflow-hidden">8h 45m</div>
712
+ </div>
713
+ <div class="table-cell table-align-right table-vertical-align-middle padding-y-0" data-column="actions" role="cell" aria-colindex="6" style="grid-area: 1 / 6 / span 1 / span 1;">
714
+ <div class="table-cell-content overflow-hidden">
715
+ <div class="dropdown btn-group">
716
+ <button type="button" aria-label="Row actions" id="s4da9vtbn29" class="btn btn-muted btn-md btn-icon-only btn-component dropdown-toggle" tabindex="0">
717
+ <span class="rioglyph rioglyph-option-horizontal" aria-hidden="true">
718
+ </span>
719
+ </button>
720
+ </div>
721
+ </div>
722
+ </div>
723
+ </div>
724
+ <div id="2445" class="table-row table-row-clickable" data-index="2" data-row-id="2445" role="row" tabindex="0">
725
+ <div class="table-cell table-align-left table-vertical-align-middle" data-column="id" role="cell" aria-colindex="1" style="grid-area: 1 / 1 / span 1 / span 1;">
726
+ <div class="table-cell-content overflow-hidden">2445</div>
727
+ </div>
728
+ <div class="table-cell table-align-left table-vertical-align-middle" data-column="name" role="cell" aria-colindex="2" style="grid-area: 1 / 2 / span 1 / span 1;">
729
+ <div class="table-cell-content overflow-hidden">Amet</div>
730
+ </div>
731
+ <div class="table-cell table-align-left table-vertical-align-middle" data-column="vin" role="cell" aria-colindex="3" style="grid-area: 1 / 3 / span 1 / span 1;">
732
+ <div class="table-cell-content overflow-hidden">WVWZZZ1JZXW000005</div>
733
+ </div>
734
+ <div class="table-cell table-align-left table-vertical-align-middle" data-column="status" role="cell" aria-colindex="4" style="grid-area: 1 / 4 / span 1 / span 1;">
735
+ <div class="table-cell-content overflow-hidden">
736
+ <span class="label label-success label-filled label-condensed">Active</span>
737
+ </div>
738
+ </div>
739
+ <div class="table-cell table-align-right table-vertical-align-middle" data-column="duration" role="cell" aria-colindex="5" style="grid-area: 1 / 5 / span 1 / span 1;">
740
+ <div class="table-cell-content overflow-hidden">7h 25m</div>
741
+ </div>
742
+ <div class="table-cell table-align-right table-vertical-align-middle padding-y-0" data-column="actions" role="cell" aria-colindex="6" style="grid-area: 1 / 6 / span 1 / span 1;">
743
+ <div class="table-cell-content overflow-hidden">
744
+ <div class="dropdown btn-group">
745
+ <button type="button" aria-label="Row actions" id="3agz6o8sn26" class="btn btn-muted btn-md btn-icon-only btn-component dropdown-toggle" tabindex="0">
746
+ <span class="rioglyph rioglyph-option-horizontal" aria-hidden="true">
747
+ </span>
748
+ </button>
749
+ </div>
750
+ </div>
751
+ </div>
752
+ </div>
753
+ <div id="3456" class="table-row table-row-clickable" data-index="3" data-row-id="3456" role="row" tabindex="0">
754
+ <div class="table-cell table-align-left table-vertical-align-middle" data-column="id" role="cell" aria-colindex="1" style="grid-area: 1 / 1 / span 1 / span 1;">
755
+ <div class="table-cell-content overflow-hidden">3456</div>
756
+ </div>
757
+ <div class="table-cell table-align-left table-vertical-align-middle" data-column="name" role="cell" aria-colindex="2" style="grid-area: 1 / 2 / span 1 / span 1;">
758
+ <div class="table-cell-content overflow-hidden">Sit</div>
759
+ </div>
760
+ <div class="table-cell table-align-left table-vertical-align-middle" data-column="vin" role="cell" aria-colindex="3" style="grid-area: 1 / 3 / span 1 / span 1;">
761
+ <div class="table-cell-content overflow-hidden">WVWZZZ1JZXW000004</div>
762
+ </div>
763
+ <div class="table-cell table-align-left table-vertical-align-middle" data-column="status" role="cell" aria-colindex="4" style="grid-area: 1 / 4 / span 1 / span 1;">
764
+ <div class="table-cell-content overflow-hidden">
765
+ <span class="label label-info label-filled label-condensed">Maintenance</span>
766
+ </div>
767
+ </div>
768
+ <div class="table-cell table-align-right table-vertical-align-middle" data-column="duration" role="cell" aria-colindex="5" style="grid-area: 1 / 5 / span 1 / span 1;">
769
+ <div class="table-cell-content overflow-hidden">12h 00m</div>
770
+ </div>
771
+ <div class="table-cell table-align-right table-vertical-align-middle padding-y-0" data-column="actions" role="cell" aria-colindex="6" style="grid-area: 1 / 6 / span 1 / span 1;">
772
+ <div class="table-cell-content overflow-hidden">
773
+ <div class="dropdown btn-group">
774
+ <button type="button" aria-label="Row actions" id="4ufp29ys8p6" class="btn btn-muted btn-md btn-icon-only btn-component dropdown-toggle" tabindex="0">
775
+ <span class="rioglyph rioglyph-option-horizontal" aria-hidden="true">
776
+ </span>
777
+ </button>
778
+ </div>
779
+ </div>
780
+ </div>
781
+ </div>
782
+ <div id="7354" class="table-row table-row-clickable" data-index="4" data-row-id="7354" role="row" tabindex="0">
783
+ <div class="table-cell table-align-left table-vertical-align-middle" data-column="id" role="cell" aria-colindex="1" style="grid-area: 1 / 1 / span 1 / span 1;">
784
+ <div class="table-cell-content overflow-hidden">7354</div>
785
+ </div>
786
+ <div class="table-cell table-align-left table-vertical-align-middle" data-column="name" role="cell" aria-colindex="2" style="grid-area: 1 / 2 / span 1 / span 1;">
787
+ <div class="table-cell-content overflow-hidden">Lorem</div>
788
+ </div>
789
+ <div class="table-cell table-align-left table-vertical-align-middle" data-column="vin" role="cell" aria-colindex="3" style="grid-area: 1 / 3 / span 1 / span 1;">
790
+ <div class="table-cell-content overflow-hidden">WVWZZZ1JZXW000001</div>
791
+ </div>
792
+ <div class="table-cell table-align-left table-vertical-align-middle" data-column="status" role="cell" aria-colindex="4" style="grid-area: 1 / 4 / span 1 / span 1;">
793
+ <div class="table-cell-content overflow-hidden">
794
+ <span class="label label-success label-filled label-condensed">Active</span>
795
+ </div>
796
+ </div>
797
+ <div class="table-cell table-align-right table-vertical-align-middle" data-column="duration" role="cell" aria-colindex="5" style="grid-area: 1 / 5 / span 1 / span 1;">
798
+ <div class="table-cell-content overflow-hidden">10h 30m</div>
799
+ </div>
800
+ <div class="table-cell table-align-right table-vertical-align-middle padding-y-0" data-column="actions" role="cell" aria-colindex="6" style="grid-area: 1 / 6 / span 1 / span 1;">
801
+ <div class="table-cell-content overflow-hidden">
802
+ <div class="dropdown btn-group">
803
+ <button type="button" aria-label="Row actions" id="edw0l1gomeh" class="btn btn-muted btn-md btn-icon-only btn-component dropdown-toggle" tabindex="0">
804
+ <span class="rioglyph rioglyph-option-horizontal" aria-hidden="true">
805
+ </span>
806
+ </button>
807
+ </div>
808
+ </div>
809
+ </div>
810
+ </div>
811
+ </div>
812
+ </div>
813
+ </div>
814
+ ```