@loadsmart/loadsmart-ui 7.5.0 → 7.7.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 (492) hide show
  1. package/README.md +15 -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/index.js +9104 -253
  5. package/dist/index.js.map +1 -1
  6. package/dist/miranda-compatibility.theme-C_FEacSw.js +2528 -0
  7. package/dist/miranda-compatibility.theme-C_FEacSw.js.map +1 -0
  8. package/dist/prop-B8LY6G2g.js +81 -0
  9. package/dist/{prop-pWSEOvKc.js.map → prop-B8LY6G2g.js.map} +1 -1
  10. package/dist/testing/index.js +282 -1
  11. package/dist/testing/index.js.map +1 -1
  12. package/dist/theming/index.js +22 -1
  13. package/dist/theming/index.js.map +1 -1
  14. package/dist/toArray-Dxb1kUxx.js +14 -0
  15. package/dist/toArray-Dxb1kUxx.js.map +1 -0
  16. package/dist/tools/index.js +6 -1
  17. package/dist/tools/index.js.map +1 -1
  18. package/package.json +28 -57
  19. package/dist/DragDropFile.context-D-EBrXnw.js +0 -2
  20. package/dist/DragDropFile.context-jVTIKfj5.mjs +0 -29
  21. package/dist/DragDropFile.context-jVTIKfj5.mjs.map +0 -1
  22. package/dist/index.mjs +0 -9310
  23. package/dist/index.mjs.map +0 -1
  24. package/dist/miranda-compatibility.theme-C3Dt-45K.js +0 -2
  25. package/dist/miranda-compatibility.theme-C3Dt-45K.js.map +0 -1
  26. package/dist/miranda-compatibility.theme-ClCWbTIT.mjs +0 -2525
  27. package/dist/miranda-compatibility.theme-ClCWbTIT.mjs.map +0 -1
  28. package/dist/prop-C4yDbi0C.mjs +0 -53
  29. package/dist/prop-C4yDbi0C.mjs.map +0 -1
  30. package/dist/prop-pWSEOvKc.js +0 -2
  31. package/dist/testing/index.mjs +0 -227
  32. package/dist/testing/index.mjs.map +0 -1
  33. package/dist/theming/index.mjs +0 -19
  34. package/dist/theming/index.mjs.map +0 -1
  35. package/dist/toArray-BJfx0Xhj.mjs +0 -38
  36. package/dist/toArray-BJfx0Xhj.mjs.map +0 -1
  37. package/dist/toArray-Dw6F-w3t.js +0 -2
  38. package/dist/toArray-Dw6F-w3t.js.map +0 -1
  39. package/dist/tools/index.mjs +0 -7
  40. package/dist/tools/index.mjs.map +0 -1
  41. package/src/@types/@loadsmart/utilsFunction.d.ts +0 -5
  42. package/src/@types/@loadsmart/utilsObject.d.ts +0 -5
  43. package/src/@types/svg.d.ts +0 -4
  44. package/src/addons/Theme/register.js +0 -590
  45. package/src/common/BackButton/BackButton.tsx +0 -18
  46. package/src/common/BackButton/index.ts +0 -2
  47. package/src/common/CloseButton/CloseButton.tsx +0 -55
  48. package/src/common/CloseButton/index.ts +0 -2
  49. package/src/common/SelectionWrapper.tsx +0 -130
  50. package/src/components/Accordion/Accordion.context.tsx +0 -36
  51. package/src/components/Accordion/Accordion.stories.tsx +0 -186
  52. package/src/components/Accordion/Accordion.test.tsx +0 -209
  53. package/src/components/Accordion/Accordion.tsx +0 -233
  54. package/src/components/Accordion/index.ts +0 -2
  55. package/src/components/Banner/Banner.stories.tsx +0 -213
  56. package/src/components/Banner/Banner.test.tsx +0 -118
  57. package/src/components/Banner/Banner.tsx +0 -418
  58. package/src/components/Banner/index.tsx +0 -2
  59. package/src/components/Breadcrumbs/Breadbrumbs.test.tsx +0 -125
  60. package/src/components/Breadcrumbs/Breadcrumb.tsx +0 -92
  61. package/src/components/Breadcrumbs/Breadcrumbs.stories.tsx +0 -21
  62. package/src/components/Breadcrumbs/Breadcrumbs.tsx +0 -54
  63. package/src/components/Breadcrumbs/index.ts +0 -4
  64. package/src/components/Button/Button.stories.tsx +0 -174
  65. package/src/components/Button/Button.test.tsx +0 -57
  66. package/src/components/Button/Button.tsx +0 -576
  67. package/src/components/Button/index.tsx +0 -2
  68. package/src/components/Calendar/Calendar.helpers.ts +0 -15
  69. package/src/components/Calendar/Calendar.stories.tsx +0 -168
  70. package/src/components/Calendar/Calendar.test.tsx +0 -316
  71. package/src/components/Calendar/Calendar.tsx +0 -130
  72. package/src/components/Calendar/Calendar.types.ts +0 -68
  73. package/src/components/Calendar/Date.helper.test.ts +0 -847
  74. package/src/components/Calendar/Date.helper.ts +0 -461
  75. package/src/components/Calendar/DateFormat.helper.test.ts +0 -171
  76. package/src/components/Calendar/DateFormat.helper.ts +0 -195
  77. package/src/components/Calendar/Month.helper.test.ts +0 -187
  78. package/src/components/Calendar/Month.helper.ts +0 -172
  79. package/src/components/Calendar/PickerModeToggle.tsx +0 -61
  80. package/src/components/Calendar/Pickers/DayPicker.test.tsx +0 -85
  81. package/src/components/Calendar/Pickers/DayPicker.tsx +0 -127
  82. package/src/components/Calendar/Pickers/MonthPicker.test.tsx +0 -77
  83. package/src/components/Calendar/Pickers/MonthPicker.tsx +0 -51
  84. package/src/components/Calendar/Pickers/PickerButton.tsx +0 -119
  85. package/src/components/Calendar/Pickers/YearPicker.test.tsx +0 -75
  86. package/src/components/Calendar/Pickers/YearPicker.tsx +0 -52
  87. package/src/components/Calendar/index.ts +0 -10
  88. package/src/components/Calendar/useCalendar.ts +0 -190
  89. package/src/components/Calendar/usePickerMode.ts +0 -48
  90. package/src/components/Card/Card.stories.tsx +0 -117
  91. package/src/components/Card/Card.test.tsx +0 -139
  92. package/src/components/Card/Card.tsx +0 -106
  93. package/src/components/Card/CardTitle.tsx +0 -43
  94. package/src/components/Card/index.ts +0 -2
  95. package/src/components/Checkbox/Checkbox.stories.tsx +0 -79
  96. package/src/components/Checkbox/Checkbox.test.tsx +0 -66
  97. package/src/components/Checkbox/Checkbox.tsx +0 -170
  98. package/src/components/Checkbox/index.ts +0 -2
  99. package/src/components/DatePicker/DatePicker.stories.tsx +0 -113
  100. package/src/components/DatePicker/DatePicker.test.tsx +0 -174
  101. package/src/components/DatePicker/DatePicker.tsx +0 -140
  102. package/src/components/DatePicker/DatePicker.types.ts +0 -30
  103. package/src/components/DatePicker/DateRangePicker.stories.tsx +0 -128
  104. package/src/components/DatePicker/DateRangePicker.test.tsx +0 -267
  105. package/src/components/DatePicker/DateRangePicker.tsx +0 -110
  106. package/src/components/DatePicker/index.ts +0 -3
  107. package/src/components/DatePicker/useDatePicker.ts +0 -201
  108. package/src/components/DatePicker/useDateRangePicker.ts +0 -224
  109. package/src/components/Dialog/Dialog.stories.tsx +0 -227
  110. package/src/components/Dialog/Dialog.test.tsx +0 -74
  111. package/src/components/Dialog/Dialog.tsx +0 -139
  112. package/src/components/Dialog/index.tsx +0 -4
  113. package/src/components/Dialog/useDialog.tsx +0 -59
  114. package/src/components/DragDropFile/DragDropFile.context.tsx +0 -39
  115. package/src/components/DragDropFile/DragDropFile.stories.tsx +0 -183
  116. package/src/components/DragDropFile/DragDropFile.tsx +0 -11
  117. package/src/components/DragDropFile/components/DropZone.test.tsx +0 -108
  118. package/src/components/DragDropFile/components/DropZone.tsx +0 -145
  119. package/src/components/DragDropFile/components/FileItem.tsx +0 -117
  120. package/src/components/DragDropFile/components/FileList.test.tsx +0 -119
  121. package/src/components/DragDropFile/components/FileList.tsx +0 -47
  122. package/src/components/DragDropFile/components/Wrapper.tsx +0 -22
  123. package/src/components/DragDropFile/index.ts +0 -9
  124. package/src/components/DragDropFile/mocks.ts +0 -23
  125. package/src/components/DragDropFile/styles.tsx +0 -81
  126. package/src/components/DragDropFile/types.ts +0 -85
  127. package/src/components/Drawer/Drawer.stories.tsx +0 -83
  128. package/src/components/Drawer/Drawer.test.tsx +0 -90
  129. package/src/components/Drawer/Drawer.tsx +0 -225
  130. package/src/components/Drawer/index.ts +0 -4
  131. package/src/components/Dropdown/Dropdown.context.ts +0 -13
  132. package/src/components/Dropdown/Dropdown.fixtures.ts +0 -15
  133. package/src/components/Dropdown/Dropdown.stories.tsx +0 -259
  134. package/src/components/Dropdown/Dropdown.test.tsx +0 -173
  135. package/src/components/Dropdown/Dropdown.tsx +0 -141
  136. package/src/components/Dropdown/Dropdown.types.ts +0 -59
  137. package/src/components/Dropdown/DropdownMenu.tsx +0 -263
  138. package/src/components/Dropdown/DropdownTrigger.tsx +0 -368
  139. package/src/components/Dropdown/index.ts +0 -15
  140. package/src/components/Dropdown/useDropdown.test.ts +0 -96
  141. package/src/components/Dropdown/useDropdown.ts +0 -65
  142. package/src/components/EmptyState/EmptyState.mocks.tsx +0 -60
  143. package/src/components/EmptyState/EmptyState.stories.tsx +0 -239
  144. package/src/components/EmptyState/EmptyState.test.tsx +0 -101
  145. package/src/components/EmptyState/EmptyState.tsx +0 -22
  146. package/src/components/EmptyState/EmptyState.types.ts +0 -59
  147. package/src/components/EmptyState/EmptyStateWithIcon.tsx +0 -42
  148. package/src/components/EmptyState/EmptyStateWithIllustration.tsx +0 -72
  149. package/src/components/EmptyState/Illustration.tsx +0 -29
  150. package/src/components/EmptyState/index.ts +0 -4
  151. package/src/components/ErrorMessage/ErrorMessage.stories.tsx +0 -26
  152. package/src/components/ErrorMessage/ErrorMessage.test.tsx +0 -24
  153. package/src/components/ErrorMessage/ErrorMessage.tsx +0 -19
  154. package/src/components/ErrorMessage/index.ts +0 -2
  155. package/src/components/HighlightMatch/HighlightMatch.stories.tsx +0 -24
  156. package/src/components/HighlightMatch/HighlightMatch.test.tsx +0 -37
  157. package/src/components/HighlightMatch/HighlightMatch.tsx +0 -29
  158. package/src/components/HighlightMatch/index.ts +0 -2
  159. package/src/components/Icon/Icon.tsx +0 -55
  160. package/src/components/Icon/assets/back.svg +0 -4
  161. package/src/components/Icon/assets/burger-menu.svg +0 -3
  162. package/src/components/Icon/assets/calendar.svg +0 -5
  163. package/src/components/Icon/assets/caret-down.svg +0 -4
  164. package/src/components/Icon/assets/caret-left.svg +0 -4
  165. package/src/components/Icon/assets/caret-right-last.svg +0 -4
  166. package/src/components/Icon/assets/caret-right.svg +0 -4
  167. package/src/components/Icon/assets/check.svg +0 -4
  168. package/src/components/Icon/assets/chevron-down.svg +0 -3
  169. package/src/components/Icon/assets/circle.svg +0 -3
  170. package/src/components/Icon/assets/close.svg +0 -4
  171. package/src/components/Icon/assets/dots-horizontal.svg +0 -1
  172. package/src/components/Icon/assets/information.svg +0 -4
  173. package/src/components/Icon/assets/minus.svg +0 -4
  174. package/src/components/Icon/assets/plus.svg +0 -4
  175. package/src/components/Icon/assets/refresh.svg +0 -3
  176. package/src/components/Icon/assets/sort-asc.svg +0 -7
  177. package/src/components/Icon/assets/sort-desc.svg +0 -7
  178. package/src/components/Icon/assets/sort.svg +0 -7
  179. package/src/components/Icon/assets/upload.svg +0 -3
  180. package/src/components/Icon/assets/warning.svg +0 -4
  181. package/src/components/Icon/index.ts +0 -2
  182. package/src/components/IconFactory/IconFactory.fixtures.tsx +0 -31
  183. package/src/components/IconFactory/IconFactory.stories.tsx +0 -120
  184. package/src/components/IconFactory/IconFactory.test.tsx +0 -36
  185. package/src/components/IconFactory/IconFactory.tsx +0 -75
  186. package/src/components/IconFactory/index.ts +0 -2
  187. package/src/components/Label/Label.stories.tsx +0 -47
  188. package/src/components/Label/Label.test.tsx +0 -80
  189. package/src/components/Label/Label.tsx +0 -120
  190. package/src/components/Label/index.ts +0 -2
  191. package/src/components/Layout/Box.tsx +0 -98
  192. package/src/components/Layout/Grid.tsx +0 -42
  193. package/src/components/Layout/Group.tsx +0 -55
  194. package/src/components/Layout/Layout.stories.tsx +0 -412
  195. package/src/components/Layout/Layout.tsx +0 -19
  196. package/src/components/Layout/Layout.types.ts +0 -9
  197. package/src/components/Layout/Layout.utils.ts +0 -20
  198. package/src/components/Layout/Sidebar.tsx +0 -75
  199. package/src/components/Layout/Stack.tsx +0 -63
  200. package/src/components/Layout/Switcher.tsx +0 -48
  201. package/src/components/Layout/index.tsx +0 -8
  202. package/src/components/Link/Link.stories.tsx +0 -22
  203. package/src/components/Link/Link.test.tsx +0 -79
  204. package/src/components/Link/Link.tsx +0 -114
  205. package/src/components/Link/index.ts +0 -3
  206. package/src/components/Link/useSafeLink.ts +0 -49
  207. package/src/components/Loaders/LoadingBar.stories.tsx +0 -36
  208. package/src/components/Loaders/LoadingBar.test.tsx +0 -35
  209. package/src/components/Loaders/LoadingBar.tsx +0 -65
  210. package/src/components/Loaders/LoadingDots.stories.tsx +0 -69
  211. package/src/components/Loaders/LoadingDots.test.tsx +0 -22
  212. package/src/components/Loaders/LoadingDots.tsx +0 -68
  213. package/src/components/Loaders/Spinner.stories.tsx +0 -24
  214. package/src/components/Loaders/Spinner.test.tsx +0 -35
  215. package/src/components/Loaders/Spinner.tsx +0 -68
  216. package/src/components/Loaders/index.tsx +0 -3
  217. package/src/components/Modal/Modal.stories.tsx +0 -121
  218. package/src/components/Modal/Modal.test.tsx +0 -46
  219. package/src/components/Modal/Modal.tsx +0 -163
  220. package/src/components/Modal/index.tsx +0 -2
  221. package/src/components/Pagination/Pagination.constants.ts +0 -7
  222. package/src/components/Pagination/Pagination.helper.ts +0 -88
  223. package/src/components/Pagination/Pagination.stories.tsx +0 -29
  224. package/src/components/Pagination/Pagination.test.tsx +0 -102
  225. package/src/components/Pagination/Pagination.tsx +0 -34
  226. package/src/components/Pagination/Pagination.types.ts +0 -55
  227. package/src/components/Pagination/PaginationItem.tsx +0 -74
  228. package/src/components/Pagination/index.ts +0 -2
  229. package/src/components/Pagination/usePagination.test.ts +0 -188
  230. package/src/components/Pagination/usePagination.ts +0 -87
  231. package/src/components/Popover/Popover.stories.tsx +0 -50
  232. package/src/components/Popover/Popover.test.tsx +0 -22
  233. package/src/components/Popover/Popover.tsx +0 -110
  234. package/src/components/Popover/Popover.types.ts +0 -39
  235. package/src/components/Popover/index.ts +0 -11
  236. package/src/components/ProgressBar/ProgressBar.stories.tsx +0 -47
  237. package/src/components/ProgressBar/ProgressBar.test.tsx +0 -40
  238. package/src/components/ProgressBar/ProgressBar.tsx +0 -89
  239. package/src/components/ProgressBar/index.tsx +0 -2
  240. package/src/components/Radio/Radio.stories.tsx +0 -75
  241. package/src/components/Radio/Radio.test.tsx +0 -66
  242. package/src/components/Radio/Radio.tsx +0 -153
  243. package/src/components/Radio/index.ts +0 -2
  244. package/src/components/Section/Section.test.tsx +0 -35
  245. package/src/components/Section/Section.tsx +0 -66
  246. package/src/components/Section/Sections.stories.tsx +0 -56
  247. package/src/components/Section/index.ts +0 -2
  248. package/src/components/Select/Select.constants.ts +0 -12
  249. package/src/components/Select/Select.context.ts +0 -11
  250. package/src/components/Select/Select.fixtures.ts +0 -167
  251. package/src/components/Select/Select.stories.tsx +0 -780
  252. package/src/components/Select/Select.test.tsx +0 -1109
  253. package/src/components/Select/Select.tsx +0 -271
  254. package/src/components/Select/Select.types.ts +0 -148
  255. package/src/components/Select/SelectCreatableOption.tsx +0 -20
  256. package/src/components/Select/SelectEmpty.test.tsx +0 -15
  257. package/src/components/Select/SelectEmpty.tsx +0 -29
  258. package/src/components/Select/SelectOption.test.tsx +0 -78
  259. package/src/components/Select/SelectOption.tsx +0 -79
  260. package/src/components/Select/SelectTrigger.tsx +0 -83
  261. package/src/components/Select/components.tsx +0 -14
  262. package/src/components/Select/index.ts +0 -12
  263. package/src/components/Select/useSelect.helpers.test.ts +0 -184
  264. package/src/components/Select/useSelect.helpers.ts +0 -63
  265. package/src/components/Select/useSelect.test.ts +0 -207
  266. package/src/components/Select/useSelect.ts +0 -540
  267. package/src/components/Select/useSelectExternal.ts +0 -26
  268. package/src/components/SideNavigation/Logo/Logo.test.tsx +0 -19
  269. package/src/components/SideNavigation/Logo/Logo.tsx +0 -26
  270. package/src/components/SideNavigation/Logo/index.ts +0 -1
  271. package/src/components/SideNavigation/Menu/Menu.test.tsx +0 -65
  272. package/src/components/SideNavigation/Menu/Menu.tsx +0 -53
  273. package/src/components/SideNavigation/Menu/MenuBaseItem.tsx +0 -64
  274. package/src/components/SideNavigation/Menu/MenuExpandable.tsx +0 -107
  275. package/src/components/SideNavigation/Menu/MenuLink.tsx +0 -37
  276. package/src/components/SideNavigation/Menu/index.ts +0 -1
  277. package/src/components/SideNavigation/Separator/Separator.test.tsx +0 -14
  278. package/src/components/SideNavigation/Separator/Separator.tsx +0 -20
  279. package/src/components/SideNavigation/Separator/index.ts +0 -1
  280. package/src/components/SideNavigation/SideNavigation.stories.tsx +0 -69
  281. package/src/components/SideNavigation/SideNavigation.test.tsx +0 -21
  282. package/src/components/SideNavigation/SideNavigation.tsx +0 -47
  283. package/src/components/SideNavigation/index.ts +0 -5
  284. package/src/components/SideNavigation/useSideNavigation.ts +0 -36
  285. package/src/components/Steps/ProgressSteps/ProgressStep.tsx +0 -163
  286. package/src/components/Steps/ProgressSteps/ProgressSteps.tsx +0 -37
  287. package/src/components/Steps/ProgressSteps/index.ts +0 -1
  288. package/src/components/Steps/Steps.fixtures.ts +0 -11
  289. package/src/components/Steps/Steps.helpers.ts +0 -11
  290. package/src/components/Steps/Steps.stories.tsx +0 -65
  291. package/src/components/Steps/Steps.test.tsx +0 -78
  292. package/src/components/Steps/Steps.tsx +0 -53
  293. package/src/components/Steps/Steps.types.ts +0 -5
  294. package/src/components/Steps/StepsContext.ts +0 -5
  295. package/src/components/Steps/StepsStep.tsx +0 -58
  296. package/src/components/Steps/index.ts +0 -6
  297. package/src/components/Steps/useStep.test.tsx +0 -217
  298. package/src/components/Steps/useSteps.ts +0 -131
  299. package/src/components/Switch/Switch.stories.tsx +0 -65
  300. package/src/components/Switch/Switch.test.tsx +0 -60
  301. package/src/components/Switch/Switch.tsx +0 -209
  302. package/src/components/Switch/index.ts +0 -2
  303. package/src/components/Table/Selection.tsx +0 -202
  304. package/src/components/Table/Table.fixtures.ts +0 -101
  305. package/src/components/Table/Table.stories.tsx +0 -568
  306. package/src/components/Table/Table.test.tsx +0 -310
  307. package/src/components/Table/Table.tsx +0 -523
  308. package/src/components/Table/Table.types.ts +0 -93
  309. package/src/components/Table/TableSortHandle.tsx +0 -31
  310. package/src/components/Table/index.tsx +0 -2
  311. package/src/components/Table/useSortBy.test.ts +0 -96
  312. package/src/components/Table/useSortBy.ts +0 -92
  313. package/src/components/Table/useSortBy.types.ts +0 -21
  314. package/src/components/TablePagination/RowsPerPage.tsx +0 -81
  315. package/src/components/TablePagination/TablePagination.stories.tsx +0 -42
  316. package/src/components/TablePagination/TablePagination.styles.ts +0 -13
  317. package/src/components/TablePagination/TablePagination.test.tsx +0 -111
  318. package/src/components/TablePagination/TablePagination.tsx +0 -49
  319. package/src/components/TablePagination/TablePagination.types.ts +0 -69
  320. package/src/components/TablePagination/TablePaginationActions.tsx +0 -144
  321. package/src/components/TablePagination/index.ts +0 -2
  322. package/src/components/Tabs/Tabs.stories.tsx +0 -78
  323. package/src/components/Tabs/Tabs.test.tsx +0 -103
  324. package/src/components/Tabs/Tabs.tsx +0 -287
  325. package/src/components/Tabs/Tabs.types.ts +0 -7
  326. package/src/components/Tabs/TabsContext.ts +0 -10
  327. package/src/components/Tabs/index.ts +0 -2
  328. package/src/components/Tag/Tag.stories.tsx +0 -112
  329. package/src/components/Tag/Tag.test.tsx +0 -19
  330. package/src/components/Tag/Tag.tsx +0 -393
  331. package/src/components/Tag/index.ts +0 -2
  332. package/src/components/Text/Text.stories.tsx +0 -59
  333. package/src/components/Text/Text.test.tsx +0 -48
  334. package/src/components/Text/Text.tsx +0 -14
  335. package/src/components/Text/index.ts +0 -2
  336. package/src/components/TextField/TextField.stories.tsx +0 -90
  337. package/src/components/TextField/TextField.test.tsx +0 -36
  338. package/src/components/TextField/TextField.tsx +0 -244
  339. package/src/components/TextField/index.ts +0 -6
  340. package/src/components/TextField/useTextField.tsx +0 -26
  341. package/src/components/Textarea/Textarea.stories.tsx +0 -101
  342. package/src/components/Textarea/Textarea.test.tsx +0 -14
  343. package/src/components/Textarea/Textarea.tsx +0 -230
  344. package/src/components/Textarea/index.ts +0 -2
  345. package/src/components/Toast/Toast.stories.tsx +0 -50
  346. package/src/components/Toast/Toast.test.tsx +0 -24
  347. package/src/components/Toast/Toast.tsx +0 -141
  348. package/src/components/Toast/icons/close.svg +0 -3
  349. package/src/components/Toast/icons/danger.svg +0 -4
  350. package/src/components/Toast/icons/neutral.svg +0 -4
  351. package/src/components/Toast/icons/success.svg +0 -3
  352. package/src/components/Toast/icons/warning.svg +0 -4
  353. package/src/components/Toast/index.tsx +0 -2
  354. package/src/components/ToggleGroup/Toggle.test.tsx +0 -76
  355. package/src/components/ToggleGroup/Toggle.tsx +0 -158
  356. package/src/components/ToggleGroup/ToggleGroup.constants.ts +0 -16
  357. package/src/components/ToggleGroup/ToggleGroup.stories.tsx +0 -145
  358. package/src/components/ToggleGroup/ToggleGroup.test.tsx +0 -237
  359. package/src/components/ToggleGroup/ToggleGroup.tsx +0 -165
  360. package/src/components/ToggleGroup/ToggleGroup.types.ts +0 -35
  361. package/src/components/ToggleGroup/ToggleGroupContext.ts +0 -13
  362. package/src/components/ToggleGroup/index.ts +0 -3
  363. package/src/components/Tooltip/Tooltip.stories.tsx +0 -82
  364. package/src/components/Tooltip/Tooltip.test.tsx +0 -49
  365. package/src/components/Tooltip/Tooltip.tsx +0 -185
  366. package/src/components/Tooltip/index.ts +0 -2
  367. package/src/components/TopNavigation/Logo/Logo.test.tsx +0 -21
  368. package/src/components/TopNavigation/Logo/Logo.tsx +0 -20
  369. package/src/components/TopNavigation/Logo/index.ts +0 -1
  370. package/src/components/TopNavigation/Menu/Menu.test.tsx +0 -125
  371. package/src/components/TopNavigation/Menu/Menu.tsx +0 -62
  372. package/src/components/TopNavigation/Menu/MenuItemDropdown.tsx +0 -118
  373. package/src/components/TopNavigation/Menu/MenuItemIcon.tsx +0 -50
  374. package/src/components/TopNavigation/Menu/index.ts +0 -1
  375. package/src/components/TopNavigation/OpenSideNavButton/OpenSideNavButton.tsx +0 -28
  376. package/src/components/TopNavigation/OpenSideNavButton/index.ts +0 -1
  377. package/src/components/TopNavigation/TopNavigation.stories.tsx +0 -42
  378. package/src/components/TopNavigation/TopNavigation.tsx +0 -47
  379. package/src/components/TopNavigation/index.ts +0 -2
  380. package/src/components/VisuallyHidden/VisuallyHidden.mdx +0 -26
  381. package/src/components/VisuallyHidden/VisuallyHidden.stories.tsx +0 -32
  382. package/src/components/VisuallyHidden/VisuallyHidden.test.tsx +0 -18
  383. package/src/components/VisuallyHidden/VisuallyHidden.tsx +0 -6
  384. package/src/components/VisuallyHidden/index.ts +0 -1
  385. package/src/docs/tools/DatePickerEvent.stories.mdx +0 -108
  386. package/src/docs/tools/DragDropFileEvent.stories.mdx +0 -75
  387. package/src/docs/tools/conditional.stories.mdx +0 -251
  388. package/src/docs/tools/selectEvent.stories.mdx +0 -121
  389. package/src/hooks/useClickOutside/index.ts +0 -1
  390. package/src/hooks/useClickOutside/useClickOutside.test.tsx +0 -116
  391. package/src/hooks/useClickOutside/useClickOutside.ts +0 -65
  392. package/src/hooks/useDidMount/index.ts +0 -1
  393. package/src/hooks/useDidMount/useDidMount.test.tsx +0 -38
  394. package/src/hooks/useDidMount/useDidMount.ts +0 -20
  395. package/src/hooks/useFingerprint/index.ts +0 -1
  396. package/src/hooks/useFingerprint/useFingerprint.test.ts +0 -76
  397. package/src/hooks/useFingerprint/useFingerprint.ts +0 -94
  398. package/src/hooks/useFocusTrap/index.ts +0 -2
  399. package/src/hooks/useFocusTrap/useFocusTrap.stories.tsx +0 -87
  400. package/src/hooks/useFocusTrap/useFocusTrap.test.tsx +0 -129
  401. package/src/hooks/useFocusTrap/useFocusTrap.ts +0 -187
  402. package/src/hooks/useFocusWithin/index.ts +0 -2
  403. package/src/hooks/useFocusWithin/useFocusWithin.test.tsx +0 -71
  404. package/src/hooks/useFocusWithin/useFocusWithin.ts +0 -62
  405. package/src/hooks/useHeightExpansionToggler/index.ts +0 -2
  406. package/src/hooks/useHeightExpansionToggler/useHeightExpansionToggler.test.tsx +0 -85
  407. package/src/hooks/useHeightExpansionToggler/useHeightExpansionToggler.ts +0 -54
  408. package/src/hooks/useID/index.ts +0 -1
  409. package/src/hooks/useID/useID.ts +0 -18
  410. package/src/hooks/useSelectable/SelectableStrategy.test.ts +0 -424
  411. package/src/hooks/useSelectable/SelectableStrategy.ts +0 -143
  412. package/src/hooks/useSelectable/index.ts +0 -8
  413. package/src/hooks/useSelectable/useSelectable.test.ts +0 -221
  414. package/src/hooks/useSelectable/useSelectable.ts +0 -156
  415. package/src/hooks/useSelectable/useSelectable.types.ts +0 -45
  416. package/src/hooks/useWindowResize/index.ts +0 -1
  417. package/src/hooks/useWindowResize/useWindowResize.ts +0 -27
  418. package/src/index.ts +0 -188
  419. package/src/stories/assets/code-brackets.svg +0 -1
  420. package/src/stories/assets/colors.svg +0 -1
  421. package/src/stories/assets/comments.svg +0 -1
  422. package/src/stories/assets/direction.svg +0 -1
  423. package/src/stories/assets/flow.svg +0 -1
  424. package/src/stories/assets/plugin.svg +0 -1
  425. package/src/stories/assets/repo.svg +0 -1
  426. package/src/stories/assets/stackalt.svg +0 -1
  427. package/src/stories/introduction.stories.mdx +0 -57
  428. package/src/stories/startPage.stories.mdx +0 -95
  429. package/src/styles/activatable.tsx +0 -30
  430. package/src/styles/disableable.tsx +0 -45
  431. package/src/styles/ellipsizable.tsx +0 -14
  432. package/src/styles/focusable.tsx +0 -32
  433. package/src/styles/font.test.ts +0 -31
  434. package/src/styles/font.tsx +0 -40
  435. package/src/styles/hidden.tsx +0 -29
  436. package/src/styles/hoverable.tsx +0 -30
  437. package/src/styles/transition.tsx +0 -25
  438. package/src/styles/typography.test.ts +0 -93
  439. package/src/styles/typography.ts +0 -190
  440. package/src/testing/DatePickerEvent/DatePickerEvent.ts +0 -117
  441. package/src/testing/DatePickerEvent/DateRangePickerEvent.ts +0 -83
  442. package/src/testing/DatePickerEvent/index.ts +0 -2
  443. package/src/testing/DragDropFileEvent/DragDropFileEvent.ts +0 -56
  444. package/src/testing/DragDropFileEvent/index.ts +0 -1
  445. package/src/testing/SelectEvent/SelectEvent.test.tsx +0 -192
  446. package/src/testing/SelectEvent/SelectEvent.ts +0 -264
  447. package/src/testing/SelectEvent/index.ts +0 -1
  448. package/src/testing/getInterpolatedStyles/getInterpolatedStyles.ts +0 -25
  449. package/src/testing/getInterpolatedStyles/index.ts +0 -1
  450. package/src/testing/index.ts +0 -6
  451. package/src/testing/renderWithDragDropFileProvider/index.ts +0 -1
  452. package/src/testing/renderWithDragDropFileProvider/renderWithDragDropFileProvider.tsx +0 -28
  453. package/src/tests/generator.ts +0 -127
  454. package/src/tests/renderer.tsx +0 -39
  455. package/src/theming/index.ts +0 -42
  456. package/src/theming/themes/alice.theme.ts +0 -1022
  457. package/src/theming/themes/index.ts +0 -3
  458. package/src/theming/themes/loadsmart.theme.ts +0 -1019
  459. package/src/theming/themes/miranda-compatibility.theme.ts +0 -972
  460. package/src/theming/theming.helpers.ts +0 -95
  461. package/src/tools/conditional.test.ts +0 -166
  462. package/src/tools/conditional.ts +0 -127
  463. package/src/tools/index.ts +0 -2
  464. package/src/tools/prop.test.ts +0 -52
  465. package/src/tools/prop.ts +0 -36
  466. package/src/utils/toolset/awaitTo.ts +0 -24
  467. package/src/utils/toolset/flatten.ts +0 -3
  468. package/src/utils/toolset/formatBytes.test.ts +0 -45
  469. package/src/utils/toolset/formatBytes.ts +0 -18
  470. package/src/utils/toolset/get.ts +0 -2
  471. package/src/utils/toolset/getID.test.ts +0 -57
  472. package/src/utils/toolset/getID.ts +0 -93
  473. package/src/utils/toolset/getOrdinalSuffix.test.ts +0 -27
  474. package/src/utils/toolset/getOrdinalSuffix.ts +0 -15
  475. package/src/utils/toolset/highlightMatch.test.tsx +0 -32
  476. package/src/utils/toolset/highlightMatch.tsx +0 -32
  477. package/src/utils/toolset/interleave.test.ts +0 -40
  478. package/src/utils/toolset/interleave.ts +0 -23
  479. package/src/utils/toolset/isEmpty.ts +0 -2
  480. package/src/utils/toolset/isThenable.test.ts +0 -40
  481. package/src/utils/toolset/isThenable.ts +0 -14
  482. package/src/utils/toolset/keyboard.ts +0 -50
  483. package/src/utils/toolset/omit.ts +0 -2
  484. package/src/utils/toolset/pluralize.ts +0 -16
  485. package/src/utils/toolset/range.ts +0 -2
  486. package/src/utils/toolset/rem.ts +0 -7
  487. package/src/utils/toolset/styledCompounds.ts +0 -22
  488. package/src/utils/toolset/toArray.ts +0 -16
  489. package/src/utils/types/ColorScheme.ts +0 -3
  490. package/src/utils/types/EventLike.ts +0 -11
  491. package/src/utils/types/InterpolatedStyle.ts +0 -3
  492. 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
- }