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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (531) hide show
  1. package/README.md +13 -1
  2. package/dist/DragDropFile.context-oKnUu6d3.js +33 -0
  3. package/dist/{DragDropFile.context-D-EBrXnw.js.map → DragDropFile.context-oKnUu6d3.js.map} +1 -1
  4. package/dist/components/Banner/Banner.d.ts +2 -2
  5. package/dist/components/Button/Button.d.ts +1 -1
  6. package/dist/components/Calendar/Pickers/PickerButton.d.ts +4 -2
  7. package/dist/components/Card/Card.d.ts +4 -4
  8. package/dist/components/Card/CardTitle.d.ts +2 -2
  9. package/dist/components/DatePicker/DatePicker.d.ts +1 -1
  10. package/dist/components/DatePicker/useDatePicker.d.ts +8 -9
  11. package/dist/components/DatePicker/useDateRangePicker.d.ts +13 -14
  12. package/dist/components/Dialog/Dialog.d.ts +3 -5
  13. package/dist/components/DragDropFile/styles.d.ts +7 -7
  14. package/dist/components/Dropdown/Dropdown.d.ts +3 -3
  15. package/dist/components/Dropdown/DropdownMenu.d.ts +3 -3
  16. package/dist/components/Layout/Stack.d.ts +2 -2
  17. package/dist/components/Loaders/LoadingBar.d.ts +2 -2
  18. package/dist/components/Loaders/index.d.ts +3 -3
  19. package/dist/components/Modal/Modal.d.ts +1 -3
  20. package/dist/components/SideNavigation/Logo/Logo.d.ts +7 -2
  21. package/dist/components/SideNavigation/Menu/Menu.d.ts +7 -2
  22. package/dist/components/SideNavigation/Menu/MenuLink.d.ts +6 -1
  23. package/dist/components/SideNavigation/SideNavigation.d.ts +14 -4
  24. package/dist/components/Steps/StepsStep.d.ts +2 -2
  25. package/dist/components/Table/Table.d.ts +2 -1
  26. package/dist/components/TablePagination/TablePagination.styles.d.ts +5 -4
  27. package/dist/components/TablePagination/TablePaginationActions.d.ts +2 -5
  28. package/dist/components/Text/Text.d.ts +1 -1
  29. package/dist/components/TextField/TextField.d.ts +6 -2
  30. package/dist/components/ToggleGroup/Toggle.d.ts +2 -1
  31. package/dist/components/ToggleGroup/ToggleGroup.d.ts +2 -1
  32. package/dist/components/TopNavigation/Logo/Logo.d.ts +7 -2
  33. package/dist/components/TopNavigation/Menu/Menu.d.ts +2 -2
  34. package/dist/components/TopNavigation/Menu/MenuItemDropdown.d.ts +4 -4
  35. package/dist/components/TopNavigation/OpenSideNavButton/OpenSideNavButton.d.ts +2 -1
  36. package/dist/components/TopNavigation/TopNavigation.d.ts +8 -3
  37. package/dist/components/VisuallyHidden/VisuallyHidden.d.ts +1 -1
  38. package/dist/components/VisuallyHidden/VisuallyHidden.stories.d.ts +2 -1
  39. package/dist/index.js +9100 -253
  40. package/dist/index.js.map +1 -1
  41. package/dist/miranda-compatibility.theme-kYNEZ7mW.js +2528 -0
  42. package/dist/{miranda-compatibility.theme-ChPV-BBw.js.map → miranda-compatibility.theme-kYNEZ7mW.js.map} +1 -1
  43. package/dist/prop-K2Z3EsyG.js +81 -0
  44. package/dist/{prop-BwhJNJHO.js.map → prop-K2Z3EsyG.js.map} +1 -1
  45. package/dist/testing/index.js +282 -1
  46. package/dist/testing/index.js.map +1 -1
  47. package/dist/tests/renderer.d.ts +1 -1
  48. package/dist/theming/index.js +22 -1
  49. package/dist/theming/index.js.map +1 -1
  50. package/dist/toArray-Dxb1kUxx.js +14 -0
  51. package/dist/{toArray-BW3gx_gH.js.map → toArray-Dxb1kUxx.js.map} +1 -1
  52. package/dist/tools/index.js +6 -1
  53. package/dist/tools/index.js.map +1 -1
  54. package/dist/utils/toolset/flatten.d.ts +1 -1
  55. package/dist/utils/toolset/get.d.ts +1 -1
  56. package/dist/utils/toolset/isEmpty.d.ts +1 -1
  57. package/dist/utils/toolset/omit.d.ts +1 -1
  58. package/dist/utils/toolset/range.d.ts +1 -1
  59. package/package.json +46 -79
  60. package/dist/DragDropFile.context-D-EBrXnw.js +0 -2
  61. package/dist/DragDropFile.context-jVTIKfj5.mjs +0 -29
  62. package/dist/DragDropFile.context-jVTIKfj5.mjs.map +0 -1
  63. package/dist/index.mjs +0 -8046
  64. package/dist/index.mjs.map +0 -1
  65. package/dist/miranda-compatibility.theme-ChPV-BBw.js +0 -2
  66. package/dist/miranda-compatibility.theme-DQDHkWzC.mjs +0 -2469
  67. package/dist/miranda-compatibility.theme-DQDHkWzC.mjs.map +0 -1
  68. package/dist/prop-5m3D4883.mjs +0 -54
  69. package/dist/prop-5m3D4883.mjs.map +0 -1
  70. package/dist/prop-BwhJNJHO.js +0 -2
  71. package/dist/testing/index.mjs +0 -228
  72. package/dist/testing/index.mjs.map +0 -1
  73. package/dist/theming/index.mjs +0 -20
  74. package/dist/theming/index.mjs.map +0 -1
  75. package/dist/toArray-BW3gx_gH.js +0 -2
  76. package/dist/toArray-DqgeO2ua.mjs +0 -8
  77. package/dist/toArray-DqgeO2ua.mjs.map +0 -1
  78. package/dist/tools/index.mjs +0 -7
  79. package/dist/tools/index.mjs.map +0 -1
  80. package/src/@types/@loadsmart/utilsFunction.d.ts +0 -5
  81. package/src/@types/@loadsmart/utilsObject.d.ts +0 -5
  82. package/src/@types/svg.d.ts +0 -4
  83. package/src/addons/Theme/register.js +0 -590
  84. package/src/common/BackButton/BackButton.tsx +0 -18
  85. package/src/common/BackButton/index.ts +0 -2
  86. package/src/common/CloseButton/CloseButton.tsx +0 -55
  87. package/src/common/CloseButton/index.ts +0 -2
  88. package/src/common/SelectionWrapper.tsx +0 -130
  89. package/src/components/Accordion/Accordion.context.tsx +0 -36
  90. package/src/components/Accordion/Accordion.stories.tsx +0 -186
  91. package/src/components/Accordion/Accordion.test.tsx +0 -209
  92. package/src/components/Accordion/Accordion.tsx +0 -233
  93. package/src/components/Accordion/index.ts +0 -2
  94. package/src/components/Banner/Banner.stories.tsx +0 -213
  95. package/src/components/Banner/Banner.test.tsx +0 -118
  96. package/src/components/Banner/Banner.tsx +0 -418
  97. package/src/components/Banner/index.tsx +0 -2
  98. package/src/components/Breadcrumbs/Breadbrumbs.test.tsx +0 -125
  99. package/src/components/Breadcrumbs/Breadcrumb.tsx +0 -92
  100. package/src/components/Breadcrumbs/Breadcrumbs.stories.tsx +0 -21
  101. package/src/components/Breadcrumbs/Breadcrumbs.tsx +0 -54
  102. package/src/components/Breadcrumbs/index.ts +0 -4
  103. package/src/components/Button/Button.stories.tsx +0 -174
  104. package/src/components/Button/Button.test.tsx +0 -57
  105. package/src/components/Button/Button.tsx +0 -576
  106. package/src/components/Button/index.tsx +0 -2
  107. package/src/components/Calendar/Calendar.helpers.ts +0 -15
  108. package/src/components/Calendar/Calendar.stories.tsx +0 -168
  109. package/src/components/Calendar/Calendar.test.tsx +0 -316
  110. package/src/components/Calendar/Calendar.tsx +0 -130
  111. package/src/components/Calendar/Calendar.types.ts +0 -68
  112. package/src/components/Calendar/Date.helper.test.ts +0 -847
  113. package/src/components/Calendar/Date.helper.ts +0 -461
  114. package/src/components/Calendar/DateFormat.helper.test.ts +0 -171
  115. package/src/components/Calendar/DateFormat.helper.ts +0 -195
  116. package/src/components/Calendar/Month.helper.test.ts +0 -187
  117. package/src/components/Calendar/Month.helper.ts +0 -172
  118. package/src/components/Calendar/PickerModeToggle.tsx +0 -61
  119. package/src/components/Calendar/Pickers/DayPicker.test.tsx +0 -85
  120. package/src/components/Calendar/Pickers/DayPicker.tsx +0 -127
  121. package/src/components/Calendar/Pickers/MonthPicker.test.tsx +0 -77
  122. package/src/components/Calendar/Pickers/MonthPicker.tsx +0 -51
  123. package/src/components/Calendar/Pickers/PickerButton.tsx +0 -119
  124. package/src/components/Calendar/Pickers/YearPicker.test.tsx +0 -75
  125. package/src/components/Calendar/Pickers/YearPicker.tsx +0 -52
  126. package/src/components/Calendar/index.ts +0 -10
  127. package/src/components/Calendar/useCalendar.ts +0 -190
  128. package/src/components/Calendar/usePickerMode.ts +0 -48
  129. package/src/components/Card/Card.stories.tsx +0 -117
  130. package/src/components/Card/Card.test.tsx +0 -139
  131. package/src/components/Card/Card.tsx +0 -106
  132. package/src/components/Card/CardTitle.tsx +0 -43
  133. package/src/components/Card/index.ts +0 -2
  134. package/src/components/Checkbox/Checkbox.stories.tsx +0 -79
  135. package/src/components/Checkbox/Checkbox.test.tsx +0 -66
  136. package/src/components/Checkbox/Checkbox.tsx +0 -170
  137. package/src/components/Checkbox/index.ts +0 -2
  138. package/src/components/DatePicker/DatePicker.stories.tsx +0 -113
  139. package/src/components/DatePicker/DatePicker.test.tsx +0 -174
  140. package/src/components/DatePicker/DatePicker.tsx +0 -140
  141. package/src/components/DatePicker/DatePicker.types.ts +0 -30
  142. package/src/components/DatePicker/DateRangePicker.stories.tsx +0 -128
  143. package/src/components/DatePicker/DateRangePicker.test.tsx +0 -267
  144. package/src/components/DatePicker/DateRangePicker.tsx +0 -110
  145. package/src/components/DatePicker/index.ts +0 -3
  146. package/src/components/DatePicker/useDatePicker.ts +0 -201
  147. package/src/components/DatePicker/useDateRangePicker.ts +0 -224
  148. package/src/components/Dialog/Dialog.stories.tsx +0 -227
  149. package/src/components/Dialog/Dialog.test.tsx +0 -74
  150. package/src/components/Dialog/Dialog.tsx +0 -139
  151. package/src/components/Dialog/index.tsx +0 -4
  152. package/src/components/Dialog/useDialog.tsx +0 -59
  153. package/src/components/DragDropFile/DragDropFile.context.tsx +0 -39
  154. package/src/components/DragDropFile/DragDropFile.stories.tsx +0 -183
  155. package/src/components/DragDropFile/DragDropFile.tsx +0 -11
  156. package/src/components/DragDropFile/components/DropZone.test.tsx +0 -108
  157. package/src/components/DragDropFile/components/DropZone.tsx +0 -145
  158. package/src/components/DragDropFile/components/FileItem.tsx +0 -117
  159. package/src/components/DragDropFile/components/FileList.test.tsx +0 -119
  160. package/src/components/DragDropFile/components/FileList.tsx +0 -47
  161. package/src/components/DragDropFile/components/Wrapper.tsx +0 -22
  162. package/src/components/DragDropFile/index.ts +0 -9
  163. package/src/components/DragDropFile/mocks.ts +0 -23
  164. package/src/components/DragDropFile/styles.tsx +0 -81
  165. package/src/components/DragDropFile/types.ts +0 -85
  166. package/src/components/Drawer/Drawer.stories.tsx +0 -83
  167. package/src/components/Drawer/Drawer.test.tsx +0 -90
  168. package/src/components/Drawer/Drawer.tsx +0 -225
  169. package/src/components/Drawer/index.ts +0 -4
  170. package/src/components/Dropdown/Dropdown.context.ts +0 -13
  171. package/src/components/Dropdown/Dropdown.fixtures.ts +0 -15
  172. package/src/components/Dropdown/Dropdown.stories.tsx +0 -259
  173. package/src/components/Dropdown/Dropdown.test.tsx +0 -173
  174. package/src/components/Dropdown/Dropdown.tsx +0 -141
  175. package/src/components/Dropdown/Dropdown.types.ts +0 -59
  176. package/src/components/Dropdown/DropdownMenu.tsx +0 -263
  177. package/src/components/Dropdown/DropdownTrigger.tsx +0 -368
  178. package/src/components/Dropdown/index.ts +0 -15
  179. package/src/components/Dropdown/useDropdown.test.ts +0 -96
  180. package/src/components/Dropdown/useDropdown.ts +0 -65
  181. package/src/components/EmptyState/EmptyState.mocks.tsx +0 -60
  182. package/src/components/EmptyState/EmptyState.stories.tsx +0 -239
  183. package/src/components/EmptyState/EmptyState.test.tsx +0 -101
  184. package/src/components/EmptyState/EmptyState.tsx +0 -22
  185. package/src/components/EmptyState/EmptyState.types.ts +0 -59
  186. package/src/components/EmptyState/EmptyStateWithIcon.tsx +0 -42
  187. package/src/components/EmptyState/EmptyStateWithIllustration.tsx +0 -72
  188. package/src/components/EmptyState/Illustration.tsx +0 -29
  189. package/src/components/EmptyState/index.ts +0 -4
  190. package/src/components/ErrorMessage/ErrorMessage.stories.tsx +0 -26
  191. package/src/components/ErrorMessage/ErrorMessage.test.tsx +0 -24
  192. package/src/components/ErrorMessage/ErrorMessage.tsx +0 -19
  193. package/src/components/ErrorMessage/index.ts +0 -2
  194. package/src/components/HighlightMatch/HighlightMatch.stories.tsx +0 -24
  195. package/src/components/HighlightMatch/HighlightMatch.test.tsx +0 -37
  196. package/src/components/HighlightMatch/HighlightMatch.tsx +0 -29
  197. package/src/components/HighlightMatch/index.ts +0 -2
  198. package/src/components/Icon/Icon.tsx +0 -55
  199. package/src/components/Icon/assets/back.svg +0 -4
  200. package/src/components/Icon/assets/burger-menu.svg +0 -3
  201. package/src/components/Icon/assets/calendar.svg +0 -5
  202. package/src/components/Icon/assets/caret-down.svg +0 -4
  203. package/src/components/Icon/assets/caret-left.svg +0 -4
  204. package/src/components/Icon/assets/caret-right-last.svg +0 -4
  205. package/src/components/Icon/assets/caret-right.svg +0 -4
  206. package/src/components/Icon/assets/check.svg +0 -4
  207. package/src/components/Icon/assets/chevron-down.svg +0 -3
  208. package/src/components/Icon/assets/circle.svg +0 -3
  209. package/src/components/Icon/assets/close.svg +0 -4
  210. package/src/components/Icon/assets/dots-horizontal.svg +0 -1
  211. package/src/components/Icon/assets/information.svg +0 -4
  212. package/src/components/Icon/assets/minus.svg +0 -4
  213. package/src/components/Icon/assets/plus.svg +0 -4
  214. package/src/components/Icon/assets/refresh.svg +0 -3
  215. package/src/components/Icon/assets/sort-asc.svg +0 -7
  216. package/src/components/Icon/assets/sort-desc.svg +0 -7
  217. package/src/components/Icon/assets/sort.svg +0 -7
  218. package/src/components/Icon/assets/upload.svg +0 -3
  219. package/src/components/Icon/assets/warning.svg +0 -4
  220. package/src/components/Icon/index.ts +0 -2
  221. package/src/components/IconFactory/IconFactory.fixtures.tsx +0 -31
  222. package/src/components/IconFactory/IconFactory.stories.tsx +0 -120
  223. package/src/components/IconFactory/IconFactory.test.tsx +0 -36
  224. package/src/components/IconFactory/IconFactory.tsx +0 -75
  225. package/src/components/IconFactory/index.ts +0 -2
  226. package/src/components/Label/Label.stories.tsx +0 -47
  227. package/src/components/Label/Label.test.tsx +0 -80
  228. package/src/components/Label/Label.tsx +0 -120
  229. package/src/components/Label/index.ts +0 -2
  230. package/src/components/Layout/Box.tsx +0 -98
  231. package/src/components/Layout/Grid.tsx +0 -42
  232. package/src/components/Layout/Group.tsx +0 -55
  233. package/src/components/Layout/Layout.stories.tsx +0 -412
  234. package/src/components/Layout/Layout.tsx +0 -19
  235. package/src/components/Layout/Layout.types.ts +0 -9
  236. package/src/components/Layout/Layout.utils.ts +0 -20
  237. package/src/components/Layout/Sidebar.tsx +0 -75
  238. package/src/components/Layout/Stack.tsx +0 -63
  239. package/src/components/Layout/Switcher.tsx +0 -48
  240. package/src/components/Layout/index.tsx +0 -8
  241. package/src/components/Link/Link.stories.tsx +0 -22
  242. package/src/components/Link/Link.test.tsx +0 -79
  243. package/src/components/Link/Link.tsx +0 -114
  244. package/src/components/Link/index.ts +0 -3
  245. package/src/components/Link/useSafeLink.ts +0 -49
  246. package/src/components/Loaders/LoadingBar.stories.tsx +0 -36
  247. package/src/components/Loaders/LoadingBar.test.tsx +0 -35
  248. package/src/components/Loaders/LoadingBar.tsx +0 -65
  249. package/src/components/Loaders/LoadingDots.stories.tsx +0 -69
  250. package/src/components/Loaders/LoadingDots.test.tsx +0 -22
  251. package/src/components/Loaders/LoadingDots.tsx +0 -68
  252. package/src/components/Loaders/Spinner.stories.tsx +0 -24
  253. package/src/components/Loaders/Spinner.test.tsx +0 -35
  254. package/src/components/Loaders/Spinner.tsx +0 -68
  255. package/src/components/Loaders/index.tsx +0 -3
  256. package/src/components/Modal/Modal.stories.tsx +0 -121
  257. package/src/components/Modal/Modal.test.tsx +0 -46
  258. package/src/components/Modal/Modal.tsx +0 -163
  259. package/src/components/Modal/index.tsx +0 -2
  260. package/src/components/Pagination/Pagination.constants.ts +0 -7
  261. package/src/components/Pagination/Pagination.helper.ts +0 -88
  262. package/src/components/Pagination/Pagination.stories.tsx +0 -29
  263. package/src/components/Pagination/Pagination.test.tsx +0 -102
  264. package/src/components/Pagination/Pagination.tsx +0 -34
  265. package/src/components/Pagination/Pagination.types.ts +0 -55
  266. package/src/components/Pagination/PaginationItem.tsx +0 -74
  267. package/src/components/Pagination/index.ts +0 -2
  268. package/src/components/Pagination/usePagination.test.ts +0 -188
  269. package/src/components/Pagination/usePagination.ts +0 -87
  270. package/src/components/Popover/Popover.stories.tsx +0 -50
  271. package/src/components/Popover/Popover.test.tsx +0 -22
  272. package/src/components/Popover/Popover.tsx +0 -110
  273. package/src/components/Popover/Popover.types.ts +0 -39
  274. package/src/components/Popover/index.ts +0 -11
  275. package/src/components/ProgressBar/ProgressBar.stories.tsx +0 -47
  276. package/src/components/ProgressBar/ProgressBar.test.tsx +0 -40
  277. package/src/components/ProgressBar/ProgressBar.tsx +0 -89
  278. package/src/components/ProgressBar/index.tsx +0 -2
  279. package/src/components/Radio/Radio.stories.tsx +0 -75
  280. package/src/components/Radio/Radio.test.tsx +0 -66
  281. package/src/components/Radio/Radio.tsx +0 -153
  282. package/src/components/Radio/index.ts +0 -2
  283. package/src/components/Section/Section.test.tsx +0 -35
  284. package/src/components/Section/Section.tsx +0 -66
  285. package/src/components/Section/Sections.stories.tsx +0 -56
  286. package/src/components/Section/index.ts +0 -2
  287. package/src/components/Select/Select.constants.ts +0 -12
  288. package/src/components/Select/Select.context.ts +0 -11
  289. package/src/components/Select/Select.fixtures.ts +0 -167
  290. package/src/components/Select/Select.stories.tsx +0 -780
  291. package/src/components/Select/Select.test.tsx +0 -1109
  292. package/src/components/Select/Select.tsx +0 -271
  293. package/src/components/Select/Select.types.ts +0 -148
  294. package/src/components/Select/SelectCreatableOption.tsx +0 -20
  295. package/src/components/Select/SelectEmpty.test.tsx +0 -15
  296. package/src/components/Select/SelectEmpty.tsx +0 -29
  297. package/src/components/Select/SelectOption.test.tsx +0 -78
  298. package/src/components/Select/SelectOption.tsx +0 -79
  299. package/src/components/Select/SelectTrigger.tsx +0 -83
  300. package/src/components/Select/components.tsx +0 -14
  301. package/src/components/Select/index.ts +0 -12
  302. package/src/components/Select/useSelect.helpers.test.ts +0 -184
  303. package/src/components/Select/useSelect.helpers.ts +0 -63
  304. package/src/components/Select/useSelect.test.ts +0 -207
  305. package/src/components/Select/useSelect.ts +0 -540
  306. package/src/components/Select/useSelectExternal.ts +0 -26
  307. package/src/components/SideNavigation/Logo/Logo.test.tsx +0 -19
  308. package/src/components/SideNavigation/Logo/Logo.tsx +0 -26
  309. package/src/components/SideNavigation/Logo/index.ts +0 -1
  310. package/src/components/SideNavigation/Menu/Menu.test.tsx +0 -65
  311. package/src/components/SideNavigation/Menu/Menu.tsx +0 -53
  312. package/src/components/SideNavigation/Menu/MenuBaseItem.tsx +0 -64
  313. package/src/components/SideNavigation/Menu/MenuExpandable.tsx +0 -107
  314. package/src/components/SideNavigation/Menu/MenuLink.tsx +0 -37
  315. package/src/components/SideNavigation/Menu/index.ts +0 -1
  316. package/src/components/SideNavigation/Separator/Separator.test.tsx +0 -14
  317. package/src/components/SideNavigation/Separator/Separator.tsx +0 -20
  318. package/src/components/SideNavigation/Separator/index.ts +0 -1
  319. package/src/components/SideNavigation/SideNavigation.stories.tsx +0 -69
  320. package/src/components/SideNavigation/SideNavigation.test.tsx +0 -21
  321. package/src/components/SideNavigation/SideNavigation.tsx +0 -47
  322. package/src/components/SideNavigation/index.ts +0 -5
  323. package/src/components/SideNavigation/useSideNavigation.ts +0 -36
  324. package/src/components/Steps/ProgressSteps/ProgressStep.tsx +0 -163
  325. package/src/components/Steps/ProgressSteps/ProgressSteps.tsx +0 -37
  326. package/src/components/Steps/ProgressSteps/index.ts +0 -1
  327. package/src/components/Steps/Steps.fixtures.ts +0 -11
  328. package/src/components/Steps/Steps.helpers.ts +0 -11
  329. package/src/components/Steps/Steps.stories.tsx +0 -65
  330. package/src/components/Steps/Steps.test.tsx +0 -78
  331. package/src/components/Steps/Steps.tsx +0 -53
  332. package/src/components/Steps/Steps.types.ts +0 -5
  333. package/src/components/Steps/StepsContext.ts +0 -5
  334. package/src/components/Steps/StepsStep.tsx +0 -58
  335. package/src/components/Steps/index.ts +0 -6
  336. package/src/components/Steps/useStep.test.tsx +0 -217
  337. package/src/components/Steps/useSteps.ts +0 -131
  338. package/src/components/Switch/Switch.stories.tsx +0 -65
  339. package/src/components/Switch/Switch.test.tsx +0 -60
  340. package/src/components/Switch/Switch.tsx +0 -209
  341. package/src/components/Switch/index.ts +0 -2
  342. package/src/components/Table/Selection.tsx +0 -202
  343. package/src/components/Table/Table.fixtures.ts +0 -101
  344. package/src/components/Table/Table.stories.tsx +0 -568
  345. package/src/components/Table/Table.test.tsx +0 -310
  346. package/src/components/Table/Table.tsx +0 -523
  347. package/src/components/Table/Table.types.ts +0 -93
  348. package/src/components/Table/TableSortHandle.tsx +0 -31
  349. package/src/components/Table/index.tsx +0 -2
  350. package/src/components/Table/useSortBy.test.ts +0 -96
  351. package/src/components/Table/useSortBy.ts +0 -92
  352. package/src/components/Table/useSortBy.types.ts +0 -21
  353. package/src/components/TablePagination/RowsPerPage.tsx +0 -81
  354. package/src/components/TablePagination/TablePagination.stories.tsx +0 -42
  355. package/src/components/TablePagination/TablePagination.styles.ts +0 -13
  356. package/src/components/TablePagination/TablePagination.test.tsx +0 -111
  357. package/src/components/TablePagination/TablePagination.tsx +0 -49
  358. package/src/components/TablePagination/TablePagination.types.ts +0 -69
  359. package/src/components/TablePagination/TablePaginationActions.tsx +0 -144
  360. package/src/components/TablePagination/index.ts +0 -2
  361. package/src/components/Tabs/Tabs.stories.tsx +0 -78
  362. package/src/components/Tabs/Tabs.test.tsx +0 -103
  363. package/src/components/Tabs/Tabs.tsx +0 -287
  364. package/src/components/Tabs/Tabs.types.ts +0 -7
  365. package/src/components/Tabs/TabsContext.ts +0 -10
  366. package/src/components/Tabs/index.ts +0 -2
  367. package/src/components/Tag/Tag.stories.tsx +0 -112
  368. package/src/components/Tag/Tag.test.tsx +0 -19
  369. package/src/components/Tag/Tag.tsx +0 -393
  370. package/src/components/Tag/index.ts +0 -2
  371. package/src/components/Text/Text.stories.tsx +0 -59
  372. package/src/components/Text/Text.test.tsx +0 -48
  373. package/src/components/Text/Text.tsx +0 -14
  374. package/src/components/Text/index.ts +0 -2
  375. package/src/components/TextField/TextField.stories.tsx +0 -90
  376. package/src/components/TextField/TextField.test.tsx +0 -36
  377. package/src/components/TextField/TextField.tsx +0 -244
  378. package/src/components/TextField/index.ts +0 -6
  379. package/src/components/TextField/useTextField.tsx +0 -26
  380. package/src/components/Textarea/Textarea.stories.tsx +0 -101
  381. package/src/components/Textarea/Textarea.test.tsx +0 -14
  382. package/src/components/Textarea/Textarea.tsx +0 -230
  383. package/src/components/Textarea/index.ts +0 -2
  384. package/src/components/Toast/Toast.stories.tsx +0 -50
  385. package/src/components/Toast/Toast.test.tsx +0 -24
  386. package/src/components/Toast/Toast.tsx +0 -141
  387. package/src/components/Toast/icons/close.svg +0 -3
  388. package/src/components/Toast/icons/danger.svg +0 -4
  389. package/src/components/Toast/icons/neutral.svg +0 -4
  390. package/src/components/Toast/icons/success.svg +0 -3
  391. package/src/components/Toast/icons/warning.svg +0 -4
  392. package/src/components/Toast/index.tsx +0 -2
  393. package/src/components/ToggleGroup/Toggle.test.tsx +0 -76
  394. package/src/components/ToggleGroup/Toggle.tsx +0 -158
  395. package/src/components/ToggleGroup/ToggleGroup.constants.ts +0 -16
  396. package/src/components/ToggleGroup/ToggleGroup.stories.tsx +0 -145
  397. package/src/components/ToggleGroup/ToggleGroup.test.tsx +0 -237
  398. package/src/components/ToggleGroup/ToggleGroup.tsx +0 -165
  399. package/src/components/ToggleGroup/ToggleGroup.types.ts +0 -35
  400. package/src/components/ToggleGroup/ToggleGroupContext.ts +0 -13
  401. package/src/components/ToggleGroup/index.ts +0 -3
  402. package/src/components/Tooltip/Tooltip.stories.tsx +0 -82
  403. package/src/components/Tooltip/Tooltip.test.tsx +0 -49
  404. package/src/components/Tooltip/Tooltip.tsx +0 -185
  405. package/src/components/Tooltip/index.ts +0 -2
  406. package/src/components/TopNavigation/Logo/Logo.test.tsx +0 -21
  407. package/src/components/TopNavigation/Logo/Logo.tsx +0 -20
  408. package/src/components/TopNavigation/Logo/index.ts +0 -1
  409. package/src/components/TopNavigation/Menu/Menu.test.tsx +0 -125
  410. package/src/components/TopNavigation/Menu/Menu.tsx +0 -62
  411. package/src/components/TopNavigation/Menu/MenuItemDropdown.tsx +0 -118
  412. package/src/components/TopNavigation/Menu/MenuItemIcon.tsx +0 -50
  413. package/src/components/TopNavigation/Menu/index.ts +0 -1
  414. package/src/components/TopNavigation/OpenSideNavButton/OpenSideNavButton.tsx +0 -28
  415. package/src/components/TopNavigation/OpenSideNavButton/index.ts +0 -1
  416. package/src/components/TopNavigation/TopNavigation.stories.tsx +0 -42
  417. package/src/components/TopNavigation/TopNavigation.tsx +0 -47
  418. package/src/components/TopNavigation/index.ts +0 -2
  419. package/src/components/VisuallyHidden/VisuallyHidden.mdx +0 -26
  420. package/src/components/VisuallyHidden/VisuallyHidden.stories.tsx +0 -32
  421. package/src/components/VisuallyHidden/VisuallyHidden.test.tsx +0 -18
  422. package/src/components/VisuallyHidden/VisuallyHidden.tsx +0 -6
  423. package/src/components/VisuallyHidden/index.ts +0 -1
  424. package/src/docs/tools/DatePickerEvent.stories.mdx +0 -108
  425. package/src/docs/tools/DragDropFileEvent.stories.mdx +0 -75
  426. package/src/docs/tools/conditional.stories.mdx +0 -251
  427. package/src/docs/tools/selectEvent.stories.mdx +0 -121
  428. package/src/hooks/useClickOutside/index.ts +0 -1
  429. package/src/hooks/useClickOutside/useClickOutside.test.tsx +0 -116
  430. package/src/hooks/useClickOutside/useClickOutside.ts +0 -65
  431. package/src/hooks/useDidMount/index.ts +0 -1
  432. package/src/hooks/useDidMount/useDidMount.test.tsx +0 -38
  433. package/src/hooks/useDidMount/useDidMount.ts +0 -20
  434. package/src/hooks/useFingerprint/index.ts +0 -1
  435. package/src/hooks/useFingerprint/useFingerprint.test.ts +0 -76
  436. package/src/hooks/useFingerprint/useFingerprint.ts +0 -94
  437. package/src/hooks/useFocusTrap/index.ts +0 -2
  438. package/src/hooks/useFocusTrap/useFocusTrap.stories.tsx +0 -87
  439. package/src/hooks/useFocusTrap/useFocusTrap.test.tsx +0 -129
  440. package/src/hooks/useFocusTrap/useFocusTrap.ts +0 -187
  441. package/src/hooks/useFocusWithin/index.ts +0 -2
  442. package/src/hooks/useFocusWithin/useFocusWithin.test.tsx +0 -71
  443. package/src/hooks/useFocusWithin/useFocusWithin.ts +0 -62
  444. package/src/hooks/useHeightExpansionToggler/index.ts +0 -2
  445. package/src/hooks/useHeightExpansionToggler/useHeightExpansionToggler.test.tsx +0 -85
  446. package/src/hooks/useHeightExpansionToggler/useHeightExpansionToggler.ts +0 -54
  447. package/src/hooks/useID/index.ts +0 -1
  448. package/src/hooks/useID/useID.ts +0 -18
  449. package/src/hooks/useSelectable/SelectableStrategy.test.ts +0 -424
  450. package/src/hooks/useSelectable/SelectableStrategy.ts +0 -143
  451. package/src/hooks/useSelectable/index.ts +0 -8
  452. package/src/hooks/useSelectable/useSelectable.test.ts +0 -221
  453. package/src/hooks/useSelectable/useSelectable.ts +0 -156
  454. package/src/hooks/useSelectable/useSelectable.types.ts +0 -45
  455. package/src/hooks/useWindowResize/index.ts +0 -1
  456. package/src/hooks/useWindowResize/useWindowResize.ts +0 -27
  457. package/src/index.ts +0 -188
  458. package/src/stories/assets/code-brackets.svg +0 -1
  459. package/src/stories/assets/colors.svg +0 -1
  460. package/src/stories/assets/comments.svg +0 -1
  461. package/src/stories/assets/direction.svg +0 -1
  462. package/src/stories/assets/flow.svg +0 -1
  463. package/src/stories/assets/plugin.svg +0 -1
  464. package/src/stories/assets/repo.svg +0 -1
  465. package/src/stories/assets/stackalt.svg +0 -1
  466. package/src/stories/introduction.stories.mdx +0 -57
  467. package/src/stories/startPage.stories.mdx +0 -95
  468. package/src/styles/activatable.tsx +0 -30
  469. package/src/styles/disableable.tsx +0 -45
  470. package/src/styles/ellipsizable.tsx +0 -14
  471. package/src/styles/focusable.tsx +0 -32
  472. package/src/styles/font.test.ts +0 -31
  473. package/src/styles/font.tsx +0 -40
  474. package/src/styles/hidden.tsx +0 -29
  475. package/src/styles/hoverable.tsx +0 -30
  476. package/src/styles/transition.tsx +0 -25
  477. package/src/styles/typography.test.ts +0 -93
  478. package/src/styles/typography.ts +0 -190
  479. package/src/testing/DatePickerEvent/DatePickerEvent.ts +0 -117
  480. package/src/testing/DatePickerEvent/DateRangePickerEvent.ts +0 -83
  481. package/src/testing/DatePickerEvent/index.ts +0 -2
  482. package/src/testing/DragDropFileEvent/DragDropFileEvent.ts +0 -56
  483. package/src/testing/DragDropFileEvent/index.ts +0 -1
  484. package/src/testing/SelectEvent/SelectEvent.test.tsx +0 -192
  485. package/src/testing/SelectEvent/SelectEvent.ts +0 -264
  486. package/src/testing/SelectEvent/index.ts +0 -1
  487. package/src/testing/getInterpolatedStyles/getInterpolatedStyles.ts +0 -25
  488. package/src/testing/getInterpolatedStyles/index.ts +0 -1
  489. package/src/testing/index.ts +0 -6
  490. package/src/testing/renderWithDragDropFileProvider/index.ts +0 -1
  491. package/src/testing/renderWithDragDropFileProvider/renderWithDragDropFileProvider.tsx +0 -28
  492. package/src/tests/generator.ts +0 -127
  493. package/src/tests/renderer.tsx +0 -39
  494. package/src/theming/index.ts +0 -42
  495. package/src/theming/themes/alice.theme.ts +0 -1022
  496. package/src/theming/themes/index.ts +0 -3
  497. package/src/theming/themes/loadsmart.theme.ts +0 -1019
  498. package/src/theming/themes/miranda-compatibility.theme.ts +0 -972
  499. package/src/theming/theming.helpers.ts +0 -95
  500. package/src/tools/conditional.test.ts +0 -166
  501. package/src/tools/conditional.ts +0 -127
  502. package/src/tools/index.ts +0 -2
  503. package/src/tools/prop.test.ts +0 -52
  504. package/src/tools/prop.ts +0 -36
  505. package/src/utils/toolset/awaitTo.ts +0 -24
  506. package/src/utils/toolset/flatten.ts +0 -3
  507. package/src/utils/toolset/formatBytes.test.ts +0 -45
  508. package/src/utils/toolset/formatBytes.ts +0 -18
  509. package/src/utils/toolset/get.ts +0 -2
  510. package/src/utils/toolset/getID.test.ts +0 -57
  511. package/src/utils/toolset/getID.ts +0 -93
  512. package/src/utils/toolset/getOrdinalSuffix.test.ts +0 -27
  513. package/src/utils/toolset/getOrdinalSuffix.ts +0 -15
  514. package/src/utils/toolset/highlightMatch.test.tsx +0 -32
  515. package/src/utils/toolset/highlightMatch.tsx +0 -32
  516. package/src/utils/toolset/interleave.test.ts +0 -40
  517. package/src/utils/toolset/interleave.ts +0 -23
  518. package/src/utils/toolset/isEmpty.ts +0 -2
  519. package/src/utils/toolset/isThenable.test.ts +0 -40
  520. package/src/utils/toolset/isThenable.ts +0 -14
  521. package/src/utils/toolset/keyboard.ts +0 -50
  522. package/src/utils/toolset/omit.ts +0 -2
  523. package/src/utils/toolset/pluralize.ts +0 -16
  524. package/src/utils/toolset/range.ts +0 -2
  525. package/src/utils/toolset/rem.ts +0 -7
  526. package/src/utils/toolset/styledCompounds.ts +0 -22
  527. package/src/utils/toolset/toArray.ts +0 -16
  528. package/src/utils/types/ColorScheme.ts +0 -3
  529. package/src/utils/types/EventLike.ts +0 -11
  530. package/src/utils/types/InterpolatedStyle.ts +0 -3
  531. package/src/utils/types/Status.ts +0 -8
