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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (531) hide show
  1. package/README.md +13 -1
  2. package/dist/DragDropFile.context-oKnUu6d3.js +33 -0
  3. package/dist/{DragDropFile.context-D-EBrXnw.js.map → DragDropFile.context-oKnUu6d3.js.map} +1 -1
  4. package/dist/components/Banner/Banner.d.ts +2 -2
  5. package/dist/components/Button/Button.d.ts +1 -1
  6. package/dist/components/Calendar/Pickers/PickerButton.d.ts +4 -2
  7. package/dist/components/Card/Card.d.ts +4 -4
  8. package/dist/components/Card/CardTitle.d.ts +2 -2
  9. package/dist/components/DatePicker/DatePicker.d.ts +1 -1
  10. package/dist/components/DatePicker/useDatePicker.d.ts +8 -9
  11. package/dist/components/DatePicker/useDateRangePicker.d.ts +13 -14
  12. package/dist/components/Dialog/Dialog.d.ts +3 -5
  13. package/dist/components/DragDropFile/styles.d.ts +7 -7
  14. package/dist/components/Dropdown/Dropdown.d.ts +3 -3
  15. package/dist/components/Dropdown/DropdownMenu.d.ts +3 -3
  16. package/dist/components/Layout/Stack.d.ts +2 -2
  17. package/dist/components/Loaders/LoadingBar.d.ts +2 -2
  18. package/dist/components/Loaders/index.d.ts +3 -3
  19. package/dist/components/Modal/Modal.d.ts +1 -3
  20. package/dist/components/SideNavigation/Logo/Logo.d.ts +7 -2
  21. package/dist/components/SideNavigation/Menu/Menu.d.ts +7 -2
  22. package/dist/components/SideNavigation/Menu/MenuLink.d.ts +6 -1
  23. package/dist/components/SideNavigation/SideNavigation.d.ts +14 -4
  24. package/dist/components/Steps/StepsStep.d.ts +2 -2
  25. package/dist/components/Table/Table.d.ts +2 -1
  26. package/dist/components/TablePagination/TablePagination.styles.d.ts +5 -4
  27. package/dist/components/TablePagination/TablePaginationActions.d.ts +2 -5
  28. package/dist/components/Text/Text.d.ts +1 -1
  29. package/dist/components/TextField/TextField.d.ts +6 -2
  30. package/dist/components/ToggleGroup/Toggle.d.ts +2 -1
  31. package/dist/components/ToggleGroup/ToggleGroup.d.ts +2 -1
  32. package/dist/components/TopNavigation/Logo/Logo.d.ts +7 -2
  33. package/dist/components/TopNavigation/Menu/Menu.d.ts +2 -2
  34. package/dist/components/TopNavigation/Menu/MenuItemDropdown.d.ts +4 -4
  35. package/dist/components/TopNavigation/OpenSideNavButton/OpenSideNavButton.d.ts +2 -1
  36. package/dist/components/TopNavigation/TopNavigation.d.ts +8 -3
  37. package/dist/components/VisuallyHidden/VisuallyHidden.d.ts +1 -1
  38. package/dist/components/VisuallyHidden/VisuallyHidden.stories.d.ts +2 -1
  39. package/dist/index.js +9100 -253
  40. package/dist/index.js.map +1 -1
  41. package/dist/miranda-compatibility.theme-kYNEZ7mW.js +2528 -0
  42. package/dist/{miranda-compatibility.theme-ChPV-BBw.js.map → miranda-compatibility.theme-kYNEZ7mW.js.map} +1 -1
  43. package/dist/prop-K2Z3EsyG.js +81 -0
  44. package/dist/{prop-BwhJNJHO.js.map → prop-K2Z3EsyG.js.map} +1 -1
  45. package/dist/testing/index.js +282 -1
  46. package/dist/testing/index.js.map +1 -1
  47. package/dist/tests/renderer.d.ts +1 -1
  48. package/dist/theming/index.js +22 -1
  49. package/dist/theming/index.js.map +1 -1
  50. package/dist/toArray-Dxb1kUxx.js +14 -0
  51. package/dist/{toArray-BW3gx_gH.js.map → toArray-Dxb1kUxx.js.map} +1 -1
  52. package/dist/tools/index.js +6 -1
  53. package/dist/tools/index.js.map +1 -1
  54. package/dist/utils/toolset/flatten.d.ts +1 -1
  55. package/dist/utils/toolset/get.d.ts +1 -1
  56. package/dist/utils/toolset/isEmpty.d.ts +1 -1
  57. package/dist/utils/toolset/omit.d.ts +1 -1
  58. package/dist/utils/toolset/range.d.ts +1 -1
  59. package/package.json +46 -79
  60. package/dist/DragDropFile.context-D-EBrXnw.js +0 -2
  61. package/dist/DragDropFile.context-jVTIKfj5.mjs +0 -29
  62. package/dist/DragDropFile.context-jVTIKfj5.mjs.map +0 -1
  63. package/dist/index.mjs +0 -8046
  64. package/dist/index.mjs.map +0 -1
  65. package/dist/miranda-compatibility.theme-ChPV-BBw.js +0 -2
  66. package/dist/miranda-compatibility.theme-DQDHkWzC.mjs +0 -2469
  67. package/dist/miranda-compatibility.theme-DQDHkWzC.mjs.map +0 -1
  68. package/dist/prop-5m3D4883.mjs +0 -54
  69. package/dist/prop-5m3D4883.mjs.map +0 -1
  70. package/dist/prop-BwhJNJHO.js +0 -2
  71. package/dist/testing/index.mjs +0 -228
  72. package/dist/testing/index.mjs.map +0 -1
  73. package/dist/theming/index.mjs +0 -20
  74. package/dist/theming/index.mjs.map +0 -1
  75. package/dist/toArray-BW3gx_gH.js +0 -2
  76. package/dist/toArray-DqgeO2ua.mjs +0 -8
  77. package/dist/toArray-DqgeO2ua.mjs.map +0 -1
  78. package/dist/tools/index.mjs +0 -7
  79. package/dist/tools/index.mjs.map +0 -1
  80. package/src/@types/@loadsmart/utilsFunction.d.ts +0 -5
  81. package/src/@types/@loadsmart/utilsObject.d.ts +0 -5
  82. package/src/@types/svg.d.ts +0 -4
  83. package/src/addons/Theme/register.js +0 -590
  84. package/src/common/BackButton/BackButton.tsx +0 -18
  85. package/src/common/BackButton/index.ts +0 -2
  86. package/src/common/CloseButton/CloseButton.tsx +0 -55
  87. package/src/common/CloseButton/index.ts +0 -2
  88. package/src/common/SelectionWrapper.tsx +0 -130
  89. package/src/components/Accordion/Accordion.context.tsx +0 -36
  90. package/src/components/Accordion/Accordion.stories.tsx +0 -186
  91. package/src/components/Accordion/Accordion.test.tsx +0 -209
  92. package/src/components/Accordion/Accordion.tsx +0 -233
  93. package/src/components/Accordion/index.ts +0 -2
  94. package/src/components/Banner/Banner.stories.tsx +0 -213
  95. package/src/components/Banner/Banner.test.tsx +0 -118
  96. package/src/components/Banner/Banner.tsx +0 -418
  97. package/src/components/Banner/index.tsx +0 -2
  98. package/src/components/Breadcrumbs/Breadbrumbs.test.tsx +0 -125
  99. package/src/components/Breadcrumbs/Breadcrumb.tsx +0 -92
  100. package/src/components/Breadcrumbs/Breadcrumbs.stories.tsx +0 -21
  101. package/src/components/Breadcrumbs/Breadcrumbs.tsx +0 -54
  102. package/src/components/Breadcrumbs/index.ts +0 -4
  103. package/src/components/Button/Button.stories.tsx +0 -174
  104. package/src/components/Button/Button.test.tsx +0 -57
  105. package/src/components/Button/Button.tsx +0 -576
  106. package/src/components/Button/index.tsx +0 -2
  107. package/src/components/Calendar/Calendar.helpers.ts +0 -15
  108. package/src/components/Calendar/Calendar.stories.tsx +0 -168
  109. package/src/components/Calendar/Calendar.test.tsx +0 -316
  110. package/src/components/Calendar/Calendar.tsx +0 -130
  111. package/src/components/Calendar/Calendar.types.ts +0 -68
  112. package/src/components/Calendar/Date.helper.test.ts +0 -847
  113. package/src/components/Calendar/Date.helper.ts +0 -461
  114. package/src/components/Calendar/DateFormat.helper.test.ts +0 -171
  115. package/src/components/Calendar/DateFormat.helper.ts +0 -195
  116. package/src/components/Calendar/Month.helper.test.ts +0 -187
  117. package/src/components/Calendar/Month.helper.ts +0 -172
  118. package/src/components/Calendar/PickerModeToggle.tsx +0 -61
  119. package/src/components/Calendar/Pickers/DayPicker.test.tsx +0 -85
  120. package/src/components/Calendar/Pickers/DayPicker.tsx +0 -127
  121. package/src/components/Calendar/Pickers/MonthPicker.test.tsx +0 -77
  122. package/src/components/Calendar/Pickers/MonthPicker.tsx +0 -51
  123. package/src/components/Calendar/Pickers/PickerButton.tsx +0 -119
  124. package/src/components/Calendar/Pickers/YearPicker.test.tsx +0 -75
  125. package/src/components/Calendar/Pickers/YearPicker.tsx +0 -52
  126. package/src/components/Calendar/index.ts +0 -10
  127. package/src/components/Calendar/useCalendar.ts +0 -190
  128. package/src/components/Calendar/usePickerMode.ts +0 -48
  129. package/src/components/Card/Card.stories.tsx +0 -117
  130. package/src/components/Card/Card.test.tsx +0 -139
  131. package/src/components/Card/Card.tsx +0 -106
  132. package/src/components/Card/CardTitle.tsx +0 -43
  133. package/src/components/Card/index.ts +0 -2
  134. package/src/components/Checkbox/Checkbox.stories.tsx +0 -79
  135. package/src/components/Checkbox/Checkbox.test.tsx +0 -66
  136. package/src/components/Checkbox/Checkbox.tsx +0 -170
  137. package/src/components/Checkbox/index.ts +0 -2
  138. package/src/components/DatePicker/DatePicker.stories.tsx +0 -113
  139. package/src/components/DatePicker/DatePicker.test.tsx +0 -174
  140. package/src/components/DatePicker/DatePicker.tsx +0 -140
  141. package/src/components/DatePicker/DatePicker.types.ts +0 -30
  142. package/src/components/DatePicker/DateRangePicker.stories.tsx +0 -128
  143. package/src/components/DatePicker/DateRangePicker.test.tsx +0 -267
  144. package/src/components/DatePicker/DateRangePicker.tsx +0 -110
  145. package/src/components/DatePicker/index.ts +0 -3
  146. package/src/components/DatePicker/useDatePicker.ts +0 -201
  147. package/src/components/DatePicker/useDateRangePicker.ts +0 -224
  148. package/src/components/Dialog/Dialog.stories.tsx +0 -227
  149. package/src/components/Dialog/Dialog.test.tsx +0 -74
  150. package/src/components/Dialog/Dialog.tsx +0 -139
  151. package/src/components/Dialog/index.tsx +0 -4
  152. package/src/components/Dialog/useDialog.tsx +0 -59
  153. package/src/components/DragDropFile/DragDropFile.context.tsx +0 -39
  154. package/src/components/DragDropFile/DragDropFile.stories.tsx +0 -183
  155. package/src/components/DragDropFile/DragDropFile.tsx +0 -11
  156. package/src/components/DragDropFile/components/DropZone.test.tsx +0 -108
  157. package/src/components/DragDropFile/components/DropZone.tsx +0 -145
  158. package/src/components/DragDropFile/components/FileItem.tsx +0 -117
  159. package/src/components/DragDropFile/components/FileList.test.tsx +0 -119
  160. package/src/components/DragDropFile/components/FileList.tsx +0 -47
  161. package/src/components/DragDropFile/components/Wrapper.tsx +0 -22
  162. package/src/components/DragDropFile/index.ts +0 -9
  163. package/src/components/DragDropFile/mocks.ts +0 -23
  164. package/src/components/DragDropFile/styles.tsx +0 -81
  165. package/src/components/DragDropFile/types.ts +0 -85
  166. package/src/components/Drawer/Drawer.stories.tsx +0 -83
  167. package/src/components/Drawer/Drawer.test.tsx +0 -90
  168. package/src/components/Drawer/Drawer.tsx +0 -225
  169. package/src/components/Drawer/index.ts +0 -4
  170. package/src/components/Dropdown/Dropdown.context.ts +0 -13
  171. package/src/components/Dropdown/Dropdown.fixtures.ts +0 -15
  172. package/src/components/Dropdown/Dropdown.stories.tsx +0 -259
  173. package/src/components/Dropdown/Dropdown.test.tsx +0 -173
  174. package/src/components/Dropdown/Dropdown.tsx +0 -141
  175. package/src/components/Dropdown/Dropdown.types.ts +0 -59
  176. package/src/components/Dropdown/DropdownMenu.tsx +0 -263
  177. package/src/components/Dropdown/DropdownTrigger.tsx +0 -368
  178. package/src/components/Dropdown/index.ts +0 -15
  179. package/src/components/Dropdown/useDropdown.test.ts +0 -96
  180. package/src/components/Dropdown/useDropdown.ts +0 -65
  181. package/src/components/EmptyState/EmptyState.mocks.tsx +0 -60
  182. package/src/components/EmptyState/EmptyState.stories.tsx +0 -239
  183. package/src/components/EmptyState/EmptyState.test.tsx +0 -101
  184. package/src/components/EmptyState/EmptyState.tsx +0 -22
  185. package/src/components/EmptyState/EmptyState.types.ts +0 -59
  186. package/src/components/EmptyState/EmptyStateWithIcon.tsx +0 -42
  187. package/src/components/EmptyState/EmptyStateWithIllustration.tsx +0 -72
  188. package/src/components/EmptyState/Illustration.tsx +0 -29
  189. package/src/components/EmptyState/index.ts +0 -4
  190. package/src/components/ErrorMessage/ErrorMessage.stories.tsx +0 -26
  191. package/src/components/ErrorMessage/ErrorMessage.test.tsx +0 -24
  192. package/src/components/ErrorMessage/ErrorMessage.tsx +0 -19
  193. package/src/components/ErrorMessage/index.ts +0 -2
  194. package/src/components/HighlightMatch/HighlightMatch.stories.tsx +0 -24
  195. package/src/components/HighlightMatch/HighlightMatch.test.tsx +0 -37
  196. package/src/components/HighlightMatch/HighlightMatch.tsx +0 -29
  197. package/src/components/HighlightMatch/index.ts +0 -2
  198. package/src/components/Icon/Icon.tsx +0 -55
  199. package/src/components/Icon/assets/back.svg +0 -4
  200. package/src/components/Icon/assets/burger-menu.svg +0 -3
  201. package/src/components/Icon/assets/calendar.svg +0 -5
  202. package/src/components/Icon/assets/caret-down.svg +0 -4
  203. package/src/components/Icon/assets/caret-left.svg +0 -4
  204. package/src/components/Icon/assets/caret-right-last.svg +0 -4
  205. package/src/components/Icon/assets/caret-right.svg +0 -4
  206. package/src/components/Icon/assets/check.svg +0 -4
  207. package/src/components/Icon/assets/chevron-down.svg +0 -3
  208. package/src/components/Icon/assets/circle.svg +0 -3
  209. package/src/components/Icon/assets/close.svg +0 -4
  210. package/src/components/Icon/assets/dots-horizontal.svg +0 -1
  211. package/src/components/Icon/assets/information.svg +0 -4
  212. package/src/components/Icon/assets/minus.svg +0 -4
  213. package/src/components/Icon/assets/plus.svg +0 -4
  214. package/src/components/Icon/assets/refresh.svg +0 -3
  215. package/src/components/Icon/assets/sort-asc.svg +0 -7
  216. package/src/components/Icon/assets/sort-desc.svg +0 -7
  217. package/src/components/Icon/assets/sort.svg +0 -7
  218. package/src/components/Icon/assets/upload.svg +0 -3
  219. package/src/components/Icon/assets/warning.svg +0 -4
  220. package/src/components/Icon/index.ts +0 -2
  221. package/src/components/IconFactory/IconFactory.fixtures.tsx +0 -31
  222. package/src/components/IconFactory/IconFactory.stories.tsx +0 -120
  223. package/src/components/IconFactory/IconFactory.test.tsx +0 -36
  224. package/src/components/IconFactory/IconFactory.tsx +0 -75
  225. package/src/components/IconFactory/index.ts +0 -2
  226. package/src/components/Label/Label.stories.tsx +0 -47
  227. package/src/components/Label/Label.test.tsx +0 -80
  228. package/src/components/Label/Label.tsx +0 -120
  229. package/src/components/Label/index.ts +0 -2
  230. package/src/components/Layout/Box.tsx +0 -98
  231. package/src/components/Layout/Grid.tsx +0 -42
  232. package/src/components/Layout/Group.tsx +0 -55
  233. package/src/components/Layout/Layout.stories.tsx +0 -412
  234. package/src/components/Layout/Layout.tsx +0 -19
  235. package/src/components/Layout/Layout.types.ts +0 -9
  236. package/src/components/Layout/Layout.utils.ts +0 -20
  237. package/src/components/Layout/Sidebar.tsx +0 -75
  238. package/src/components/Layout/Stack.tsx +0 -63
  239. package/src/components/Layout/Switcher.tsx +0 -48
  240. package/src/components/Layout/index.tsx +0 -8
  241. package/src/components/Link/Link.stories.tsx +0 -22
  242. package/src/components/Link/Link.test.tsx +0 -79
  243. package/src/components/Link/Link.tsx +0 -114
  244. package/src/components/Link/index.ts +0 -3
  245. package/src/components/Link/useSafeLink.ts +0 -49
  246. package/src/components/Loaders/LoadingBar.stories.tsx +0 -36
  247. package/src/components/Loaders/LoadingBar.test.tsx +0 -35
  248. package/src/components/Loaders/LoadingBar.tsx +0 -65
  249. package/src/components/Loaders/LoadingDots.stories.tsx +0 -69
  250. package/src/components/Loaders/LoadingDots.test.tsx +0 -22
  251. package/src/components/Loaders/LoadingDots.tsx +0 -68
  252. package/src/components/Loaders/Spinner.stories.tsx +0 -24
  253. package/src/components/Loaders/Spinner.test.tsx +0 -35
  254. package/src/components/Loaders/Spinner.tsx +0 -68
  255. package/src/components/Loaders/index.tsx +0 -3
  256. package/src/components/Modal/Modal.stories.tsx +0 -121
  257. package/src/components/Modal/Modal.test.tsx +0 -46
  258. package/src/components/Modal/Modal.tsx +0 -163
  259. package/src/components/Modal/index.tsx +0 -2
  260. package/src/components/Pagination/Pagination.constants.ts +0 -7
  261. package/src/components/Pagination/Pagination.helper.ts +0 -88
  262. package/src/components/Pagination/Pagination.stories.tsx +0 -29
  263. package/src/components/Pagination/Pagination.test.tsx +0 -102
  264. package/src/components/Pagination/Pagination.tsx +0 -34
  265. package/src/components/Pagination/Pagination.types.ts +0 -55
  266. package/src/components/Pagination/PaginationItem.tsx +0 -74
  267. package/src/components/Pagination/index.ts +0 -2
  268. package/src/components/Pagination/usePagination.test.ts +0 -188
  269. package/src/components/Pagination/usePagination.ts +0 -87
  270. package/src/components/Popover/Popover.stories.tsx +0 -50
  271. package/src/components/Popover/Popover.test.tsx +0 -22
  272. package/src/components/Popover/Popover.tsx +0 -110
  273. package/src/components/Popover/Popover.types.ts +0 -39
  274. package/src/components/Popover/index.ts +0 -11
  275. package/src/components/ProgressBar/ProgressBar.stories.tsx +0 -47
  276. package/src/components/ProgressBar/ProgressBar.test.tsx +0 -40
  277. package/src/components/ProgressBar/ProgressBar.tsx +0 -89
  278. package/src/components/ProgressBar/index.tsx +0 -2
  279. package/src/components/Radio/Radio.stories.tsx +0 -75
  280. package/src/components/Radio/Radio.test.tsx +0 -66
  281. package/src/components/Radio/Radio.tsx +0 -153
  282. package/src/components/Radio/index.ts +0 -2
  283. package/src/components/Section/Section.test.tsx +0 -35
  284. package/src/components/Section/Section.tsx +0 -66
  285. package/src/components/Section/Sections.stories.tsx +0 -56
  286. package/src/components/Section/index.ts +0 -2
  287. package/src/components/Select/Select.constants.ts +0 -12
  288. package/src/components/Select/Select.context.ts +0 -11
  289. package/src/components/Select/Select.fixtures.ts +0 -167
  290. package/src/components/Select/Select.stories.tsx +0 -780
  291. package/src/components/Select/Select.test.tsx +0 -1109
  292. package/src/components/Select/Select.tsx +0 -271
  293. package/src/components/Select/Select.types.ts +0 -148
  294. package/src/components/Select/SelectCreatableOption.tsx +0 -20
  295. package/src/components/Select/SelectEmpty.test.tsx +0 -15
  296. package/src/components/Select/SelectEmpty.tsx +0 -29
  297. package/src/components/Select/SelectOption.test.tsx +0 -78
  298. package/src/components/Select/SelectOption.tsx +0 -79
  299. package/src/components/Select/SelectTrigger.tsx +0 -83
  300. package/src/components/Select/components.tsx +0 -14
  301. package/src/components/Select/index.ts +0 -12
  302. package/src/components/Select/useSelect.helpers.test.ts +0 -184
  303. package/src/components/Select/useSelect.helpers.ts +0 -63
  304. package/src/components/Select/useSelect.test.ts +0 -207
  305. package/src/components/Select/useSelect.ts +0 -540
  306. package/src/components/Select/useSelectExternal.ts +0 -26
  307. package/src/components/SideNavigation/Logo/Logo.test.tsx +0 -19
  308. package/src/components/SideNavigation/Logo/Logo.tsx +0 -26
  309. package/src/components/SideNavigation/Logo/index.ts +0 -1
  310. package/src/components/SideNavigation/Menu/Menu.test.tsx +0 -65
  311. package/src/components/SideNavigation/Menu/Menu.tsx +0 -53
  312. package/src/components/SideNavigation/Menu/MenuBaseItem.tsx +0 -64
  313. package/src/components/SideNavigation/Menu/MenuExpandable.tsx +0 -107
  314. package/src/components/SideNavigation/Menu/MenuLink.tsx +0 -37
  315. package/src/components/SideNavigation/Menu/index.ts +0 -1
  316. package/src/components/SideNavigation/Separator/Separator.test.tsx +0 -14
  317. package/src/components/SideNavigation/Separator/Separator.tsx +0 -20
  318. package/src/components/SideNavigation/Separator/index.ts +0 -1
  319. package/src/components/SideNavigation/SideNavigation.stories.tsx +0 -69
  320. package/src/components/SideNavigation/SideNavigation.test.tsx +0 -21
  321. package/src/components/SideNavigation/SideNavigation.tsx +0 -47
  322. package/src/components/SideNavigation/index.ts +0 -5
  323. package/src/components/SideNavigation/useSideNavigation.ts +0 -36
  324. package/src/components/Steps/ProgressSteps/ProgressStep.tsx +0 -163
  325. package/src/components/Steps/ProgressSteps/ProgressSteps.tsx +0 -37
  326. package/src/components/Steps/ProgressSteps/index.ts +0 -1
  327. package/src/components/Steps/Steps.fixtures.ts +0 -11
  328. package/src/components/Steps/Steps.helpers.ts +0 -11
  329. package/src/components/Steps/Steps.stories.tsx +0 -65
  330. package/src/components/Steps/Steps.test.tsx +0 -78
  331. package/src/components/Steps/Steps.tsx +0 -53
  332. package/src/components/Steps/Steps.types.ts +0 -5
  333. package/src/components/Steps/StepsContext.ts +0 -5
  334. package/src/components/Steps/StepsStep.tsx +0 -58
  335. package/src/components/Steps/index.ts +0 -6
  336. package/src/components/Steps/useStep.test.tsx +0 -217
  337. package/src/components/Steps/useSteps.ts +0 -131
  338. package/src/components/Switch/Switch.stories.tsx +0 -65
  339. package/src/components/Switch/Switch.test.tsx +0 -60
  340. package/src/components/Switch/Switch.tsx +0 -209
  341. package/src/components/Switch/index.ts +0 -2
  342. package/src/components/Table/Selection.tsx +0 -202
  343. package/src/components/Table/Table.fixtures.ts +0 -101
  344. package/src/components/Table/Table.stories.tsx +0 -568
  345. package/src/components/Table/Table.test.tsx +0 -310
  346. package/src/components/Table/Table.tsx +0 -523
  347. package/src/components/Table/Table.types.ts +0 -93
  348. package/src/components/Table/TableSortHandle.tsx +0 -31
  349. package/src/components/Table/index.tsx +0 -2
  350. package/src/components/Table/useSortBy.test.ts +0 -96
  351. package/src/components/Table/useSortBy.ts +0 -92
  352. package/src/components/Table/useSortBy.types.ts +0 -21
  353. package/src/components/TablePagination/RowsPerPage.tsx +0 -81
  354. package/src/components/TablePagination/TablePagination.stories.tsx +0 -42
  355. package/src/components/TablePagination/TablePagination.styles.ts +0 -13
  356. package/src/components/TablePagination/TablePagination.test.tsx +0 -111
  357. package/src/components/TablePagination/TablePagination.tsx +0 -49
  358. package/src/components/TablePagination/TablePagination.types.ts +0 -69
  359. package/src/components/TablePagination/TablePaginationActions.tsx +0 -144
  360. package/src/components/TablePagination/index.ts +0 -2
  361. package/src/components/Tabs/Tabs.stories.tsx +0 -78
  362. package/src/components/Tabs/Tabs.test.tsx +0 -103
  363. package/src/components/Tabs/Tabs.tsx +0 -287
  364. package/src/components/Tabs/Tabs.types.ts +0 -7
  365. package/src/components/Tabs/TabsContext.ts +0 -10
  366. package/src/components/Tabs/index.ts +0 -2
  367. package/src/components/Tag/Tag.stories.tsx +0 -112
  368. package/src/components/Tag/Tag.test.tsx +0 -19
  369. package/src/components/Tag/Tag.tsx +0 -393
  370. package/src/components/Tag/index.ts +0 -2
  371. package/src/components/Text/Text.stories.tsx +0 -59
  372. package/src/components/Text/Text.test.tsx +0 -48
  373. package/src/components/Text/Text.tsx +0 -14
  374. package/src/components/Text/index.ts +0 -2
  375. package/src/components/TextField/TextField.stories.tsx +0 -90
  376. package/src/components/TextField/TextField.test.tsx +0 -36
  377. package/src/components/TextField/TextField.tsx +0 -244
  378. package/src/components/TextField/index.ts +0 -6
  379. package/src/components/TextField/useTextField.tsx +0 -26
  380. package/src/components/Textarea/Textarea.stories.tsx +0 -101
  381. package/src/components/Textarea/Textarea.test.tsx +0 -14
  382. package/src/components/Textarea/Textarea.tsx +0 -230
  383. package/src/components/Textarea/index.ts +0 -2
  384. package/src/components/Toast/Toast.stories.tsx +0 -50
  385. package/src/components/Toast/Toast.test.tsx +0 -24
  386. package/src/components/Toast/Toast.tsx +0 -141
  387. package/src/components/Toast/icons/close.svg +0 -3
  388. package/src/components/Toast/icons/danger.svg +0 -4
  389. package/src/components/Toast/icons/neutral.svg +0 -4
  390. package/src/components/Toast/icons/success.svg +0 -3
  391. package/src/components/Toast/icons/warning.svg +0 -4
  392. package/src/components/Toast/index.tsx +0 -2
  393. package/src/components/ToggleGroup/Toggle.test.tsx +0 -76
  394. package/src/components/ToggleGroup/Toggle.tsx +0 -158
  395. package/src/components/ToggleGroup/ToggleGroup.constants.ts +0 -16
  396. package/src/components/ToggleGroup/ToggleGroup.stories.tsx +0 -145
  397. package/src/components/ToggleGroup/ToggleGroup.test.tsx +0 -237
  398. package/src/components/ToggleGroup/ToggleGroup.tsx +0 -165
  399. package/src/components/ToggleGroup/ToggleGroup.types.ts +0 -35
  400. package/src/components/ToggleGroup/ToggleGroupContext.ts +0 -13
  401. package/src/components/ToggleGroup/index.ts +0 -3
  402. package/src/components/Tooltip/Tooltip.stories.tsx +0 -82
  403. package/src/components/Tooltip/Tooltip.test.tsx +0 -49
  404. package/src/components/Tooltip/Tooltip.tsx +0 -185
  405. package/src/components/Tooltip/index.ts +0 -2
  406. package/src/components/TopNavigation/Logo/Logo.test.tsx +0 -21
  407. package/src/components/TopNavigation/Logo/Logo.tsx +0 -20
  408. package/src/components/TopNavigation/Logo/index.ts +0 -1
  409. package/src/components/TopNavigation/Menu/Menu.test.tsx +0 -125
  410. package/src/components/TopNavigation/Menu/Menu.tsx +0 -62
  411. package/src/components/TopNavigation/Menu/MenuItemDropdown.tsx +0 -118
  412. package/src/components/TopNavigation/Menu/MenuItemIcon.tsx +0 -50
  413. package/src/components/TopNavigation/Menu/index.ts +0 -1
  414. package/src/components/TopNavigation/OpenSideNavButton/OpenSideNavButton.tsx +0 -28
  415. package/src/components/TopNavigation/OpenSideNavButton/index.ts +0 -1
  416. package/src/components/TopNavigation/TopNavigation.stories.tsx +0 -42
  417. package/src/components/TopNavigation/TopNavigation.tsx +0 -47
  418. package/src/components/TopNavigation/index.ts +0 -2
  419. package/src/components/VisuallyHidden/VisuallyHidden.mdx +0 -26
  420. package/src/components/VisuallyHidden/VisuallyHidden.stories.tsx +0 -32
  421. package/src/components/VisuallyHidden/VisuallyHidden.test.tsx +0 -18
  422. package/src/components/VisuallyHidden/VisuallyHidden.tsx +0 -6
  423. package/src/components/VisuallyHidden/index.ts +0 -1
  424. package/src/docs/tools/DatePickerEvent.stories.mdx +0 -108
  425. package/src/docs/tools/DragDropFileEvent.stories.mdx +0 -75
  426. package/src/docs/tools/conditional.stories.mdx +0 -251
  427. package/src/docs/tools/selectEvent.stories.mdx +0 -121
  428. package/src/hooks/useClickOutside/index.ts +0 -1
  429. package/src/hooks/useClickOutside/useClickOutside.test.tsx +0 -116
  430. package/src/hooks/useClickOutside/useClickOutside.ts +0 -65
  431. package/src/hooks/useDidMount/index.ts +0 -1
  432. package/src/hooks/useDidMount/useDidMount.test.tsx +0 -38
  433. package/src/hooks/useDidMount/useDidMount.ts +0 -20
  434. package/src/hooks/useFingerprint/index.ts +0 -1
  435. package/src/hooks/useFingerprint/useFingerprint.test.ts +0 -76
  436. package/src/hooks/useFingerprint/useFingerprint.ts +0 -94
  437. package/src/hooks/useFocusTrap/index.ts +0 -2
  438. package/src/hooks/useFocusTrap/useFocusTrap.stories.tsx +0 -87
  439. package/src/hooks/useFocusTrap/useFocusTrap.test.tsx +0 -129
  440. package/src/hooks/useFocusTrap/useFocusTrap.ts +0 -187
  441. package/src/hooks/useFocusWithin/index.ts +0 -2
  442. package/src/hooks/useFocusWithin/useFocusWithin.test.tsx +0 -71
  443. package/src/hooks/useFocusWithin/useFocusWithin.ts +0 -62
  444. package/src/hooks/useHeightExpansionToggler/index.ts +0 -2
  445. package/src/hooks/useHeightExpansionToggler/useHeightExpansionToggler.test.tsx +0 -85
  446. package/src/hooks/useHeightExpansionToggler/useHeightExpansionToggler.ts +0 -54
  447. package/src/hooks/useID/index.ts +0 -1
  448. package/src/hooks/useID/useID.ts +0 -18
  449. package/src/hooks/useSelectable/SelectableStrategy.test.ts +0 -424
  450. package/src/hooks/useSelectable/SelectableStrategy.ts +0 -143
  451. package/src/hooks/useSelectable/index.ts +0 -8
  452. package/src/hooks/useSelectable/useSelectable.test.ts +0 -221
  453. package/src/hooks/useSelectable/useSelectable.ts +0 -156
  454. package/src/hooks/useSelectable/useSelectable.types.ts +0 -45
  455. package/src/hooks/useWindowResize/index.ts +0 -1
  456. package/src/hooks/useWindowResize/useWindowResize.ts +0 -27
  457. package/src/index.ts +0 -188
  458. package/src/stories/assets/code-brackets.svg +0 -1
  459. package/src/stories/assets/colors.svg +0 -1
  460. package/src/stories/assets/comments.svg +0 -1
  461. package/src/stories/assets/direction.svg +0 -1
  462. package/src/stories/assets/flow.svg +0 -1
  463. package/src/stories/assets/plugin.svg +0 -1
  464. package/src/stories/assets/repo.svg +0 -1
  465. package/src/stories/assets/stackalt.svg +0 -1
  466. package/src/stories/introduction.stories.mdx +0 -57
  467. package/src/stories/startPage.stories.mdx +0 -95
  468. package/src/styles/activatable.tsx +0 -30
  469. package/src/styles/disableable.tsx +0 -45
  470. package/src/styles/ellipsizable.tsx +0 -14
  471. package/src/styles/focusable.tsx +0 -32
  472. package/src/styles/font.test.ts +0 -31
  473. package/src/styles/font.tsx +0 -40
  474. package/src/styles/hidden.tsx +0 -29
  475. package/src/styles/hoverable.tsx +0 -30
  476. package/src/styles/transition.tsx +0 -25
  477. package/src/styles/typography.test.ts +0 -93
  478. package/src/styles/typography.ts +0 -190
  479. package/src/testing/DatePickerEvent/DatePickerEvent.ts +0 -117
  480. package/src/testing/DatePickerEvent/DateRangePickerEvent.ts +0 -83
  481. package/src/testing/DatePickerEvent/index.ts +0 -2
  482. package/src/testing/DragDropFileEvent/DragDropFileEvent.ts +0 -56
  483. package/src/testing/DragDropFileEvent/index.ts +0 -1
  484. package/src/testing/SelectEvent/SelectEvent.test.tsx +0 -192
  485. package/src/testing/SelectEvent/SelectEvent.ts +0 -264
  486. package/src/testing/SelectEvent/index.ts +0 -1
  487. package/src/testing/getInterpolatedStyles/getInterpolatedStyles.ts +0 -25
  488. package/src/testing/getInterpolatedStyles/index.ts +0 -1
  489. package/src/testing/index.ts +0 -6
  490. package/src/testing/renderWithDragDropFileProvider/index.ts +0 -1
  491. package/src/testing/renderWithDragDropFileProvider/renderWithDragDropFileProvider.tsx +0 -28
  492. package/src/tests/generator.ts +0 -127
  493. package/src/tests/renderer.tsx +0 -39
  494. package/src/theming/index.ts +0 -42
  495. package/src/theming/themes/alice.theme.ts +0 -1022
  496. package/src/theming/themes/index.ts +0 -3
  497. package/src/theming/themes/loadsmart.theme.ts +0 -1019
  498. package/src/theming/themes/miranda-compatibility.theme.ts +0 -972
  499. package/src/theming/theming.helpers.ts +0 -95
  500. package/src/tools/conditional.test.ts +0 -166
  501. package/src/tools/conditional.ts +0 -127
  502. package/src/tools/index.ts +0 -2
  503. package/src/tools/prop.test.ts +0 -52
  504. package/src/tools/prop.ts +0 -36
  505. package/src/utils/toolset/awaitTo.ts +0 -24
  506. package/src/utils/toolset/flatten.ts +0 -3
  507. package/src/utils/toolset/formatBytes.test.ts +0 -45
  508. package/src/utils/toolset/formatBytes.ts +0 -18
  509. package/src/utils/toolset/get.ts +0 -2
  510. package/src/utils/toolset/getID.test.ts +0 -57
  511. package/src/utils/toolset/getID.ts +0 -93
  512. package/src/utils/toolset/getOrdinalSuffix.test.ts +0 -27
  513. package/src/utils/toolset/getOrdinalSuffix.ts +0 -15
  514. package/src/utils/toolset/highlightMatch.test.tsx +0 -32
  515. package/src/utils/toolset/highlightMatch.tsx +0 -32
  516. package/src/utils/toolset/interleave.test.ts +0 -40
  517. package/src/utils/toolset/interleave.ts +0 -23
  518. package/src/utils/toolset/isEmpty.ts +0 -2
  519. package/src/utils/toolset/isThenable.test.ts +0 -40
  520. package/src/utils/toolset/isThenable.ts +0 -14
  521. package/src/utils/toolset/keyboard.ts +0 -50
  522. package/src/utils/toolset/omit.ts +0 -2
  523. package/src/utils/toolset/pluralize.ts +0 -16
  524. package/src/utils/toolset/range.ts +0 -2
  525. package/src/utils/toolset/rem.ts +0 -7
  526. package/src/utils/toolset/styledCompounds.ts +0 -22
  527. package/src/utils/toolset/toArray.ts +0 -16
  528. package/src/utils/types/ColorScheme.ts +0 -3
  529. package/src/utils/types/EventLike.ts +0 -11
  530. package/src/utils/types/InterpolatedStyle.ts +0 -3
  531. package/src/utils/types/Status.ts +0 -8
