@rio-cloud/uikit-mcp 1.1.9 → 1.1.11

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 (211) hide show
  1. package/README.md +2 -1
  2. package/dist/doc-metadata.json +334 -94
  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 +630 -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 +21 -21
  9. package/dist/docs/components/appHeader.md +27 -38
  10. package/dist/docs/components/appLayout.md +23 -77
  11. package/dist/docs/components/appNavigationBar.md +1 -1
  12. package/dist/docs/components/areaCharts.md +57 -61
  13. package/dist/docs/components/aspectRatioPlaceholder.md +1 -1
  14. package/dist/docs/components/assetTree.md +429 -342
  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 +530 -414
  19. package/dist/docs/components/barList.md +10 -10
  20. package/dist/docs/components/basicMap.md +104 -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 +59 -63
  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 -1
  28. package/dist/docs/components/chartsGettingStarted.md +1 -1
  29. package/dist/docs/components/chat.md +2 -2
  30. package/dist/docs/components/checkbox.md +15 -10
  31. package/dist/docs/components/circularProgress.md +6 -6
  32. package/dist/docs/components/clearableInput.md +1 -1
  33. package/dist/docs/components/collapse.md +2 -2
  34. package/dist/docs/components/composedCharts.md +63 -51
  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 -685
  38. package/dist/docs/components/dayPicker.md +5624 -0
  39. package/dist/docs/components/dayPickerCalendar.md +5289 -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 +3264 -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 -170
  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 +25 -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 +39 -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 -1
  69. package/dist/docs/components/mapPolygon.md +288 -85
  70. package/dist/docs/components/mapRoute.md +262 -172
  71. package/dist/docs/components/mapSettings.md +28 -1
  72. package/dist/docs/components/mapUtils.md +1 -1
  73. package/dist/docs/components/mapViewportHistory.md +287 -0
  74. package/dist/docs/components/multiselects.md +217 -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 -211
  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 -398
  85. package/dist/docs/components/radioCardGroup.md +1 -1
  86. package/dist/docs/components/radiobutton.md +98 -98
  87. package/dist/docs/components/releaseNotes.md +1 -1
  88. package/dist/docs/components/resizer.md +1 -1
  89. package/dist/docs/components/responsiveColumnStripe.md +1 -1
  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 +332 -161
  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 -13
  98. package/dist/docs/components/spinners.md +1 -1
  99. package/dist/docs/components/states.md +15 -1
  100. package/dist/docs/components/statsWidgets.md +1 -1
  101. package/dist/docs/components/statusBar.md +3 -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 +5 -1
  108. package/dist/docs/components/table.md +21361 -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 -1
  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 +3 -1
  116. package/dist/docs/components/toggleButton.md +3 -1
  117. package/dist/docs/components/tooltip.md +8 -2
  118. package/dist/docs/components/tracker.md +1 -1
  119. package/dist/docs/components/virtualList.md +60 -60
  120. package/dist/docs/foundations.md +761 -3077
  121. package/dist/docs/start/changelog.md +73 -3
  122. package/dist/docs/start/goodtoknow.md +5 -1
  123. package/dist/docs/start/guidelines/color-combinations.md +5 -1
  124. package/dist/docs/start/guidelines/custom-css.md +26 -2
  125. package/dist/docs/start/guidelines/custom-rioglyph.md +20 -2
  126. package/dist/docs/start/guidelines/formatting.md +2254 -249
  127. package/dist/docs/start/guidelines/iframe.md +53 -19
  128. package/dist/docs/start/guidelines/obfuscate-data.md +24 -2
  129. package/dist/docs/start/guidelines/print-css.md +16 -2
  130. package/dist/docs/start/guidelines/spinner.md +1 -1
  131. package/dist/docs/start/guidelines/state-in-url.md +1138 -11
  132. package/dist/docs/start/guidelines/supported-browsers.md +9 -2
  133. package/dist/docs/start/guidelines/writing.md +228 -2
  134. package/dist/docs/start/howto.md +155 -13
  135. package/dist/docs/start/intro.md +40 -2
  136. package/dist/docs/start/responsiveness.md +27 -1
  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 +89 -1
  155. package/dist/docs/utilities/deviceUtils.md +2 -2
  156. package/dist/docs/utilities/featureToggles.md +182 -2
  157. package/dist/docs/utilities/fuelTypeUtils.md +27 -29
  158. package/dist/docs/utilities/getTrackingAttributes.md +322 -0
  159. package/dist/docs/utilities/routeUtils.md +211 -3
  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 +110 -2
  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 +173 -69
  207. package/dist/search-synonyms.json +214 -76
  208. package/dist/version.json +2 -2
  209. package/package.json +4 -5
  210. package/dist/docs/components/mapRouteGenerator.md +0 -6
  211. package/dist/docs/components/tables.md +0 -8
@@ -3,7 +3,7 @@
3
3
  *Category:* Utilities
4
4
  *Section:* Table & data hooks
5
5
  *Source:* https://uikit.developers.rio.cloud/#/utilities/useTableExport
