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