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

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