6
- *Captured:* 2026-03-06T10:41:58.527Z
6
+ *Captured:* 2026-04-27T14:59:47.834Z
7
7
 
8
8
  The useTableExport hook provides a simple and reusable way to export tabular data as a downloadable CSV file in React applications. It supports custom delimiters, UTF-8 BOM for Excel compatibility, and column header mapping for more readable exports. This is especially useful for tables with user-facing data that may need to be downloaded for offline analysis or reporting.
9
9
 
@@ -13,31 +13,111 @@ The useTableExport hook provides a simple and reusable way to export tabular dat
13
13
 
14
14
  Export data
15
15
 
16
- Id First name Last name E-mail
16
+ Id
17
17
 
18
- 1 Lina Hamill Carol_Waters81@hotmail.com
19
- 2 Eulalia Conn Celia40@gmail.com
20
- 3 Nels Cassin Lindsey_Carroll@hotmail.com
21
- 4 Clarence Waters Gerard.Hansen@gmail.com
22
- 5 Marilie Bergstrom Terrence_Hegmann3@yahoo.com
23
- 6 Darby Russel Myrna_Schiller@hotmail.com
24
- 7 Keshawn Okuneva Dawson_Beer56@gmail.com
25
- 8 Johanna Haag Guadalupe_Hagenes14@hotmail.com
26
- 9 Tara Haley Emma_Kohler@gmail.com
27
- 10 Jane Witting Neal_Runte@gmail.com
18
+ First name
19
+
20
+ Last name
21
+
22
+ E-mail
23
+
24
+ To pick up a draggable item, press the space bar.
25
+ While dragging, use the arrow keys to move the item.
26
+ Press space again to drop the item in its new position, or press escape to cancel.
27
+
28
+ 1
29
+
30
+ Jeanne
31
+
32
+ Christiansen
33
+
34
+ Darla30@yahoo.com
35
+
36
+ 2
37
+
38
+ Maureen
39
+
40
+ Yost
41
+
42
+ Jacquelyn2@gmail.com
43
+
44
+ 3
45
+
46
+ Jeannie
47
+
48
+ Kuhlman
49
+
50
+ Rosamond39@yahoo.com
51
+
52
+ 4
53
+
54
+ Caleb
55
+
56
+ Haag
57
+
58
+ Elvera.Considine@gmail.com
59
+
60
+ 5
61
+
62
+ Todd
63
+
64
+ Stroman
65
+
66
+ Eduardo51@yahoo.com
67
+
68
+ 6
69
+
70
+ Luis
71
+
72
+ Toy
73
+
74
+ Shaylee86@hotmail.com
75
+
76
+ 7
77
+
78
+ Oda
79
+
80
+ Quigley
81
+
82
+ Cordia.Jast@yahoo.com
83
+
84
+ 8
85
+
86
+ Cesar
87
+
88
+ Collier
89
+
90
+ Aditya60@gmail.com
91
+
92
+ 9
93
+
94
+ Joann
95
+
96
+ Rau
97
+
98
+ Addie0@gmail.com
99
+
100
+ 10
101
+
102
+ Mike
103
+
104
+ Swift
105
+
106
+ Otis_Kreiger@hotmail.com
107
+
108
+ Reorder columns and export the current order.
28
109
 
29
110
  #### React (tsx)
30
111
 
