@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,130 +0,0 @@
1
- import React, { LabelHTMLAttributes, ReactNode } from 'react'
2
- import clsx from 'clsx'
3
- import styled from 'styled-components'
4
-
5
- import type ColorScheme from 'utils/types/ColorScheme'
6
- import conditional, { whenProps } from 'tools/conditional'
7
- import disableable from 'styles/disableable'
8
- import focusable from 'styles/focusable'
9
- import font from 'styles/font'
10
- import { getToken as token } from 'theming'
11
- import transition from 'styles/transition'
12
-
13
- export interface SelectionStyleProps {
14
- scale?: 'small' | 'default'
15
- scheme?: ColorScheme
16
- disabled?: boolean
17
- }
18
-
19
- export interface SelectionWrapperProps
20
- extends LabelHTMLAttributes<HTMLLabelElement>,
21
- SelectionStyleProps {
22
- selector: ReactNode
23
- leading?: ReactNode
24
- trailing?: ReactNode
25
- }
26
-
27
- const SelectorWrapper = styled.span`
28
- position: relative;
29
-
30
- display: inline-flex;
31
- flex-flow: row nowrap;
32
- align-items: center;
33
- justify-content: center;
34
- `
35
-
36
- const StyledSpan = styled.span`
37
- display: inline-flex;
38
- flex-flow: row nowrap;
39
- align-items: center;
40
- justify-content: center;
41
- `
42
-
43
- const Leading = styled(StyledSpan)`
44
- /* placeholder */
45
- `
46
-
47
- const Trailing = styled(StyledSpan)`
48
- /* placeholder */
49
- `
50
-
51
- const Children = styled.span`
52
- /* placeholder */
53
- `
54
-
55
- const StyledLabel = styled.label<SelectionStyleProps>`
56
- box-sizing: border-box;
57
-
58
- ${transition()}
59
- ${font({
60
- weight: 'checkbox-font-weight',
61
- })}
62
-
63
- display: inline-flex;
64
- flex-flow: row nowrap;
65
- align-items: center;
66
- justify-content: flex-start;
67
-
68
- cursor: pointer;
69
-
70
- border-radius: ${token('border-radius-s')};
71
-
72
- font-size: ${conditional({
73
- 'checkbox-font-size': whenProps({ scale: 'default' }),
74
- 'checkbox-small-font-size': whenProps({ scale: 'small' }),
75
- })};
76
-
77
- color: ${conditional({
78
- 'checkbox-color': whenProps({ scheme: 'light' }),
79
- 'checkbox-dark-color': whenProps({ scheme: 'dark' }),
80
- })};
81
-
82
- ${Children} {
83
- margin: 0 ${token('space-xs')};
84
- }
85
-
86
- ${SelectorWrapper} {
87
- margin: 0 ${token('space-xs')} 0 0;
88
- }
89
-
90
- ${Leading} {
91
- margin: 0 ${token('space-xs')};
92
- }
93
-
94
- ${Trailing} {
95
- margin: 0 0 0 ${token('space-xs')};
96
- }
97
-
98
- ${disableable()}
99
-
100
- ${focusable`
101
- outline: ${token('checkbox-selector-outline')};
102
- outline-offset: ${token('checkbox-selector-outline-offset')};
103
- `}
104
- `
105
-
106
- function SelectionWrapper({
107
- selector,
108
- children,
109
- leading,
110
- trailing,
111
- className,
112
- disabled = false,
113
- ...others
114
- }: SelectionWrapperProps): JSX.Element {
115
- return (
116
- <StyledLabel
117
- className={clsx(className, {
118
- 'is-disabled': disabled,
119
- })}
120
- {...others}
121
- >
122
- {selector && <SelectorWrapper>{selector}</SelectorWrapper>}
123
- {leading && <Leading data-testid="selection-leading">{leading}</Leading>}
124
- <Children>{children}</Children>
125
- {trailing && <Trailing data-testid="selection-trailing">{trailing}</Trailing>}
126
- </StyledLabel>
127
- )
128
- }
129
-
130
- export default SelectionWrapper
@@ -1,36 +0,0 @@
1
- import React, { createContext, ReactNode, useState } from 'react'
2
-
3
- type AccordionContextType = [boolean, () => void]
4
- const AccordionContext = createContext<AccordionContextType | undefined>(undefined)
5
-
6
- function AccordionProvider({
7
- expanded,
8
- children,
9
- onExpandedChange,
10
- initialExpanded = false,
11
- }: {
12
- children: ReactNode
13
- initialExpanded?: boolean
14
- expanded?: boolean
15
- onExpandedChange?: (expanded: boolean) => void
16
- }): JSX.Element {
17
- const [openState, setOpenState] = useState(initialExpanded)
18
- const open = expanded ?? openState
19
-
20
- function toggle() {
21
- onExpandedChange?.(!open)
22
- setOpenState(!open)
23
- }
24
-
25
- return <AccordionContext.Provider value={[open, toggle]}>{children}</AccordionContext.Provider>
26
- }
27
-
28
- function useAccordionContext(): AccordionContextType {
29
- const context = React.useContext(AccordionContext)
30
- if (!context) {
31
- throw new Error('useAccordionContext must be used within an AccordionProvider')
32
- }
33
- return context
34
- }
35
-
36
- export { AccordionProvider, useAccordionContext }
@@ -1,186 +0,0 @@
1
- import React, { useState } from 'react'
2
- import Accordion from './Accordion'
3
- import type { AccordionProps } from './Accordion'
4
-
5
- import { Icon } from 'components/Icon'
6
-
7
- import generator from '../../tests/generator'
8
- import type { Meta } from '@storybook/react'
9
-
10
- export default {
11
- title: 'Components/Accordion',
12
- component: Accordion,
13
- argTypes: {
14
- scheme: {
15
- description: 'Color scheme to be used',
16
- table: {
17
- type: {
18
- summary: 'ColorScheme',
19
- },
20
- defaultValue: {
21
- summary: 'light',
22
- },
23
- },
24
- control: {
25
- type: 'select',
26
- options: ['light', 'dark'],
27
- },
28
- children: {
29
- table: {
30
- disable: true,
31
- },
32
- },
33
- },
34
- },
35
- parameters: {
36
- tokenPrefix: 'button',
37
- },
38
- } as Meta
39
-
40
- export function Playground(args: AccordionProps): JSX.Element {
41
- return (
42
- <div className="flex flex-col space-y-1">
43
- <Accordion {...args}>
44
- <Accordion.Toggle leading={<Icon name="warning" />}>
45
- This is a cool accordion
46
- </Accordion.Toggle>
47
- <Accordion.Body>
48
- <div className="flex flex-col space-y-4">
49
- <p>{generator.sentence()}</p>
50
- <p>{generator.sentence()}</p>
51
- <p>{generator.sentence()}</p>
52
- <p>{generator.sentence()}</p>
53
- <p>{generator.sentence()}</p>
54
- <p>{generator.sentence()}</p>
55
- <p>{generator.sentence()}</p>
56
- <p>{generator.sentence()}</p>
57
- </div>
58
- </Accordion.Body>
59
- </Accordion>
60
- <Accordion {...args}>
61
- <Accordion.Toggle>This is another cool accordion</Accordion.Toggle>
62
- <Accordion.Body>
63
- <div className="flex flex-col space-y-4">
64
- <p>{generator.sentence()}</p>
65
- <p>{generator.sentence()}</p>
66
- <p>{generator.sentence()}</p>
67
- <p>{generator.sentence()}</p>
68
- <p>{generator.sentence()}</p>
69
- <p>{generator.sentence()}</p>
70
- <p>{generator.sentence()}</p>
71
- <p>{generator.sentence()}</p>
72
- </div>
73
- </Accordion.Body>
74
- </Accordion>
75
- <Accordion {...args} initialExpanded>
76
- <Accordion.Toggle>This is an initial expanded cool accordion</Accordion.Toggle>
77
- <Accordion.Body>
78
- <div className="flex flex-col space-y-4">
79
- <p>{generator.sentence()}</p>
80
- <p>{generator.sentence()}</p>
81
- <p>{generator.sentence()}</p>
82
- <p>{generator.sentence()}</p>
83
- <p>{generator.sentence()}</p>
84
- <p>{generator.sentence()}</p>
85
- <p>{generator.sentence()}</p>
86
- <p>{generator.sentence()}</p>
87
- </div>
88
- </Accordion.Body>
89
- </Accordion>
90
- </div>
91
- )
92
- }
93
-
94
- export function CustomIndicators(): JSX.Element {
95
- return (
96
- <div className="flex flex-col space-y-1">
97
- <Accordion>
98
- <Accordion.Toggle
99
- leading={(expanded) => <Icon name={expanded ? 'minus' : 'plus'} />}
100
- trailing={null}
101
- >
102
- Custom leading indicator
103
- </Accordion.Toggle>
104
- <Accordion.Body>
105
- <div className="flex flex-col space-y-4">
106
- <p>{generator.sentence()}</p>
107
- <p>{generator.sentence()}</p>
108
- <p>{generator.sentence()}</p>
109
- <p>{generator.sentence()}</p>
110
- <p>{generator.sentence()}</p>
111
- <p>{generator.sentence()}</p>
112
- <p>{generator.sentence()}</p>
113
- <p>{generator.sentence()}</p>
114
- </div>
115
- </Accordion.Body>
116
- </Accordion>
117
- <Accordion>
118
- <Accordion.Toggle trailing={(expanded) => (expanded ? 'collapse' : 'expand')}>
119
- Custom trailing indicator
120
- </Accordion.Toggle>
121
- <Accordion.Body>
122
- <div className="flex flex-col space-y-4">
123
- <p>{generator.sentence()}</p>
124
- <p>{generator.sentence()}</p>
125
- <p>{generator.sentence()}</p>
126
- <p>{generator.sentence()}</p>
127
- <p>{generator.sentence()}</p>
128
- <p>{generator.sentence()}</p>
129
- <p>{generator.sentence()}</p>
130
- <p>{generator.sentence()}</p>
131
- </div>
132
- </Accordion.Body>
133
- </Accordion>
134
- </div>
135
- )
136
- }
137
-
138
- export function ControlledOpened(args: AccordionProps): JSX.Element {
139
- return (
140
- <div className="flex flex-col space-y-1">
141
- <Accordion {...args} expanded>
142
- <Accordion.Toggle>This is a controlled opened cool accordion</Accordion.Toggle>
143
- <Accordion.Body>
144
- <div className="flex flex-col space-y-4">
145
- <p>{generator.sentence()}</p>
146
- <p>{generator.sentence()}</p>
147
- <p>{generator.sentence()}</p>
148
- <p>{generator.sentence()}</p>
149
- <p>{generator.sentence()}</p>
150
- <p>{generator.sentence()}</p>
151
- <p>{generator.sentence()}</p>
152
- <p>{generator.sentence()}</p>
153
- </div>
154
- </Accordion.Body>
155
- </Accordion>
156
- </div>
157
- )
158
- }
159
-
160
- export function ControlledBasedOnExpandedProp(args: AccordionProps): JSX.Element {
161
- const [isOpened, setIsOpened] = useState<boolean>(false)
162
-
163
- const handleExpandChange = (opened: boolean) => {
164
- setIsOpened(opened)
165
- }
166
-
167
- return (
168
- <div className="flex flex-col space-y-1">
169
- <Accordion {...args} expanded={isOpened} onExpandedChange={handleExpandChange}>
170
- <Accordion.Toggle>This is another cool accordion</Accordion.Toggle>
171
- <Accordion.Body>
172
- <div className="flex flex-col space-y-4">
173
- <p>{generator.sentence()}</p>
174
- <p>{generator.sentence()}</p>
175
- <p>{generator.sentence()}</p>
176
- <p>{generator.sentence()}</p>
177
- <p>{generator.sentence()}</p>
178
- <p>{generator.sentence()}</p>
179
- <p>{generator.sentence()}</p>
180
- <p>{generator.sentence()}</p>
181
- </div>
182
- </Accordion.Body>
183
- </Accordion>
184
- </div>
185
- )
186
- }
@@ -1,209 +0,0 @@
1
- import userEvent from '@testing-library/user-event'
2
- import React from 'react'
3
-
4
- import generator from '../../tests/generator'
5
- import renderer, { fire, screen } from '../../tests/renderer'
6
-
7
- import Accordion from './Accordion'
8
-
9
- function AccordionElement({ ...overrides }) {
10
- return (
11
- <Accordion
12
- expanded={overrides.expanded}
13
- initialExpanded={overrides.initialExpanded}
14
- onExpandedChange={overrides.onExpandedChange}
15
- >
16
- <Accordion.Toggle leading={overrides.leading} trailing={overrides.trailing}>
17
- {overrides.title}
18
- </Accordion.Toggle>
19
- <Accordion.Body>{overrides.body}</Accordion.Body>
20
- </Accordion>
21
- )
22
- }
23
-
24
- const setup = ({ ...overrides }) => renderer(<AccordionElement {...overrides} />).render()
25
-
26
- describe('<Accordion />', () => {
27
- it('renders children correctly', () => {
28
- const props = {
29
- title: generator.word(),
30
- body: generator.word(),
31
- trailing: undefined,
32
- }
33
-
34
- setup(props)
35
-
36
- screen.getByText(props.title)
37
- screen.getByText(props.body)
38
- expect(screen.getByTestId('accordion-toggle')).toBeInTheDocument()
39
- expect(screen.getByTestId('accordion-toggle-trailing')).toBeInTheDocument()
40
- })
41
-
42
- it('toggles content correctly', () => {
43
- const props = {
44
- title: generator.word(),
45
- body: generator.word(),
46
- }
47
-
48
- setup(props)
49
-
50
- expect(screen.getByTestId('accordion-content')).toHaveAttribute('aria-hidden', 'true')
51
- fire.click(screen.getByText(props.title))
52
- expect(screen.getByTestId('accordion-content')).toHaveAttribute('aria-hidden', 'false')
53
- fire.click(screen.getByText(props.title))
54
- expect(screen.getByTestId('accordion-content')).toHaveAttribute('aria-hidden', 'true')
55
- })
56
-
57
- it('renders content initial expanded', () => {
58
- const props = {
59
- title: generator.word(),
60
- body: generator.word(),
61
- initialExpanded: true,
62
- }
63
-
64
- setup(props)
65
-
66
- expect(screen.getByTestId('accordion-content')).toHaveAttribute('aria-hidden', 'false')
67
- })
68
-
69
- it('hides trailing when null', () => {
70
- const props = {
71
- title: generator.word(),
72
- body: generator.word(),
73
- trailing: null,
74
- }
75
-
76
- setup(props)
77
-
78
- expect(screen.queryByTestId('accordion-toggle-trailing')).not.toBeInTheDocument()
79
- })
80
-
81
- it('hides trailing when false', () => {
82
- const props = {
83
- title: generator.word(),
84
- body: generator.word(),
85
- trailing: false,
86
- }
87
-
88
- setup(props)
89
-
90
- expect(screen.queryByTestId('accordion-toggle-trailing')).not.toBeInTheDocument()
91
- })
92
-
93
- it('renders custom trailing', () => {
94
- const props = {
95
- title: generator.word(),
96
- body: generator.word(),
97
- trailing: (expanded: boolean) => (expanded ? 'collapse' : 'expand'),
98
- }
99
-
100
- setup(props)
101
-
102
- expect(screen.getByRole('button')).toHaveTextContent(/expand/i)
103
-
104
- userEvent.click(screen.getByRole('button'))
105
-
106
- expect(screen.getByRole('button')).not.toHaveTextContent(/expand/i)
107
- expect(screen.getByRole('button')).toHaveTextContent(/collapse/i)
108
- })
109
-
110
- it('renders and forces to be expanded', () => {
111
- const props = {
112
- title: generator.word(),
113
- body: generator.word(),
114
- expanded: true,
115
- }
116
-
117
- setup(props)
118
-
119
- // Accordion should be expanded by default
120
- expect(screen.getByTestId('accordion-content')).toHaveAttribute('aria-hidden', 'false')
121
- fire.click(screen.getByText(props.title))
122
- // Trying to collapse accordion shouldn't collapse it because it's forced to be expanded
123
- expect(screen.getByTestId('accordion-content')).toHaveAttribute('aria-hidden', 'false')
124
- })
125
-
126
- it('renders with true as expanded prop default value', () => {
127
- const onExpandedChange = jest.fn()
128
-
129
- const props = {
130
- title: generator.word(),
131
- body: generator.word(),
132
- expanded: true,
133
- onExpandedChange,
134
- }
135
-
136
- const { rerender } = setup(props)
137
-
138
- // Accordion should be expanded by default
139
- expect(screen.getByTestId('accordion-content')).toHaveAttribute('aria-hidden', 'false')
140
-
141
- // Clicking on accordion title to toggle open value (it should collapse)
142
- fire.click(screen.getByText(props.title))
143
-
144
- // onExpandedChange callback should be called with "opened" value as false
145
- expect(onExpandedChange).toHaveBeenCalledTimes(1)
146
- expect(onExpandedChange).toHaveBeenLastCalledWith(false)
147
-
148
- // Re-render because of props change
149
- rerender(<AccordionElement {...{ ...props, expanded: false }} />)
150
-
151
- // Accordion should be collapsed because of "collapsed" prop change
152
- expect(screen.getByTestId('accordion-content')).toHaveAttribute('aria-hidden', 'true')
153
-
154
- // Clicking on accordion title to toggle open value (it should expand)
155
- fire.click(screen.getByText(props.title))
156
-
157
- // onExpandedChange callback should be called with "opened" value as true
158
- expect(onExpandedChange).toHaveBeenCalledTimes(2)
159
- expect(onExpandedChange).toHaveBeenLastCalledWith(true)
160
-
161
- // Re-render because of props change
162
- rerender(<AccordionElement {...{ ...props, expanded: true }} />)
163
-
164
- // Accordion should be collapsed because of "expanded" prop change
165
- expect(screen.getByTestId('accordion-content')).toHaveAttribute('aria-hidden', 'false')
166
- })
167
-
168
- it('renders with false as expanded prop default value', () => {
169
- const onExpandedChange = jest.fn()
170
-
171
- const props = {
172
- title: generator.word(),
173
- body: generator.word(),
174
- expanded: false,
175
- onExpandedChange,
176
- }
177
-
178
- const { rerender } = setup(props)
179
-
180
- // Accordion should be collapsed by default
181
- expect(screen.getByTestId('accordion-content')).toHaveAttribute('aria-hidden', 'true')
182
-
183
- // Clicking on accordion title to toggle open value (it should expand)
184
- fire.click(screen.getByText(props.title))
185
-
186
- // onExpandedChange callback should be called with "opened" value as true
187
- expect(onExpandedChange).toHaveBeenCalledTimes(1)
188
- expect(onExpandedChange).toHaveBeenLastCalledWith(true)
189
-
190
- // Re-render because of props change
191
- rerender(<AccordionElement {...{ ...props, expanded: true }} />)
192
-
193
- // Accordion should be expanded because of "expanded" prop change
194
- expect(screen.getByTestId('accordion-content')).toHaveAttribute('aria-hidden', 'false')
195
-
196
- // Clicking on accordion title to toggle open value (it should collapse)
197
- fire.click(screen.getByText(props.title))
198
-
199
- // onExpandedChange callback should be called with "opened" value as false
200
- expect(onExpandedChange).toHaveBeenCalledTimes(2)
201
- expect(onExpandedChange).toHaveBeenLastCalledWith(false)
202
-
203
- // Re-render because of props change
204
- rerender(<AccordionElement {...{ ...props, expanded: false }} />)
205
-
206
- // Accordion should be collapsed because of "expanded" prop change
207
- expect(screen.getByTestId('accordion-content')).toHaveAttribute('aria-hidden', 'true')
208
- })
209
- })