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

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