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

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