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

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