@@ -1,96 +0,0 @@
1
- import { renderHook, act } from '@testing-library/react-hooks'
2
-
3
- import { TEST_TABLE_COLUMNS, TEST_TABLE_ROWS } from './Table.fixtures'
4
- import useSortBy from './useSortBy'
5
-
6
- describe('useSortBy', () => {
7
- it('returns table data properly sorted', () => {
8
- const { result } = renderHook(() => useSortBy(TEST_TABLE_COLUMNS, TEST_TABLE_ROWS))
9
-
10
- expect(typeof result.current.sortByColumn).toBe('function')
11
-
12
- // initial state, defaults table row values passed to the hook
13
- expect(result.current.tableData).toEqual(
14
- expect.arrayContaining([
15
- expect.objectContaining({
16
- key: 1,
17
- name: 'Orange',
18
- }),
19
- expect.objectContaining({
20
- key: 2,
21
- name: 'Raspberry',
22
- }),
23
- expect.objectContaining({
24
- key: 3,
25
- name: 'Mango',
26
- }),
27
- ])
28
- )
29
-
30
- // first call will sort table rows ASC
31
- act(() => {
32
- result.current.sortByColumn(TEST_TABLE_COLUMNS[0])
33
- })
34
-
35
- expect(result.current.tableData).toEqual(
36
- expect.arrayContaining([
37
- expect.objectContaining({
38
- key: 3,
39
- name: 'Mango',
40
- }),
41
- expect.objectContaining({
42
- key: 1,
43
- name: 'Orange',
44
- }),
45
- expect.objectContaining({
46
- key: 2,
47
- name: 'Raspberry',
48
- }),
49
- ])
50
- )
51
-
52
- // second call will sort table rows DESC
53
- act(() => {
54
- result.current.sortByColumn(TEST_TABLE_COLUMNS[0])
55
- })
56
-
57
- expect(result.current.tableData).toEqual(
58
- expect.arrayContaining([
59
- expect.objectContaining({
60
- key: 2,
61
- name: 'Raspberry',
62
- }),
63
- expect.objectContaining({
64
- key: 1,
65
- name: 'Orange',
66
- }),
67
- expect.objectContaining({
68
- key: 3,
69
- name: 'Mango',
70
- }),
71
- ])
72
- )
73
-
74
- // third call defaults table rows to its initial state
75
- act(() => {
76
- result.current.sortByColumn(TEST_TABLE_COLUMNS[0])
77
- })
78
-
79
- expect(result.current.tableData).toEqual(
80
- expect.arrayContaining([
81
- expect.objectContaining({
82
- key: 1,
83
- name: 'Orange',
84
- }),
85
- expect.objectContaining({
86
- key: 2,
87
- name: 'Raspberry',
88
- }),
89
- expect.objectContaining({
90
- key: 3,
91
- name: 'Mango',
92
- }),
93
- ])
94
- )
95
- })
96
- })
@@ -1,92 +0,0 @@
1
- import { useCallback, useState } from 'react'
2
-
3
- import get from 'utils/toolset/get'
4
- import type { TableRowGroup, SortableColumn, ColumnGroup, SortState } from './useSortBy.types'
5
- import { SortDirection } from './useSortBy.types'
6
-
7
- /**
8
- * Sort table rows using column keys with Array.prototype.sort() function
9
- *
10
- * @param {SortableColumn} sortConfig - sorting config including `key` and `isSortedDesc`
11
- * @param {TableRowGroup} tableRowGroup - a group of table rows to be sorted
12
- *
13
- * @returns {TableRowGroup} sorted table rows
14
- */
15
- function sortRows(sortConfig: SortableColumn, tableRowGroup: TableRowGroup): TableRowGroup {
16
- return [...tableRowGroup].sort((object1, object2) => {
17
- if (get(object1, sortConfig.key) > get(object2, sortConfig.key)) {
18
- return sortConfig.order === SortDirection.DESC ? -1 : 1
19
- }
20
-
21
- if (get(object1, sortConfig.key) < get(object2, sortConfig.key)) {
22
- return sortConfig.order === SortDirection.DESC ? 1 : -1
23
- }
24
-
25
- return 0
26
- })
27
- }
28
-
29
- /**
30
- * A hook that receives columns and table rows to sort them when sortByColumn function is called.
31
- * Exposes columnData, tableData and sortByColumn to be consumed by the Table component.
32
- *
33
- * @param {ColumnGroup} columnGroup a group of table columns
34
- * @param {TableRowGroup} tableRowGroup a group of table rows
35
- *
36
- * @returns {TableRowGroup} sorted table rows
37
- */
38
- function useSortBy(
39
- columnGroup: ColumnGroup,
40
- tableRowGroup: TableRowGroup
41
- ): {
42
- tableData: TableRowGroup
43
- columnData: ColumnGroup
44
- sortByColumn: (column: SortableColumn) => void
45
- } {
46
- const [state, setState] = useState<SortState>({
47
- sortConfig: { key: '', title: '' },
48
- columnGroup,
49
- tableRowGroup,
50
- })
51
-
52
- const { sortConfig, columnGroup: columns, tableRowGroup: tableRows } = state
53
-
54
- const sortByColumn = useCallback((column: SortableColumn) => {
55
- setState(({ columnGroup: columns, ...rest }) => {
56
- const updatedColumns: ColumnGroup = columns.map((current) => {
57
- if (!column.isSortable || current.key !== column.key) {
58
- return current
59
- }
60
-
61
- if (!current.order) {
62
- return {
63
- ...current,
64
- order: SortDirection.ASC,
65
- }
66
- } else if (current.order !== SortDirection.DESC) {
67
- return {
68
- ...current,
69
- order: SortDirection.DESC,
70
- }
71
- }
72
-
73
- return {
74
- ...current,
75
- order: null,
76
- }
77
- })
78
-
79
- return { ...rest, columnGroup: updatedColumns, sortConfig: column }
80
- })
81
- }, [])
82
-
83
- const sortedTableData = sortConfig.order ? sortRows(sortConfig, tableRows) : tableRows
84
-
85
- return {
86
- columnData: columns,
87
- tableData: sortedTableData,
88
- sortByColumn,
89
- }
90
- }
91
-
92
- export default useSortBy
@@ -1,21 +0,0 @@
1
- import type { TableColumn } from './Table.types'
2
-
3
- export type TableRowGroup = Array<Record<string, string | number>>
4
-
5
- export interface SortableColumn extends TableColumn {
6
- isSortable?: boolean
7
- order?: SortDirection | null
8
- }
9
-
10
- export type ColumnGroup = Array<SortableColumn>
11
-
12
- export interface SortState {
13
- sortConfig: SortableColumn
14
- columnGroup: ColumnGroup
15
- tableRowGroup: TableRowGroup
16
- }
17
-
18
- export enum SortDirection {
19
- ASC = 'ASC',
20
- DESC = 'DESC',
21
- }
@@ -1,81 +0,0 @@
1
- import React from 'react'
2
- import { Text } from 'components/Text'
3
- import { Dropdown, DropdownContext } from 'components/Dropdown'
4
- import { Layout } from 'components/Layout'
5
- import { Icon } from 'components/Icon'
6
- import type { RowsPerPageProps } from './TablePagination.types'
7
- import type { ButtonProps } from 'components/Button'
8
- import { NoPaddingButton } from './TablePagination.styles'
9
- import { Popover } from 'components/Popover'
10
-
11
- const TriggerButton = (props: Omit<ButtonProps, 'scale' | 'variant'>) => {
12
- const { toggle } = React.useContext(DropdownContext)
13
-
14
- return (
15
- <Popover.Reference>
16
- <NoPaddingButton data-testid="rows-per-page-button" onClick={toggle} {...props}>
17
- <Icon name="caret-down" size={16} color="neutral-darker" />
18
- </NoPaddingButton>
19
- </Popover.Reference>
20
- )
21
- }
22
-
23
- function RowsPerPage({
24
- page,
25
- rowsPerPage,
26
- onRowsPerPageChange,
27
- labelRowsPerPage,
28
- count,
29
- rowsPerPageOptions,
30
- disabled = false,
31
- position = 'bottom',
32
- align = 'start',
33
- }: RowsPerPageProps): JSX.Element {
34
- const getItemsRange = () => {
35
- if (!count) {
36
- return 0
37
- }
38
-
39
- const from = page * rowsPerPage + 1
40
- let to = (page + 1) * rowsPerPage
41
-
42
- if (to > count) {
43
- to = count
44
- }
45
-
46
- return `${from}-${to}`
47
- }
48
-
49
- return (
50
- <Layout.Group space="s" align="center">
51
- <Text variant="caption" color={disabled ? 'color-neutral' : 'color-neutral-dark'}>
52
- {labelRowsPerPage}
53
- </Text>
54
- <Text variant="body" color={disabled ? 'color-neutral' : 'color-neutral-dark'}>
55
- <Text variant="body-bold" color={disabled ? 'color-neutral' : 'color-neutral-dark'}>
56
- {getItemsRange()}
57
- </Text>{' '}
58
- of{' '}
59
- <Text variant="body-bold" color={disabled ? 'color-neutral' : 'color-neutral-dark'}>
60
- {count}
61
- </Text>
62
- </Text>
63
- <Dropdown position={position} align={align}>
64
- <TriggerButton disabled={disabled} />
65
- <Dropdown.Menu>
66
- {rowsPerPageOptions.map((option) => (
67
- <Dropdown.Item
68
- key={option}
69
- onClick={() => onRowsPerPageChange(option)}
70
- trailing={option === rowsPerPage && <Icon name="check" size={20} color="accent" />}
71
- >
72
- {option} per page
73
- </Dropdown.Item>
74
- ))}
75
- </Dropdown.Menu>
76
- </Dropdown>
77
- </Layout.Group>
78
- )
79
- }
80
-
81
- export default RowsPerPage
@@ -1,42 +0,0 @@
1
- import React, { useState } from 'react'
2
- import TablePagination from './TablePagination'
3
- import type { Meta, Story } from '@storybook/react'
4
-
5
- import type { TablePaginationProps } from './TablePagination.types'
6
- import { Layout } from 'components/Layout'
7
-
8
- export default {
9
- title: 'Components/TablePagination',
10
- component: TablePagination,
11
- argTypes: {},
12
- } as Meta
13
-
14
- export const Playground: Story<TablePaginationProps> = (args: TablePaginationProps) => {
15
- const [page, setPage] = useState(args.page)
16
- const [rowsPerPage, setRowsPerPage] = useState(args.rowsPerPage)
17
-
18
- const handleRowsPerPageChange = (rowsPerPage: number) => {
19
- setRowsPerPage(rowsPerPage)
20
- setPage(0)
21
- }
22
-
23
- return (
24
- <Layout.Group>
25
- <TablePagination
26
- {...args}
27
- onPageChange={(page) => setPage(page)}
28
- page={page}
29
- rowsPerPage={rowsPerPage}
30
- onRowsPerPageChange={handleRowsPerPageChange}
31
- />
32
- </Layout.Group>
33
- )
34
- }
35
-
36
- Playground.args = {
37
- page: 0,
38
- count: 1004,
39
- rowsPerPage: 100,
40
- disabled: false,
41
- variant: 'default',
42
- }
@@ -1,13 +0,0 @@
1
- import styled from 'styled-components'
2
- import { Button } from 'components/Button'
3
-
4
- export const NoPaddingButton = styled(Button).attrs({
5
- variant: 'tertiary',
6
- scale: 'small',
7
- })`
8
- padding: 0;
9
-
10
- > span {
11
- margin: 0 !important;
12
- }
13
- `
@@ -1,111 +0,0 @@
1
- import userEvent from '@testing-library/user-event'
2
- import React from 'react'
3
-
4
- import renderer, { screen } from '../../tests/renderer'
5
-
6
- import TablePagination from './TablePagination'
7
- import type { TablePaginationProps } from './TablePagination.types'
8
-
9
- describe('TablePagination', () => {
10
- const setup = ({ ...overrides }: Partial<TablePaginationProps> = {}) => {
11
- const defaultProps: TablePaginationProps = {
12
- variant: 'default',
13
- count: 1000,
14
- onPageChange: jest.fn(),
15
- onRowsPerPageChange: jest.fn(),
16
- rowsPerPage: 100,
17
- page: 0,
18
- }
19
-
20
- renderer(<TablePagination {...defaultProps} {...overrides} />).render()
21
- }
22
-
23
- it('disables preview page buttons if page = 0', () => {
24
- setup()
25
-
26
- expect(screen.getByTitle(/previous page/i)).toBeDisabled()
27
- expect(screen.getByTitle(/first page/i)).toBeDisabled()
28
- })
29
-
30
- it('disables next and last page buttons if the page is the last one', () => {
31
- setup({
32
- page: 9,
33
- })
34
-
35
- expect(screen.getByTitle(/next page/i)).toBeDisabled()
36
- expect(screen.getByTitle(/last page/i)).toBeDisabled()
37
- })
38
-
39
- it('calls the onChangePage action after the pagination actions are clicked', () => {
40
- const onPageChange = jest.fn()
41
- setup({
42
- page: 2,
43
- onPageChange,
44
- })
45
-
46
- userEvent.click(screen.getByTitle(/previous page/i))
47
- expect(onPageChange).toHaveBeenLastCalledWith(1)
48
- userEvent.click(screen.getByTitle(/first page/i))
49
- expect(onPageChange).toHaveBeenLastCalledWith(0)
50
- userEvent.click(screen.getByTitle(/next page/i))
51
- expect(onPageChange).toHaveBeenLastCalledWith(3)
52
- userEvent.click(screen.getByTitle(/last page/i))
53
- expect(onPageChange).toHaveBeenLastCalledWith(9)
54
-
55
- userEvent.clear(screen.getByTitle('Page'))
56
- userEvent.type(screen.getByTitle('Page'), '5')
57
- userEvent.tab()
58
- expect(onPageChange).toHaveBeenLastCalledWith(4)
59
- })
60
-
61
- it('calls the onRowsPerPageChange with the selected option', async () => {
62
- const onPageChange = jest.fn()
63
- const onRowsPerPageChange = jest.fn()
64
- setup({
65
- page: 2,
66
- onPageChange,
67
- onRowsPerPageChange,
68
- })
69
- userEvent.click(screen.getByTestId('rows-per-page-button'))
70
- userEvent.click(await screen.findByText(/50 per page/i))
71
-
72
- expect(onRowsPerPageChange).toHaveBeenLastCalledWith(50)
73
- })
74
-
75
- it('hides some actions for the compact variant', () => {
76
- setup({
77
- variant: 'compact',
78
- })
79
-
80
- expect(screen.queryByTitle(/first page/i)).not.toBeInTheDocument()
81
- expect(screen.queryByTitle(/last page/i)).not.toBeInTheDocument()
82
- expect(screen.queryByTitle('Page')).not.toBeInTheDocument()
83
- })
84
-
85
- it('disables all the buttons when the component is disabled', () => {
86
- setup({
87
- disabled: true,
88
- })
89
-
90
- expect(screen.getByTitle('Page')).toBeDisabled()
91
- expect(screen.getByTitle(/previous page/i)).toBeDisabled()
92
- expect(screen.getByTitle(/first page/i)).toBeDisabled()
93
- expect(screen.getByTitle(/next page/i)).toBeDisabled()
94
- expect(screen.getByTitle(/last page/i)).toBeDisabled()
95
- expect(screen.getByTestId('rows-per-page-button')).toBeDisabled()
96
- })
97
-
98
- it('displays no pages state when no items available', () => {
99
- setup({
100
- count: 0,
101
- })
102
-
103
- expect(screen.getByTitle('Page')).toHaveValue(0)
104
- expect(screen.getByTitle('Page')).toBeDisabled()
105
- expect(screen.getByTitle(/previous page/i)).toBeDisabled()
106
- expect(screen.getByTitle(/first page/i)).toBeDisabled()
107
- expect(screen.getByTitle(/next page/i)).toBeDisabled()
108
- expect(screen.getByTitle(/last page/i)).toBeDisabled()
109
- expect(screen.getByTestId('rows-per-page-button')).toBeDisabled()
110
- })
111
- })
@@ -1,49 +0,0 @@
1
- import React from 'react'
2
-
3
- import { Layout } from 'components/Layout'
4
-
5
- import type { TablePaginationProps } from './TablePagination.types'
6
- import TablePaginationActions from 'components/TablePagination/TablePaginationActions'
7
- import RowsPerPage from 'components/TablePagination/RowsPerPage'
8
-
9
- function TablePagination(props: TablePaginationProps): JSX.Element {
10
- const {
11
- variant = 'default',
12
- count,
13
- labelRowsPerPage = 'Rows per page:',
14
- onPageChange,
15
- onRowsPerPageChange,
16
- page,
17
- rowsPerPage = 50,
18
- rowsPerPageOptions = [10, 25, 50, 100],
19
- disabled = false,
20
- rowsPerPagePlacement,
21
- ...rest
22
- } = props
23
-
24
- return (
25
- <Layout.Group space="xl" align="center" justify="space-between" {...rest}>
26
- <RowsPerPage
27
- page={page}
28
- count={count}
29
- onRowsPerPageChange={onRowsPerPageChange}
30
- rowsPerPage={rowsPerPage}
31
- rowsPerPageOptions={rowsPerPageOptions}
32
- labelRowsPerPage={labelRowsPerPage}
33
- disabled={disabled || !count}
34
- position={rowsPerPagePlacement?.position}
35
- align={rowsPerPagePlacement?.align}
36
- />
37
- <TablePaginationActions
38
- variant={variant}
39
- page={page}
40
- onPageChange={onPageChange}
41
- rowsPerPage={rowsPerPage}
42
- count={count}
43
- disabled={disabled || !count}
44
- />
45
- </Layout.Group>
46
- )
47
- }
48
-
49
- export default TablePagination
@@ -1,69 +0,0 @@
1
- import type { GroupProps } from 'components/Layout/Group'
2
- import type { PopoverPlacement } from 'components/Popover'
3
-
4
- export interface TablePaginationProps extends GroupProps {
5
- /**
6
- * The pagination variant
7
- * @default 'default'
8
- */
9
- variant?: 'compact' | 'default'
10
- /**
11
- * The total number of paginated items
12
- */
13
- count: number
14
- /**
15
- * Customize the rows per page label.
16
- * @default 'Rows per page:'
17
- */
18
- labelRowsPerPage?: string
19
- /**
20
- * Callback fired when the page is changed.
21
- */
22
- onPageChange: (page: number) => void
23
- /**
24
- * Callback fired when the number of rows per page is changed.
25
- *
26
- * Note: Resetting the page to zero after the number of rows per page is changed isn't part of
27
- * the component and has to be implemented where it's necessary
28
- */
29
- onRowsPerPageChange: (rowsPerPage: number) => void
30
- /**
31
- * The number of rows per page.
32
- * @default 50
33
- */
34
- rowsPerPage?: number
35
- /**
36
- * The zero-based index of the current page.
37
- */
38
- page: number
39
- /**
40
- * Customizes the options of the rows per page select field.
41
- * @default [10, 25, 50, 100]
42
- */
43
- rowsPerPageOptions?: number[]
44
- /**
45
- * Disable all the pagination actions
46
- */
47
- disabled?: boolean
48
- /**
49
- * Customizes the placement of the rows per page select field.
50
- * @default { position: 'bottom', align: 'start' }
51
- */
52
- rowsPerPagePlacement?: PopoverPlacement
53
- }
54
-
55
- export type TablePaginationActionsProps = Omit<
56
- TablePaginationProps,
57
- 'labelRowsPerPage' | 'onRowsPerPageChange' | 'rowsPerPageOptions' | 'rowsPerPage'
58
- > & {
59
- rowsPerPage: number
60
- }
61
-
62
- export type RowsPerPageProps = Omit<
63
- TablePaginationProps,
64
- 'rowsPerPageOptions' | 'onPageChange' | 'rowsPerPage' | 'align'
65
- > &
66
- PopoverPlacement & {
67
- rowsPerPageOptions: number[]
68
- rowsPerPage: number
69
- }