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