@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,74 +0,0 @@
1
- import React, { Fragment } from 'react'
2
-
3
- import Dialog from './Dialog'
4
- import generator from '../../tests/generator'
5
- import renderer, { screen } from '../../tests/renderer'
6
- import type { DialogProps } from './Dialog'
7
-
8
- const setup = (props: DialogProps) => renderer(<Dialog {...props} />).render()
9
-
10
- describe('Dialog', () => {
11
- it('renders with default Confirm button label', () => {
12
- const props: DialogProps = {
13
- open: true,
14
- children: (
15
- <Fragment>
16
- <Dialog.ActionConfirm data-testid="dialog-confirm-action" onConfirm={jest.fn()} />
17
- </Fragment>
18
- ),
19
- }
20
-
21
- setup(props)
22
- expect(screen.getByTestId('dialog-confirm-action')).toHaveTextContent('CONFIRM')
23
- })
24
-
25
- it('renders with default Cancel button label', () => {
26
- const props: DialogProps = {
27
- open: true,
28
- children: (
29
- <Fragment>
30
- <Dialog.ActionCancel data-testid="dialog-cancel-action" onCancel={jest.fn()} />
31
- </Fragment>
32
- ),
33
- }
34
-
35
- setup(props)
36
- expect(screen.getByTestId('dialog-cancel-action')).toHaveTextContent('CANCEL')
37
- })
38
-
39
- it('renders with custom Confirm button label', () => {
40
- const label = generator.word()
41
- const props: DialogProps = {
42
- open: true,
43
- children: (
44
- <Fragment>
45
- <Dialog.ActionConfirm data-testid="dialog-confirm-action" onConfirm={jest.fn()}>
46
- {label}
47
- </Dialog.ActionConfirm>
48
- </Fragment>
49
- ),
50
- }
51
-
52
- setup(props)
53
- expect(screen.getByTestId('dialog-confirm-action')).not.toHaveTextContent('CONFIRM')
54
- expect(screen.getByTestId('dialog-confirm-action')).toHaveTextContent(label)
55
- })
56
-
57
- it('renders with custom Cancel button label', () => {
58
- const label = generator.word()
59
- const props: DialogProps = {
60
- open: true,
61
- children: (
62
- <Fragment>
63
- <Dialog.ActionCancel data-testid="dialog-cancel-action" onCancel={jest.fn()}>
64
- {label}
65
- </Dialog.ActionCancel>
66
- </Fragment>
67
- ),
68
- }
69
-
70
- setup(props)
71
- expect(screen.getByTestId('dialog-cancel-action')).not.toHaveTextContent('CANCEL')
72
- expect(screen.getByTestId('dialog-cancel-action')).toHaveTextContent(label)
73
- })
74
- })
@@ -1,139 +0,0 @@
1
- import React, { ReactNode } from 'react'
2
- import styled from 'styled-components'
3
-
4
- import { getToken as token } from 'theming'
5
-
6
- import { Modal } from '../Modal'
7
- import { Button } from '../Button'
8
- import type { ButtonProps } from '../Button'
9
- import conditional, { whenProps } from 'tools/conditional'
10
- import rem from 'utils/toolset/rem'
11
-
12
- interface WithScaleProps {
13
- scale?: 'small' | 'default' | 'large'
14
- }
15
-
16
- export interface DialogProps extends WithScaleProps {
17
- className?: string
18
- id?: string
19
- open: boolean
20
- children: ReactNode
21
- onOverlayClick?: () => void
22
- }
23
-
24
- const Header = styled.h1`
25
- padding-bottom: ${token('space-s')};
26
-
27
- color: ${token('dialog-header-color')};
28
- font-weight: ${token('font-weight-bold')};
29
- font-size: ${token('font-size-2')};
30
- line-height: ${token('font-height-2')};
31
- text-align: center;
32
-
33
- border-bottom: 1px solid ${token('dialog-header-border-color')};
34
- `
35
- const Body = styled.div`
36
- margin-top: ${token('space-l')};
37
- margin-bottom: ${token('space-l')};
38
-
39
- color: ${token('dialog-body-font-color')};
40
- font-size: ${token('font-size-4')};
41
- line-height: ${token('font-height-3')};
42
- text-align: center;
43
- `
44
-
45
- const ActionWrapper = styled.div`
46
- button {
47
- width: 100%;
48
- margin-bottom: ${token('space-s')};
49
- }
50
- `
51
-
52
- const Close = styled(Modal.Close)`
53
- top: ${token('space-xl')};
54
- right: ${rem('36px')};
55
- `
56
-
57
- const StyledDialogActions = styled.div<{ $scale: string; $direction: string }>`
58
- display: flex;
59
- flex-flow: ${conditional({
60
- 'row-reverse': whenProps({ $direction: 'horizontal' }),
61
- column: whenProps({ $direction: 'vertical' }),
62
- })};
63
- justify-content: ${conditional({
64
- center: whenProps({ $scale: 'small' }),
65
- end: whenProps({ $scale: ['default', 'large'] }),
66
- })};
67
-
68
- ${ActionWrapper}:last-child {
69
- margin-right: ${conditional({
70
- 'space-m': whenProps({ $direction: 'horizontal' }),
71
- initial: whenProps({ $direction: 'vertical' }),
72
- })}};
73
- }
74
- `
75
-
76
- function DialogActions({
77
- scale = 'default',
78
- direction = 'vertical',
79
- children,
80
- }: {
81
- scale?: 'small' | 'default' | 'large'
82
- direction?: 'vertical' | 'horizontal'
83
- children: ReactNode
84
- }) {
85
- return (
86
- <StyledDialogActions $scale={scale} $direction={direction}>
87
- {children}
88
- </StyledDialogActions>
89
- )
90
- }
91
-
92
- export interface DialogActionConfirmProps extends Omit<ButtonProps, 'onClick' | 'variant'> {
93
- onConfirm: () => void
94
- }
95
-
96
- function DialogActionConfirm({
97
- onConfirm = () => void 0,
98
- children = 'CONFIRM',
99
- ...others
100
- }: DialogActionConfirmProps) {
101
- return (
102
- <ActionWrapper>
103
- <Button {...others} onClick={onConfirm} variant="primary">
104
- {children}
105
- </Button>
106
- </ActionWrapper>
107
- )
108
- }
109
-
110
- export interface DialogActionCancelProps extends Omit<ButtonProps, 'onClick' | 'variant'> {
111
- onCancel: () => void
112
- }
113
-
114
- function DialogActionCancel({
115
- onCancel = () => void 0,
116
- children = 'CANCEL',
117
- ...others
118
- }: DialogActionCancelProps) {
119
- return (
120
- <ActionWrapper>
121
- <Button {...others} onClick={onCancel} variant="secondary">
122
- {children}
123
- </Button>
124
- </ActionWrapper>
125
- )
126
- }
127
-
128
- function Dialog({ scale = 'default', open, ...others }: DialogProps): JSX.Element {
129
- return <Modal open={open} scale={scale} {...others} />
130
- }
131
-
132
- Dialog.Header = Header
133
- Dialog.Body = Body
134
- Dialog.ActionConfirm = DialogActionConfirm
135
- Dialog.ActionCancel = DialogActionCancel
136
- Dialog.Actions = DialogActions
137
- Dialog.Close = Close
138
-
139
- export default Dialog
@@ -1,4 +0,0 @@
1
- export { default as Dialog } from './Dialog'
2
- export type { DialogProps, DialogActionConfirmProps, DialogActionCancelProps } from './Dialog'
3
- export { default as useDialog } from './useDialog'
4
- export type { useDialogProps } from './useDialog'
@@ -1,59 +0,0 @@
1
- import { useCallback, useEffect, useState } from 'react'
2
-
3
- export interface useDialogProps {
4
- open: boolean
5
- onOpen?: () => void
6
- onClose?: () => void
7
- }
8
-
9
- function useDialog({ open: openProp, onOpen, onClose }: useDialogProps): {
10
- open: boolean
11
- show: () => void
12
- hide: () => void
13
- toggle: () => void
14
- } {
15
- const [open, setOpen] = useState(openProp)
16
-
17
- const show = useCallback(
18
- function show() {
19
- setOpen(true)
20
- onOpen?.()
21
- },
22
- [onOpen]
23
- )
24
-
25
- const hide = useCallback(
26
- function hide() {
27
- setOpen(false)
28
- onClose?.()
29
- },
30
- [onClose]
31
- )
32
-
33
- const toggle = useCallback(
34
- function toggle() {
35
- if (open) {
36
- hide()
37
- } else {
38
- show()
39
- }
40
- },
41
- [hide, open, show]
42
- )
43
-
44
- useEffect(
45
- function updateState() {
46
- setOpen(openProp)
47
- },
48
- [openProp]
49
- )
50
-
51
- return {
52
- open,
53
- show,
54
- hide,
55
- toggle,
56
- }
57
- }
58
-
59
- export default useDialog
@@ -1,39 +0,0 @@
1
- import React, { createContext, useContext, useCallback, useMemo } from 'react'
2
-
3
- import type { DragDropFileContextValue, DragDropFileProviderProps, FileWithStatus } from './types'
4
-
5
- export const DragDropFileContext = createContext<DragDropFileContextValue | undefined>(undefined)
6
-
7
- export const DragDropFileProvider = ({
8
- fileList,
9
- onFilesAdded,
10
- onFileRemoved,
11
- onRetryUpload,
12
- children,
13
- }: DragDropFileProviderProps): JSX.Element => {
14
- const onRemoveFile = useCallback(
15
- (removedItem: FileWithStatus, index: number) => {
16
- onFileRemoved([...fileList.slice(0, index), ...fileList.slice(index + 1)], removedItem, index)
17
- },
18
- [fileList]
19
- )
20
-
21
- const contextValue = useMemo(
22
- () => ({ fileList, onFilesAdded, onRemoveFile, onRetryUpload }),
23
- [fileList, onFilesAdded, onRemoveFile, onRetryUpload]
24
- )
25
-
26
- return (
27
- <DragDropFileContext.Provider value={contextValue}>{children}</DragDropFileContext.Provider>
28
- )
29
- }
30
-
31
- export const useDragDropFileContext = (): DragDropFileContextValue => {
32
- const context = useContext(DragDropFileContext)
33
-
34
- if (!context) {
35
- throw new Error('useDragDropFileContext must be used within an DragDropFileProvider')
36
- }
37
-
38
- return context
39
- }
@@ -1,183 +0,0 @@
1
- import React, { useState, useEffect } from 'react'
2
- import type { Meta } from '@storybook/react'
3
-
4
- import { ErrorMessage } from 'components/ErrorMessage'
5
-
6
- import type { DropZoneProps, FileWithStatus } from './types'
7
- import { DragDropFileProvider } from './DragDropFile.context'
8
- import DragDropFile from './DragDropFile'
9
-
10
- import { fileListMock, successFileItem, errorFileItem } from './mocks'
11
-
12
- export default {
13
- title: 'Components/DragDropFile',
14
- component: DragDropFile,
15
- argTypes: {
16
- hint: {
17
- control: {
18
- type: 'text',
19
- },
20
- },
21
- multiple: {
22
- control: {
23
- type: 'boolean',
24
- },
25
- },
26
- accept: {
27
- control: {
28
- type: 'text',
29
- },
30
- },
31
- disabled: {
32
- control: {
33
- type: 'boolean',
34
- },
35
- },
36
- error: {
37
- control: {
38
- type: 'boolean',
39
- },
40
- },
41
- errorMessage: {
42
- control: {
43
- type: 'text',
44
- },
45
- },
46
- },
47
- } as Meta
48
-
49
- type PlaygroundProps = DropZoneProps & { errorMessage?: string }
50
-
51
- export function Playground({ errorMessage, ...args }: PlaygroundProps): JSX.Element {
52
- const [fileList, setFileList] = useState<FileWithStatus[]>([])
53
-
54
- const onFilesAdded = (newFiles: File[]) => {
55
- setFileList([...fileList, ...newFiles.map((file) => ({ file, status: 'success' as const }))])
56
- }
57
-
58
- const onFileRemoved = (newList: FileWithStatus[]) => {
59
- setFileList(newList)
60
- }
61
-
62
- return (
63
- <div className="flex flex-col">
64
- <DragDropFileProvider
65
- fileList={fileList}
66
- onFilesAdded={onFilesAdded}
67
- onFileRemoved={onFileRemoved}
68
- >
69
- <DragDropFile.Wrapper>
70
- <DragDropFile.DropZone {...args} />
71
- <ErrorMessage>{errorMessage}</ErrorMessage>
72
- <DragDropFile.FileList />
73
- </DragDropFile.Wrapper>
74
- </DragDropFileProvider>
75
- </div>
76
- )
77
- }
78
-
79
- Playground.args = {
80
- hint: 'File rule example: You can attach up to 3 files with size limit of 5mb each.',
81
- accept: 'image/*',
82
- multiple: true,
83
- }
84
-
85
- const loadingFileList = fileListMock.map((item) => ({ ...item, status: 'loading' as const }))
86
-
87
- export function WithInitialFileList({ errorMessage, ...args }: PlaygroundProps): JSX.Element {
88
- const [fileList, setFileList] = useState<FileWithStatus[]>(loadingFileList)
89
-
90
- useEffect(() => {
91
- // Here we're simulating that the status of the third element changes after 1 second.
92
- window.setTimeout(() => {
93
- setFileList((prevList) => [...prevList.slice(0, 2), successFileItem])
94
- }, 1000)
95
- // Here we're simulating that the status of the second element changes after 2 seconds.
96
- window.setTimeout(() => {
97
- setFileList((prevList) => [...prevList.slice(0, 1), errorFileItem, ...prevList.slice(2)])
98
- }, 2000)
99
- }, [])
100
-
101
- const onFilesAdded = (newFiles: File[]) => {
102
- setFileList([...fileList, ...newFiles.map((file) => ({ file, status: 'success' as const }))])
103
- }
104
-
105
- const onFileRemoved = (newList: FileWithStatus[]) => {
106
- setFileList(newList)
107
- }
108
-
109
- const onRetryUpload = (item: FileWithStatus, index: number) => {
110
- alert(`Retry upload for file ${item.file.name} at index ${index}`)
111
- }
112
-
113
- return (
114
- <div className="flex flex-col">
115
- <DragDropFileProvider
116
- fileList={fileList}
117
- onFilesAdded={onFilesAdded}
118
- onFileRemoved={onFileRemoved}
119
- onRetryUpload={onRetryUpload}
120
- >
121
- <DragDropFile.Wrapper>
122
- <DragDropFile.DropZone {...args} />
123
- <ErrorMessage>{errorMessage}</ErrorMessage>
124
- <DragDropFile.FileList />
125
- </DragDropFile.Wrapper>
126
- </DragDropFileProvider>
127
- </div>
128
- )
129
- }
130
-
131
- WithInitialFileList.args = {
132
- hint: 'File rule example: You can attach up to 3 files with size limit of 5mb each.',
133
- accept: 'image/*',
134
- multiple: true,
135
- }
136
-
137
- export function GeneralError({ errorMessage, ...args }: PlaygroundProps): JSX.Element {
138
- const [fileList, setFileList] = useState<FileWithStatus[]>([])
139
-
140
- const onFilesAdded = (newFiles: File[]) => {
141
- setFileList([
142
- ...fileList,
143
- ...newFiles.map((file) => ({
144
- file,
145
- status: 'error' as const,
146
- errorMessage: 'Failed: File size exceeded.',
147
- })),
148
- ])
149
- }
150
-
151
- const onFileRemoved = (newList: FileWithStatus[]) => {
152
- setFileList(newList)
153
- }
154
-
155
- const onRetryUpload = (item: FileWithStatus, index: number) => {
156
- alert(`Retry upload for file ${item.file.name} at index ${index}`)
157
- }
158
-
159
- return (
160
- <div className="flex flex-col">
161
- <DragDropFileProvider
162
- fileList={fileList}
163
- onFilesAdded={onFilesAdded}
164
- onFileRemoved={onFileRemoved}
165
- onRetryUpload={onRetryUpload}
166
- >
167
- <DragDropFile.Wrapper>
168
- <DragDropFile.DropZone {...args} />
169
- <ErrorMessage>{errorMessage}</ErrorMessage>
170
- <DragDropFile.FileList />
171
- </DragDropFile.Wrapper>
172
- </DragDropFileProvider>
173
- </div>
174
- )
175
- }
176
-
177
- GeneralError.args = {
178
- hint: 'File rule example: You can attach up to 3 files with size limit of 5mb each.',
179
- accept: 'image/*',
180
- multiple: true,
181
- error: true,
182
- errorMessage: 'File number exceeded: You can upload up to 3 files',
183
- }
@@ -1,11 +0,0 @@
1
- import Wrapper from './components/Wrapper'
2
- import DropZone from './components/DropZone'
3
- import FileList from './components/FileList'
4
-
5
- const DragDropFile = (): null => null
6
-
7
- DragDropFile.Wrapper = Wrapper
8
- DragDropFile.DropZone = DropZone
9
- DragDropFile.FileList = FileList
10
-
11
- export default DragDropFile
@@ -1,108 +0,0 @@
1
- import React from 'react'
2
- import { screen } from '@testing-library/react'
3
- import userEvent from '@testing-library/user-event'
4
-
5
- import generator from '../../../tests/generator'
6
- import { renderWithDragDropFileProvider, DragDropFileEvent } from '../../../testing'
7
-
8
- import type { DropZoneProps } from '../types'
9
- import { filesMock } from '../mocks'
10
- import DropZone from './DropZone'
11
-
12
- const onFilesAdded = jest.fn()
13
-
14
- const dropZonePropsMock: DropZoneProps = {
15
- 'aria-label': 'Drag and drop file input',
16
- hint: 'File rule example: You can attach up to 3 files with size limit of 5mb each.',
17
- multiple: true,
18
- accept: 'image/*',
19
- disabled: false,
20
- error: false,
21
- }
22
-
23
- const setup = (dropZonePropsOverrides?: Partial<DropZoneProps>) =>
24
- renderWithDragDropFileProvider(<DropZone {...dropZonePropsMock} {...dropZonePropsOverrides} />, {
25
- onFilesAdded,
26
- })
27
-
28
- const getInput = () => screen.getByLabelText(dropZonePropsMock['aria-label']!) as HTMLInputElement
29
-
30
- describe('<DragDropFile.DropZone />', () => {
31
- it.each`
32
- multiple | expectedText
33
- ${false} | ${'Drag and drop your file here or'}
34
- ${true} | ${'Drag and drop your files here or'}
35
- `('renders correctly when multiple is $multiple', ({ multiple, expectedText }) => {
36
- const props = { multiple }
37
-
38
- setup(props)
39
-
40
- expect(screen.queryByText(expectedText)).toBeVisible()
41
- })
42
-
43
- it('renders the provided hint correctly', () => {
44
- const props = { hint: generator.sentence() }
45
-
46
- setup(props)
47
-
48
- expect(screen.queryByText(props.hint)).toBeVisible()
49
- })
50
-
51
- it('renders a custom content if provided considering the isDragging state', () => {
52
- const renderCustomContent: DropZoneProps['renderCustomContent'] = ({ isDragging }) => (
53
- <div>{isDragging ? 'Is dragging.' : 'Is not dragging.'}</div>
54
- )
55
-
56
- setup({ renderCustomContent })
57
-
58
- expect(screen.queryByText('Is not dragging.')).toBeVisible()
59
-
60
- DragDropFileEvent.dragOver(getInput())
61
-
62
- expect(screen.queryByText('Is dragging.')).toBeVisible()
63
- })
64
-
65
- it('renders correctly when disabled', () => {
66
- const props = { disabled: true }
67
-
68
- setup(props)
69
-
70
- expect(screen.getByRole('button')).toHaveClass('is-disabled')
71
- })
72
-
73
- it('calls onFilesAdded with a single uploaded file', () => {
74
- setup({ multiple: false })
75
-
76
- const input = getInput()
77
-
78
- userEvent.upload(input, filesMock[0])
79
-
80
- expect(onFilesAdded).toHaveBeenCalledWith(filesMock.slice(0, 1))
81
- })
82
-
83
- it('calls onFilesAdded with multiple uploaded files', () => {
84
- setup({ multiple: true })
85
-
86
- const input = getInput()
87
-
88
- userEvent.upload(input, filesMock)
89
-
90
- expect(onFilesAdded).toHaveBeenCalledWith(filesMock)
91
- })
92
-
93
- it('calls onFilesAdded when files are dropped in the drop zone', () => {
94
- setup({ multiple: true })
95
-
96
- DragDropFileEvent.dropFiles(getInput(), filesMock)
97
-
98
- expect(onFilesAdded).toHaveBeenCalledWith(filesMock)
99
- })
100
-
101
- it('does not call onFilesAdded when files are dropped in the drop zone and disabled is true', () => {
102
- setup({ multiple: true, disabled: true })
103
-
104
- DragDropFileEvent.dropFiles(getInput(), filesMock)
105
-
106
- expect(onFilesAdded).not.toHaveBeenCalled()
107
- })
108
- })