@loadsmart/loadsmart-ui 7.6.0 → 8.0.0-beta.1

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 (531) hide show
  1. package/README.md +13 -1
  2. package/dist/DragDropFile.context-oKnUu6d3.js +33 -0
  3. package/dist/{DragDropFile.context-D-EBrXnw.js.map → DragDropFile.context-oKnUu6d3.js.map} +1 -1
  4. package/dist/components/Banner/Banner.d.ts +2 -2
  5. package/dist/components/Button/Button.d.ts +1 -1
  6. package/dist/components/Calendar/Pickers/PickerButton.d.ts +4 -2
  7. package/dist/components/Card/Card.d.ts +4 -4
  8. package/dist/components/Card/CardTitle.d.ts +2 -2
  9. package/dist/components/DatePicker/DatePicker.d.ts +1 -1
  10. package/dist/components/DatePicker/useDatePicker.d.ts +8 -9
  11. package/dist/components/DatePicker/useDateRangePicker.d.ts +13 -14
  12. package/dist/components/Dialog/Dialog.d.ts +3 -5
  13. package/dist/components/DragDropFile/styles.d.ts +7 -7
  14. package/dist/components/Dropdown/Dropdown.d.ts +3 -3
  15. package/dist/components/Dropdown/DropdownMenu.d.ts +3 -3
  16. package/dist/components/Layout/Stack.d.ts +2 -2
  17. package/dist/components/Loaders/LoadingBar.d.ts +2 -2
  18. package/dist/components/Loaders/index.d.ts +3 -3
  19. package/dist/components/Modal/Modal.d.ts +1 -3
  20. package/dist/components/SideNavigation/Logo/Logo.d.ts +7 -2
  21. package/dist/components/SideNavigation/Menu/Menu.d.ts +7 -2
  22. package/dist/components/SideNavigation/Menu/MenuLink.d.ts +6 -1
  23. package/dist/components/SideNavigation/SideNavigation.d.ts +14 -4
  24. package/dist/components/Steps/StepsStep.d.ts +2 -2
  25. package/dist/components/Table/Table.d.ts +2 -1
  26. package/dist/components/TablePagination/TablePagination.styles.d.ts +5 -4
  27. package/dist/components/TablePagination/TablePaginationActions.d.ts +2 -5
  28. package/dist/components/Text/Text.d.ts +1 -1
  29. package/dist/components/TextField/TextField.d.ts +6 -2
  30. package/dist/components/ToggleGroup/Toggle.d.ts +2 -1
  31. package/dist/components/ToggleGroup/ToggleGroup.d.ts +2 -1
  32. package/dist/components/TopNavigation/Logo/Logo.d.ts +7 -2
  33. package/dist/components/TopNavigation/Menu/Menu.d.ts +2 -2
  34. package/dist/components/TopNavigation/Menu/MenuItemDropdown.d.ts +4 -4
  35. package/dist/components/TopNavigation/OpenSideNavButton/OpenSideNavButton.d.ts +2 -1
  36. package/dist/components/TopNavigation/TopNavigation.d.ts +8 -3
  37. package/dist/components/VisuallyHidden/VisuallyHidden.d.ts +1 -1
  38. package/dist/components/VisuallyHidden/VisuallyHidden.stories.d.ts +2 -1
  39. package/dist/index.js +9100 -253
  40. package/dist/index.js.map +1 -1
  41. package/dist/miranda-compatibility.theme-kYNEZ7mW.js +2528 -0
  42. package/dist/{miranda-compatibility.theme-ChPV-BBw.js.map → miranda-compatibility.theme-kYNEZ7mW.js.map} +1 -1
  43. package/dist/prop-K2Z3EsyG.js +81 -0
  44. package/dist/{prop-BwhJNJHO.js.map → prop-K2Z3EsyG.js.map} +1 -1
  45. package/dist/testing/index.js +282 -1
  46. package/dist/testing/index.js.map +1 -1
  47. package/dist/tests/renderer.d.ts +1 -1
  48. package/dist/theming/index.js +22 -1
  49. package/dist/theming/index.js.map +1 -1
  50. package/dist/toArray-Dxb1kUxx.js +14 -0
  51. package/dist/{toArray-BW3gx_gH.js.map → toArray-Dxb1kUxx.js.map} +1 -1
  52. package/dist/tools/index.js +6 -1
  53. package/dist/tools/index.js.map +1 -1
  54. package/dist/utils/toolset/flatten.d.ts +1 -1
  55. package/dist/utils/toolset/get.d.ts +1 -1
  56. package/dist/utils/toolset/isEmpty.d.ts +1 -1
  57. package/dist/utils/toolset/omit.d.ts +1 -1
  58. package/dist/utils/toolset/range.d.ts +1 -1
  59. package/package.json +46 -79
  60. package/dist/DragDropFile.context-D-EBrXnw.js +0 -2
  61. package/dist/DragDropFile.context-jVTIKfj5.mjs +0 -29
  62. package/dist/DragDropFile.context-jVTIKfj5.mjs.map +0 -1
  63. package/dist/index.mjs +0 -8046
  64. package/dist/index.mjs.map +0 -1
  65. package/dist/miranda-compatibility.theme-ChPV-BBw.js +0 -2
  66. package/dist/miranda-compatibility.theme-DQDHkWzC.mjs +0 -2469
  67. package/dist/miranda-compatibility.theme-DQDHkWzC.mjs.map +0 -1
  68. package/dist/prop-5m3D4883.mjs +0 -54
  69. package/dist/prop-5m3D4883.mjs.map +0 -1
  70. package/dist/prop-BwhJNJHO.js +0 -2
  71. package/dist/testing/index.mjs +0 -228
  72. package/dist/testing/index.mjs.map +0 -1
  73. package/dist/theming/index.mjs +0 -20
  74. package/dist/theming/index.mjs.map +0 -1
  75. package/dist/toArray-BW3gx_gH.js +0 -2
  76. package/dist/toArray-DqgeO2ua.mjs +0 -8
  77. package/dist/toArray-DqgeO2ua.mjs.map +0 -1
  78. package/dist/tools/index.mjs +0 -7
  79. package/dist/tools/index.mjs.map +0 -1
  80. package/src/@types/@loadsmart/utilsFunction.d.ts +0 -5
  81. package/src/@types/@loadsmart/utilsObject.d.ts +0 -5
  82. package/src/@types/svg.d.ts +0 -4
  83. package/src/addons/Theme/register.js +0 -590
  84. package/src/common/BackButton/BackButton.tsx +0 -18
  85. package/src/common/BackButton/index.ts +0 -2
  86. package/src/common/CloseButton/CloseButton.tsx +0 -55
  87. package/src/common/CloseButton/index.ts +0 -2
  88. package/src/common/SelectionWrapper.tsx +0 -130
  89. package/src/components/Accordion/Accordion.context.tsx +0 -36
  90. package/src/components/Accordion/Accordion.stories.tsx +0 -186
  91. package/src/components/Accordion/Accordion.test.tsx +0 -209
  92. package/src/components/Accordion/Accordion.tsx +0 -233
  93. package/src/components/Accordion/index.ts +0 -2
  94. package/src/components/Banner/Banner.stories.tsx +0 -213
  95. package/src/components/Banner/Banner.test.tsx +0 -118
  96. package/src/components/Banner/Banner.tsx +0 -418
  97. package/src/components/Banner/index.tsx +0 -2
  98. package/src/components/Breadcrumbs/Breadbrumbs.test.tsx +0 -125
  99. package/src/components/Breadcrumbs/Breadcrumb.tsx +0 -92
  100. package/src/components/Breadcrumbs/Breadcrumbs.stories.tsx +0 -21
  101. package/src/components/Breadcrumbs/Breadcrumbs.tsx +0 -54
  102. package/src/components/Breadcrumbs/index.ts +0 -4
  103. package/src/components/Button/Button.stories.tsx +0 -174
  104. package/src/components/Button/Button.test.tsx +0 -57
  105. package/src/components/Button/Button.tsx +0 -576
  106. package/src/components/Button/index.tsx +0 -2
  107. package/src/components/Calendar/Calendar.helpers.ts +0 -15
  108. package/src/components/Calendar/Calendar.stories.tsx +0 -168
  109. package/src/components/Calendar/Calendar.test.tsx +0 -316
  110. package/src/components/Calendar/Calendar.tsx +0 -130
  111. package/src/components/Calendar/Calendar.types.ts +0 -68
  112. package/src/components/Calendar/Date.helper.test.ts +0 -847
  113. package/src/components/Calendar/Date.helper.ts +0 -461
  114. package/src/components/Calendar/DateFormat.helper.test.ts +0 -171
  115. package/src/components/Calendar/DateFormat.helper.ts +0 -195
  116. package/src/components/Calendar/Month.helper.test.ts +0 -187
  117. package/src/components/Calendar/Month.helper.ts +0 -172
  118. package/src/components/Calendar/PickerModeToggle.tsx +0 -61
  119. package/src/components/Calendar/Pickers/DayPicker.test.tsx +0 -85
  120. package/src/components/Calendar/Pickers/DayPicker.tsx +0 -127
  121. package/src/components/Calendar/Pickers/MonthPicker.test.tsx +0 -77
  122. package/src/components/Calendar/Pickers/MonthPicker.tsx +0 -51
  123. package/src/components/Calendar/Pickers/PickerButton.tsx +0 -119
  124. package/src/components/Calendar/Pickers/YearPicker.test.tsx +0 -75
  125. package/src/components/Calendar/Pickers/YearPicker.tsx +0 -52
  126. package/src/components/Calendar/index.ts +0 -10
  127. package/src/components/Calendar/useCalendar.ts +0 -190
  128. package/src/components/Calendar/usePickerMode.ts +0 -48
  129. package/src/components/Card/Card.stories.tsx +0 -117
  130. package/src/components/Card/Card.test.tsx +0 -139
  131. package/src/components/Card/Card.tsx +0 -106
  132. package/src/components/Card/CardTitle.tsx +0 -43
  133. package/src/components/Card/index.ts +0 -2
  134. package/src/components/Checkbox/Checkbox.stories.tsx +0 -79
  135. package/src/components/Checkbox/Checkbox.test.tsx +0 -66
  136. package/src/components/Checkbox/Checkbox.tsx +0 -170
  137. package/src/components/Checkbox/index.ts +0 -2
  138. package/src/components/DatePicker/DatePicker.stories.tsx +0 -113
  139. package/src/components/DatePicker/DatePicker.test.tsx +0 -174
  140. package/src/components/DatePicker/DatePicker.tsx +0 -140
  141. package/src/components/DatePicker/DatePicker.types.ts +0 -30
  142. package/src/components/DatePicker/DateRangePicker.stories.tsx +0 -128
  143. package/src/components/DatePicker/DateRangePicker.test.tsx +0 -267
  144. package/src/components/DatePicker/DateRangePicker.tsx +0 -110
  145. package/src/components/DatePicker/index.ts +0 -3
  146. package/src/components/DatePicker/useDatePicker.ts +0 -201
  147. package/src/components/DatePicker/useDateRangePicker.ts +0 -224
  148. package/src/components/Dialog/Dialog.stories.tsx +0 -227
  149. package/src/components/Dialog/Dialog.test.tsx +0 -74
  150. package/src/components/Dialog/Dialog.tsx +0 -139
  151. package/src/components/Dialog/index.tsx +0 -4
  152. package/src/components/Dialog/useDialog.tsx +0 -59
  153. package/src/components/DragDropFile/DragDropFile.context.tsx +0 -39
  154. package/src/components/DragDropFile/DragDropFile.stories.tsx +0 -183
  155. package/src/components/DragDropFile/DragDropFile.tsx +0 -11
  156. package/src/components/DragDropFile/components/DropZone.test.tsx +0 -108
  157. package/src/components/DragDropFile/components/DropZone.tsx +0 -145
  158. package/src/components/DragDropFile/components/FileItem.tsx +0 -117
  159. package/src/components/DragDropFile/components/FileList.test.tsx +0 -119
  160. package/src/components/DragDropFile/components/FileList.tsx +0 -47
  161. package/src/components/DragDropFile/components/Wrapper.tsx +0 -22
  162. package/src/components/DragDropFile/index.ts +0 -9
  163. package/src/components/DragDropFile/mocks.ts +0 -23
  164. package/src/components/DragDropFile/styles.tsx +0 -81
  165. package/src/components/DragDropFile/types.ts +0 -85
  166. package/src/components/Drawer/Drawer.stories.tsx +0 -83
  167. package/src/components/Drawer/Drawer.test.tsx +0 -90
  168. package/src/components/Drawer/Drawer.tsx +0 -225
  169. package/src/components/Drawer/index.ts +0 -4
  170. package/src/components/Dropdown/Dropdown.context.ts +0 -13
  171. package/src/components/Dropdown/Dropdown.fixtures.ts +0 -15
  172. package/src/components/Dropdown/Dropdown.stories.tsx +0 -259
  173. package/src/components/Dropdown/Dropdown.test.tsx +0 -173
  174. package/src/components/Dropdown/Dropdown.tsx +0 -141
  175. package/src/components/Dropdown/Dropdown.types.ts +0 -59
  176. package/src/components/Dropdown/DropdownMenu.tsx +0 -263
  177. package/src/components/Dropdown/DropdownTrigger.tsx +0 -368
  178. package/src/components/Dropdown/index.ts +0 -15
  179. package/src/components/Dropdown/useDropdown.test.ts +0 -96
  180. package/src/components/Dropdown/useDropdown.ts +0 -65
  181. package/src/components/EmptyState/EmptyState.mocks.tsx +0 -60
  182. package/src/components/EmptyState/EmptyState.stories.tsx +0 -239
  183. package/src/components/EmptyState/EmptyState.test.tsx +0 -101
  184. package/src/components/EmptyState/EmptyState.tsx +0 -22
  185. package/src/components/EmptyState/EmptyState.types.ts +0 -59
  186. package/src/components/EmptyState/EmptyStateWithIcon.tsx +0 -42
  187. package/src/components/EmptyState/EmptyStateWithIllustration.tsx +0 -72
  188. package/src/components/EmptyState/Illustration.tsx +0 -29
  189. package/src/components/EmptyState/index.ts +0 -4
  190. package/src/components/ErrorMessage/ErrorMessage.stories.tsx +0 -26
  191. package/src/components/ErrorMessage/ErrorMessage.test.tsx +0 -24
  192. package/src/components/ErrorMessage/ErrorMessage.tsx +0 -19
  193. package/src/components/ErrorMessage/index.ts +0 -2
  194. package/src/components/HighlightMatch/HighlightMatch.stories.tsx +0 -24
  195. package/src/components/HighlightMatch/HighlightMatch.test.tsx +0 -37
  196. package/src/components/HighlightMatch/HighlightMatch.tsx +0 -29
  197. package/src/components/HighlightMatch/index.ts +0 -2
  198. package/src/components/Icon/Icon.tsx +0 -55
  199. package/src/components/Icon/assets/back.svg +0 -4
  200. package/src/components/Icon/assets/burger-menu.svg +0 -3
  201. package/src/components/Icon/assets/calendar.svg +0 -5
  202. package/src/components/Icon/assets/caret-down.svg +0 -4
  203. package/src/components/Icon/assets/caret-left.svg +0 -4
  204. package/src/components/Icon/assets/caret-right-last.svg +0 -4
  205. package/src/components/Icon/assets/caret-right.svg +0 -4
  206. package/src/components/Icon/assets/check.svg +0 -4
  207. package/src/components/Icon/assets/chevron-down.svg +0 -3
  208. package/src/components/Icon/assets/circle.svg +0 -3
  209. package/src/components/Icon/assets/close.svg +0 -4
  210. package/src/components/Icon/assets/dots-horizontal.svg +0 -1
  211. package/src/components/Icon/assets/information.svg +0 -4
  212. package/src/components/Icon/assets/minus.svg +0 -4
  213. package/src/components/Icon/assets/plus.svg +0 -4
  214. package/src/components/Icon/assets/refresh.svg +0 -3
  215. package/src/components/Icon/assets/sort-asc.svg +0 -7
  216. package/src/components/Icon/assets/sort-desc.svg +0 -7
  217. package/src/components/Icon/assets/sort.svg +0 -7
  218. package/src/components/Icon/assets/upload.svg +0 -3
  219. package/src/components/Icon/assets/warning.svg +0 -4
  220. package/src/components/Icon/index.ts +0 -2
  221. package/src/components/IconFactory/IconFactory.fixtures.tsx +0 -31
  222. package/src/components/IconFactory/IconFactory.stories.tsx +0 -120
  223. package/src/components/IconFactory/IconFactory.test.tsx +0 -36
  224. package/src/components/IconFactory/IconFactory.tsx +0 -75
  225. package/src/components/IconFactory/index.ts +0 -2
  226. package/src/components/Label/Label.stories.tsx +0 -47
  227. package/src/components/Label/Label.test.tsx +0 -80
  228. package/src/components/Label/Label.tsx +0 -120
  229. package/src/components/Label/index.ts +0 -2
  230. package/src/components/Layout/Box.tsx +0 -98
  231. package/src/components/Layout/Grid.tsx +0 -42
  232. package/src/components/Layout/Group.tsx +0 -55
  233. package/src/components/Layout/Layout.stories.tsx +0 -412
  234. package/src/components/Layout/Layout.tsx +0 -19
  235. package/src/components/Layout/Layout.types.ts +0 -9
  236. package/src/components/Layout/Layout.utils.ts +0 -20
  237. package/src/components/Layout/Sidebar.tsx +0 -75
  238. package/src/components/Layout/Stack.tsx +0 -63
  239. package/src/components/Layout/Switcher.tsx +0 -48
  240. package/src/components/Layout/index.tsx +0 -8
  241. package/src/components/Link/Link.stories.tsx +0 -22
  242. package/src/components/Link/Link.test.tsx +0 -79
  243. package/src/components/Link/Link.tsx +0 -114
  244. package/src/components/Link/index.ts +0 -3
  245. package/src/components/Link/useSafeLink.ts +0 -49
  246. package/src/components/Loaders/LoadingBar.stories.tsx +0 -36
  247. package/src/components/Loaders/LoadingBar.test.tsx +0 -35
  248. package/src/components/Loaders/LoadingBar.tsx +0 -65
  249. package/src/components/Loaders/LoadingDots.stories.tsx +0 -69
  250. package/src/components/Loaders/LoadingDots.test.tsx +0 -22
  251. package/src/components/Loaders/LoadingDots.tsx +0 -68
  252. package/src/components/Loaders/Spinner.stories.tsx +0 -24
  253. package/src/components/Loaders/Spinner.test.tsx +0 -35
  254. package/src/components/Loaders/Spinner.tsx +0 -68
  255. package/src/components/Loaders/index.tsx +0 -3
  256. package/src/components/Modal/Modal.stories.tsx +0 -121
  257. package/src/components/Modal/Modal.test.tsx +0 -46
  258. package/src/components/Modal/Modal.tsx +0 -163
  259. package/src/components/Modal/index.tsx +0 -2
  260. package/src/components/Pagination/Pagination.constants.ts +0 -7
  261. package/src/components/Pagination/Pagination.helper.ts +0 -88
  262. package/src/components/Pagination/Pagination.stories.tsx +0 -29
  263. package/src/components/Pagination/Pagination.test.tsx +0 -102
  264. package/src/components/Pagination/Pagination.tsx +0 -34
  265. package/src/components/Pagination/Pagination.types.ts +0 -55
  266. package/src/components/Pagination/PaginationItem.tsx +0 -74
  267. package/src/components/Pagination/index.ts +0 -2
  268. package/src/components/Pagination/usePagination.test.ts +0 -188
  269. package/src/components/Pagination/usePagination.ts +0 -87
  270. package/src/components/Popover/Popover.stories.tsx +0 -50
  271. package/src/components/Popover/Popover.test.tsx +0 -22
  272. package/src/components/Popover/Popover.tsx +0 -110
  273. package/src/components/Popover/Popover.types.ts +0 -39
  274. package/src/components/Popover/index.ts +0 -11
  275. package/src/components/ProgressBar/ProgressBar.stories.tsx +0 -47
  276. package/src/components/ProgressBar/ProgressBar.test.tsx +0 -40
  277. package/src/components/ProgressBar/ProgressBar.tsx +0 -89
  278. package/src/components/ProgressBar/index.tsx +0 -2
  279. package/src/components/Radio/Radio.stories.tsx +0 -75
  280. package/src/components/Radio/Radio.test.tsx +0 -66
  281. package/src/components/Radio/Radio.tsx +0 -153
  282. package/src/components/Radio/index.ts +0 -2
  283. package/src/components/Section/Section.test.tsx +0 -35
  284. package/src/components/Section/Section.tsx +0 -66
  285. package/src/components/Section/Sections.stories.tsx +0 -56
  286. package/src/components/Section/index.ts +0 -2
  287. package/src/components/Select/Select.constants.ts +0 -12
  288. package/src/components/Select/Select.context.ts +0 -11
  289. package/src/components/Select/Select.fixtures.ts +0 -167
  290. package/src/components/Select/Select.stories.tsx +0 -780
  291. package/src/components/Select/Select.test.tsx +0 -1109
  292. package/src/components/Select/Select.tsx +0 -271
  293. package/src/components/Select/Select.types.ts +0 -148
  294. package/src/components/Select/SelectCreatableOption.tsx +0 -20
  295. package/src/components/Select/SelectEmpty.test.tsx +0 -15
  296. package/src/components/Select/SelectEmpty.tsx +0 -29
  297. package/src/components/Select/SelectOption.test.tsx +0 -78
  298. package/src/components/Select/SelectOption.tsx +0 -79
  299. package/src/components/Select/SelectTrigger.tsx +0 -83
  300. package/src/components/Select/components.tsx +0 -14
  301. package/src/components/Select/index.ts +0 -12
  302. package/src/components/Select/useSelect.helpers.test.ts +0 -184
  303. package/src/components/Select/useSelect.helpers.ts +0 -63
  304. package/src/components/Select/useSelect.test.ts +0 -207
  305. package/src/components/Select/useSelect.ts +0 -540
  306. package/src/components/Select/useSelectExternal.ts +0 -26
  307. package/src/components/SideNavigation/Logo/Logo.test.tsx +0 -19
  308. package/src/components/SideNavigation/Logo/Logo.tsx +0 -26
  309. package/src/components/SideNavigation/Logo/index.ts +0 -1
  310. package/src/components/SideNavigation/Menu/Menu.test.tsx +0 -65
  311. package/src/components/SideNavigation/Menu/Menu.tsx +0 -53
  312. package/src/components/SideNavigation/Menu/MenuBaseItem.tsx +0 -64
  313. package/src/components/SideNavigation/Menu/MenuExpandable.tsx +0 -107
  314. package/src/components/SideNavigation/Menu/MenuLink.tsx +0 -37
  315. package/src/components/SideNavigation/Menu/index.ts +0 -1
  316. package/src/components/SideNavigation/Separator/Separator.test.tsx +0 -14
  317. package/src/components/SideNavigation/Separator/Separator.tsx +0 -20
  318. package/src/components/SideNavigation/Separator/index.ts +0 -1
  319. package/src/components/SideNavigation/SideNavigation.stories.tsx +0 -69
  320. package/src/components/SideNavigation/SideNavigation.test.tsx +0 -21
  321. package/src/components/SideNavigation/SideNavigation.tsx +0 -47
  322. package/src/components/SideNavigation/index.ts +0 -5
  323. package/src/components/SideNavigation/useSideNavigation.ts +0 -36
  324. package/src/components/Steps/ProgressSteps/ProgressStep.tsx +0 -163
  325. package/src/components/Steps/ProgressSteps/ProgressSteps.tsx +0 -37
  326. package/src/components/Steps/ProgressSteps/index.ts +0 -1
  327. package/src/components/Steps/Steps.fixtures.ts +0 -11
  328. package/src/components/Steps/Steps.helpers.ts +0 -11
  329. package/src/components/Steps/Steps.stories.tsx +0 -65
  330. package/src/components/Steps/Steps.test.tsx +0 -78
  331. package/src/components/Steps/Steps.tsx +0 -53
  332. package/src/components/Steps/Steps.types.ts +0 -5
  333. package/src/components/Steps/StepsContext.ts +0 -5
  334. package/src/components/Steps/StepsStep.tsx +0 -58
  335. package/src/components/Steps/index.ts +0 -6
  336. package/src/components/Steps/useStep.test.tsx +0 -217
  337. package/src/components/Steps/useSteps.ts +0 -131
  338. package/src/components/Switch/Switch.stories.tsx +0 -65
  339. package/src/components/Switch/Switch.test.tsx +0 -60
  340. package/src/components/Switch/Switch.tsx +0 -209
  341. package/src/components/Switch/index.ts +0 -2
  342. package/src/components/Table/Selection.tsx +0 -202
  343. package/src/components/Table/Table.fixtures.ts +0 -101
  344. package/src/components/Table/Table.stories.tsx +0 -568
  345. package/src/components/Table/Table.test.tsx +0 -310
  346. package/src/components/Table/Table.tsx +0 -523
  347. package/src/components/Table/Table.types.ts +0 -93
  348. package/src/components/Table/TableSortHandle.tsx +0 -31
  349. package/src/components/Table/index.tsx +0 -2
  350. package/src/components/Table/useSortBy.test.ts +0 -96
  351. package/src/components/Table/useSortBy.ts +0 -92
  352. package/src/components/Table/useSortBy.types.ts +0 -21
  353. package/src/components/TablePagination/RowsPerPage.tsx +0 -81
  354. package/src/components/TablePagination/TablePagination.stories.tsx +0 -42
  355. package/src/components/TablePagination/TablePagination.styles.ts +0 -13
  356. package/src/components/TablePagination/TablePagination.test.tsx +0 -111
  357. package/src/components/TablePagination/TablePagination.tsx +0 -49
  358. package/src/components/TablePagination/TablePagination.types.ts +0 -69
  359. package/src/components/TablePagination/TablePaginationActions.tsx +0 -144
  360. package/src/components/TablePagination/index.ts +0 -2
  361. package/src/components/Tabs/Tabs.stories.tsx +0 -78
  362. package/src/components/Tabs/Tabs.test.tsx +0 -103
  363. package/src/components/Tabs/Tabs.tsx +0 -287
  364. package/src/components/Tabs/Tabs.types.ts +0 -7
  365. package/src/components/Tabs/TabsContext.ts +0 -10
  366. package/src/components/Tabs/index.ts +0 -2
  367. package/src/components/Tag/Tag.stories.tsx +0 -112
  368. package/src/components/Tag/Tag.test.tsx +0 -19
  369. package/src/components/Tag/Tag.tsx +0 -393
  370. package/src/components/Tag/index.ts +0 -2
  371. package/src/components/Text/Text.stories.tsx +0 -59
  372. package/src/components/Text/Text.test.tsx +0 -48
  373. package/src/components/Text/Text.tsx +0 -14
  374. package/src/components/Text/index.ts +0 -2
  375. package/src/components/TextField/TextField.stories.tsx +0 -90
  376. package/src/components/TextField/TextField.test.tsx +0 -36
  377. package/src/components/TextField/TextField.tsx +0 -244
  378. package/src/components/TextField/index.ts +0 -6
  379. package/src/components/TextField/useTextField.tsx +0 -26
  380. package/src/components/Textarea/Textarea.stories.tsx +0 -101
  381. package/src/components/Textarea/Textarea.test.tsx +0 -14
  382. package/src/components/Textarea/Textarea.tsx +0 -230
  383. package/src/components/Textarea/index.ts +0 -2
  384. package/src/components/Toast/Toast.stories.tsx +0 -50
  385. package/src/components/Toast/Toast.test.tsx +0 -24
  386. package/src/components/Toast/Toast.tsx +0 -141
  387. package/src/components/Toast/icons/close.svg +0 -3
  388. package/src/components/Toast/icons/danger.svg +0 -4
  389. package/src/components/Toast/icons/neutral.svg +0 -4
  390. package/src/components/Toast/icons/success.svg +0 -3
  391. package/src/components/Toast/icons/warning.svg +0 -4
  392. package/src/components/Toast/index.tsx +0 -2
  393. package/src/components/ToggleGroup/Toggle.test.tsx +0 -76
  394. package/src/components/ToggleGroup/Toggle.tsx +0 -158
  395. package/src/components/ToggleGroup/ToggleGroup.constants.ts +0 -16
  396. package/src/components/ToggleGroup/ToggleGroup.stories.tsx +0 -145
  397. package/src/components/ToggleGroup/ToggleGroup.test.tsx +0 -237
  398. package/src/components/ToggleGroup/ToggleGroup.tsx +0 -165
  399. package/src/components/ToggleGroup/ToggleGroup.types.ts +0 -35
  400. package/src/components/ToggleGroup/ToggleGroupContext.ts +0 -13
  401. package/src/components/ToggleGroup/index.ts +0 -3
  402. package/src/components/Tooltip/Tooltip.stories.tsx +0 -82
  403. package/src/components/Tooltip/Tooltip.test.tsx +0 -49
  404. package/src/components/Tooltip/Tooltip.tsx +0 -185
  405. package/src/components/Tooltip/index.ts +0 -2
  406. package/src/components/TopNavigation/Logo/Logo.test.tsx +0 -21
  407. package/src/components/TopNavigation/Logo/Logo.tsx +0 -20
  408. package/src/components/TopNavigation/Logo/index.ts +0 -1
  409. package/src/components/TopNavigation/Menu/Menu.test.tsx +0 -125
  410. package/src/components/TopNavigation/Menu/Menu.tsx +0 -62
  411. package/src/components/TopNavigation/Menu/MenuItemDropdown.tsx +0 -118
  412. package/src/components/TopNavigation/Menu/MenuItemIcon.tsx +0 -50
  413. package/src/components/TopNavigation/Menu/index.ts +0 -1
  414. package/src/components/TopNavigation/OpenSideNavButton/OpenSideNavButton.tsx +0 -28
  415. package/src/components/TopNavigation/OpenSideNavButton/index.ts +0 -1
  416. package/src/components/TopNavigation/TopNavigation.stories.tsx +0 -42
  417. package/src/components/TopNavigation/TopNavigation.tsx +0 -47
  418. package/src/components/TopNavigation/index.ts +0 -2
  419. package/src/components/VisuallyHidden/VisuallyHidden.mdx +0 -26
  420. package/src/components/VisuallyHidden/VisuallyHidden.stories.tsx +0 -32
  421. package/src/components/VisuallyHidden/VisuallyHidden.test.tsx +0 -18
  422. package/src/components/VisuallyHidden/VisuallyHidden.tsx +0 -6
  423. package/src/components/VisuallyHidden/index.ts +0 -1
  424. package/src/docs/tools/DatePickerEvent.stories.mdx +0 -108
  425. package/src/docs/tools/DragDropFileEvent.stories.mdx +0 -75
  426. package/src/docs/tools/conditional.stories.mdx +0 -251
  427. package/src/docs/tools/selectEvent.stories.mdx +0 -121
  428. package/src/hooks/useClickOutside/index.ts +0 -1
  429. package/src/hooks/useClickOutside/useClickOutside.test.tsx +0 -116
  430. package/src/hooks/useClickOutside/useClickOutside.ts +0 -65
  431. package/src/hooks/useDidMount/index.ts +0 -1
  432. package/src/hooks/useDidMount/useDidMount.test.tsx +0 -38
  433. package/src/hooks/useDidMount/useDidMount.ts +0 -20
  434. package/src/hooks/useFingerprint/index.ts +0 -1
  435. package/src/hooks/useFingerprint/useFingerprint.test.ts +0 -76
  436. package/src/hooks/useFingerprint/useFingerprint.ts +0 -94
  437. package/src/hooks/useFocusTrap/index.ts +0 -2
  438. package/src/hooks/useFocusTrap/useFocusTrap.stories.tsx +0 -87
  439. package/src/hooks/useFocusTrap/useFocusTrap.test.tsx +0 -129
  440. package/src/hooks/useFocusTrap/useFocusTrap.ts +0 -187
  441. package/src/hooks/useFocusWithin/index.ts +0 -2
  442. package/src/hooks/useFocusWithin/useFocusWithin.test.tsx +0 -71
  443. package/src/hooks/useFocusWithin/useFocusWithin.ts +0 -62
  444. package/src/hooks/useHeightExpansionToggler/index.ts +0 -2
  445. package/src/hooks/useHeightExpansionToggler/useHeightExpansionToggler.test.tsx +0 -85
  446. package/src/hooks/useHeightExpansionToggler/useHeightExpansionToggler.ts +0 -54
  447. package/src/hooks/useID/index.ts +0 -1
  448. package/src/hooks/useID/useID.ts +0 -18
  449. package/src/hooks/useSelectable/SelectableStrategy.test.ts +0 -424
  450. package/src/hooks/useSelectable/SelectableStrategy.ts +0 -143
  451. package/src/hooks/useSelectable/index.ts +0 -8
  452. package/src/hooks/useSelectable/useSelectable.test.ts +0 -221
  453. package/src/hooks/useSelectable/useSelectable.ts +0 -156
  454. package/src/hooks/useSelectable/useSelectable.types.ts +0 -45
  455. package/src/hooks/useWindowResize/index.ts +0 -1
  456. package/src/hooks/useWindowResize/useWindowResize.ts +0 -27
  457. package/src/index.ts +0 -188
  458. package/src/stories/assets/code-brackets.svg +0 -1
  459. package/src/stories/assets/colors.svg +0 -1
  460. package/src/stories/assets/comments.svg +0 -1
  461. package/src/stories/assets/direction.svg +0 -1
  462. package/src/stories/assets/flow.svg +0 -1
  463. package/src/stories/assets/plugin.svg +0 -1
  464. package/src/stories/assets/repo.svg +0 -1
  465. package/src/stories/assets/stackalt.svg +0 -1
  466. package/src/stories/introduction.stories.mdx +0 -57
  467. package/src/stories/startPage.stories.mdx +0 -95
  468. package/src/styles/activatable.tsx +0 -30
  469. package/src/styles/disableable.tsx +0 -45
  470. package/src/styles/ellipsizable.tsx +0 -14
  471. package/src/styles/focusable.tsx +0 -32
  472. package/src/styles/font.test.ts +0 -31
  473. package/src/styles/font.tsx +0 -40
  474. package/src/styles/hidden.tsx +0 -29
  475. package/src/styles/hoverable.tsx +0 -30
  476. package/src/styles/transition.tsx +0 -25
  477. package/src/styles/typography.test.ts +0 -93
  478. package/src/styles/typography.ts +0 -190
  479. package/src/testing/DatePickerEvent/DatePickerEvent.ts +0 -117
  480. package/src/testing/DatePickerEvent/DateRangePickerEvent.ts +0 -83
  481. package/src/testing/DatePickerEvent/index.ts +0 -2
  482. package/src/testing/DragDropFileEvent/DragDropFileEvent.ts +0 -56
  483. package/src/testing/DragDropFileEvent/index.ts +0 -1
  484. package/src/testing/SelectEvent/SelectEvent.test.tsx +0 -192
  485. package/src/testing/SelectEvent/SelectEvent.ts +0 -264
  486. package/src/testing/SelectEvent/index.ts +0 -1
  487. package/src/testing/getInterpolatedStyles/getInterpolatedStyles.ts +0 -25
  488. package/src/testing/getInterpolatedStyles/index.ts +0 -1
  489. package/src/testing/index.ts +0 -6
  490. package/src/testing/renderWithDragDropFileProvider/index.ts +0 -1
  491. package/src/testing/renderWithDragDropFileProvider/renderWithDragDropFileProvider.tsx +0 -28
  492. package/src/tests/generator.ts +0 -127
  493. package/src/tests/renderer.tsx +0 -39
  494. package/src/theming/index.ts +0 -42
  495. package/src/theming/themes/alice.theme.ts +0 -1022
  496. package/src/theming/themes/index.ts +0 -3
  497. package/src/theming/themes/loadsmart.theme.ts +0 -1019
  498. package/src/theming/themes/miranda-compatibility.theme.ts +0 -972
  499. package/src/theming/theming.helpers.ts +0 -95
  500. package/src/tools/conditional.test.ts +0 -166
  501. package/src/tools/conditional.ts +0 -127
  502. package/src/tools/index.ts +0 -2
  503. package/src/tools/prop.test.ts +0 -52
  504. package/src/tools/prop.ts +0 -36
  505. package/src/utils/toolset/awaitTo.ts +0 -24
  506. package/src/utils/toolset/flatten.ts +0 -3
  507. package/src/utils/toolset/formatBytes.test.ts +0 -45
  508. package/src/utils/toolset/formatBytes.ts +0 -18
  509. package/src/utils/toolset/get.ts +0 -2
  510. package/src/utils/toolset/getID.test.ts +0 -57
  511. package/src/utils/toolset/getID.ts +0 -93
  512. package/src/utils/toolset/getOrdinalSuffix.test.ts +0 -27
  513. package/src/utils/toolset/getOrdinalSuffix.ts +0 -15
  514. package/src/utils/toolset/highlightMatch.test.tsx +0 -32
  515. package/src/utils/toolset/highlightMatch.tsx +0 -32
  516. package/src/utils/toolset/interleave.test.ts +0 -40
  517. package/src/utils/toolset/interleave.ts +0 -23
  518. package/src/utils/toolset/isEmpty.ts +0 -2
  519. package/src/utils/toolset/isThenable.test.ts +0 -40
  520. package/src/utils/toolset/isThenable.ts +0 -14
  521. package/src/utils/toolset/keyboard.ts +0 -50
  522. package/src/utils/toolset/omit.ts +0 -2
  523. package/src/utils/toolset/pluralize.ts +0 -16
  524. package/src/utils/toolset/range.ts +0 -2
  525. package/src/utils/toolset/rem.ts +0 -7
  526. package/src/utils/toolset/styledCompounds.ts +0 -22
  527. package/src/utils/toolset/toArray.ts +0 -16
  528. package/src/utils/types/ColorScheme.ts +0 -3
  529. package/src/utils/types/EventLike.ts +0 -11
  530. package/src/utils/types/InterpolatedStyle.ts +0 -3
  531. package/src/utils/types/Status.ts +0 -8
