@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,145 +0,0 @@
1
- import React, { useRef, useState, useCallback } from 'react'
2
- import clsx from 'clsx'
3
-
4
- import toArray from 'utils/toolset/toArray'
5
- import KeyboardKey from 'utils/toolset/keyboard'
6
- import pluralize from 'utils/toolset/pluralize'
7
-
8
- import { Text } from 'components/Text'
9
-
10
- import { useDragDropFileContext } from '../DragDropFile.context'
11
-
12
- import { DropZoneWrapper, HiddenInput, UploadIcon } from '../styles'
13
- import type { DropZoneProps } from '../types'
14
-
15
- const DropZone = ({
16
- className,
17
- hint,
18
- multiple = false,
19
- accept,
20
- disabled = false,
21
- error = false,
22
- renderCustomContent,
23
- ...props
24
- }: DropZoneProps): JSX.Element => {
25
- const { onFilesAdded } = useDragDropFileContext()
26
-
27
- const inputRef = useRef<HTMLInputElement>(null)
28
- const [isDragging, setIsDragging] = useState(false)
29
-
30
- const onChangeInput = useCallback(
31
- (event: React.ChangeEvent<HTMLInputElement>) => {
32
- event.preventDefault()
33
- event.stopPropagation()
34
-
35
- onFilesAdded(Array.from(event.currentTarget.files || []))
36
- },
37
- [onFilesAdded]
38
- )
39
-
40
- const onKeyPress = useCallback(
41
- (event: React.KeyboardEvent) => {
42
- if (!disabled && inputRef.current && KeyboardKey(event).is('ENTER')) {
43
- inputRef.current.click()
44
- }
45
- },
46
- [disabled, inputRef]
47
- )
48
-
49
- const onDrop = useCallback(
50
- (event: React.DragEvent<HTMLDivElement>) => {
51
- event.preventDefault()
52
- event.stopPropagation()
53
-
54
- if (!disabled) {
55
- if (isDragging) {
56
- setIsDragging(false)
57
- }
58
-
59
- onFilesAdded(Array.from(event.dataTransfer.files || []))
60
- }
61
- },
62
- [disabled, isDragging, onFilesAdded]
63
- )
64
-
65
- const onDragStart = useCallback((event: React.DragEvent<HTMLDivElement>) => {
66
- event.preventDefault()
67
- }, [])
68
-
69
- const onDragOver = useCallback(
70
- (event: React.DragEvent<HTMLDivElement>) => {
71
- event.preventDefault()
72
-
73
- if (!disabled && !isDragging) {
74
- setIsDragging(true)
75
- }
76
- },
77
- [disabled, isDragging]
78
- )
79
-
80
- const onDragLeave = useCallback(
81
- (event: React.DragEvent<HTMLDivElement>) => {
82
- event.preventDefault()
83
-
84
- if (isDragging) {
85
- setIsDragging(false)
86
- }
87
- },
88
- [isDragging]
89
- )
90
-
91
- const renderDefaultContent = useCallback(
92
- () => (
93
- <>
94
- <UploadIcon name="upload" size={48} />
95
- <Text variant="body" color="color-neutral-darker">
96
- {`Drag and drop your ${pluralize(Number(!multiple), 'files', 'file')} here or `}
97
- <Text as="a" color={disabled ? 'color-neutral' : 'color-accent'} variant="body-bold">
98
- {`Browse ${pluralize(Number(!multiple), 'Files', 'File')}`}
99
- </Text>
100
- </Text>
101
- {hint && (
102
- <Text variant="caption" color="color-neutral-dark">
103
- {hint}
104
- </Text>
105
- )}
106
- </>
107
- ),
108
- [multiple, disabled, hint]
109
- )
110
-
111
- return (
112
- <DropZoneWrapper
113
- space="m"
114
- align="center"
115
- justify="center"
116
- className={clsx(className, {
117
- 'is-disabled': disabled,
118
- 'is-focused': isDragging,
119
- })}
120
- disabled={disabled}
121
- error={error}
122
- tabIndex={0}
123
- role="button"
124
- aria-pressed="false"
125
- onKeyPress={onKeyPress}
126
- onDrop={onDrop}
127
- onDragStart={onDragStart}
128
- onDragOver={onDragOver}
129
- onDragLeave={onDragLeave}
130
- >
131
- {(renderCustomContent || renderDefaultContent)({ isDragging })}
132
- <HiddenInput
133
- onInput={onChangeInput}
134
- type="file"
135
- ref={inputRef}
136
- accept={accept ? toArray(accept).join(',') : undefined}
137
- disabled={disabled}
138
- multiple={multiple}
139
- {...props}
140
- />
141
- </DropZoneWrapper>
142
- )
143
- }
144
-
145
- export default DropZone
@@ -1,117 +0,0 @@
1
- import React from 'react'
2
-
3
- import formatBytes from 'utils/toolset/formatBytes'
4
-
5
- import { Stack, Group } from 'components/Layout'
6
- import { Bar } from 'components/Loaders/LoadingBar'
7
- import { Button } from 'components/Button'
8
- import { Icon } from 'components/Icon'
9
- import { Text } from 'components/Text'
10
-
11
- import type { FileItemProps, FileStatus } from '../types'
12
- import { Divider } from '../styles'
13
-
14
- const FileName = ({ file }: Pick<FileItemProps, 'file'>): JSX.Element =>
15
- file.size ? (
16
- <Group space="m" align="center">
17
- <Text variant="caption">{file.name}</Text>
18
- <Text variant="number-sm">{formatBytes(file.size)}</Text>
19
- </Group>
20
- ) : (
21
- <Text variant="caption">{file.name}</Text>
22
- )
23
-
24
- type FileActionButtonProps = Pick<FileItemProps, 'onRemove' | 'onRetry' | 'disabled'> & {
25
- type: 'remove' | 'retry'
26
- }
27
-
28
- const FileActionButton = ({
29
- type,
30
- onRemove,
31
- onRetry,
32
- disabled,
33
- }: FileActionButtonProps): JSX.Element => {
34
- const { iconName, label, onClick } =
35
- type === 'remove'
36
- ? {
37
- iconName: 'close',
38
- label: 'REMOVE',
39
- onClick: onRemove,
40
- }
41
- : {
42
- iconName: 'refresh',
43
- label: 'RETRY',
44
- onClick: onRetry,
45
- }
46
-
47
- return (
48
- <Button
49
- scale="small"
50
- variant="tertiary"
51
- leading={<Icon name={iconName} size={12} />}
52
- onClick={onClick}
53
- disabled={disabled}
54
- >
55
- {label}
56
- </Button>
57
- )
58
- }
59
-
60
- const LoadingFile = ({ file, ...actionProps }: FileItemProps): JSX.Element => (
61
- <Stack as="li" space="s">
62
- <Group align="center" justify="space-between">
63
- <FileName file={file} />
64
- <FileActionButton type="remove" {...actionProps} />
65
- </Group>
66
- <Bar />
67
- </Stack>
68
- )
69
-
70
- const ErrorFile = ({ file, errorMessage, ...actionProps }: FileItemProps): JSX.Element => (
71
- <Stack as="li" space="s">
72
- <Group align="center" justify="space-between">
73
- <Group space="s" align="center">
74
- <Icon name="warning" size={12} />
75
- <FileName file={file} />
76
- </Group>
77
- {actionProps.onRetry ? (
78
- <Group space="none" align="center">
79
- <FileActionButton type="retry" {...actionProps} />
80
- <Divider />
81
- <FileActionButton type="remove" {...actionProps} />
82
- </Group>
83
- ) : (
84
- <FileActionButton type="remove" {...actionProps} />
85
- )}
86
- </Group>
87
- {errorMessage && (
88
- <Text variant="caption" color="color-danger">
89
- {errorMessage}
90
- </Text>
91
- )}
92
- </Stack>
93
- )
94
-
95
- const SuccessFile = ({ file, ...actionProps }: FileItemProps): JSX.Element => (
96
- <Group as="li" align="center" justify="space-between">
97
- <Group space="s" align="center">
98
- <Icon name="check" size={12} />
99
- <FileName file={file} />
100
- </Group>
101
- <FileActionButton type="remove" {...actionProps} />
102
- </Group>
103
- )
104
-
105
- const FILE_ITEM_BY_STATUS: Record<FileStatus, (props: FileItemProps) => JSX.Element> = {
106
- loading: LoadingFile,
107
- error: ErrorFile,
108
- success: SuccessFile,
109
- }
110
-
111
- const FileItem = (props: FileItemProps): JSX.Element => {
112
- const FileItemComponent = FILE_ITEM_BY_STATUS[props.status]
113
-
114
- return <FileItemComponent {...props} />
115
- }
116
-
117
- export default FileItem
@@ -1,119 +0,0 @@
1
- import React from 'react'
2
- import { screen, within } from '@testing-library/react'
3
- import userEvent from '@testing-library/user-event'
4
-
5
- import formatBytes from 'utils/toolset/formatBytes'
6
-
7
- import { renderWithDragDropFileProvider } from '../../../testing'
8
-
9
- import type { FileListProps, DragDropFileContextValue } from '../types'
10
- import { fileListMock, loadingFileItem, errorFileItem, successFileItem } from '../mocks'
11
- import FileList from './FileList'
12
-
13
- const onRemoveFile = jest.fn()
14
- const onRetryUpload = jest.fn()
15
-
16
- const setup = (
17
- propsOverrides?: FileListProps,
18
- contextValueOverrides?: Partial<DragDropFileContextValue>
19
- ) =>
20
- renderWithDragDropFileProvider(<FileList {...propsOverrides} />, {
21
- fileList: fileListMock,
22
- onRemoveFile,
23
- onRetryUpload,
24
- ...contextValueOverrides,
25
- })
26
-
27
- describe('<DragDropFile.FileList />', () => {
28
- it('does not render if the files list is empty', () => {
29
- const contextValue = { fileList: [] }
30
-
31
- const { container } = setup({}, contextValue)
32
-
33
- expect(container).toBeEmptyDOMElement()
34
- })
35
-
36
- it('renders the number of files with success status as a title', () => {
37
- const contextValue = { fileList: [loadingFileItem, errorFileItem, successFileItem] }
38
-
39
- setup({}, contextValue)
40
-
41
- expect(screen.queryByText('1 File uploaded')).toBeVisible()
42
- })
43
-
44
- it('renders the name of every file provided in a list item', () => {
45
- setup()
46
-
47
- const lis = screen.getAllByRole('listitem')
48
-
49
- for (let i = 0; i < fileListMock.length; i++) {
50
- const file = fileListMock[i].file
51
-
52
- expect(within(lis[i]).getByText(file.name)).toBeVisible()
53
- }
54
- })
55
-
56
- it('renders the formatted size if available of every file provided in a list item', () => {
57
- const filesWithSize = fileListMock.filter((item) => !!item.file.size)
58
-
59
- setup({}, { fileList: filesWithSize })
60
-
61
- const lis = screen.getAllByRole('listitem')
62
-
63
- for (let i = 0; i < filesWithSize.length; i++) {
64
- const file = filesWithSize[i].file
65
-
66
- expect(within(lis[i]).getByText(formatBytes(file.size))).toBeVisible()
67
- }
68
- })
69
-
70
- it('calls onRemoveFile on remove button click on each file item', () => {
71
- setup()
72
-
73
- const lis = screen.getAllByRole('listitem')
74
-
75
- for (let i = 0; i < fileListMock.length; i++) {
76
- const fileItem = fileListMock[i]
77
-
78
- userEvent.click(within(lis[i]).getByRole('button', { name: 'REMOVE' }))
79
-
80
- expect(onRemoveFile).toHaveBeenCalledWith(fileItem, i)
81
- }
82
- })
83
-
84
- it('disables the remove button on each file item if disabled is true', () => {
85
- setup({ disabled: true })
86
-
87
- const lis = screen.getAllByRole('listitem')
88
-
89
- for (let i = 0; i < fileListMock.length; i++) {
90
- expect(within(lis[i]).getByRole('button', { name: 'REMOVE' })).toBeDisabled()
91
- }
92
- })
93
-
94
- it('does not render a retry button on error items if onRetryUpload is not provided', () => {
95
- const contextValue = { onRetryUpload: undefined, fileList: [errorFileItem] }
96
-
97
- setup({}, contextValue)
98
-
99
- expect(screen.queryByRole('button', { name: 'RETRY' })).not.toBeInTheDocument()
100
- })
101
-
102
- it('calls onRetryUpload on retry button click on each file item with error status', () => {
103
- setup()
104
-
105
- const lis = screen.getAllByRole('listitem')
106
-
107
- for (let i = 0; i < fileListMock.length; i++) {
108
- const fileItem = fileListMock[i]
109
-
110
- if (fileItem.status === 'error') {
111
- userEvent.click(within(lis[i]).getByRole('button', { name: 'RETRY' }))
112
-
113
- expect(onRetryUpload).toHaveBeenCalledWith(fileItem, i)
114
- } else {
115
- expect(within(lis[i]).queryByRole('button', { name: 'RETRY' })).not.toBeInTheDocument()
116
- }
117
- }
118
- })
119
- })
@@ -1,47 +0,0 @@
1
- import React from 'react'
2
-
3
- import isEmpty from 'utils/toolset/isEmpty'
4
- import pluralize from 'utils/toolset/pluralize'
5
-
6
- import { Stack } from 'components/Layout'
7
- import { Text } from 'components/Text'
8
-
9
- import { useDragDropFileContext } from '../DragDropFile.context'
10
-
11
- import type { FileListProps } from '../types'
12
- import { FileListUL } from '../styles'
13
-
14
- import FileItem from './FileItem'
15
-
16
- const FileList = ({ disabled, ...props }: FileListProps): JSX.Element | null => {
17
- const { fileList, onRemoveFile, onRetryUpload } = useDragDropFileContext()
18
-
19
- if (isEmpty(fileList)) {
20
- return null
21
- }
22
-
23
- const uploadedFiles = fileList.filter((file) => file.status === 'success').length
24
-
25
- return (
26
- <Stack space="m" {...props}>
27
- <Text variant="heading-sm-bold">{`${uploadedFiles} ${pluralize(
28
- uploadedFiles,
29
- 'Files',
30
- 'File'
31
- )} uploaded`}</Text>
32
- <FileListUL space="m">
33
- {fileList.map((item, index) => (
34
- <FileItem
35
- key={`file-${item.file.name}-${index}`}
36
- disabled={disabled}
37
- onRemove={() => onRemoveFile(item, index)}
38
- onRetry={onRetryUpload ? () => onRetryUpload(item, index) : undefined}
39
- {...item}
40
- />
41
- ))}
42
- </FileListUL>
43
- </Stack>
44
- )
45
- }
46
-
47
- export default FileList
@@ -1,22 +0,0 @@
1
- import React from 'react'
2
-
3
- import isEmpty from 'utils/toolset/isEmpty'
4
-
5
- import { useDragDropFileContext } from '../DragDropFile.context'
6
- import { DragDropFileWrapper } from '../styles'
7
- import type { WrapperProps } from '../types'
8
-
9
- /**
10
- * This is a `Stack` component customized with the needed spacing between the DragDropFile inner components
11
- */
12
- const Wrapper = ({ children, ...props }: WrapperProps) => {
13
- const { fileList } = useDragDropFileContext()
14
-
15
- return (
16
- <DragDropFileWrapper space="l" withFileList={!isEmpty(fileList)} {...props}>
17
- {children}
18
- </DragDropFileWrapper>
19
- )
20
- }
21
-
22
- export default Wrapper
@@ -1,9 +0,0 @@
1
- export { DragDropFileProvider, useDragDropFileContext } from './DragDropFile.context'
2
- export { default as DragDropFile } from './DragDropFile'
3
- export type {
4
- FileStatus,
5
- FileWithStatus,
6
- DropZoneProps,
7
- DragDropFileProviderProps,
8
- DragDropFileContextValue,
9
- } from './types'
@@ -1,23 +0,0 @@
1
- import type { FileWithStatus } from './types'
2
-
3
- export const loadingFile = new File([''], 'loading-file.png')
4
-
5
- export const errorFile = new File([''], 'error-file.png')
6
- Object.defineProperty(errorFile, 'size', { value: 1024 * 1024 * 2 })
7
-
8
- export const successFile = new File([''], 'success-file.png')
9
- Object.defineProperty(successFile, 'size', { value: 420 })
10
-
11
- export const filesMock: File[] = [loadingFile, errorFile, successFile]
12
-
13
- export const loadingFileItem: FileWithStatus = { file: loadingFile, status: 'loading' }
14
-
15
- export const errorFileItem: FileWithStatus = {
16
- file: errorFile,
17
- status: 'error',
18
- errorMessage: 'Failed: File size exceeded.',
19
- }
20
-
21
- export const successFileItem: FileWithStatus = { file: successFile, status: 'success' }
22
-
23
- export const fileListMock: FileWithStatus[] = [loadingFileItem, errorFileItem, successFileItem]
@@ -1,81 +0,0 @@
1
- import React from 'react'
2
- import styled from 'styled-components'
3
-
4
- import { getToken } from 'theming'
5
- import conditional, { whenProps } from 'tools/conditional'
6
- import prop from 'tools/prop'
7
- import transition from 'styles/transition'
8
- import hoverable from 'styles/hoverable'
9
- import focusable from 'styles/focusable'
10
- import disableable from 'styles/disableable'
11
- import hidden from 'styles/hidden'
12
-
13
- import { StackProps, Stack } from 'components/Layout/Stack'
14
- import { Icon } from 'components/Icon'
15
-
16
- import type { DropZoneProps } from './types'
17
-
18
- export const DragDropFileWrapper = styled(Stack)<{ withFileList: boolean }>`
19
- width: 100%;
20
-
21
- & > label + p {
22
- margin-top: ${conditional({
23
- 'space-m': whenProps({ withFileList: true }),
24
- 'space-l': whenProps({ withFileList: false }),
25
- })};
26
- }
27
- `
28
-
29
- export const DropZoneWrapper = styled((props: StackProps) => <Stack as="label" {...props} />)<
30
- Pick<DropZoneProps, 'disabled' | 'error'>
31
- >`
32
- ${transition({ property: 'border-color, box-shadow, opacity' })}
33
-
34
- cursor: pointer;
35
-
36
- background-color: ${getToken('color-neutral-white')};
37
- border-radius: ${getToken('border-radius-s')};
38
- border: 2px dashed;
39
- border-color: ${conditional({
40
- 'color-neutral-light': whenProps({ error: false }),
41
- 'color-danger': whenProps({ disabled: false, error: true }),
42
- })};
43
-
44
- padding: ${getToken('space-l')} ${getToken('space-3xl')};
45
-
46
- text-align: center;
47
-
48
- ${hoverable`
49
- border-color: ${conditional({
50
- 'color-accent': whenProps({ disabled: false, error: false }),
51
- })};
52
- `}
53
-
54
- ${focusable`
55
- border-color: ${conditional({
56
- 'color-accent': whenProps({ disabled: false, error: false }),
57
- })};
58
- box-shadow: ${getToken('shadow-glow-primary')};
59
- `}
60
-
61
- ${disableable()}
62
- `
63
-
64
- export const HiddenInput = styled.input`
65
- ${hidden()}
66
- `
67
-
68
- export const UploadIcon = styled(Icon)`
69
- color: ${getToken('color-neutral')};
70
- `
71
-
72
- export const FileListUL = styled((props: StackProps) => <Stack as="ul" {...props} />)`
73
- padding: 0;
74
- `
75
-
76
- export const Divider = styled.div`
77
- width: 1px;
78
- height: 16px;
79
-
80
- background-color: ${getToken('color-neutral-darker')};
81
- `
@@ -1,85 +0,0 @@
1
- import type { HTMLAttributes, ReactNode } from 'react'
2
-
3
- import type { StackProps } from 'components/Layout/Stack'
4
-
5
- export type WrapperProps = Partial<StackProps>
6
-
7
- export type DropZoneProps = Omit<HTMLAttributes<HTMLInputElement>, 'onChange'> & {
8
- /**
9
- * Optional hint to be rendered below the main call to action text.
10
- */
11
- hint?: string
12
- /**
13
- * Whether the input should allow multiple files.
14
- */
15
- multiple?: boolean
16
- /**
17
- * List (or single string) of allowed file formats.
18
- */
19
- accept?: string | string[]
20
- /**
21
- * Disables the drop zone.
22
- */
23
- disabled?: boolean
24
- /**
25
- * Applies error styles to the drop zone wrapper.
26
- */
27
- error?: boolean
28
- /**
29
- * Useful to render custom content inside the dropzone.
30
- * If provided, the icon, call to action, and hint won't be rendered.
31
- */
32
- renderCustomContent?: (params: { isDragging: boolean }) => JSX.Element
33
- }
34
-
35
- export type FileStatus = 'loading' | 'error' | 'success'
36
-
37
- export type FileWithStatus = {
38
- file: File
39
- status: FileStatus
40
- errorMessage?: string
41
- }
42
-
43
- export type FileItemProps = FileWithStatus & {
44
- onRemove: () => void
45
- onRetry?: () => void
46
- disabled?: boolean
47
- }
48
-
49
- export type FileListProps = Partial<StackProps> & {
50
- /**
51
- * Disables the buttons within the file items.
52
- */
53
- disabled?: boolean
54
- }
55
-
56
- export type DragDropFileProviderProps = {
57
- /**
58
- * List of items including the file and its status.
59
- */
60
- fileList: FileWithStatus[]
61
- /**
62
- * Function that will be triggered when new files are added to the input.
63
- */
64
- onFilesAdded: (newFiles: File[]) => void
65
- /**
66
- * Function that will be triggered when a file is removed from the list.
67
- */
68
- onFileRemoved: (
69
- newFileList: FileWithStatus[],
70
- removedItem: FileWithStatus,
71
- removedItemIndex: number
72
- ) => void
73
- /**
74
- * Optional function to retry upload on a file item with error status.
75
- */
76
- onRetryUpload?: (item: FileWithStatus, removedItemIndex: number) => void
77
- children: ReactNode
78
- }
79
-
80
- export type DragDropFileContextValue = Pick<
81
- DragDropFileProviderProps,
82
- 'fileList' | 'onFilesAdded' | 'onRetryUpload'
83
- > & {
84
- onRemoveFile: (removedItem: FileWithStatus, removedItemIndex: number) => void
85
- }