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

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