@@ -1,568 +0,0 @@
1
- /* eslint-disable */
2
- import React from 'react'
3
- import type { Meta } from '@storybook/react'
4
-
5
- import Table, { useSelection } from './Table'
6
- import type { TableColumns, TableProps } from './Table.types'
7
- import useSortBy from './useSortBy'
8
-
9
- import { TABLE_COLUMNS, TABLE_ROWS } from './Table.fixtures'
10
- import type { RowFixture } from './Table.fixtures'
11
-
12
- import { Button } from 'components/Button'
13
- import { Text } from 'components/Text'
14
- import { Switch } from 'components/Switch'
15
-
16
- export default {
17
- title: 'Components/Table',
18
- component: Table,
19
- argTypes: {
20
- scale: {
21
- control: {
22
- type: 'select',
23
- options: ['default', 'small', 'large'],
24
- },
25
- },
26
- },
27
- parameters: {},
28
- } as Meta
29
-
30
- export function Playground(args: TableProps): JSX.Element {
31
- return (
32
- <div className="p-4 bg-neutral-white">
33
- <Table {...args}>
34
- <Table.Caption>
35
- <Text variant="body-bold">This is the Table Caption, you can put anything here</Text>
36
- </Table.Caption>
37
-
38
- <Table.Head>
39
- <Table.Row>
40
- <Table.HeadCell># Number</Table.HeadCell>
41
- <Table.HeadCell className="w-60">Company</Table.HeadCell>
42
- <Table.HeadCell alignment="right">Price $</Table.HeadCell>
43
- </Table.Row>
44
- </Table.Head>
45
-
46
- <Table.Body>
47
- <Table.Row>
48
- <Table.Cell format="number">#23992919-1</Table.Cell>
49
- <Table.Cell>Modal X 23</Table.Cell>
50
- <Table.Cell format="currency" alignment="right">
51
- $9876,50
52
- </Table.Cell>
53
- </Table.Row>
54
- <Table.Row>
55
- <Table.Cell format="number">#23992919-1</Table.Cell>
56
- <Table.Cell>Modal X 23</Table.Cell>
57
- <Table.Cell format="currency" alignment="right">
58
- $9876,50
59
- </Table.Cell>
60
- </Table.Row>
61
- <Table.Row>
62
- <Table.Cell format="number">#23992919-1</Table.Cell>
63
- <Table.Cell>Modal X 23</Table.Cell>
64
- <Table.Cell format="currency" alignment="right">
65
- $9876,50
66
- </Table.Cell>
67
- </Table.Row>
68
- </Table.Body>
69
-
70
- <Table.Foot>
71
- <Table.Row>
72
- <Table.HeadCell># Number</Table.HeadCell>
73
- <Table.HeadCell className="w-60">Company</Table.HeadCell>
74
- <Table.HeadCell alignment="right">Price $</Table.HeadCell>
75
- </Table.Row>
76
- </Table.Foot>
77
- </Table>
78
- </div>
79
- )
80
- }
81
-
82
- Playground.args = {
83
- scale: 'default',
84
- }
85
-
86
- export function WithSorting(args: TableProps): JSX.Element {
87
- const { tableData, columnData, sortByColumn } = useSortBy(TABLE_COLUMNS, TABLE_ROWS)
88
-
89
- return (
90
- <div className="p-4 bg-neutral-white">
91
- <Table {...args}>
92
- <Table.Head>
93
- <Table.Row>
94
- {columnData.map((column) => (
95
- <Table.HeadCell key={column.key} onClick={() => sortByColumn(column)}>
96
- {column.title} {column.isSortable && <Table.SortHandle order={column.order} />}
97
- </Table.HeadCell>
98
- ))}
99
- </Table.Row>
100
- </Table.Head>
101
-
102
- <Table.Body>
103
- {tableData.map((cell) => (
104
- <Table.Row key={cell.value}>
105
- {Object.keys(cell)
106
- .slice(1)
107
- .map((cellKey, index) => (
108
- <Table.Cell key={index}>{cell[cellKey]}</Table.Cell>
109
- ))}
110
- </Table.Row>
111
- ))}
112
- </Table.Body>
113
- </Table>
114
- </div>
115
- )
116
- }
117
-
118
- WithSorting.args = {
119
- scale: 'default',
120
- }
121
-
122
- export function WithColumnPicker(args: TableProps): JSX.Element {
123
- const ID_COLUMNS: TableColumns<RowFixture> = [
124
- {
125
- title: 'Ref',
126
- option: 'Reference',
127
- key: 'ref',
128
- },
129
- {
130
- title: 'Seq',
131
- option: 'Sequence',
132
- key: 'value',
133
- },
134
- ]
135
-
136
- const [idCol, setIdCol] = React.useState(ID_COLUMNS[0])
137
-
138
- return (
139
- <Table {...args}>
140
- <Table.Head>
141
- <Table.Row>
142
- <Table.HeadCell>
143
- {idCol.title}
144
- <Table.Picker
145
- value={idCol}
146
- onChange={setIdCol}
147
- options={ID_COLUMNS}
148
- title="Pick an identifier column"
149
- />
150
- </Table.HeadCell>
151
- <Table.HeadCell>Product Name</Table.HeadCell>
152
- <Table.HeadCell>Price</Table.HeadCell>
153
- <Table.HeadCell>Owner</Table.HeadCell>
154
- <Table.HeadCell>
155
- Release Date
156
- <Table.Picker trigger={(expanded) => (expanded ? 'close' : 'open')} align="end">
157
- <Table.Picker.Item checked option={{ title: 'Release Date', key: 'release-date' }} />
158
- <Table.Picker.Item disabled>Example of custom item</Table.Picker.Item>
159
- </Table.Picker>
160
- </Table.HeadCell>
161
- </Table.Row>
162
- </Table.Head>
163
-
164
- <Table.Body>
165
- {TABLE_ROWS.map((entry) => (
166
- <Table.Row>
167
- <Table.Cell>{entry[idCol.key]}</Table.Cell>
168
- <Table.Cell>{entry.product}</Table.Cell>
169
- <Table.Cell>${new Intl.NumberFormat().format(Number(entry.price))}</Table.Cell>
170
- <Table.Cell>{entry.owner}</Table.Cell>
171
- <Table.Cell>{entry['release-date']}</Table.Cell>
172
- </Table.Row>
173
- ))}
174
- </Table.Body>
175
- </Table>
176
- )
177
- }
178
-
179
- WithColumnPicker.args = {
180
- scale: 'default',
181
- }
182
-
183
- WithColumnPicker.parameters = {
184
- docs: {
185
- description: {
186
- story: `
187
- #### \`<Table.Picker />\`
188
-
189
- This component renders a \`Dropdown\` menu, making it possible for users to select what column should be visible at the moment.
190
-
191
- \`\`\`jsx
192
- interface IMyRow {
193
- uuid: string
194
- ext_id: string
195
- ref: number
196
- // other properties...
197
- }
198
-
199
- /* Make sure to import TableColumns generic type if you're using TypeScript */
200
- const FIRST_COLUMNS: TableColumns<IMyRow> = [
201
- { key: 'uuid', title: 'Id', option: 'Identifier' },
202
- { key: 'ext_id', title: 'Ext. Id', option: 'External Id' },
203
- { key: 'ref', title: 'Ref', option: 'Reference' },
204
- ]
205
-
206
- function MyAmazingTable() {
207
- const [pickedColumn, setPickedColumn] = React.useState(FIRST_COLUMNS[0])
208
-
209
- return (
210
- <Table>
211
- <Table.Head>
212
- <Table.Row>
213
- <Table.HeadCell>
214
- {/* Don't forget to render the title of the current picked column */}
215
- {pickedColumn.title}
216
-
217
- <Table.Picker
218
- value={pickedColumn}
219
- onChange={(option) => setPickedColumn(option)}
220
- options={FIRST_COLUMNS}
221
- title="Pick an identifier column"
222
- />
223
- </Table.HeadCell>
224
- </Table.Row>
225
- </Table.Head>
226
-
227
- <Table.Body>
228
- <Table.Row>
229
- <Table.Cell>
230
- {/* The \`key\` property is the accessor of your data interface */}
231
- {entry[pickedColumn.key]}
232
- </Table.Cell>
233
- </Table.Row>
234
- </Table.Body>
235
- </Table>
236
- )
237
- }
238
- \`\`\`
239
-
240
- ## Props
241
-
242
- | Prop | Type | Default | Description |
243
- |----------|---------------------------------------|----------------|------------------------------------------------|
244
- | value | \`TableColumn<T>\` | \`undefined\` | Current picked column |
245
- | onChange | \`(column: TableColumn<T>) => void\` | \`undefined\` | Callback that's invoked with the picked column |
246
- | options | \`TableColumns<T>\` | \`undefined\` | List of possible columns to pick |
247
- `,
248
- },
249
- },
250
-
251
- source: {
252
- type: 'code',
253
- },
254
- }
255
-
256
- export function WithRowSelection(args: TableProps): JSX.Element {
257
- return (
258
- <div className="p-4 bg-neutral-white">
259
- <Table {...args} selection={{ onChange: console.log }}>
260
- <Table.Caption>
261
- <Table.Selection.Actions
262
- buttons={[
263
- ({ values }) => (
264
- <Button onClick={() => console.log(values)}>Remove ({values.length})</Button>
265
- ),
266
- ]}
267
- >
268
- <Text variant="caption" italic>
269
- Please select at least 1 row
270
- </Text>
271
- </Table.Selection.Actions>
272
- </Table.Caption>
273
-
274
- <Table.Head>
275
- <Table.Row>
276
- <Table.Selection.HeadCell />
277
- {TABLE_COLUMNS.map((column) => (
278
- <Table.HeadCell key={column.key}>{column.title}</Table.HeadCell>
279
- ))}
280
- </Table.Row>
281
- </Table.Head>
282
-
283
- <Table.Body>
284
- {TABLE_ROWS.map((row) => (
285
- <Table.Row key={row.value}>
286
- <Table.Selection.Cell value={row} />
287
- {Object.keys(row)
288
- .slice(1, 6)
289
- .map((key, index) => (
290
- <Table.Cell key={index}>{row[key]}</Table.Cell>
291
- ))}
292
- </Table.Row>
293
- ))}
294
- </Table.Body>
295
- </Table>
296
- </div>
297
- )
298
- }
299
-
300
- WithRowSelection.parameters = {
301
- docs: {
302
- description: {
303
- story: `
304
- #### \`<Table.Selection.Cell />\`
305
-
306
- This component renders a styled \`<td>\` with a checkbox/radio button, depending if the selection is multiple or not.
307
-
308
- \`\`\`jsx
309
- <Table.Row>
310
- <Table.Selection.Cell value={row} />
311
- <Tabel.Cell>{row.name}</Table.Cell>
312
- <Tabel.Cell>{row.price}</Table.Cell>
313
- </Table.Row>
314
- \`\`\`
315
-
316
- It expects that the object of each row passed to prop \`value\` of \`Table.Selection.Cell\`, contains a property called \`value\`, which will be used to **uniquely identify** that row in the table.
317
-
318
- #### \`<Table.Selection.HeadCell />\`
319
-
320
- If you want the *Select All* behavior in the table header, it renders a \`<th>\` and the input affects all rows. Doesn't show up if selection isn't multiple.
321
-
322
- \`\`\`jsx
323
- <Table.Row>
324
- <Table.Selection.HeadCell />
325
- <Tabel.HeadCell>Name</Table.HeadCell>
326
- <Tabel.HeadCell>Price</Table.HeadCell>
327
- </Table.Row>
328
- \`\`\`
329
-
330
-
331
- #### \`<Table.Selection.Actions />\`
332
-
333
- Use it to add buttons for your *Bulk Actions*, always render it inside of a \`<Table.Caption>\`.
334
-
335
- By design, it's always right-aligned, comes with a _cancel_ link as last action, and only shows when there's at least 1 selected row.
336
- It accepts a prop \`buttons\`, an array of functions that receive the current selected rows inside \`values\` parameter, so you can return your button to be rendered.
337
-
338
- It also accepts \`children\`, serving as a placeholder for when there are no selected rows.
339
-
340
- \`\`\`jsx
341
- <Table.Caption>
342
- <Table.Selection.Actions buttons={[ ({ values }) => <Button onClick={() => remove(values)}>Remove</Button> ]}>
343
- Please select at least 1 row
344
- </Table.Selection.Actions>
345
- </Table.Caption>
346
- \`\`\`
347
- `,
348
- },
349
- },
350
- }
351
-
352
- WithRowSelection.args = {
353
- scale: 'default',
354
- }
355
-
356
- interface MyRow {
357
- rowId: number
358
- _type: string
359
- }
360
-
361
- function MyCustomSelection() {
362
- const { values } = useSelection<MyRow>()
363
-
364
- return (
365
- <div style={{ background: 'lightgray', padding: 8, width: '100%' }}>
366
- <Button variant="primary" onClick={() => console.log(values)}>
367
- Action ({values.length})
368
- </Button>
369
- </div>
370
- )
371
- }
372
-
373
- const CUSTOM_SELECTION_ROWS = TABLE_ROWS.map((row) => {
374
- const advancedRow = { ...row }
375
- advancedRow._type = 'myRow'
376
- advancedRow.rowId = advancedRow.value
377
- return advancedRow
378
- })
379
-
380
- export function WithCustomRowSelection(): JSX.Element {
381
- return (
382
- <div className="p-4 bg-neutral-white">
383
- <Table<MyRow>
384
- selection={{
385
- multiple: false,
386
- adapters: {
387
- myRow: {
388
- getKey(row) {
389
- return row.rowId
390
- },
391
- },
392
- },
393
- }}
394
- >
395
- <Table.Caption>
396
- <MyCustomSelection />
397
- </Table.Caption>
398
-
399
- <Table.Head>
400
- <Table.Row>
401
- <Table.Cell />
402
- {TABLE_COLUMNS.map((column) => (
403
- <Table.HeadCell key={column.key}>{column.title}</Table.HeadCell>
404
- ))}
405
- <Table.Cell />
406
- </Table.Row>
407
- </Table.Head>
408
-
409
- <Table.Body>
410
- {CUSTOM_SELECTION_ROWS.map((row) => (
411
- <Table.Row key={row.value}>
412
- <Table.Selection.Cell value={row}>
413
- {({ selected, toggle }) => <Switch onToggle={toggle} active={selected} />}
414
- </Table.Selection.Cell>
415
- {Object.keys(row)
416
- .slice(1, 6)
417
- .map((key, index) => (
418
- <Table.Cell key={index}>{row[key]}</Table.Cell>
419
- ))}
420
- <Table.Selection.Cell value={row} />
421
- </Table.Row>
422
- ))}
423
- </Table.Body>
424
- </Table>
425
- </div>
426
- )
427
- }
428
-
429
- WithCustomRowSelection.parameters = {
430
- docs: {
431
- description: {
432
- story: `
433
- The \`<Table>\` component accepts a \`selection\` prop, an object for the \`useSelectable\` hook, where you can specify if it's multiple or single, register an \`onChange\` callback, set your adapters, and even initially selected rows.
434
-
435
- **\`selection\`**
436
-
437
- | Prop | Type | Default | Description |
438
- |----------|----------------------------------------------|----------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------|
439
- | multiple | \`boolean\` | \`true\` | If set to \`false\` renders \`radio\` inputs and will only have one selected row at maximum |
440
- | onChange | \`(selected: T[]) => void\` | \`undefined\` | Callback that's invoked with the current selected rows for every change |
441
- | selected | \`T[]\` | \`[]\` | Sets the initial selected rows |
442
- | adapters | \`Record<T['_type'], SelectableAdapter<T>>\` | \`undefined\` | If your data interface doesn't have a \`value\` property, you can provide an adapter, implementing a \`getKey\` function that returns your id. See example below. |
443
-
444
- \`\`\`jsx
445
- // Example of selection.adapters usage
446
-
447
- interface IMyRow {
448
- myKeyName: string
449
- _type: string
450
- }
451
-
452
- <Table<IMyRow>
453
- selection={{
454
- adapters: {
455
- myTypeName: {
456
- getKey(row) {
457
- return row.myKeyName
458
- }
459
- }
460
- }
461
- }}
462
- >
463
- <Table.Selection.Cell value={{ _type: 'myTypeName', myKeyName: 'a1' }}>
464
- <Table.Selection.Cell value={{ _type: 'myTypeName', myKeyName: 'b2' }}>
465
- </Table>
466
- \`\`\`
467
-
468
- ### \`useSelection\` hook
469
-
470
- If you need to fully customize the Actions container (say a colored background, always-visible, with left-aligned buttons, no _cancel_ link, etc.), you can use the \`useSelection()\` hook to build a custom \`Table.Selection.Actions\`.
471
- It returns \`values\`, an array of the current selected rows, and \`clear\`, a function to unselect all rows.
472
-
473
- \`\`\`jsx
474
- interface IMyRow {
475
- myKeyName: string
476
- _type: string
477
- }
478
-
479
- function MyCustomActions() {
480
- const { values } = useSelection<IMyRow>()
481
-
482
- return (
483
- <ColoredBackground>
484
- <Button onClick={() => remove(values)}>Remove ({values.length})</Button>
485
- </ColoredBackground>
486
- )
487
- }
488
-
489
- <Table>
490
- <Table.Caption>
491
- <MyCustomActions />
492
- </Table.Caption>
493
- </Table>
494
- \`\`\`
495
-
496
- ### \`Table.Selection.Cell\` children
497
-
498
- Also you may send a function as \`children\` to \`<Table.Selection.Cell />\` in order to render different form controls.
499
- This function is passed a boolean \`selected\` and a function \`toggle\`.
500
-
501
- \`\`\`jsx
502
- <Table.Selection.Cell value={row}>
503
- {({ selected, toggle }) => <Switch onToggle={toggle} active={selected} />}
504
- </Table.Selection.Cell>
505
- \`\`\`
506
- `,
507
- },
508
- },
509
- }
510
-
511
- export function WithExpandableRow(args: TableProps): JSX.Element {
512
- const leading = (expanded: boolean) => {
513
- if (expanded) {
514
- return <div style={{ fontWeight: 'bold' }}>Open</div>
515
- }
516
- return <div style={{ fontWeight: 'bold' }}>Closed</div>
517
- }
518
-
519
- return (
520
- <div className="p-4 bg-neutral-white">
521
- <Table {...args}>
522
- <Table.Head>
523
- <Table.Row>
524
- <Table.HeadCell />
525
- <Table.HeadCell>reference</Table.HeadCell>
526
- <Table.HeadCell>product</Table.HeadCell>
527
- <Table.HeadCell>price</Table.HeadCell>
528
- </Table.Row>
529
- </Table.Head>
530
-
531
- <Table.Body>
532
- <Table.ExpandableRow
533
- leading={leading}
534
- expandableContent={<div>Forced expanded with custom leading</div>}
535
- expanded
536
- >
537
- <Table.Cell>123456</Table.Cell>
538
- <Table.Cell>Body 1</Table.Cell>
539
- <Table.Cell>12345</Table.Cell>
540
- </Table.ExpandableRow>
541
- <Table.ExpandableRow
542
- leading={leading}
543
- expandableContent={<div>Initial expanded row with custom leading</div>}
544
- initialExpanded
545
- >
546
- <Table.Cell>123456</Table.Cell>
547
- <Table.Cell>Body 2</Table.Cell>
548
- <Table.Cell>12345</Table.Cell>
549
- </Table.ExpandableRow>
550
- <Table.ExpandableRow expandableContent={<div>Expandable row</div>}>
551
- <Table.Cell>123456</Table.Cell>
552
- <Table.Cell>Body 3</Table.Cell>
553
- <Table.Cell>12345</Table.Cell>
554
- </Table.ExpandableRow>
555
- <Table.ExpandableRow expanded>
556
- <Table.Cell>123456</Table.Cell>
557
- <Table.Cell>Body 5</Table.Cell>
558
- <Table.Cell>12345</Table.Cell>
559
- </Table.ExpandableRow>
560
- </Table.Body>
561
- </Table>
562
- </div>
563
- )
564
- }
565
-
566
- WithExpandableRow.args = {
567
- scale: 'default',
568
- }