31
112
  ```tsx
113
+ import { useState } from 'react';
32
114
  import { faker } from '@faker-js/faker';
33
115
 
34
- import classNames from '@rio-cloud/rio-uikit/classNames';
35
- import TableHead from '@rio-cloud/rio-uikit/TableHead';
36
- import TableCol, { type ColumnDetailsMap } from '@rio-cloud/rio-uikit/TableCol';
37
- import TableToolbar from '@rio-cloud/rio-uikit/TableToolbar';
38
- import useTableExport from '@rio-cloud/rio-uikit/useTableExport';
39
- import useSorting from '@rio-cloud/rio-uikit/useSorting';
40
116
  import Button from '@rio-cloud/rio-uikit/Button';
117
+ import Table, { TableBody, TableColumn, TableHeader, TableHeaderColumn, TableRow } from '@rio-cloud/rio-uikit/Table';
118
+ import TableToolbar, { TableToolbarColumn } from '@rio-cloud/rio-uikit/TableToolbar';
119
+ import useSorting from '@rio-cloud/rio-uikit/useSorting';
120
+ import useTableExport from '@rio-cloud/rio-uikit/useTableExport';
41
121
 
42
122
  type Driver = {
43
123
  driverId: string;
@@ -46,7 +126,8 @@ type Driver = {
46
126
  email: string;
47
127
  };
48
128
 
49
- type ColumnLabel = { [key in keyof Driver]: string };
129
+ type DriverColumnKey = keyof Driver;
130
+ type ColumnLabel = { [key in DriverColumnKey]: string };
50
131
 
51
132
  const columnLabels: ColumnLabel = {
52
133
  driverId: 'Id',
@@ -55,28 +136,6 @@ const columnLabels: ColumnLabel = {
55
136
  email: 'E-mail',
56
137
  };
57
138
 
58
- const defaultColumnOrder = ['driverId', 'firstName', 'lastName', 'email'];
59
-
60
- const demoColumnsDetails: ColumnDetailsMap = {
61
- driverId: {
62
- width: 100,
63
- defaultWidth: 200,
64
- maxWidth: 300,
65
- },
66
- firstName: {
67
- width: 200,
68
- defaultWidth: 200,
69
- maxWidth: 200,
70
- },
71
- lastName: {
72
- width: 0, // Note: 0 means auto width
73
- defaultWidth: 0,
74
- maxWidth: 350,
75
- },
76
- };
77
-
78
- // Function to generate random entries to work with.
79
- // Increase length to generate more items.
80
139
  const driverList: Driver[] = Array.from({ length: 10 }, (_, index) => ({
81
140
  driverId: `${index + 1}`,
82
141
  firstName: faker.person.firstName(),
@@ -84,91 +143,84 @@ const driverList: Driver[] = Array.from({ length: 10 }, (_, index) => ({
84
143
  email: faker.internet.email(),
85
144
  }));
86
145
 
87
- export default () => {
88
- const { sortedItems, sortKey, sortDirection, setSortKey, toggleDirection } = useSorting(driverList, 'driverId');
146
+ const initialColumnOrder: DriverColumnKey[] = ['driverId', 'firstName', 'lastName', 'email'];
147
+
148
+ const columnWidths: Partial<Record<DriverColumnKey, number>> = {
149
+ driverId: 100,
150
+ firstName: 200,
151
+ };
152
+
153
+ const UseTableExportExample = () => {
154
+ const [columnOrder, setColumnOrder] = useState<DriverColumnKey[]>(initialColumnOrder);
155
+ const { sortedItems, sortKey, sortDirection, setSortKey, setSortDirection } = useSorting(driverList, 'driverId');
89
156
 
90
- // Hook to export the Table data
91
157
  const { exportToCSV } = useTableExport<Driver>();
92
158
 
93
159
  const handleTableExport = () => {
94
160
  exportToCSV({
95
161
  data: sortedItems,
96
162
  fileName: 'drivers.csv',
163
+ columns: columnOrder,
97
164
  headers: columnLabels,
98
165
  });
99
166
  };
100
167
 
101
- const handleSortChange = (event: React.MouseEvent<HTMLTableCellElement>) => {
102
- const newSortBy = event.currentTarget.getAttribute('data-sortby');
103
- if (newSortBy) {
104
- setSortKey(newSortBy as keyof Driver);
105
- }
106
- if (newSortBy === sortKey) {
107
- toggleDirection();
108
- }
168
+ const handleSortChange = (columnKey: string, direction: 'asc' | 'desc') => {
169
+ setSortKey(columnKey as DriverColumnKey);
170
+ setSortDirection(direction);
109
171
  };
110
172
 
111
- const tableClassNames = classNames(
112
- 'table',
113
- 'table-layout-fixed',
114
- 'table-column-overflow-hidden',
115
- 'table-bordered',
116
- 'table-sticky',
117
- 'table-hover',
118
- 'table-head-filled'
119
- );
120
-
121
173
  return (
122
174
  <div>
123
175
  <TableToolbar>
124
- <div className='table-toolbar-container'>
125
- <div className='table-toolbar-group-right'>
126
- <div className='table-toolbar-column'>
127
- <Button iconName='rioglyph-download' onClick={handleTableExport}>
128
- Export data
129
- </Button>
130
- </div>
131
- </div>
132
- </div>
176
+ <TableToolbarColumn horizontalAlign='right'>
177
+ <Button iconName='rioglyph-download' onClick={handleTableExport}>
178
+ Export data
179
+ </Button>
180
+ </TableToolbarColumn>
133
181
  </TableToolbar>
134
182
 
135
- <div className='table-responsive'>
136
- <table className={tableClassNames}>
137
- <colgroup>
138
- {defaultColumnOrder.map(column => (
139
- <TableCol key={column} columnDetails={demoColumnsDetails[column]} />
140
- ))}
141
- </colgroup>
142
- <thead>
143
- <tr>
144
- {defaultColumnOrder.map(column => (
145
- <TableHead
146
- key={column}
147
- column={column}
148
- label={columnLabels[column as keyof ColumnLabel]}
149
- sortBy={sortKey as string}
150
- sortDir={sortDirection}
151
- onClick={handleSortChange}
152
- />
183
+ <Table
184
+ rowKey='driverId'
185
+ hover
186
+ shadow
187
+ sortBy={String(sortKey)}
188
+ sortDirection={sortDirection}
189
+ onSortChange={handleSortChange}
190
+ columnOrder={columnOrder}
191
+ onColumnOrderChange={nextColumnOrder => setColumnOrder(nextColumnOrder as DriverColumnKey[])}
192
+ >
193
+ <TableHeader>
194
+ {initialColumnOrder.map(column => (
195
+ <TableHeaderColumn
196
+ key={column}
197
+ columnKey={column}
198
+ sortable
199
+ draggable
200
+ width={columnWidths[column]}
201
+ >
202
+ {columnLabels[column]}
203
+ </TableHeaderColumn>
204
+ ))}
205
+ </TableHeader>
206
+ <TableBody>
207
+ {sortedItems.map(row => (
208
+ <TableRow key={row.driverId} id={row.driverId}>
209
+ {columnOrder.map(column => (
210
+ <TableColumn key={column} columnKey={column}>
211
+ {row[column]}
212
+ </TableColumn>
153
213
  ))}
154
- </tr>
155
- </thead>
156
- <tbody>
157
- {sortedItems.map(row => (
158
- <tr key={row.driverId} data-id={row.driverId} className='cursor-pointer'>
159
- {defaultColumnOrder.map(col => (
160
- <td key={col} data-field={columnLabels[col as keyof Driver]}>
161
- <span>{row[col as keyof Driver]}</span>
162
- </td>
163
- ))}
164
- </tr>
165
- ))}
166
- </tbody>
167
- </table>
168
- </div>
214
+ </TableRow>
215
+ ))}
216
+ </TableBody>
217
+ </Table>
218
+ <div className='margin-top-25'>Reorder columns and export the current order.</div>
169
219
  </div>
170
220
  );
171
221
  };
222
+
223
+ export default UseTableExportExample;
172
224
  ```
