@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,62 +0,0 @@
1
- import { useEffect, useState, useCallback, useRef } from 'react'
2
-
3
- import type { RefObject } from 'react'
4
-
5
- export interface useFocusWithinProps {
6
- onFocus?: () => void
7
- onBlur?: () => void
8
- }
9
-
10
- /**
11
- * As CSS's focus-within is not fully supported, this hook
12
- * helps with identifying focus within elements.
13
- * @param {Object} props - Hook props
14
- */
15
- function useFocusWithin<T>(props: useFocusWithinProps = {}): {
16
- ref: RefObject<T>
17
- focused: boolean
18
- } {
19
- const { onFocus, onBlur } = props
20
- const [focused, setFocused] = useState(false)
21
- const containerRef = useRef<T>(null)
22
-
23
- function getContainer() {
24
- return containerRef.current as unknown as HTMLElement
25
- }
26
-
27
- const handleFocus = useCallback(
28
- function handleFocus() {
29
- onFocus?.()
30
- setFocused(true)
31
- },
32
- [onFocus]
33
- )
34
-
35
- const handleBlur = useCallback(
36
- function handleBlur() {
37
- onBlur?.()
38
- setFocused(false)
39
- },
40
- [onBlur]
41
- )
42
-
43
- useEffect(
44
- function updateContainerRef() {
45
- getContainer()?.addEventListener('focusin', handleFocus)
46
- getContainer()?.addEventListener('focusout', handleBlur)
47
-
48
- return function unsubscribe() {
49
- getContainer()?.removeEventListener('focusin', handleFocus)
50
- getContainer()?.removeEventListener('focusout', handleBlur)
51
- }
52
- },
53
- [containerRef, handleBlur, handleFocus]
54
- )
55
-
56
- return {
57
- ref: containerRef,
58
- focused,
59
- }
60
- }
61
-
62
- export default useFocusWithin
@@ -1,2 +0,0 @@
1
- export { default as useHeightExpansionToggler } from './useHeightExpansionToggler'
2
- export type { HeightExpansionToggler } from './useHeightExpansionToggler'
@@ -1,85 +0,0 @@
1
- import React, { useRef, useState } from 'react'
2
-
3
- import renderer, { screen, user } from '../../tests/renderer'
4
-
5
- import useHeightExpansionToggler from './useHeightExpansionToggler'
6
-
7
- function getFakeHeight(factor: number) {
8
- return factor * 10
9
- }
10
-
11
- HTMLElement.prototype.getBoundingClientRect = function () {
12
- return {
13
- height: getFakeHeight(this.childNodes.length),
14
- } as DOMRect
15
- }
16
-
17
- function Experiment() {
18
- const targetRef = useRef(null)
19
- const [items, setItems] = useState<number[]>([])
20
- const { expanded, height, toggle } = useHeightExpansionToggler(targetRef)
21
-
22
- return (
23
- <>
24
- <button onClick={toggle}>toggle</button>
25
- <span data-testid="expanded">expanded: {String(expanded)}</span>
26
- <button onClick={() => setItems([...items, 1])}>add item</button>
27
- <div style={{ height }} ref={targetRef} data-testid="container">
28
- {items.map((n, i) => (
29
- <span key={i}>{n}</span>
30
- ))}
31
- </div>
32
- </>
33
- )
34
- }
35
-
36
- function setup() {
37
- renderer(<Experiment />).render()
38
- }
39
-
40
- describe('useHeightExpansionToggler', () => {
41
- it('should do it good', async () => {
42
- setup()
43
-
44
- /* Begins collapsed */
45
- expect(screen.getByTestId('expanded')).toHaveTextContent('false')
46
- expect(screen.getByTestId('container')).toHaveStyle('height: auto;')
47
-
48
- /* Add +1 Node */
49
-
50
- user.click(screen.getByRole('button', { name: 'add item' }))
51
-
52
- /* Nothing should change */
53
- expect(screen.getByTestId('expanded')).toHaveTextContent('false')
54
-
55
- /* But the height now is calculated to zero */
56
- expect(screen.getByTestId('container')).toHaveStyle('height: 0px;')
57
-
58
- /* Expand it */
59
- user.click(screen.getByRole('button', { name: 'toggle' }))
60
-
61
- /* It should get expanded */
62
- await screen.findByText('expanded: true')
63
-
64
- /* Height should be of 1 Node */
65
- expect(screen.getByTestId('container')).toHaveStyle(`height: ${getFakeHeight(1)}px;`)
66
-
67
- /* We add +1 Node */
68
- user.click(screen.getByRole('button', { name: 'add item' }))
69
-
70
- /* A child must appear in the DOM */
71
- expect(await screen.findAllByText('1')).toHaveLength(2)
72
-
73
- /* Height should be of 2 Nodes */
74
- expect(screen.getByTestId('container')).toHaveStyle(`height: ${getFakeHeight(2)}px;`)
75
-
76
- /* Collapse it */
77
- user.click(screen.getByRole('button', { name: 'toggle' }))
78
-
79
- /* It should get collapsed */
80
- await screen.findByText('expanded: false')
81
-
82
- /* Height should be zero */
83
- expect(screen.getByTestId('container')).toHaveStyle('height: 0px;')
84
- })
85
- })
@@ -1,54 +0,0 @@
1
- import { RefObject, useEffect, useLayoutEffect, useReducer, useState } from 'react'
2
- import type { CSSProperties } from 'styled-components'
3
-
4
- import { useDidMount } from 'hooks/useDidMount'
5
-
6
- function updateHeight(set: (value: number) => void, el: HTMLElement | null) {
7
- if (el) {
8
- const { height } = el.getBoundingClientRect()
9
- set(height)
10
- }
11
- }
12
-
13
- export type HeightExpansionToggler = {
14
- expanded: boolean
15
- toggle: () => void
16
- height: CSSProperties['height']
17
- }
18
-
19
- /**
20
- * A React Hook to help you expand or collapse an element by
21
- * checking its total height and controlling a boolean flag
22
- * @param {React.RefObject} targetElRef - Ref of the wrapper element
23
- */
24
- function useHeightExpansionToggler(targetElRef: RefObject<HTMLElement>): HeightExpansionToggler {
25
- const [state, toggleState] = useReducer((prevState) => !prevState, false)
26
- const [totalHeight, setTotalHeight] = useState<CSSProperties['height']>(0)
27
-
28
- useLayoutEffect(() => {
29
- updateHeight(setTotalHeight, targetElRef.current)
30
- }, [targetElRef])
31
-
32
- useEffect(() => {
33
- const observer = new MutationObserver(() => {
34
- updateHeight(setTotalHeight, targetElRef.current)
35
- })
36
-
37
- if (targetElRef.current) {
38
- observer.observe(targetElRef.current, { childList: true })
39
- }
40
-
41
- return () => observer.disconnect()
42
- }, [targetElRef])
43
-
44
- const mounted = useDidMount()
45
- const finalHeight = !mounted ? 'auto' : state ? totalHeight : 0
46
-
47
- return {
48
- expanded: state,
49
- toggle: toggleState,
50
- height: finalHeight,
51
- }
52
- }
53
-
54
- export default useHeightExpansionToggler
@@ -1 +0,0 @@
1
- export { default } from './useID'
@@ -1,18 +0,0 @@
1
- import React from 'react'
2
-
3
- import getID from 'utils/toolset/getID'
4
-
5
- function useID(propId?: string): string {
6
- const [id, setID] = React.useState(() => propId || getID())
7
-
8
- React.useEffect(
9
- function updateID() {
10
- setID(propId || getID())
11
- },
12
- [propId]
13
- )
14
-
15
- return id
16
- }
17
-
18
- export default useID
@@ -1,424 +0,0 @@
1
- import generator from '../../tests/generator'
2
- import createSelectionStrategy from './SelectableStrategy'
3
-
4
- import type { Selectable, SelectableAdapter, SelectableKeyType } from './useSelectable.types'
5
-
6
- interface TestSelectable extends Selectable {
7
- id: string
8
- name: string
9
- }
10
-
11
- const adapter = {
12
- getKey(o: TestSelectable): string {
13
- return o.id
14
- },
15
- }
16
-
17
- const adapters: Record<string, SelectableAdapter<TestSelectable>> = {
18
- test: adapter,
19
- }
20
-
21
- describe('SelectableStrategy', () => {
22
- describe('createSelectionStrategy', () => {
23
- it('returns a single selection strategy', () => {
24
- const props = {
25
- adapters,
26
- multiple: false,
27
- }
28
-
29
- const result = createSelectionStrategy(props)
30
- expect(result.type()).toBe('single')
31
- })
32
-
33
- it('returns a multiple selection strategy', () => {
34
- const props = {
35
- adapters,
36
- multiple: true,
37
- }
38
-
39
- const result = createSelectionStrategy(props)
40
- expect(result.type()).toBe('multiple')
41
- })
42
- })
43
-
44
- describe('SingleSelectionStrategy', () => {
45
- const props = {
46
- adapters,
47
- multiple: false,
48
- }
49
-
50
- it('initializes with empty selection when no items are provided', () => {
51
- const strategy = createSelectionStrategy(props)
52
- const expectedSelection = new Map<SelectableKeyType, TestSelectable>()
53
-
54
- expect(strategy.init([])).toEqual(expectedSelection)
55
- })
56
-
57
- it('returns correct selection when items array is provided to init', () => {
58
- const item = {
59
- _type: 'test',
60
- id: generator.id(),
61
- name: generator.name(),
62
- }
63
-
64
- const strategy = createSelectionStrategy(props)
65
- const expectedSelection = new Map<SelectableKeyType, TestSelectable>().set(
66
- adapter.getKey(item),
67
- item
68
- )
69
-
70
- expect(strategy.init([item])).toEqual(expectedSelection)
71
- })
72
-
73
- it('returns empty selection when no items is provided to select', () => {
74
- const strategy = createSelectionStrategy(props)
75
- const expectedSelection = new Map<SelectableKeyType, TestSelectable>()
76
-
77
- expect(strategy.select([], new Map<SelectableKeyType, TestSelectable>())).toEqual(
78
- expectedSelection
79
- )
80
- })
81
-
82
- it('selects correctly when a single item is provided', () => {
83
- const item = {
84
- _type: 'test',
85
- id: generator.id(),
86
- name: generator.name(),
87
- }
88
-
89
- const strategy = createSelectionStrategy(props)
90
- const expectedSelection = new Map<SelectableKeyType, TestSelectable>().set(
91
- adapter.getKey(item),
92
- item
93
- )
94
-
95
- expect(strategy.select([item], new Map<SelectableKeyType, TestSelectable>())).toEqual(
96
- expectedSelection
97
- )
98
- })
99
-
100
- it('selects correctly when multiple items are provided (only first item is considered)', () => {
101
- const items = [
102
- {
103
- _type: 'test',
104
- id: generator.id(),
105
- name: generator.name(),
106
- },
107
- {
108
- _type: 'test',
109
- id: generator.id(),
110
- name: generator.name(),
111
- },
112
- ]
113
-
114
- const strategy = createSelectionStrategy(props)
115
- const expectedSelection = new Map<SelectableKeyType, TestSelectable>().set(
116
- adapter.getKey(items[0]),
117
- items[0]
118
- )
119
-
120
- expect(strategy.select(items, new Map<SelectableKeyType, TestSelectable>())).toEqual(
121
- expectedSelection
122
- )
123
- })
124
-
125
- it('keeps selection when no items is provided to unselect', () => {
126
- const item = {
127
- _type: 'test',
128
- id: generator.id(),
129
- name: generator.name(),
130
- }
131
-
132
- const strategy = createSelectionStrategy(props)
133
-
134
- const initialSelection = new Map<SelectableKeyType, TestSelectable>().set(
135
- adapter.getKey(item),
136
- item
137
- )
138
- const expectedSelection = initialSelection
139
-
140
- expect(strategy.unselect([], initialSelection)).toEqual(expectedSelection)
141
- })
142
-
143
- it('unselects correctly the provided items keys', () => {
144
- const item = {
145
- _type: 'test',
146
- id: generator.id(),
147
- name: generator.name(),
148
- }
149
-
150
- const strategy = createSelectionStrategy(props)
151
-
152
- const initialSelection = new Map<SelectableKeyType, TestSelectable>().set(
153
- adapter.getKey(item),
154
- item
155
- )
156
- const expectedSelection = new Map<SelectableKeyType, TestSelectable>()
157
-
158
- expect(strategy.unselect([adapter.getKey(item)], initialSelection)).toEqual(expectedSelection)
159
- })
160
-
161
- it('toggles correctly the provided items that are selected', () => {
162
- const item = {
163
- _type: 'test',
164
- id: generator.id(),
165
- name: generator.name(),
166
- }
167
-
168
- const strategy = createSelectionStrategy(props)
169
-
170
- const initialSelection = new Map<SelectableKeyType, TestSelectable>().set(
171
- adapter.getKey(item),
172
- item
173
- )
174
- const expectedSelection = new Map<SelectableKeyType, TestSelectable>()
175
-
176
- expect(strategy.toggle([item], initialSelection)).toEqual(expectedSelection)
177
- })
178
-
179
- it('toggles correctly the provided items that are not selected', () => {
180
- const item = {
181
- _type: 'test',
182
- id: generator.id(),
183
- name: generator.name(),
184
- }
185
-
186
- const strategy = createSelectionStrategy(props)
187
-
188
- const initialSelection = new Map<SelectableKeyType, TestSelectable>()
189
- const expectedSelection = new Map<SelectableKeyType, TestSelectable>().set(
190
- adapter.getKey(item),
191
- item
192
- )
193
-
194
- expect(strategy.toggle([item], initialSelection)).toEqual(expectedSelection)
195
- })
196
-
197
- it('returns empty selection correctly', () => {
198
- const item = {
199
- _type: 'test',
200
- id: generator.id(),
201
- name: generator.name(),
202
- }
203
-
204
- const strategy = createSelectionStrategy(props)
205
-
206
- const initialSelection = new Map<SelectableKeyType, TestSelectable>().set(
207
- adapter.getKey(item),
208
- item
209
- )
210
- const expectedSelection = new Map<SelectableKeyType, TestSelectable>()
211
-
212
- expect(strategy.clear(initialSelection)).toEqual(expectedSelection)
213
- })
214
- })
215
-
216
- describe('MultipleSelectionStrategy', () => {
217
- const props = {
218
- adapters,
219
- multiple: true,
220
- }
221
-
222
- it('initializes with empty selection when no items are provided', () => {
223
- const strategy = createSelectionStrategy(props)
224
- const expectedSelection = new Map<SelectableKeyType, TestSelectable>()
225
-
226
- expect(strategy.init([])).toEqual(expectedSelection)
227
- })
228
-
229
- it('initializes correctly when items array is provided', () => {
230
- const items = [
231
- {
232
- _type: 'test',
233
- id: generator.id(),
234
- name: generator.name(),
235
- },
236
- {
237
- _type: 'test',
238
- id: generator.id(),
239
- name: generator.name(),
240
- },
241
- ]
242
-
243
- const strategy = createSelectionStrategy(props)
244
- const expectedSelection = new Map<SelectableKeyType, TestSelectable>()
245
- .set(adapter.getKey(items[0]), items[0])
246
- .set(adapter.getKey(items[1]), items[1])
247
-
248
- expect(strategy.init(items)).toEqual(expectedSelection)
249
- })
250
-
251
- it('returns empty selection when no items is provided to select', () => {
252
- const strategy = createSelectionStrategy(props)
253
- const expectedSelection = new Map<SelectableKeyType, TestSelectable>()
254
-
255
- expect(strategy.select([], new Map<SelectableKeyType, TestSelectable>())).toEqual(
256
- expectedSelection
257
- )
258
- })
259
-
260
- it('selects correctly when a single item is provided', () => {
261
- const items = [
262
- {
263
- _type: 'test',
264
- id: generator.id(),
265
- name: generator.name(),
266
- },
267
- {
268
- _type: 'test',
269
- id: generator.id(),
270
- name: generator.name(),
271
- },
272
- ]
273
-
274
- const strategy = createSelectionStrategy(props)
275
- const expectedSelection = new Map<SelectableKeyType, TestSelectable>().set(
276
- adapter.getKey(items[0]),
277
- items[0]
278
- )
279
-
280
- expect(strategy.select([items[0]], new Map<SelectableKeyType, TestSelectable>())).toEqual(
281
- expectedSelection
282
- )
283
- })
284
-
285
- it('selects correctly when multiple items are provided', () => {
286
- const items = [
287
- {
288
- _type: 'test',
289
- id: generator.id(),
290
- name: generator.name(),
291
- },
292
- {
293
- _type: 'test',
294
- id: generator.id(),
295
- name: generator.name(),
296
- },
297
- ]
298
-
299
- const strategy = createSelectionStrategy(props)
300
- const expectedSelection = new Map<SelectableKeyType, TestSelectable>()
301
- .set(adapter.getKey(items[0]), items[0])
302
- .set(adapter.getKey(items[1]), items[1])
303
-
304
- expect(strategy.select(items, new Map<SelectableKeyType, TestSelectable>())).toEqual(
305
- expectedSelection
306
- )
307
- })
308
-
309
- it('keeps selection when no items is provided to unselect', () => {
310
- const items = [
311
- {
312
- _type: 'test',
313
- id: generator.id(),
314
- name: generator.name(),
315
- },
316
- {
317
- _type: 'test',
318
- id: generator.id(),
319
- name: generator.name(),
320
- },
321
- ]
322
-
323
- const strategy = createSelectionStrategy(props)
324
- const initialSelection = new Map<SelectableKeyType, TestSelectable>()
325
- .set(adapter.getKey(items[0]), items[0])
326
- .set(adapter.getKey(items[1]), items[1])
327
-
328
- const expectedSelection = initialSelection
329
-
330
- expect(strategy.unselect([], initialSelection)).toEqual(expectedSelection)
331
- })
332
-
333
- it('unselects correctly the provided items keys', () => {
334
- const items = [
335
- {
336
- _type: 'test',
337
- id: generator.id(),
338
- name: generator.name(),
339
- },
340
- {
341
- _type: 'test',
342
- id: generator.id(),
343
- name: generator.name(),
344
- },
345
- ]
346
-
347
- const strategy = createSelectionStrategy(props)
348
- const initialSelection = new Map<SelectableKeyType, TestSelectable>()
349
- .set(adapter.getKey(items[0]), items[0])
350
- .set(adapter.getKey(items[1]), items[1])
351
-
352
- const expectedSelection = new Map<SelectableKeyType, TestSelectable>()
353
-
354
- expect(
355
- strategy.unselect([adapter.getKey(items[0]), adapter.getKey(items[1])], initialSelection)
356
- ).toEqual(expectedSelection)
357
- })
358
-
359
- it('toggles correctly the provided items that are selected', () => {
360
- const items = [
361
- {
362
- _type: 'test',
363
- id: generator.id(),
364
- name: generator.name(),
365
- },
366
- {
367
- _type: 'test',
368
- id: generator.id(),
369
- name: generator.name(),
370
- },
371
- ]
372
-
373
- const strategy = createSelectionStrategy(props)
374
- const initialSelection = new Map<SelectableKeyType, TestSelectable>()
375
- .set(adapter.getKey(items[0]), items[0])
376
- .set(adapter.getKey(items[1]), items[1])
377
-
378
- const expectedSelection = new Map<SelectableKeyType, TestSelectable>()
379
-
380
- expect(strategy.toggle(items, initialSelection)).toEqual(expectedSelection)
381
- })
382
-
383
- it('toggles correctly the provided items that are not selected', () => {
384
- const items = [
385
- {
386
- _type: 'test',
387
- id: generator.id(),
388
- name: generator.name(),
389
- },
390
- {
391
- _type: 'test',
392
- id: generator.id(),
393
- name: generator.name(),
394
- },
395
- ]
396
-
397
- const strategy = createSelectionStrategy(props)
398
- const initialSelection = new Map<SelectableKeyType, TestSelectable>()
399
- const expectedSelection = new Map<SelectableKeyType, TestSelectable>()
400
- .set(adapter.getKey(items[0]), items[0])
401
- .set(adapter.getKey(items[1]), items[1])
402
-
403
- expect(strategy.toggle(items, initialSelection)).toEqual(expectedSelection)
404
- })
405
-
406
- it('returns empty selection correctly', () => {
407
- const item = {
408
- _type: 'test',
409
- id: generator.id(),
410
- name: generator.name(),
411
- }
412
-
413
- const strategy = createSelectionStrategy(props)
414
-
415
- const initialSelection = new Map<SelectableKeyType, TestSelectable>().set(
416
- adapter.getKey(item),
417
- item
418
- )
419
- const expectedSelection = new Map<SelectableKeyType, TestSelectable>()
420
-
421
- expect(strategy.clear(initialSelection)).toEqual(expectedSelection)
422
- })
423
- })
424
- })