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

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