173
225
 
174
226
  #### HTML (html)
@@ -178,7 +230,7 @@ export default () => {
178
230
  <div class="table-toolbar">
179
231
  <div class="table-toolbar-container">
180
232
  <div class="table-toolbar-group-right">
181
- <div class="table-toolbar-column">
233
+ <div class="table-toolbar-column align-self-end">
182
234
  <button type="button" class="btn btn-default btn-component" tabindex="0">
183
235
  <span class="rioglyph rioglyph-download">
184
236
  </span>Export data</button>
@@ -186,190 +238,214 @@ export default () => {
186
238
  </div>
187
239
  </div>
188
240
  </div>
189
- <div class="table-responsive">
190
- <table class="table table-layout-fixed table-column-overflow-hidden table-bordered table-sticky table-hover table-head-filled">
191
- <colgroup>
192
- <col class="" style="min-width: 100px; width: 100px;">
193
- <col class="" style="min-width: 200px; width: 200px;">
194
- <col class="">
195
- <col class="">
196
- </colgroup>
197
- <thead>
198
- <tr>
199
- <th class="user-select-none sort-column" data-field="driverId" data-sortby="driverId" title="Id">
200
- <span>
201
- <span class="sort-arrows sort-asc">
202
- </span>
203
- <span>Id</span>
204
- </span>
205
- </th>
206
- <th class="user-select-none sort-column" data-field="firstName" data-sortby="firstName" title="First name">
207
- <span>
208
- <span class="sort-arrows ">
209
- </span>
210
- <span>First name</span>
211
- </span>
212
- </th>
213
- <th class="user-select-none sort-column" data-field="lastName" data-sortby="lastName" title="Last name">
214
- <span>
215
- <span class="sort-arrows ">
216
- </span>
217
- <span>Last name</span>
218
- </span>
219
- </th>
220
- <th class="user-select-none sort-column" data-field="email" data-sortby="email" title="E-mail">
221
- <span>
222
- <span class="sort-arrows ">
223
- </span>
224
- <span>E-mail</span>
225
- </span>
226
- </th>
227
- </tr>
228
- </thead>
229
- <tbody>
230
- <tr data-id="1" class="cursor-pointer">
231
- <td data-field="Id">
232
- <span>1</span>
233
- </td>
234
- <td data-field="First name">
235
- <span>Lina</span>
236
- </td>
237
- <td data-field="Last name">
238
- <span>Hamill</span>
239
- </td>
240
- <td data-field="E-mail">
241
- <span>Carol_Waters81@hotmail.com</span>
242
- </td>
243
- </tr>
244
- <tr data-id="2" class="cursor-pointer">
245
- <td data-field="Id">
246
- <span>2</span>
247
- </td>
248
- <td data-field="First name">
249
- <span>Eulalia</span>
250
- </td>
251
- <td data-field="Last name">
252
- <span>Conn</span>
253
- </td>
254
- <td data-field="E-mail">
255
- <span>Celia40@gmail.com</span>
256
- </td>
257
- </tr>
258
- <tr data-id="3" class="cursor-pointer">
259
- <td data-field="Id">
260
- <span>3</span>
261
- </td>
262
- <td data-field="First name">
263
- <span>Nels</span>
264
- </td>
265
- <td data-field="Last name">
266
- <span>Cassin</span>
267
- </td>
268
- <td data-field="E-mail">
269
- <span>Lindsey_Carroll@hotmail.com</span>
270
- </td>
271
- </tr>
272
- <tr data-id="4" class="cursor-pointer">
273
- <td data-field="Id">
274
- <span>4</span>
275
- </td>
276
- <td data-field="First name">
277
- <span>Clarence</span>
278
- </td>
279
- <td data-field="Last name">
280
- <span>Waters</span>
281
- </td>
282
- <td data-field="E-mail">
283
- <span>Gerard.Hansen@gmail.com</span>
284
- </td>
285
- </tr>
286
- <tr data-id="5" class="cursor-pointer">
287
- <td data-field="Id">
288
- <span>5</span>
289
- </td>
290
- <td data-field="First name">
291
- <span>Marilie</span>
292
- </td>
293
- <td data-field="Last name">
294
- <span>Bergstrom</span>
295
- </td>
296
- <td data-field="E-mail">
297
- <span>Terrence_Hegmann3@yahoo.com</span>
298
- </td>
299
- </tr>
300
- <tr data-id="6" class="cursor-pointer">
301
- <td data-field="Id">
302
- <span>6</span>
303
- </td>
304
- <td data-field="First name">
305
- <span>Darby</span>
306
- </td>
307
- <td data-field="Last name">
308
- <span>Russel</span>
309
- </td>
310
- <td data-field="E-mail">
311
- <span>Myrna_Schiller@hotmail.com</span>
312
- </td>
313
- </tr>
314
- <tr data-id="7" class="cursor-pointer">
315
- <td data-field="Id">
316
- <span>7</span>
317
- </td>
318
- <td data-field="First name">
319
- <span>Keshawn</span>
320
- </td>
321
- <td data-field="Last name">
322
- <span>Okuneva</span>
323
- </td>
324
- <td data-field="E-mail">
325
- <span>Dawson_Beer56@gmail.com</span>
326
- </td>
327
- </tr>
328
- <tr data-id="8" class="cursor-pointer">
329
- <td data-field="Id">
330
- <span>8</span>
331
- </td>
332
- <td data-field="First name">
333
- <span>Johanna</span>
334
- </td>
335
- <td data-field="Last name">
336
- <span>Haag</span>
337
- </td>
338
- <td data-field="E-mail">
339
- <span>Guadalupe_Hagenes14@hotmail.com</span>
340
- </td>
341
- </tr>
342
- <tr data-id="9" class="cursor-pointer">
343
- <td data-field="Id">
344
- <span>9</span>
345
- </td>
346
- <td data-field="First name">
347
- <span>Tara</span>
348
- </td>
349
- <td data-field="Last name">
350
- <span>Haley</span>
351
- </td>
352
- <td data-field="E-mail">
353
- <span>Emma_Kohler@gmail.com</span>
354
- </td>
355
- </tr>
356
- <tr data-id="10" class="cursor-pointer">
357
- <td data-field="Id">
358
- <span>10</span>
359
- </td>
360
- <td data-field="First name">
361
- <span>Jane</span>
362
- </td>
363
- <td data-field="Last name">
364
- <span>Witting</span>
365
- </td>
366
- <td data-field="E-mail">
367
- <span>Neal_Runte@gmail.com</span>
368
- </td>
369
- </tr>
370
- </tbody>
371
- </table>
241
+ <div class="table table-view-table table-hover shadow-default border table-rounded table-has-head" role="table" style="--table-columns: minmax(0, 100px) minmax(0, 200px) minmax(50px, 1fr) minmax(50px, 1fr); --table-areas: &quot;table-col-1 table-col-2 table-col-3 table-col-4&quot;; --table-column-count: 4; --table-sticky-reference-top: var(--table-sticky-offset); --table-width: 908px;" aria-colcount="4">
242
+ <div class="table-head" role="rowgroup">
243
+ <div class="table-head-grid" role="row" style="grid-template-rows: repeat(1, auto);">
244
+ <div class="table-head-cell table-head-cell-sortable table-head-cell-draggable table-head-cell-has-column-divider table-align-left table-vertical-align-middle" data-column="driverId" role="columnheader" aria-colindex="1" aria-rowindex="1" aria-sort="ascending" style="grid-area: 1 / 1 / span 1 / span 1; transition: transform linear;">
245
+ <div class="table-head-cell-content">
246
+ <div class="table-head-cell-content-row">
247
+ <button type="button" class="table-head-button">
248
+ <span class="table-head-button-label table-head-drag-label" tabindex="0" aria-disabled="false" aria-roledescription="sortable" aria-describedby="DndDescribedBy-0">
249
+ <span class="sort-arrows sort-asc">
250
+ </span>
251
+ <span class="table-head-label">Id</span>
252
+ </span>
253
+ </button>
254
+ </div>
255
+ </div>
256
+ </div>
257
+ <div class="table-head-cell table-head-cell-sortable table-head-cell-draggable table-head-cell-has-column-divider table-align-left table-vertical-align-middle" data-column="firstName" role="columnheader" aria-colindex="2" aria-rowindex="1" aria-sort="none" style="grid-area: 1 / 2 / span 1 / span 1; transition: transform linear;">
258
+ <div class="table-head-cell-content">
259
+ <div class="table-head-cell-content-row">
260
+ <button type="button" class="table-head-button">
261
+ <span class="table-head-button-label table-head-drag-label" tabindex="0" aria-disabled="false" aria-roledescription="sortable" aria-describedby="DndDescribedBy-0">
262
+ <span class="sort-arrows ">
263
+ </span>
264
+ <span class="table-head-label">First name</span>
265
+ </span>
266
+ </button>
267
+ </div>
268
+ </div>
269
+ </div>
270
+ <div class="table-head-cell table-head-cell-sortable table-head-cell-draggable table-head-cell-has-column-divider table-align-left table-vertical-align-middle" data-column="lastName" role="columnheader" aria-colindex="3" aria-rowindex="1" aria-sort="none" style="grid-area: 1 / 3 / span 1 / span 1; transition: transform linear;">
271
+ <div class="table-head-cell-content">
272
+ <div class="table-head-cell-content-row">
273
+ <button type="button" class="table-head-button">
274
+ <span class="table-head-button-label table-head-drag-label" tabindex="0" aria-disabled="false" aria-roledescription="sortable" aria-describedby="DndDescribedBy-0">
275
+ <span class="sort-arrows ">
276
+ </span>
277
+ <span class="table-head-label">Last name</span>
278
+ </span>
279
+ </button>
280
+ </div>
281
+ </div>
282
+ </div>
283
+ <div class="table-head-cell table-head-cell-sortable table-head-cell-draggable table-align-left table-vertical-align-middle" data-column="email" role="columnheader" aria-colindex="4" aria-rowindex="1" aria-sort="none" style="grid-area: 1 / 4 / span 1 / span 1; transition: transform linear;">
284
+ <div class="table-head-cell-content">
285
+ <div class="table-head-cell-content-row">
286
+ <button type="button" class="table-head-button">
287
+ <span class="table-head-button-label table-head-drag-label" tabindex="0" aria-disabled="false" aria-roledescription="sortable" aria-describedby="DndDescribedBy-0">
288
+ <span class="sort-arrows ">
289
+ </span>
290
+ <span class="table-head-label">E-mail</span>
291
+ </span>
292
+ </button>
293
+ </div>
294
+ </div>
295
+ </div>
296
+ <div id="DndDescribedBy-0" style="display: none;">
297
+ To pick up a draggable item, press the space bar.
298
+ While dragging, use the arrow keys to move the item.
299
+ Press space again to drop the item in its new position, or press escape to cancel.
300
+ </div>
301
+ <div id="DndLiveRegion-0" role="status" aria-live="assertive" aria-atomic="true" style="position: fixed; top: 0px; left: 0px; width: 1px; height: 1px; margin: -1px; border: 0px; padding: 0px; overflow: hidden; clip: rect(0px, 0px, 0px, 0px); clip-path: inset(100%); white-space: nowrap;">
302
+ </div>
303
+ </div>
304
+ </div>
305
+ <div class="table-body" role="rowgroup">
306
+ <div id="1" class="table-row" data-index="0" data-row-id="0" role="row">
307
+ <div class="table-cell table-align-left table-vertical-align-middle" data-column="driverId" role="cell" aria-colindex="1" style="grid-area: 1 / 1 / span 1 / span 1;">
308
+ <div class="table-cell-content overflow-hidden">1</div>
309
+ </div>
310
+ <div class="table-cell table-align-left table-vertical-align-middle" data-column="firstName" role="cell" aria-colindex="2" style="grid-area: 1 / 2 / span 1 / span 1;">
311
+ <div class="table-cell-content overflow-hidden">Jeanne</div>
312
+ </div>
313
+ <div class="table-cell table-align-left table-vertical-align-middle" data-column="lastName" role="cell" aria-colindex="3" style="grid-area: 1 / 3 / span 1 / span 1;">
314
+ <div class="table-cell-content overflow-hidden">Christiansen</div>
315
+ </div>
316
+ <div class="table-cell table-align-left table-vertical-align-middle" data-column="email" role="cell" aria-colindex="4" style="grid-area: 1 / 4 / span 1 / span 1;">
317
+ <div class="table-cell-content overflow-hidden">Darla30@yahoo.com</div>
318
+ </div>
319
+ </div>
320
+ <div id="2" class="table-row" data-index="1" data-row-id="1" role="row">
321
+ <div class="table-cell table-align-left table-vertical-align-middle" data-column="driverId" role="cell" aria-colindex="1" style="grid-area: 1 / 1 / span 1 / span 1;">
322
+ <div class="table-cell-content overflow-hidden">2</div>
323
+ </div>
324
+ <div class="table-cell table-align-left table-vertical-align-middle" data-column="firstName" role="cell" aria-colindex="2" style="grid-area: 1 / 2 / span 1 / span 1;">
325
+ <div class="table-cell-content overflow-hidden">Maureen</div>
326
+ </div>
327
+ <div class="table-cell table-align-left table-vertical-align-middle" data-column="lastName" role="cell" aria-colindex="3" style="grid-area: 1 / 3 / span 1 / span 1;">
328
+ <div class="table-cell-content overflow-hidden">Yost</div>
329
+ </div>
330
+ <div class="table-cell table-align-left table-vertical-align-middle" data-column="email" role="cell" aria-colindex="4" style="grid-area: 1 / 4 / span 1 / span 1;">
331
+ <div class="table-cell-content overflow-hidden">Jacquelyn2@gmail.com</div>
332
+ </div>
333
+ </div>
334
+ <div id="3" class="table-row" data-index="2" data-row-id="2" role="row">
335
+ <div class="table-cell table-align-left table-vertical-align-middle" data-column="driverId" role="cell" aria-colindex="1" style="grid-area: 1 / 1 / span 1 / span 1;">
336
+ <div class="table-cell-content overflow-hidden">3</div>
337
+ </div>
338
+ <div class="table-cell table-align-left table-vertical-align-middle" data-column="firstName" role="cell" aria-colindex="2" style="grid-area: 1 / 2 / span 1 / span 1;">
339
+ <div class="table-cell-content overflow-hidden">Jeannie</div>
340
+ </div>
341
+ <div class="table-cell table-align-left table-vertical-align-middle" data-column="lastName" role="cell" aria-colindex="3" style="grid-area: 1 / 3 / span 1 / span 1;">
342
+ <div class="table-cell-content overflow-hidden">Kuhlman</div>
343
+ </div>
344
+ <div class="table-cell table-align-left table-vertical-align-middle" data-column="email" role="cell" aria-colindex="4" style="grid-area: 1 / 4 / span 1 / span 1;">
345
+ <div class="table-cell-content overflow-hidden">Rosamond39@yahoo.com</div>
346
+ </div>
347
+ </div>
348
+ <div id="4" class="table-row" data-index="3" data-row-id="3" role="row">
349
+ <div class="table-cell table-align-left table-vertical-align-middle" data-column="driverId" role="cell" aria-colindex="1" style="grid-area: 1 / 1 / span 1 / span 1;">
350
+ <div class="table-cell-content overflow-hidden">4</div>
351
+ </div>
352
+ <div class="table-cell table-align-left table-vertical-align-middle" data-column="firstName" role="cell" aria-colindex="2" style="grid-area: 1 / 2 / span 1 / span 1;">
353
+ <div class="table-cell-content overflow-hidden">Caleb</div>
354
+ </div>
355
+ <div class="table-cell table-align-left table-vertical-align-middle" data-column="lastName" role="cell" aria-colindex="3" style="grid-area: 1 / 3 / span 1 / span 1;">
356
+ <div class="table-cell-content overflow-hidden">Haag</div>
357
+ </div>
358
+ <div class="table-cell table-align-left table-vertical-align-middle" data-column="email" role="cell" aria-colindex="4" style="grid-area: 1 / 4 / span 1 / span 1;">
359
+ <div class="table-cell-content overflow-hidden">Elvera.Considine@gmail.com</div>
360
+ </div>
361
+ </div>
362
+ <div id="5" class="table-row" data-index="4" data-row-id="4" role="row">
363
+ <div class="table-cell table-align-left table-vertical-align-middle" data-column="driverId" role="cell" aria-colindex="1" style="grid-area: 1 / 1 / span 1 / span 1;">
364
+ <div class="table-cell-content overflow-hidden">5</div>
365
+ </div>
366
+ <div class="table-cell table-align-left table-vertical-align-middle" data-column="firstName" role="cell" aria-colindex="2" style="grid-area: 1 / 2 / span 1 / span 1;">
367
+ <div class="table-cell-content overflow-hidden">Todd</div>
368
+ </div>
369
+ <div class="table-cell table-align-left table-vertical-align-middle" data-column="lastName" role="cell" aria-colindex="3" style="grid-area: 1 / 3 / span 1 / span 1;">
370
+ <div class="table-cell-content overflow-hidden">Stroman</div>
371
+ </div>
372
+ <div class="table-cell table-align-left table-vertical-align-middle" data-column="email" role="cell" aria-colindex="4" style="grid-area: 1 / 4 / span 1 / span 1;">
373
+ <div class="table-cell-content overflow-hidden">Eduardo51@yahoo.com</div>
374
+ </div>
375
+ </div>
376
+ <div id="6" class="table-row" data-index="5" data-row-id="5" role="row">
377
+ <div class="table-cell table-align-left table-vertical-align-middle" data-column="driverId" role="cell" aria-colindex="1" style="grid-area: 1 / 1 / span 1 / span 1;">
378
+ <div class="table-cell-content overflow-hidden">6</div>
379
+ </div>
380
+ <div class="table-cell table-align-left table-vertical-align-middle" data-column="firstName" role="cell" aria-colindex="2" style="grid-area: 1 / 2 / span 1 / span 1;">
381
+ <div class="table-cell-content overflow-hidden">Luis</div>
382
+ </div>
383
+ <div class="table-cell table-align-left table-vertical-align-middle" data-column="lastName" role="cell" aria-colindex="3" style="grid-area: 1 / 3 / span 1 / span 1;">
384
+ <div class="table-cell-content overflow-hidden">Toy</div>
385
+ </div>
386
+ <div class="table-cell table-align-left table-vertical-align-middle" data-column="email" role="cell" aria-colindex="4" style="grid-area: 1 / 4 / span 1 / span 1;">
387
+ <div class="table-cell-content overflow-hidden">Shaylee86@hotmail.com</div>
388
+ </div>
389
+ </div>
390
+ <div id="7" class="table-row" data-index="6" data-row-id="6" role="row">
391
+ <div class="table-cell table-align-left table-vertical-align-middle" data-column="driverId" role="cell" aria-colindex="1" style="grid-area: 1 / 1 / span 1 / span 1;">
392
+ <div class="table-cell-content overflow-hidden">7</div>
393
+ </div>
394
+ <div class="table-cell table-align-left table-vertical-align-middle" data-column="firstName" role="cell" aria-colindex="2" style="grid-area: 1 / 2 / span 1 / span 1;">
395
+ <div class="table-cell-content overflow-hidden">Oda</div>
396
+ </div>
397
+ <div class="table-cell table-align-left table-vertical-align-middle" data-column="lastName" role="cell" aria-colindex="3" style="grid-area: 1 / 3 / span 1 / span 1;">
398
+ <div class="table-cell-content overflow-hidden">Quigley</div>
399
+ </div>
400
+ <div class="table-cell table-align-left table-vertical-align-middle" data-column="email" role="cell" aria-colindex="4" style="grid-area: 1 / 4 / span 1 / span 1;">
401
+ <div class="table-cell-content overflow-hidden">Cordia.Jast@yahoo.com</div>
402
+ </div>
403
+ </div>
404
+ <div id="8" class="table-row" data-index="7" data-row-id="7" role="row">
405
+ <div class="table-cell table-align-left table-vertical-align-middle" data-column="driverId" role="cell" aria-colindex="1" style="grid-area: 1 / 1 / span 1 / span 1;">
406
+ <div class="table-cell-content overflow-hidden">8</div>
407
+ </div>
408
+ <div class="table-cell table-align-left table-vertical-align-middle" data-column="firstName" role="cell" aria-colindex="2" style="grid-area: 1 / 2 / span 1 / span 1;">
409
+ <div class="table-cell-content overflow-hidden">Cesar</div>
410
+ </div>
411
+ <div class="table-cell table-align-left table-vertical-align-middle" data-column="lastName" role="cell" aria-colindex="3" style="grid-area: 1 / 3 / span 1 / span 1;">
412
+ <div class="table-cell-content overflow-hidden">Collier</div>
413
+ </div>
414
+ <div class="table-cell table-align-left table-vertical-align-middle" data-column="email" role="cell" aria-colindex="4" style="grid-area: 1 / 4 / span 1 / span 1;">
415
+ <div class="table-cell-content overflow-hidden">Aditya60@gmail.com</div>
416
+ </div>
417
+ </div>
418
+ <div id="9" class="table-row" data-index="8" data-row-id="8" role="row">
419
+ <div class="table-cell table-align-left table-vertical-align-middle" data-column="driverId" role="cell" aria-colindex="1" style="grid-area: 1 / 1 / span 1 / span 1;">
420
+ <div class="table-cell-content overflow-hidden">9</div>
421
+ </div>
422
+ <div class="table-cell table-align-left table-vertical-align-middle" data-column="firstName" role="cell" aria-colindex="2" style="grid-area: 1 / 2 / span 1 / span 1;">
423
+ <div class="table-cell-content overflow-hidden">Joann</div>
424
+ </div>
425
+ <div class="table-cell table-align-left table-vertical-align-middle" data-column="lastName" role="cell" aria-colindex="3" style="grid-area: 1 / 3 / span 1 / span 1;">
426
+ <div class="table-cell-content overflow-hidden">Rau</div>
427
+ </div>
428
+ <div class="table-cell table-align-left table-vertical-align-middle" data-column="email" role="cell" aria-colindex="4" style="grid-area: 1 / 4 / span 1 / span 1;">
429
+ <div class="table-cell-content overflow-hidden">Addie0@gmail.com</div>
430
+ </div>
431
+ </div>
432
+ <div id="10" class="table-row" data-index="9" data-row-id="9" role="row">
433
+ <div class="table-cell table-align-left table-vertical-align-middle" data-column="driverId" role="cell" aria-colindex="1" style="grid-area: 1 / 1 / span 1 / span 1;">
434
+ <div class="table-cell-content overflow-hidden">10</div>
435
+ </div>
436
+ <div class="table-cell table-align-left table-vertical-align-middle" data-column="firstName" role="cell" aria-colindex="2" style="grid-area: 1 / 2 / span 1 / span 1;">
437
+ <div class="table-cell-content overflow-hidden">Mike</div>
438
+ </div>
439
+ <div class="table-cell table-align-left table-vertical-align-middle" data-column="lastName" role="cell" aria-colindex="3" style="grid-area: 1 / 3 / span 1 / span 1;">
440
+ <div class="table-cell-content overflow-hidden">Swift</div>
441
+ </div>
442
+ <div class="table-cell table-align-left table-vertical-align-middle" data-column="email" role="cell" aria-colindex="4" style="grid-area: 1 / 4 / span 1 / span 1;">
443
+ <div class="table-cell-content overflow-hidden">Otis_Kreiger@hotmail.com</div>
444
+ </div>
445
+ </div>
446
+ </div>
372
447
  </div>
448
+ <div class="margin-top-25">Reorder columns and export the current order.</div>
373
449
  </div>
374
450
  ```
375
451