@@ -1,192 +0,0 @@
1
- import React from 'react'
2
- import { render } from '@testing-library/react'
3
-
4
- import {
5
- FRUITS,
6
- USERS,
7
- useSyncFruits,
8
- useAsyncUsers,
9
- } from '../../components/Select/Select.fixtures'
10
- import generator from '../../tests/generator'
11
- import renderer, { screen } from '../../tests/renderer'
12
- import Select from '../../components/Select/Select'
13
-
14
- import selectEvent from './SelectEvent'
15
-
16
- import type { SelectProps, Option, GenericOption } from '../../components/Select/Select.types'
17
-
18
- const OPTIONS = [
19
- ...FRUITS.map((fruit) => ({
20
- value: useSyncFruits().adapter.getKey(fruit),
21
- label: useSyncFruits().adapter.getLabel(fruit),
22
- })),
23
- ...USERS.map((user) => ({
24
- value: useAsyncUsers().adapter.getKey(user),
25
- label: useAsyncUsers().adapter.getLabel(user),
26
- })),
27
- ]
28
-
29
- function Experiment(overrides: Partial<SelectProps>) {
30
- return (
31
- <div>
32
- <label htmlFor="select-something">Select something</label>
33
- <Select
34
- id="select-something"
35
- name="select-something"
36
- datasources={[useSyncFruits, useAsyncUsers]}
37
- {...overrides}
38
- />
39
- </div>
40
- )
41
- }
42
-
43
- describe('SelectEvent', () => {
44
- const setup = (overrides: Partial<SelectProps>) =>
45
- renderer(<Experiment {...overrides} />).render()
46
-
47
- describe('Single selection', () => {
48
- function shouldHaveDisplayValue(input: HTMLElement, selectedValue: string) {
49
- expect(input).toHaveDisplayValue(selectedValue)
50
- }
51
-
52
- async function shouldHaveSelectedOption(input: HTMLElement, option: GenericOption) {
53
- const selectedOptions = await selectEvent.getSelectedOptions(input)
54
- expect(selectedOptions).toHaveLength(1)
55
- expect(selectedOptions[0]).toHaveTextContent(option.label)
56
- }
57
-
58
- it('initializes with a selected item', async () => {
59
- const option = generator.pick(OPTIONS) as GenericOption
60
-
61
- setup({
62
- value: option as Option,
63
- })
64
-
65
- const input = screen.getByLabelText('Select something')
66
- expect(input).toHaveDisplayValue(option.label)
67
-
68
- const selectedOptions = await selectEvent.getSelectedOptions(input)
69
- expect(selectedOptions).toHaveLength(1)
70
- expect(selectedOptions[0]).toHaveTextContent(option.label)
71
- })
72
-
73
- it('updates selected item after the initially selected item changes', async () => {
74
- const initialOption = generator.pick(OPTIONS) as GenericOption
75
-
76
- const props = {
77
- value: initialOption as Option,
78
- }
79
-
80
- const { rerender } = render(<Experiment {...props} />)
81
-
82
- expect(screen.getByLabelText('Select something')).toHaveDisplayValue(initialOption.label)
83
-
84
- let selectedOptions = await selectEvent.getSelectedOptions(
85
- screen.getByLabelText('Select something')
86
- )
87
- expect(selectedOptions).toHaveLength(1)
88
- expect(selectedOptions[0]).toHaveTextContent(initialOption.label)
89
-
90
- // Update the selected item via prop change
91
-
92
- const newOption = generator.pick(OPTIONS) as GenericOption
93
- const newProps = {
94
- value: newOption as Option,
95
- }
96
-
97
- rerender(<Experiment {...newProps} />)
98
-
99
- expect(screen.getByLabelText('Select something')).toHaveDisplayValue(newOption.label)
100
-
101
- selectedOptions = await selectEvent.getSelectedOptions(
102
- screen.getByLabelText('Select something')
103
- )
104
- expect(selectedOptions).toHaveLength(1)
105
- expect(selectedOptions[0]).toHaveTextContent(newOption.label)
106
- })
107
-
108
- it('selects the clicked item', async () => {
109
- const props = {
110
- onChange: jest.fn(),
111
- }
112
- setup(props)
113
- const option = generator.pick(OPTIONS) as GenericOption
114
-
115
- const input = screen.getByLabelText('Select something')
116
- await selectEvent.select(option.label, input)
117
-
118
- shouldHaveDisplayValue(input, option.label)
119
- await shouldHaveSelectedOption(input, option)
120
- })
121
-
122
- it('selects the option when a RegExp is provided', async () => {
123
- const props = {
124
- onChange: jest.fn(),
125
- }
126
- setup(props)
127
- const option = generator.pick(OPTIONS) as GenericOption
128
- const optionRegexp = new RegExp(option.label, 'i')
129
-
130
- const input = screen.getByLabelText('Select something')
131
- await selectEvent.select(optionRegexp, input)
132
-
133
- shouldHaveDisplayValue(input, option.label)
134
- await shouldHaveSelectedOption(input, option)
135
- })
136
-
137
- it('unselects the clicked item', async () => {
138
- setup({})
139
-
140
- const option = generator.pick(OPTIONS) as GenericOption
141
- const input = screen.getByLabelText('Select something')
142
-
143
- // first we select
144
- await selectEvent.select(option.label, input)
145
-
146
- shouldHaveDisplayValue(input, option.label)
147
- await shouldHaveSelectedOption(input, option)
148
-
149
- // then we unselect
150
- await selectEvent.unselect(option.label, input)
151
- shouldHaveDisplayValue(input, '')
152
-
153
- const selectedOptions = await selectEvent.getSelectedOptions(input)
154
- expect(selectedOptions).toHaveLength(0)
155
- })
156
-
157
- it('clears initial selection', async () => {
158
- const option = generator.pick(OPTIONS) as GenericOption
159
-
160
- setup({
161
- value: option as Option,
162
- })
163
-
164
- const input = screen.getByLabelText('Select something')
165
- expect(input).toHaveDisplayValue(option.label)
166
-
167
- let selectedOptions = await selectEvent.getSelectedOptions(
168
- screen.getByLabelText('Select something')
169
- )
170
- expect(selectedOptions).toHaveLength(1)
171
- expect(selectedOptions[0]).toHaveTextContent(option.label)
172
-
173
- await selectEvent.clear(input)
174
-
175
- expect(input).toHaveDisplayValue('')
176
-
177
- selectedOptions = await selectEvent.getSelectedOptions(input)
178
- expect(selectedOptions).toHaveLength(0)
179
- })
180
-
181
- it('searches a given item', async () => {
182
- setup({})
183
-
184
- const option = generator.pick(OPTIONS) as GenericOption
185
- const input = screen.getByLabelText('Select something')
186
-
187
- await selectEvent.search(option.label, input)
188
- const visibleOptions = await selectEvent.getOptions(input)
189
- expect(visibleOptions.length).toBeGreaterThanOrEqual(1)
190
- })
191
- })
192
- })
@@ -1,264 +0,0 @@
1
- import { act, waitFor, within, waitForElementToBeRemoved, fireEvent } from '@testing-library/react'
2
-
3
- // based on https://github.com/romgain/react-select-event/blob/master/src/index.ts
4
-
5
- // find the select container from its input field 🤷
6
- function getSelectContainer(input: HTMLElement): HTMLElement {
7
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
8
- return input.parentNode!.parentNode!.parentNode as HTMLElement
9
- }
10
-
11
- /**
12
- * Please, make sure to call expand before trying to get the menu container
13
- */
14
- function getSelectMenu(input: HTMLElement): HTMLElement {
15
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
16
- return input.parentNode!.parentNode!.nextSibling as HTMLElement
17
- }
18
-
19
- function getSelectTriggerHandle(input: HTMLElement): HTMLElement {
20
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
21
- return input.parentNode!.nextSibling!.nextSibling as HTMLElement
22
- }
23
-
24
- function getSelectSearchContainer(input: HTMLElement): HTMLElement {
25
- return input.parentNode as HTMLElement
26
- }
27
-
28
- function isSelectMenuExpanded(input: HTMLElement): boolean {
29
- const selectContainer = getSelectContainer(input)
30
-
31
- /**
32
- * Once the select is expanded, we have the following structure:
33
- * +-------------+
34
- * | Close button (visually hidden)
35
- * +-------------+
36
- * | DropdownTrigger
37
- * +-------------+
38
- * | Popover
39
- * +-------------+
40
- *
41
- * This, if the container has 3 children, we assume the menu is expanded
42
- */
43
- return selectContainer.children.length === 3
44
- }
45
-
46
- /**
47
- * This is needed because some datasources might be asynchronous.
48
- * To ensure that the data they retrieve will be available, we wait for the
49
- * querying phase to finish.
50
- * @param {HTMLElement} input - You can refer to this element by the label you applied to the `Select`.
51
- */
52
- async function waitForPendingQuery(input: HTMLElement) {
53
- const searchContainer = getSelectSearchContainer(input)
54
-
55
- if (!within(searchContainer).queryByTestId('select-trigger-loading')) {
56
- return
57
- }
58
-
59
- await waitForElementToBeRemoved(
60
- () => within(searchContainer).queryByTestId('select-trigger-loading'),
61
- { timeout: 2500 }
62
- )
63
- }
64
-
65
- /**
66
- * Expand the `Select` menu, if it not already expanded.
67
- * @param {HTMLElement} input - You can refer to this element by the label you applied to the `Select`.
68
- * @returns {Promise<void>}
69
- */
70
- async function expand(input: HTMLElement): Promise<void> {
71
- await waitForPendingQuery(input)
72
-
73
- if (isSelectMenuExpanded(input)) {
74
- return
75
- }
76
-
77
- const triggerHandle = getSelectTriggerHandle(input)
78
-
79
- await waitFor(() => {
80
- expect(triggerHandle).toBeEnabled()
81
- })
82
-
83
- /**
84
- * Using act and a manually dispatched event so we can account for the
85
- * state changes that happen when the search input is clicked.
86
- * This is mainly related to the `handleEvent` from the `useClickOutside` hook.
87
- */
88
- act(() => {
89
- input.dispatchEvent(new MouseEvent('click', { bubbles: true }))
90
- })
91
-
92
- await waitFor(() => {
93
- expect(within(getSelectContainer(input)).getByRole('listbox')).toBeInTheDocument()
94
- })
95
- }
96
-
97
- /**
98
- * Collapse the `Select` menu, if it not already collapsed.
99
- * @param {HTMLElement} input - You can refer to this element by the label you applied to the `Select`.
100
- * @returns {Promise<void>}
101
- */
102
- async function collapse(input: HTMLElement): Promise<void> {
103
- if (!isSelectMenuExpanded(input)) {
104
- return
105
- }
106
-
107
- const triggerHandle = getSelectTriggerHandle(input)
108
-
109
- fireEvent.click(triggerHandle)
110
-
111
- await waitFor(() => {
112
- expect(within(getSelectContainer(input)).queryByRole('listbox')).not.toBeInTheDocument()
113
- })
114
- }
115
-
116
- /**
117
- * Select the provided option(s), if they are present in the menu.
118
- * Notice that we programatically expand the `Select` menu before select the item
119
- * @param {string | RegExp} option - Label for the option to be selected.
120
- * @param {HTMLElement} input - You can refer to this element by the label you applied to the `Select`.
121
- * @returns {Promise<void>}
122
- */
123
- async function select(option: string | RegExp, input: HTMLElement): Promise<void> {
124
- await expand(input)
125
-
126
- const menuContainer = getSelectMenu(input)
127
-
128
- const optionElement = await within(menuContainer).findByLabelText(option)
129
-
130
- // click the option if exists; Select currently closes when an item is clicked.
131
- if (optionElement && optionElement.getAttribute('aria-selected') == 'false') {
132
- /**
133
- * This is a replacement for the `userEvent.click`.
134
- * We are adopting this approach to remove the peer dep to @testing-library/user-event for
135
- * applications using this helper, so they are not tied to the same user-event as this library.
136
- * It follows the same sequence of event stated in the documentation available at:
137
- * https://testing-library.com/docs/guide-events/#interactions-vs-events
138
- */
139
- fireEvent.mouseDown(optionElement)
140
-
141
- act(() => {
142
- optionElement.focus()
143
- })
144
-
145
- fireEvent.mouseUp(optionElement)
146
- fireEvent.click(optionElement)
147
- }
148
-
149
- // we collapse in the case the option was not clicked
150
- await collapse(input)
151
- }
152
-
153
- /**
154
- * Unselect the provided option(s), if they are present in the menu AND are selected.
155
- * Notice that we programatically expand the `Select` menu before select the item
156
- * @param {string} option - Label for the option to be unselected.
157
- * @param {HTMLElement} input - You can refer to this element by the label you applied to the `Select`.
158
- * @returns {Promise<void>}
159
- */
160
- async function unselect(option: string, input: HTMLElement): Promise<void> {
161
- await expand(input)
162
-
163
- const menuContainer = getSelectMenu(input)
164
-
165
- const optionElement = await within(menuContainer).findByLabelText(option)
166
-
167
- // ensures that the option exists and IS selected
168
- if (optionElement && optionElement.getAttribute('aria-selected') === 'true') {
169
- fireEvent.click(optionElement)
170
- }
171
-
172
- // we collapse in the case the option was not clicked
173
- await collapse(input)
174
- }
175
-
176
- /**
177
- * Clear the selection, if there are any options selected.
178
- * @param {HTMLElement} input - You can refer to this element by the label you applied to the `Select`.
179
- * @returns {Promise<void>}
180
- */
181
- async function clear(input: HTMLElement): Promise<void> {
182
- await waitForPendingQuery(input)
183
-
184
- const searchContainer = getSelectSearchContainer(input)
185
-
186
- const clearButton = within(searchContainer).getByTestId('select-trigger-clear')
187
-
188
- if (clearButton) {
189
- fireEvent.click(clearButton)
190
- }
191
- }
192
-
193
- /**
194
- * Perform search based on the given `query`. It will fail if the option is not found.
195
- * @param {string} query - Search term.
196
- * @param {HTMLElement} input - You can refer to this element by the label you applied to the `Select`.
197
- * @returns {Promise<void>}
198
- */
199
- async function search(query: string, input: HTMLElement): Promise<void> {
200
- fireEvent.change(input, {
201
- target: { value: query },
202
- })
203
-
204
- await waitForPendingQuery(input)
205
-
206
- const menuContainer = getSelectMenu(input)
207
-
208
- await within(menuContainer).findAllByRole('option')
209
- }
210
-
211
- /**
212
- * Get options elements currently available in the `Select` menu.
213
- * @param {HTMLElement} input - You can refer to this element by the label you applied to the `Select`.
214
- * @returns {Promise<HTMLElement[]>}
215
- */
216
- async function getOptions(input: HTMLElement): Promise<HTMLElement[]> {
217
- await expand(input)
218
-
219
- const menuContainer = getSelectMenu(input)
220
-
221
- const options = within(menuContainer).queryAllByRole('option')
222
-
223
- await collapse(input)
224
-
225
- return options
226
- }
227
-
228
- /**
229
- * Get options elements currently selected in the `Select` menu.
230
- * @param {HTMLElement} input - You can refer to this element by the label you applied to the `Select`.
231
- * @returns {Promise<HTMLElement[]>}
232
- */
233
- async function getSelectedOptions(input: HTMLElement): Promise<HTMLElement[]> {
234
- await expand(input)
235
-
236
- const menuContainer = getSelectMenu(input)
237
- let selectedOptions: HTMLElement[] = []
238
-
239
- try {
240
- selectedOptions = await within(menuContainer).findAllByRole('option', {
241
- selected: true,
242
- })
243
- } catch (err) {
244
- selectedOptions = []
245
- }
246
-
247
- await collapse(input)
248
-
249
- return selectedOptions
250
- }
251
-
252
- export const selectEvent = {
253
- select,
254
- unselect,
255
- clear,
256
- search,
257
- expand,
258
- collapse,
259
- getOptions,
260
- getSelectedOptions,
261
- isMenuExpanded: isSelectMenuExpanded,
262
- }
263
-
264
- export default selectEvent
@@ -1 +0,0 @@
1
- export { default } from './SelectEvent'
@@ -1,25 +0,0 @@
1
- import type { Interpolation, ThemeProps } from 'styled-components'
2
- import { isFunction } from '@loadsmart/utils-function'
3
-
4
- import { Alice } from '../../theming/themes'
5
- import type { CustomTheme } from '../../theming'
6
- import toArray from 'utils/toolset/toArray'
7
-
8
- type ThemedInterpolation = Interpolation<ThemeProps<CustomTheme>>
9
-
10
- /**
11
- * Use this function to simulate the CSS that would be generated by styled-components
12
- * @param {Interpolation<ThemeProps<CustomTheme>>} styles - A `css` reference with interpolated styles
13
- * @returns {string} The final CSS
14
- */
15
- export default function getInterpolatedStyles(styles: ThemedInterpolation): string {
16
- return toArray(styles)
17
- .map((interpolation) => {
18
- while (isFunction(interpolation)) {
19
- interpolation = interpolation({ theme: Alice })
20
- }
21
-
22
- return interpolation
23
- })
24
- .join('')
25
- }
@@ -1 +0,0 @@
1
- export { default, default as getInterpolatedStyles } from './getInterpolatedStyles'
@@ -1,6 +0,0 @@
1
- export { DatePickerEvent, DateRangePickerEvent } from './DatePickerEvent'
2
- export { default as DragDropFileEvent } from './DragDropFileEvent'
3
- export { default as SelectEvent } from './SelectEvent'
4
-
5
- export { default as getInterpolatedStyles } from './getInterpolatedStyles'
6
- export { default as renderWithDragDropFileProvider } from './renderWithDragDropFileProvider'
@@ -1 +0,0 @@
1
- export { default } from './renderWithDragDropFileProvider'
@@ -1,28 +0,0 @@
1
- import React, { ReactNode } from 'react'
2
- import { render } from '@testing-library/react'
3
- import type { RenderResult } from '@testing-library/react'
4
-
5
- import type { DragDropFileContextValue } from '../../components/DragDropFile/types'
6
- import { DragDropFileContext } from '../../components/DragDropFile/DragDropFile.context'
7
-
8
- const defaultContextValueMock: DragDropFileContextValue = {
9
- fileList: [],
10
- onFilesAdded: jest.fn(),
11
- onRetryUpload: jest.fn(),
12
- onRemoveFile: jest.fn(),
13
- }
14
-
15
- const renderWithDragDropFileProvider = (
16
- ui: ReactNode,
17
- customContext?: Partial<DragDropFileContextValue>
18
- ): RenderResult => {
19
- const contextValue = { ...defaultContextValueMock, ...customContext }
20
-
21
- const renderedUi = (children: ReactNode) => (
22
- <DragDropFileContext.Provider value={contextValue}>{children}</DragDropFileContext.Provider>
23
- )
24
-
25
- return render(renderedUi(ui))
26
- }
27
-
28
- export default renderWithDragDropFileProvider
@@ -1,127 +0,0 @@
1
- import Chance from 'chance'
2
- import { nanoid } from 'nanoid'
3
-
4
- const chance = new Chance()
5
-
6
- /**
7
- * Generates an array of `amount` (or random) length, based on the given
8
- * template function.
9
- * The template function receives as named parameter the current `index`.
10
- * @param {Function} template Template function to generate one item
11
- * @param {number} amount Amount of items to be generated. If none is provide,
12
- * then a random amount is generated.
13
- * @returns {Array} Returns an array of lenght `amount`, with items
14
- * generated based on the provided `template`.
15
- */
16
- function generateArray<T>(
17
- template: ({ index }: { index: number }) => T,
18
- amount?: number
19
- ): Array<T> {
20
- const safeAmount = amount || chance.integer({ min: 5, max: 10 })
21
-
22
- const data = []
23
- for (let i = 0; i < safeAmount; i++) {
24
- const item = template({ index: i })
25
- data.push(item)
26
- }
27
-
28
- return data
29
- }
30
-
31
- function generatePick<T>(
32
- array: Array<T>,
33
- options?: { amount: number; allowRepeat?: boolean }
34
- ): T | Array<T> {
35
- const { amount = 1, allowRepeat = true } = options || {}
36
-
37
- if (amount === 1) {
38
- return chance.pickone(array)
39
- }
40
-
41
- let picked = chance.pickset(array, amount)
42
-
43
- if (!allowRepeat) {
44
- picked = Array.from(new Set(picked))
45
- }
46
-
47
- return picked
48
- }
49
-
50
- function generateDate(overrides: { month?: number; day?: number; year?: number } = {}): string {
51
- const month = String(overrides.month ?? chance.natural({ min: 1, max: 12 })).padStart(2, '0')
52
- const day = String(overrides.day ?? chance.natural({ min: 1, max: 28 })).padStart(2, '0')
53
- const year = overrides.year ?? new Date().getFullYear()
54
-
55
- return `${month}/${day}/${year}`
56
- }
57
-
58
- function generateTime(opts?: Chance.Options): string {
59
- const hour = String(chance.hour({ twentyfour: true, ...opts })).padStart(2, '0')
60
- const minute = String(chance.minute()).padStart(2, '0')
61
-
62
- return `${hour}:${minute}`
63
- }
64
-
65
- function generateUsername(): string {
66
- const name = chance.name()
67
- return name.replace(/^\s+|\s+$/g, '').toLowerCase()
68
- }
69
-
70
- function generateID(): string {
71
- return nanoid()
72
- }
73
-
74
- interface DataGenerator {
75
- animal: () => string
76
- array: <T>(template: ({ index }: { index: number }) => T, amount?: number) => Array<T>
77
- boolean: () => boolean
78
- company: () => string
79
- date: () => string
80
- float: (opts?: Chance.Options) => number
81
- id: () => string
82
- name: (opts?: Chance.Options) => string
83
- natural: (opts?: Chance.Options) => number
84
- paragraph: (opts?: Chance.Options) => string
85
- /**
86
- * @deprecated Use pickone or pickset
87
- */
88
- pick: <T>(array: Array<T>, options?: { amount: number; allowRepeat?: boolean }) => T | Array<T>
89
- pickone<T>(arr: T[]): T
90
- pickset<T>(arr: T[], count?: number): T[]
91
- profession: () => string
92
- sentence: (opts?: Chance.Options) => string
93
- state: (opts?: Chance.Options) => string
94
- time: (opts?: Chance.Options) => string
95
- token: () => string
96
- url: () => string
97
- username: () => string
98
- word: (opts?: Chance.Options) => string
99
- dollar: () => string
100
- }
101
-
102
- const generators: DataGenerator = {
103
- animal: chance.animal.bind(chance),
104
- array: generateArray,
105
- boolean: chance.bool.bind(chance),
106
- company: chance.company.bind(chance),
107
- date: generateDate,
108
- float: chance.floating.bind(chance),
109
- id: generateID,
110
- name: chance.name.bind(chance),
111
- natural: chance.natural.bind(chance),
112
- paragraph: chance.paragraph.bind(chance),
113
- pick: generatePick,
114
- pickone: chance.pickone.bind(chance),
115
- pickset: chance.pickset.bind(chance),
116
- profession: chance.profession.bind(chance),
117
- sentence: chance.sentence.bind(chance),
118
- state: chance.state.bind(chance),
119
- time: generateTime,
120
- token: chance.animal.bind(chance),
121
- url: chance.url.bind(chance),
122
- username: generateUsername,
123
- word: chance.word.bind(chance),
124
- dollar: chance.dollar.bind(chance),
125
- }
126
-
127
- export default generators
@@ -1,39 +0,0 @@
1
- import {
2
- render,
3
- fireEvent,
4
- RenderOptions,
5
- within,
6
- waitFor,
7
- waitForElementToBeRemoved,
8
- act,
9
- screen,
10
- queries,
11
- } from '@testing-library/react'
12
- import userEvent from '@testing-library/user-event'
13
-
14
- class Renderer {
15
- result: React.ReactElement
16
-
17
- constructor(children: React.ReactElement) {
18
- this.result = children
19
- }
20
-
21
- render(options?: Omit<RenderOptions, 'queries'>) {
22
- return render(this.result, options)
23
- }
24
- }
25
-
26
- export default function customRenderer(children: React.ReactElement): Renderer {
27
- return new Renderer(children)
28
- }
29
-
30
- export {
31
- act,
32
- fireEvent as fire,
33
- queries,
34
- screen,
35
- userEvent as user,
36
- waitFor,
37
- waitForElementToBeRemoved,
38
- within,
39
- }