@spaced-out/ui-design-system 0.3.45 → 0.3.47-beta.0

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 (528) hide show
  1. package/.all-contributorsrc +9 -0
  2. package/CHANGELOG.md +19 -0
  3. package/README.md +1 -0
  4. package/gulpfile.js +5 -2
  5. package/lib/components/Avatar/Avatar.js +14 -19
  6. package/lib/components/AvatarGroup/AvatarGroup.js +4 -7
  7. package/lib/components/AvatarGroup/AvatarGroup.js.flow +2 -2
  8. package/lib/components/Badge/Badge.js +6 -11
  9. package/lib/components/BadgedIcon/BadgedIcon.js +2 -4
  10. package/lib/components/Banner/Banner.js +5 -7
  11. package/lib/components/Breadcrumbs/BreadcrumbLink/BreadcrumbLink.js +4 -6
  12. package/lib/components/Breadcrumbs/Breadcrumbs.js +4 -7
  13. package/lib/components/Button/Button.js +8 -14
  14. package/lib/components/ButtonDropdown/ButtonDropdown.js +29 -21
  15. package/lib/components/ButtonDropdown/ButtonDropdown.js.flow +58 -33
  16. package/lib/components/ButtonDropdown/ButtonDropdown.module.css +8 -1
  17. package/lib/components/ButtonDropdown/SimpleButtonDropdown.js +6 -5
  18. package/lib/components/ButtonDropdown/SimpleButtonDropdown.js.flow +6 -1
  19. package/lib/components/ButtonTabs/ButtonTab/ButtonTab.js +5 -7
  20. package/lib/components/ButtonTabs/ButtonTabDropdown.js +16 -10
  21. package/lib/components/ButtonTabs/ButtonTabDropdown.js.flow +40 -24
  22. package/lib/components/ButtonTabs/ButtonTabDropdown.module.css +4 -0
  23. package/lib/components/ButtonTabs/ButtonTabs.js +8 -9
  24. package/lib/components/ButtonTabs/ButtonTabs.js.flow +4 -0
  25. package/lib/components/Card/Card.js +7 -11
  26. package/lib/components/Charts/ChartTooltip/index.js +3 -5
  27. package/lib/components/Charts/ChartWrapper/ChartWrapper.js +5 -13
  28. package/lib/components/Charts/ColumnChart/ColumnChart.js +2 -6
  29. package/lib/components/Charts/DonutChart/DonutChart.js +2 -6
  30. package/lib/components/Charts/FunnelChart/FunnelChart.js +2 -7
  31. package/lib/components/Charts/LineChart/LineChart.js +2 -6
  32. package/lib/components/Charts/SpiderChart/SpiderChart.js +2 -7
  33. package/lib/components/ChatBubble/ChatBubble.js +5 -8
  34. package/lib/components/Checkbox/Checkbox.js +8 -7
  35. package/lib/components/Checkbox/CheckboxGroup.js +5 -8
  36. package/lib/components/Chip/Chip.js +5 -8
  37. package/lib/components/CircularLoader/CircularLoader.js +4 -7
  38. package/lib/components/CollapsibleCard/CollapsibleCard.js +5 -9
  39. package/lib/components/Combobox/Combobox.js +4 -7
  40. package/lib/components/Combobox/helper.js +3 -7
  41. package/lib/components/ConditionalWrapper/ConditionalWrapper.js +1 -3
  42. package/lib/components/DateRangePicker/Calendar.js +2 -5
  43. package/lib/components/DateRangePicker/DateRangePicker.js +4 -8
  44. package/lib/components/DateRangePicker/DateRangeWrapper.js +5 -7
  45. package/lib/components/DateRangePicker/Day.js +2 -6
  46. package/lib/components/Dialog/Dialog.js +4 -6
  47. package/lib/components/Disclaimer/Disclaimer.js +5 -7
  48. package/lib/components/Dropdown/Dropdown.js +28 -15
  49. package/lib/components/Dropdown/Dropdown.js.flow +57 -32
  50. package/lib/components/Dropdown/Dropdown.module.css +5 -0
  51. package/lib/components/Dropdown/SimpleDropdown.js +5 -5
  52. package/lib/components/Dropdown/SimpleDropdown.js.flow +4 -0
  53. package/lib/components/EmptyState/EmptyImages/CalendarEmptyImage.js +1 -3
  54. package/lib/components/EmptyState/EmptyImages/ChartEmptyImage.js +1 -3
  55. package/lib/components/EmptyState/EmptyImages/DataEmptyImage.js +1 -3
  56. package/lib/components/EmptyState/EmptyImages/FileEmptyImage.js +1 -3
  57. package/lib/components/EmptyState/EmptyImages/MessageEmptyImage.js +1 -3
  58. package/lib/components/EmptyState/EmptyImages/UploadEmptyImage.js +1 -3
  59. package/lib/components/EmptyState/EmptyState.js +5 -7
  60. package/lib/components/ErrorMessage/ErrorImages/ForbiddenImage.js +1 -3
  61. package/lib/components/ErrorMessage/ErrorImages/NotFoundImage.js +1 -3
  62. package/lib/components/ErrorMessage/ErrorImages/ServerErrorImage.js +1 -3
  63. package/lib/components/ErrorMessage/ErrorImages/UnauthorizedImage.js +1 -3
  64. package/lib/components/ErrorMessage/ErrorMessage.js +5 -7
  65. package/lib/components/FileUpload/FileBlock/FileBlock.js +3 -6
  66. package/lib/components/FileUpload/FileUpload.js +12 -6
  67. package/lib/components/FilterButtonOverlay/FilterButtonOverlay.js +5 -7
  68. package/lib/components/FocusManager/FocusManager.js +3 -4
  69. package/lib/components/FocusManagerWithArrowKeyNavigation/FocusManagerWithArrowKeyNavigation.js +4 -6
  70. package/lib/components/FormTitleWrapper/FormTitleWrapper.js +4 -7
  71. package/lib/components/Grid/Grid.js +3 -5
  72. package/lib/components/Icon/ClickableIcon.js +6 -9
  73. package/lib/components/Icon/Icon.docs.js +2 -4
  74. package/lib/components/Icon/Icon.js +6 -11
  75. package/lib/components/Icon/SemanticIcon.js +3 -4
  76. package/lib/components/InContextAlert/InContextAlert.js +4 -7
  77. package/lib/components/InfinitePagination/InfinitePagination.js +4 -8
  78. package/lib/components/InlineDropdown/InlineDropdown.js +30 -15
  79. package/lib/components/InlineDropdown/InlineDropdown.js.flow +57 -30
  80. package/lib/components/InlineDropdown/InlineDropdown.module.css +5 -0
  81. package/lib/components/InlineDropdown/SimpleInlineDropdown.js +5 -5
  82. package/lib/components/InlineDropdown/SimpleInlineDropdown.js.flow +4 -0
  83. package/lib/components/Input/Input.js +6 -10
  84. package/lib/components/KPIBox/KPIBox.js +5 -7
  85. package/lib/components/LinearLoader/LinearLoader.js +4 -7
  86. package/lib/components/Link/Link.js +7 -12
  87. package/lib/components/Menu/Menu.js +7 -7
  88. package/lib/components/Menu/MenuOptionButton.js +3 -4
  89. package/lib/components/Modal/Modal.js +4 -5
  90. package/lib/components/Notification/Notification.js +5 -9
  91. package/lib/components/OptionButton/OptionButton.js +5 -7
  92. package/lib/components/OptionButton/SimpleOptionButton.js +3 -5
  93. package/lib/components/PageTitle/PageTitle.js +6 -9
  94. package/lib/components/Pagination/Pagination.js +5 -7
  95. package/lib/components/Pagination/PaginationItem.js +2 -4
  96. package/lib/components/Panel/Panel.js +4 -6
  97. package/lib/components/ProgressDonut/ProgressDonut.js +4 -7
  98. package/lib/components/PromptChip/PromptChip.js +5 -9
  99. package/lib/components/PromptInput/PromptInput.js +4 -7
  100. package/lib/components/RadioButton/RadioButton.js +12 -7
  101. package/lib/components/RadioButton/RadioGroup.js +11 -8
  102. package/lib/components/RadioTile/RadioTile.js +5 -7
  103. package/lib/components/RangeSlider/RangeSlider.js +5 -8
  104. package/lib/components/Rating/Rating.js +5 -9
  105. package/lib/components/ScoreBar/ScoreBar.js +6 -11
  106. package/lib/components/SearchInput/SearchInput.js +5 -7
  107. package/lib/components/Separator/Separator.js +5 -9
  108. package/lib/components/Shimmer/Shimmer.js +5 -10
  109. package/lib/components/SideMenuLink/SideMenuLink.js +5 -8
  110. package/lib/components/StatusIndicator/StatusIndicator.js +6 -9
  111. package/lib/components/Stepper/Step/Step.js +4 -7
  112. package/lib/components/Stepper/Step/StepContent.js +2 -4
  113. package/lib/components/Stepper/Step/StepLabel.js +2 -4
  114. package/lib/components/Stepper/Stepper.js +4 -7
  115. package/lib/components/StickyBar/StickyBar.js +5 -7
  116. package/lib/components/SubMenu/SubMenu.js +4 -7
  117. package/lib/components/SubMenu/SubMenuGroup.js +3 -5
  118. package/lib/components/SubMenu/SubMenuItem.js +7 -10
  119. package/lib/components/SubMenu/SubMenuLink.js +4 -7
  120. package/lib/components/Table/Cell.js +8 -12
  121. package/lib/components/Table/DefaultRow.js +9 -6
  122. package/lib/components/Table/DefaultTableHeader.js +4 -8
  123. package/lib/components/Table/StaticTable.js +9 -13
  124. package/lib/components/Table/StaticTable.js.flow +1 -1
  125. package/lib/components/Table/Table.docs.js +3 -4
  126. package/lib/components/Table/Table.docs.js.flow +1 -1
  127. package/lib/components/Table/Table.js +4 -3
  128. package/lib/components/Table/TableActionBar.js +3 -4
  129. package/lib/components/Table/TableBottomBar.js +3 -4
  130. package/lib/components/Table/TableTopBar.js +3 -4
  131. package/lib/components/Table/dummyTableData.js +2 -4
  132. package/lib/components/Table/hooks.js +2 -4
  133. package/lib/components/Tabs/Tab/Tab.js +6 -10
  134. package/lib/components/Tabs/TabList/TabDropdown.js +17 -11
  135. package/lib/components/Tabs/TabList/TabDropdown.js.flow +38 -22
  136. package/lib/components/Tabs/TabList/TabDropdown.module.css +4 -0
  137. package/lib/components/Tabs/TabList/TabList.js +9 -11
  138. package/lib/components/Tabs/TabList/TabList.js.flow +4 -0
  139. package/lib/components/Text/Text.js +48 -75
  140. package/lib/components/TextTile/TextTile.js +4 -7
  141. package/lib/components/Textarea/Textarea.js +4 -6
  142. package/lib/components/Timeline/Timeline.js +4 -8
  143. package/lib/components/Timeline/TimelineItem/TimelineItem.js +3 -6
  144. package/lib/components/Toast/Toast.js +8 -12
  145. package/lib/components/Toast/ToastContainer.js +3 -6
  146. package/lib/components/Toast/ToastManager.js +5 -10
  147. package/lib/components/Toggle/Toggle.js +12 -7
  148. package/lib/components/TokenListInput/TokenListInput.js +33 -14
  149. package/lib/components/TokenListInput/TokenListInput.js.flow +58 -32
  150. package/lib/components/TokenListInput/TokenListInput.module.css +5 -0
  151. package/lib/components/TokenListInput/TokenValueChips.js +1 -3
  152. package/lib/components/Tooltip/Tooltip.js +9 -9
  153. package/lib/components/Tooltip/Tooltip.js.flow +2 -2
  154. package/lib/components/Truncate/Truncate.js +6 -10
  155. package/lib/components/TruncatedTextWithTooltip/TruncatedTextWithTooltip.js +3 -4
  156. package/lib/components/Typeahead/SimpleTypeahead.js +6 -6
  157. package/lib/components/Typeahead/SimpleTypeahead.js.flow +4 -0
  158. package/lib/components/Typeahead/Typeahead.js +30 -15
  159. package/lib/components/Typeahead/Typeahead.js.flow +58 -30
  160. package/lib/components/Typeahead/Typeahead.module.css +5 -0
  161. package/lib/components/WeekdayPicker/WeekdayPicker.js +5 -9
  162. package/lib/hooks/index.js +11 -0
  163. package/lib/hooks/index.js.flow +1 -0
  164. package/lib/hooks/useArbitraryOptionAddition/useArbitraryOptionAddition.js +0 -1
  165. package/lib/hooks/useCopyToClipboard/useCopyToClipboard.js +0 -2
  166. package/lib/hooks/useDebounce/useDebounce.js +1 -3
  167. package/lib/hooks/useFileUpload/useFileUpload.js +2 -4
  168. package/lib/hooks/useFilteredOptions/useFilteredOptions.js +1 -4
  169. package/lib/hooks/useInfiniteScroll/useInfiniteScroll.js +1 -3
  170. package/lib/hooks/useInputState/useInputState.js +1 -3
  171. package/lib/hooks/useLockedBody/useLockedBody.js +0 -1
  172. package/lib/hooks/useModal/useModal.js +0 -1
  173. package/lib/hooks/useMountTransition/index.js +1 -3
  174. package/lib/hooks/usePagination/usePagination.js +0 -1
  175. package/lib/hooks/useReferenceElementWidth/index.js +16 -0
  176. package/lib/hooks/useReferenceElementWidth/index.js.flow +3 -0
  177. package/lib/hooks/useReferenceElementWidth/useReferenceElementWidth.js +21 -0
  178. package/lib/hooks/useReferenceElementWidth/useReferenceElementWidth.js.flow +23 -0
  179. package/lib/hooks/useResizeObserver/useResizeObserver.js +1 -3
  180. package/lib/hooks/useToastPortal/useToastPortal.js +0 -1
  181. package/lib/hooks/useToggle/useToggle.js +0 -1
  182. package/lib/hooks/useWindowSize/useWindowSize.js +0 -1
  183. package/lib/styles/index.js +267 -535
  184. package/lib/styles/variables/_border.js +12 -25
  185. package/lib/styles/variables/_color.js +104 -209
  186. package/lib/styles/variables/_elevation.js +7 -15
  187. package/lib/styles/variables/_font.js +30 -61
  188. package/lib/styles/variables/_motion.js +6 -13
  189. package/lib/styles/variables/_opacity.js +15 -31
  190. package/lib/styles/variables/_shadow.js +24 -49
  191. package/lib/styles/variables/_size.js +57 -115
  192. package/lib/styles/variables/_space.js +12 -25
  193. package/lib/types/charts.js +1 -0
  194. package/lib/types/common.js +2 -4
  195. package/lib/types/menu.js +1 -0
  196. package/lib/types/toast.js +4 -8
  197. package/lib/types/typography.js +2 -4
  198. package/lib/utils/array/are-arrays-equal.js +0 -1
  199. package/lib/utils/charts/charts.js +4 -8
  200. package/lib/utils/charts/columnChart.js +1 -4
  201. package/lib/utils/charts/donutChart.js +2 -4
  202. package/lib/utils/charts/funnelChart.js +0 -4
  203. package/lib/utils/charts/helpers.js +9 -17
  204. package/lib/utils/charts/lineChart.js +0 -2
  205. package/lib/utils/charts/spiderChart.js +2 -3
  206. package/lib/utils/charts/typography.js +7 -14
  207. package/lib/utils/classify/index.js +2 -4
  208. package/lib/utils/click-away/click-away.js +50 -56
  209. package/lib/utils/date-range-picker/date-range-picker.js +6 -14
  210. package/lib/utils/date-range-picker/timezones.js +2 -5
  211. package/lib/utils/dom/dom.js +0 -1
  212. package/lib/utils/helpers/helpers.js +0 -1
  213. package/lib/utils/makeClassNameComponent/makeClassNameComponent.js +3 -4
  214. package/lib/utils/menu/menu.js +1 -3
  215. package/lib/utils/rating/rating.js +2 -5
  216. package/lib/utils/score-bar/score-bar.js +2 -4
  217. package/lib/utils/string/string.js +0 -1
  218. package/lib/utils/token-list-input/token-list-input.js +1 -3
  219. package/lib/utils/tokens/tokens.js +1 -3
  220. package/package.json +7 -7
  221. package/lib/components/Avatar/Avatar.d.ts +0 -263
  222. package/lib/components/Avatar/index.d.ts +0 -1
  223. package/lib/components/AvatarGroup/AvatarGroup.d.ts +0 -161
  224. package/lib/components/AvatarGroup/index.d.ts +0 -1
  225. package/lib/components/Badge/Badge.d.ts +0 -138
  226. package/lib/components/Badge/index.d.ts +0 -1
  227. package/lib/components/BadgedIcon/BadgedIcon.d.ts +0 -70
  228. package/lib/components/BadgedIcon/index.d.ts +0 -1
  229. package/lib/components/Banner/Banner.d.ts +0 -52
  230. package/lib/components/Banner/index.d.ts +0 -1
  231. package/lib/components/Breadcrumbs/BreadcrumbLink/BreadcrumbLink.d.ts +0 -50
  232. package/lib/components/Breadcrumbs/BreadcrumbLink/index.d.ts +0 -1
  233. package/lib/components/Breadcrumbs/Breadcrumbs.d.ts +0 -64
  234. package/lib/components/Breadcrumbs/index.d.ts +0 -2
  235. package/lib/components/Button/Button.d.ts +0 -288
  236. package/lib/components/Button/index.d.ts +0 -14
  237. package/lib/components/ButtonDropdown/ButtonDropdown.d.ts +0 -192
  238. package/lib/components/ButtonDropdown/SimpleButtonDropdown.d.ts +0 -148
  239. package/lib/components/ButtonDropdown/index.d.ts +0 -2
  240. package/lib/components/ButtonTabs/ButtonTab/ButtonTab.d.ts +0 -82
  241. package/lib/components/ButtonTabs/ButtonTab/index.d.ts +0 -1
  242. package/lib/components/ButtonTabs/ButtonTabDropdown.d.ts +0 -118
  243. package/lib/components/ButtonTabs/ButtonTabs.d.ts +0 -113
  244. package/lib/components/ButtonTabs/index.d.ts +0 -2
  245. package/lib/components/Card/Card.d.ts +0 -163
  246. package/lib/components/Card/index.d.ts +0 -1
  247. package/lib/components/Charts/ChartTooltip/index.d.ts +0 -10
  248. package/lib/components/Charts/ChartWrapper/ChartWrapper.d.ts +0 -184
  249. package/lib/components/Charts/ChartWrapper/index.d.ts +0 -1
  250. package/lib/components/Charts/ColumnChart/ColumnChart.d.ts +0 -111
  251. package/lib/components/Charts/ColumnChart/index.d.ts +0 -1
  252. package/lib/components/Charts/DonutChart/DonutChart.d.ts +0 -142
  253. package/lib/components/Charts/DonutChart/index.d.ts +0 -1
  254. package/lib/components/Charts/FunnelChart/FunnelChart.d.ts +0 -99
  255. package/lib/components/Charts/FunnelChart/index.d.ts +0 -1
  256. package/lib/components/Charts/LineChart/LineChart.d.ts +0 -97
  257. package/lib/components/Charts/LineChart/index.d.ts +0 -1
  258. package/lib/components/Charts/SpiderChart/SpiderChart.d.ts +0 -95
  259. package/lib/components/Charts/SpiderChart/index.d.ts +0 -1
  260. package/lib/components/Charts/index.d.ts +0 -7
  261. package/lib/components/ChatBubble/ChatBubble.d.ts +0 -203
  262. package/lib/components/ChatBubble/index.d.ts +0 -1
  263. package/lib/components/Checkbox/Checkbox.d.ts +0 -165
  264. package/lib/components/Checkbox/CheckboxGroup.d.ts +0 -113
  265. package/lib/components/Checkbox/index.d.ts +0 -2
  266. package/lib/components/Chip/Chip.d.ts +0 -202
  267. package/lib/components/Chip/index.d.ts +0 -2
  268. package/lib/components/CircularLoader/CircularLoader.d.ts +0 -56
  269. package/lib/components/CircularLoader/index.d.ts +0 -1
  270. package/lib/components/CollapsibleCard/CollapsibleCard.d.ts +0 -134
  271. package/lib/components/CollapsibleCard/index.d.ts +0 -1
  272. package/lib/components/Combobox/Combobox.d.ts +0 -292
  273. package/lib/components/Combobox/helper.d.ts +0 -205
  274. package/lib/components/Combobox/index.d.ts +0 -1
  275. package/lib/components/ConditionalWrapper/ConditionalWrapper.d.ts +0 -12
  276. package/lib/components/ConditionalWrapper/index.d.ts +0 -1
  277. package/lib/components/DateRangePicker/Calendar.d.ts +0 -97
  278. package/lib/components/DateRangePicker/DateRangePicker.d.ts +0 -196
  279. package/lib/components/DateRangePicker/DateRangeWrapper.d.ts +0 -347
  280. package/lib/components/DateRangePicker/Day.d.ts +0 -70
  281. package/lib/components/DateRangePicker/index.d.ts +0 -1
  282. package/lib/components/Dialog/Dialog.d.ts +0 -208
  283. package/lib/components/Dialog/index.d.ts +0 -1
  284. package/lib/components/Disclaimer/Disclaimer.d.ts +0 -32
  285. package/lib/components/Disclaimer/index.d.ts +0 -1
  286. package/lib/components/Dropdown/Dropdown.d.ts +0 -145
  287. package/lib/components/Dropdown/SimpleDropdown.d.ts +0 -142
  288. package/lib/components/Dropdown/index.d.ts +0 -2
  289. package/lib/components/EmptyState/EmptyImages/CalendarEmptyImage.d.ts +0 -108
  290. package/lib/components/EmptyState/EmptyImages/ChartEmptyImage.d.ts +0 -194
  291. package/lib/components/EmptyState/EmptyImages/DataEmptyImage.d.ts +0 -116
  292. package/lib/components/EmptyState/EmptyImages/FileEmptyImage.d.ts +0 -133
  293. package/lib/components/EmptyState/EmptyImages/MessageEmptyImage.d.ts +0 -64
  294. package/lib/components/EmptyState/EmptyImages/UploadEmptyImage.d.ts +0 -67
  295. package/lib/components/EmptyState/EmptyImages/index.d.ts +0 -6
  296. package/lib/components/EmptyState/EmptyState.d.ts +0 -82
  297. package/lib/components/EmptyState/index.d.ts +0 -1
  298. package/lib/components/ErrorMessage/ErrorImages/ForbiddenImage.d.ts +0 -85
  299. package/lib/components/ErrorMessage/ErrorImages/NotFoundImage.d.ts +0 -117
  300. package/lib/components/ErrorMessage/ErrorImages/ServerErrorImage.d.ts +0 -237
  301. package/lib/components/ErrorMessage/ErrorImages/UnauthorizedImage.d.ts +0 -73
  302. package/lib/components/ErrorMessage/ErrorImages/index.d.ts +0 -4
  303. package/lib/components/ErrorMessage/ErrorMessage.d.ts +0 -86
  304. package/lib/components/ErrorMessage/index.d.ts +0 -1
  305. package/lib/components/FileUpload/FileBlock/FileBlock.d.ts +0 -137
  306. package/lib/components/FileUpload/FileBlock/index.d.ts +0 -1
  307. package/lib/components/FileUpload/FileUpload.d.ts +0 -190
  308. package/lib/components/FileUpload/index.d.ts +0 -2
  309. package/lib/components/FilterButtonOverlay/FilterButtonOverlay.d.ts +0 -130
  310. package/lib/components/FilterButtonOverlay/index.d.ts +0 -1
  311. package/lib/components/FocusManager/FocusManager.d.ts +0 -52
  312. package/lib/components/FocusManager/index.d.ts +0 -1
  313. package/lib/components/FocusManagerWithArrowKeyNavigation/FocusManagerWithArrowKeyNavigation.d.ts +0 -137
  314. package/lib/components/FocusManagerWithArrowKeyNavigation/index.d.ts +0 -1
  315. package/lib/components/FormTitleWrapper/FormTitleWrapper.d.ts +0 -62
  316. package/lib/components/FormTitleWrapper/index.d.ts +0 -1
  317. package/lib/components/Grid/Grid.d.ts +0 -104
  318. package/lib/components/Grid/index.d.ts +0 -1
  319. package/lib/components/Icon/ClickableIcon.d.ts +0 -106
  320. package/lib/components/Icon/Icon.d.ts +0 -71
  321. package/lib/components/Icon/Icon.docs.d.ts +0 -152
  322. package/lib/components/Icon/SemanticIcon.d.ts +0 -42
  323. package/lib/components/Icon/index.d.ts +0 -3
  324. package/lib/components/InContextAlert/InContextAlert.d.ts +0 -210
  325. package/lib/components/InContextAlert/index.d.ts +0 -1
  326. package/lib/components/InfinitePagination/InfinitePagination.d.ts +0 -112
  327. package/lib/components/InfinitePagination/index.d.ts +0 -1
  328. package/lib/components/InlineDropdown/InlineDropdown.d.ts +0 -146
  329. package/lib/components/InlineDropdown/SimpleInlineDropdown.d.ts +0 -145
  330. package/lib/components/InlineDropdown/index.d.ts +0 -2
  331. package/lib/components/Input/Input.d.ts +0 -327
  332. package/lib/components/Input/index.d.ts +0 -1
  333. package/lib/components/KPIBox/KPIBox.d.ts +0 -89
  334. package/lib/components/KPIBox/index.d.ts +0 -1
  335. package/lib/components/LinearLoader/LinearLoader.d.ts +0 -44
  336. package/lib/components/LinearLoader/index.d.ts +0 -1
  337. package/lib/components/Link/Link.d.ts +0 -225
  338. package/lib/components/Link/index.d.ts +0 -1
  339. package/lib/components/Menu/Menu.d.ts +0 -379
  340. package/lib/components/Menu/MenuOptionButton.d.ts +0 -199
  341. package/lib/components/Menu/index.d.ts +0 -2
  342. package/lib/components/Modal/Modal.d.ts +0 -362
  343. package/lib/components/Modal/index.d.ts +0 -14
  344. package/lib/components/Notification/Notification.d.ts +0 -147
  345. package/lib/components/Notification/index.d.ts +0 -1
  346. package/lib/components/OptionButton/OptionButton.d.ts +0 -150
  347. package/lib/components/OptionButton/SimpleOptionButton.d.ts +0 -150
  348. package/lib/components/OptionButton/index.d.ts +0 -2
  349. package/lib/components/PageTitle/PageTitle.d.ts +0 -256
  350. package/lib/components/PageTitle/index.d.ts +0 -1
  351. package/lib/components/Pagination/Pagination.d.ts +0 -144
  352. package/lib/components/Pagination/PaginationItem.d.ts +0 -136
  353. package/lib/components/Pagination/index.d.ts +0 -1
  354. package/lib/components/Panel/Panel.d.ts +0 -168
  355. package/lib/components/Panel/index.d.ts +0 -9
  356. package/lib/components/ProgressDonut/ProgressDonut.d.ts +0 -102
  357. package/lib/components/ProgressDonut/index.d.ts +0 -1
  358. package/lib/components/PromptChip/PromptChip.d.ts +0 -167
  359. package/lib/components/PromptChip/index.d.ts +0 -1
  360. package/lib/components/PromptInput/PromptInput.d.ts +0 -189
  361. package/lib/components/PromptInput/index.d.ts +0 -1
  362. package/lib/components/RadioButton/RadioButton.d.ts +0 -132
  363. package/lib/components/RadioButton/RadioGroup.d.ts +0 -88
  364. package/lib/components/RadioButton/index.d.ts +0 -2
  365. package/lib/components/RadioTile/RadioTile.d.ts +0 -109
  366. package/lib/components/RadioTile/index.d.ts +0 -1
  367. package/lib/components/RangeSlider/RangeSlider.d.ts +0 -207
  368. package/lib/components/RangeSlider/index.d.ts +0 -1
  369. package/lib/components/Rating/Rating.d.ts +0 -131
  370. package/lib/components/Rating/index.d.ts +0 -1
  371. package/lib/components/ScoreBar/ScoreBar.d.ts +0 -122
  372. package/lib/components/ScoreBar/index.d.ts +0 -1
  373. package/lib/components/SearchInput/SearchInput.d.ts +0 -79
  374. package/lib/components/SearchInput/index.d.ts +0 -2
  375. package/lib/components/Separator/Separator.d.ts +0 -51
  376. package/lib/components/Separator/index.d.ts +0 -1
  377. package/lib/components/Shimmer/Shimmer.d.ts +0 -131
  378. package/lib/components/Shimmer/index.d.ts +0 -1
  379. package/lib/components/SideMenuLink/SideMenuLink.d.ts +0 -336
  380. package/lib/components/SideMenuLink/index.d.ts +0 -1
  381. package/lib/components/StatusIndicator/StatusIndicator.d.ts +0 -60
  382. package/lib/components/StatusIndicator/index.d.ts +0 -1
  383. package/lib/components/Stepper/Step/Step.d.ts +0 -119
  384. package/lib/components/Stepper/Step/StepContent.d.ts +0 -35
  385. package/lib/components/Stepper/Step/StepLabel.d.ts +0 -35
  386. package/lib/components/Stepper/Step/index.d.ts +0 -3
  387. package/lib/components/Stepper/Stepper.d.ts +0 -60
  388. package/lib/components/Stepper/index.d.ts +0 -2
  389. package/lib/components/StickyBar/StickyBar.d.ts +0 -55
  390. package/lib/components/StickyBar/index.d.ts +0 -1
  391. package/lib/components/SubMenu/SubMenu.d.ts +0 -89
  392. package/lib/components/SubMenu/SubMenuGroup.d.ts +0 -156
  393. package/lib/components/SubMenu/SubMenuItem.d.ts +0 -161
  394. package/lib/components/SubMenu/SubMenuLink.d.ts +0 -81
  395. package/lib/components/SubMenu/index.d.ts +0 -4
  396. package/lib/components/Table/Cell.d.ts +0 -107
  397. package/lib/components/Table/DefaultRow.d.ts +0 -145
  398. package/lib/components/Table/DefaultTableHeader.d.ts +0 -237
  399. package/lib/components/Table/StaticTable.d.ts +0 -205
  400. package/lib/components/Table/Table.d.ts +0 -114
  401. package/lib/components/Table/Table.docs.d.ts +0 -544
  402. package/lib/components/Table/TableActionBar.d.ts +0 -48
  403. package/lib/components/Table/TableBottomBar.d.ts +0 -20
  404. package/lib/components/Table/TableTopBar.d.ts +0 -20
  405. package/lib/components/Table/dummyTableData.d.ts +0 -2189
  406. package/lib/components/Table/hooks.d.ts +0 -98
  407. package/lib/components/Table/index.d.ts +0 -8
  408. package/lib/components/Tabs/Tab/Tab.d.ts +0 -146
  409. package/lib/components/Tabs/Tab/index.d.ts +0 -1
  410. package/lib/components/Tabs/TabList/TabDropdown.d.ts +0 -100
  411. package/lib/components/Tabs/TabList/TabList.d.ts +0 -157
  412. package/lib/components/Tabs/TabList/index.d.ts +0 -1
  413. package/lib/components/Tabs/index.d.ts +0 -2
  414. package/lib/components/Text/Text.d.ts +0 -1021
  415. package/lib/components/Text/index.d.ts +0 -30
  416. package/lib/components/TextTile/TextTile.d.ts +0 -40
  417. package/lib/components/TextTile/index.d.ts +0 -1
  418. package/lib/components/Textarea/Textarea.d.ts +0 -132
  419. package/lib/components/Textarea/index.d.ts +0 -2
  420. package/lib/components/Timeline/Timeline.d.ts +0 -40
  421. package/lib/components/Timeline/TimelineItem/TimelineItem.d.ts +0 -121
  422. package/lib/components/Timeline/TimelineItem/index.d.ts +0 -1
  423. package/lib/components/Timeline/index.d.ts +0 -2
  424. package/lib/components/Toast/Toast.d.ts +0 -248
  425. package/lib/components/Toast/ToastContainer.d.ts +0 -140
  426. package/lib/components/Toast/ToastManager.d.ts +0 -58
  427. package/lib/components/Toast/index.d.ts +0 -10
  428. package/lib/components/Toggle/Toggle.d.ts +0 -111
  429. package/lib/components/Toggle/index.d.ts +0 -1
  430. package/lib/components/TokenListInput/TokenListInput.d.ts +0 -351
  431. package/lib/components/TokenListInput/TokenValueChips.d.ts +0 -60
  432. package/lib/components/TokenListInput/index.d.ts +0 -1
  433. package/lib/components/Tooltip/Tooltip.d.ts +0 -186
  434. package/lib/components/Tooltip/index.d.ts +0 -1
  435. package/lib/components/Truncate/Truncate.d.ts +0 -87
  436. package/lib/components/Truncate/index.d.ts +0 -2
  437. package/lib/components/TruncatedTextWithTooltip/TruncatedTextWithTooltip.d.ts +0 -95
  438. package/lib/components/TruncatedTextWithTooltip/index.d.ts +0 -1
  439. package/lib/components/Typeahead/SimpleTypeahead.d.ts +0 -141
  440. package/lib/components/Typeahead/Typeahead.d.ts +0 -217
  441. package/lib/components/Typeahead/index.d.ts +0 -2
  442. package/lib/components/WeekdayPicker/WeekdayPicker.d.ts +0 -242
  443. package/lib/components/WeekdayPicker/index.d.ts +0 -1
  444. package/lib/components/index.d.ts +0 -74
  445. package/lib/hooks/index.d.ts +0 -15
  446. package/lib/hooks/useArbitraryOptionAddition/index.d.ts +0 -1
  447. package/lib/hooks/useArbitraryOptionAddition/useArbitraryOptionAddition.d.ts +0 -124
  448. package/lib/hooks/useCopyToClipboard/index.d.ts +0 -1
  449. package/lib/hooks/useCopyToClipboard/useCopyToClipboard.d.ts +0 -27
  450. package/lib/hooks/useDebounce/index.d.ts +0 -1
  451. package/lib/hooks/useDebounce/useDebounce.d.ts +0 -13
  452. package/lib/hooks/useFileUpload/index.d.ts +0 -1
  453. package/lib/hooks/useFileUpload/useFileUpload.d.ts +0 -342
  454. package/lib/hooks/useFilteredOptions/index.d.ts +0 -1
  455. package/lib/hooks/useFilteredOptions/useFilteredOptions.d.ts +0 -87
  456. package/lib/hooks/useInfiniteScroll/index.d.ts +0 -1
  457. package/lib/hooks/useInfiniteScroll/useInfiniteScroll.d.ts +0 -77
  458. package/lib/hooks/useInputState/index.d.ts +0 -1
  459. package/lib/hooks/useInputState/useInputState.d.ts +0 -22
  460. package/lib/hooks/useLockedBody/index.d.ts +0 -1
  461. package/lib/hooks/useLockedBody/useLockedBody.d.ts +0 -46
  462. package/lib/hooks/useModal/index.d.ts +0 -1
  463. package/lib/hooks/useModal/useModal.d.ts +0 -32
  464. package/lib/hooks/useMountTransition/index.d.ts +0 -24
  465. package/lib/hooks/usePagination/index.d.ts +0 -1
  466. package/lib/hooks/usePagination/usePagination.d.ts +0 -140
  467. package/lib/hooks/useResizeObserver/index.d.ts +0 -1
  468. package/lib/hooks/useResizeObserver/useResizeObserver.d.ts +0 -22
  469. package/lib/hooks/useToastPortal/index.d.ts +0 -1
  470. package/lib/hooks/useToastPortal/useToastPortal.d.ts +0 -31
  471. package/lib/hooks/useToggle/index.d.ts +0 -1
  472. package/lib/hooks/useToggle/useToggle.d.ts +0 -11
  473. package/lib/hooks/useWindowSize/index.d.ts +0 -1
  474. package/lib/hooks/useWindowSize/useWindowSize.d.ts +0 -28
  475. package/lib/index.d.ts +0 -5
  476. package/lib/styles/index.d.ts +0 -267
  477. package/lib/styles/variables/_border.d.ts +0 -12
  478. package/lib/styles/variables/_color.d.ts +0 -104
  479. package/lib/styles/variables/_elevation.d.ts +0 -7
  480. package/lib/styles/variables/_font.d.ts +0 -30
  481. package/lib/styles/variables/_motion.d.ts +0 -6
  482. package/lib/styles/variables/_opacity.d.ts +0 -15
  483. package/lib/styles/variables/_shadow.d.ts +0 -24
  484. package/lib/styles/variables/_size.d.ts +0 -57
  485. package/lib/styles/variables/_space.d.ts +0 -12
  486. package/lib/types/charts.d.ts +0 -225
  487. package/lib/types/common.d.ts +0 -10
  488. package/lib/types/date-range-picker.d.ts +0 -17
  489. package/lib/types/index.d.ts +0 -6
  490. package/lib/types/menu.d.ts +0 -13
  491. package/lib/types/toast.d.ts +0 -32
  492. package/lib/types/typography.d.ts +0 -17
  493. package/lib/utils/array/are-arrays-equal.d.ts +0 -11
  494. package/lib/utils/array/index.d.ts +0 -1
  495. package/lib/utils/charts/charts.d.ts +0 -102
  496. package/lib/utils/charts/columnChart.d.ts +0 -51
  497. package/lib/utils/charts/donutChart.d.ts +0 -116
  498. package/lib/utils/charts/funnelChart.d.ts +0 -94
  499. package/lib/utils/charts/helpers.d.ts +0 -44
  500. package/lib/utils/charts/index.d.ts +0 -7
  501. package/lib/utils/charts/lineChart.d.ts +0 -44
  502. package/lib/utils/charts/spiderChart.d.ts +0 -46
  503. package/lib/utils/charts/typography.d.ts +0 -42
  504. package/lib/utils/classify/index.d.ts +0 -27
  505. package/lib/utils/click-away/click-away.d.ts +0 -194
  506. package/lib/utils/click-away/index.d.ts +0 -1
  507. package/lib/utils/date-range-picker/date-range-picker.d.ts +0 -411
  508. package/lib/utils/date-range-picker/index.d.ts +0 -2
  509. package/lib/utils/date-range-picker/timezones.d.ts +0 -262
  510. package/lib/utils/dom/dom.d.ts +0 -245
  511. package/lib/utils/dom/index.d.ts +0 -1
  512. package/lib/utils/helpers/helpers.d.ts +0 -48
  513. package/lib/utils/helpers/index.d.ts +0 -1
  514. package/lib/utils/index.d.ts +0 -14
  515. package/lib/utils/makeClassNameComponent/index.d.ts +0 -1
  516. package/lib/utils/makeClassNameComponent/makeClassNameComponent.d.ts +0 -73
  517. package/lib/utils/menu/index.d.ts +0 -1
  518. package/lib/utils/merge-refs/index.d.ts +0 -1
  519. package/lib/utils/merge-refs/merge-refs.d.ts +0 -15
  520. package/lib/utils/rating/index.d.ts +0 -1
  521. package/lib/utils/rating/rating.d.ts +0 -31
  522. package/lib/utils/score-bar/index.d.ts +0 -1
  523. package/lib/utils/score-bar/score-bar.d.ts +0 -54
  524. package/lib/utils/string/index.d.ts +0 -1
  525. package/lib/utils/string/string.d.ts +0 -30
  526. package/lib/utils/token-list-input/token-list-input.d.ts +0 -32
  527. package/lib/utils/tokens/index.d.ts +0 -1
  528. package/lib/utils/tokens/tokens.d.ts +0 -230
@@ -1,27 +0,0 @@
1
- import {useState} from 'react';
2
- type CopiedValue = string | null;
3
- type CopyFn = (text: string) => Promise<boolean>; // Return success
4
-
5
- export function useCopyToClipboard(): [CopiedValue, CopyFn] {
6
- const [copiedText, setCopiedText] = useState<CopiedValue>(null);
7
-
8
- const copy: CopyFn = async (text) => {
9
- if (!navigator.clipboard) {
10
- console.warn('Clipboard not supported');
11
- return false;
12
- }
13
-
14
- // Try to save to clipboard then save it in the state if worked
15
- try {
16
- await navigator.clipboard.writeText(text);
17
- setCopiedText(text);
18
- return true;
19
- } catch (error) {
20
- console.warn('Copy failed', error);
21
- setCopiedText(null);
22
- return false;
23
- }
24
- };
25
-
26
- return [copiedText, copy];
27
- }
@@ -1 +0,0 @@
1
- export * from './useDebounce';
@@ -1,13 +0,0 @@
1
- import * as React from 'react';
2
- export const useDebounce = <T>(value: T, delay: number): T => {
3
- const [debouncedValue, setDebouncedValue] = React.useState<T>(value);
4
- React.useEffect(() => {
5
- const handler = setTimeout(() => {
6
- setDebouncedValue(value);
7
- }, delay);
8
- return () => {
9
- clearTimeout(handler);
10
- };
11
- }, [value, delay]);
12
- return debouncedValue;
13
- };
@@ -1 +0,0 @@
1
- export * from './useFileUpload';
@@ -1,342 +0,0 @@
1
- import * as React from 'react';
2
- // @ts-expect-error[untyped-import]
3
- import {useDropzone} from 'react-dropzone';
4
- import type {
5
- FileObject,
6
- FileProgress,
7
- FileRejection,
8
- FileUploadBaseProps,
9
- } from '../../components/FileUpload';
10
- import {uuid} from '../../utils/helpers';
11
- // useFileUpload hook returns these props
12
- export type UseFileUploadReturnProps = {
13
- validFiles: Array<FileObject>;
14
- rejectedFiles: Array<FileObject>;
15
- isDragActive: boolean;
16
- shouldAcceptFiles: boolean;
17
- getRootProps: (arg0: unknown) => unknown;
18
- getInputProps: (arg0: unknown) => unknown;
19
- handleFileClear: (id: string) => unknown;
20
- handleClear: () => unknown;
21
- moveFileToProgress: (id: string, progress: FileProgress) => unknown;
22
- moveFileToSuccess: (id: string, successMessage?: string) => unknown;
23
- moveFileToReject: (id: string, rejectReason?: string) => unknown;
24
- setShowReUpload: (id: string, showReUpload?: boolean) => unknown;
25
- };
26
- type State = {
27
- validFiles: Array<FileObject>;
28
- rejectedFiles: Array<FileObject>;
29
- };
30
- type Action =
31
- | {
32
- type: 'ADD_VALID_FILES';
33
- files: Array<FileObject>;
34
- }
35
- | {
36
- type: 'ADD_REJECTED_FILES';
37
- files: Array<FileObject>;
38
- }
39
- | {
40
- type: 'REMOVE_FILE';
41
- id: string;
42
- }
43
- | {
44
- type: 'CLEAR_FILES';
45
- }
46
- | {
47
- type: 'UPDATE_FILE_PROGRESS';
48
- id: string;
49
- progress: FileProgress;
50
- }
51
- | {
52
- type: 'SET_FILE_SUCCESS';
53
- id: string;
54
- successMessage?: string;
55
- }
56
- | {
57
- type: 'SET_FILE_REJECT';
58
- id: string;
59
- rejectReason?: string;
60
- }
61
- | {
62
- type: 'SET_FILE_RE_UPLOAD';
63
- id: string;
64
- showReUpload?: boolean;
65
- };
66
- const initialState: State = {
67
- validFiles: [],
68
- rejectedFiles: [],
69
- };
70
-
71
- const reducer = (state: State, action: Action): State => {
72
- switch (action.type) {
73
- case 'ADD_VALID_FILES':
74
- return {...state, validFiles: [...state.validFiles, ...action.files]};
75
-
76
- case 'ADD_REJECTED_FILES':
77
- return {
78
- ...state,
79
- rejectedFiles: [...state.rejectedFiles, ...action.files],
80
- };
81
-
82
- case 'REMOVE_FILE':
83
- return {
84
- ...state,
85
- validFiles: state.validFiles.filter((file) => file.id !== action.id),
86
- rejectedFiles: state.rejectedFiles.filter(
87
- (file) => file.id !== action.id,
88
- ),
89
- };
90
-
91
- case 'CLEAR_FILES':
92
- return {
93
- validFiles: [],
94
- rejectedFiles: [],
95
- };
96
-
97
- case 'UPDATE_FILE_PROGRESS':
98
- return {
99
- ...state,
100
- validFiles: state.validFiles.map((file) =>
101
- file.id === action.id
102
- ? {
103
- ...file,
104
- progress: action.progress,
105
- showReUpload: false,
106
- successMessage: undefined,
107
- rejectReason: undefined,
108
- }
109
- : file,
110
- ),
111
- rejectedFiles: state.rejectedFiles.map((file) =>
112
- file.id === action.id
113
- ? {
114
- ...file,
115
- progress: action.progress,
116
- showReUpload: false,
117
- successMessage: undefined,
118
- rejectReason: undefined,
119
- }
120
- : file,
121
- ),
122
- };
123
-
124
- case 'SET_FILE_RE_UPLOAD':
125
- return {
126
- ...state,
127
- validFiles: state.validFiles.map((file) =>
128
- file.id === action.id
129
- ? {...file, progress: undefined, showReUpload: action.showReUpload}
130
- : file,
131
- ),
132
- rejectedFiles: state.rejectedFiles.map((file) =>
133
- file.id === action.id
134
- ? {...file, progress: undefined, showReUpload: action.showReUpload}
135
- : file,
136
- ),
137
- };
138
-
139
- case 'SET_FILE_SUCCESS': {
140
- // Note: When a file is accepted manually we would move a file from rejected files(if found) to valid files first
141
- const fileIndex = state.rejectedFiles.findIndex(
142
- (file) => file.id === action.id,
143
- );
144
- let validFiles = [...state.validFiles];
145
- const rejectedFiles = [...state.rejectedFiles];
146
-
147
- if (fileIndex !== -1) {
148
- const file = rejectedFiles[fileIndex];
149
- rejectedFiles.splice(fileIndex, 1);
150
- validFiles = [...validFiles, {...file}];
151
- }
152
-
153
- validFiles = validFiles.map((file) =>
154
- file.id === action.id
155
- ? {
156
- ...file,
157
- success: true,
158
- successMessage: action.successMessage,
159
- reject: false,
160
- rejectReason: undefined,
161
- progress: undefined,
162
- showReUpload: false,
163
- }
164
- : file,
165
- );
166
- return {...state, validFiles, rejectedFiles};
167
- }
168
-
169
- case 'SET_FILE_REJECT': {
170
- // Note: When a file is rejected manually we would move a file from valid files(if found) to rejected files first
171
- const fileIndex = state.validFiles.findIndex(
172
- (file) => file.id === action.id,
173
- );
174
- const validFiles = [...state.validFiles];
175
- let rejectedFiles = [...state.rejectedFiles];
176
-
177
- if (fileIndex !== -1) {
178
- const file = validFiles[fileIndex];
179
- validFiles.splice(fileIndex, 1);
180
- rejectedFiles = [...rejectedFiles, {...file}];
181
- }
182
-
183
- rejectedFiles = rejectedFiles.map((file) =>
184
- file.id === action.id
185
- ? {
186
- ...file,
187
- reject: true,
188
- rejectReason: action.rejectReason,
189
- success: false,
190
- successMessage: undefined,
191
- progress: undefined,
192
- showReUpload: false,
193
- }
194
- : file,
195
- );
196
- return {...state, validFiles, rejectedFiles};
197
- }
198
-
199
- default:
200
- return state;
201
- }
202
- };
203
-
204
- // This is a map of error codes returned by react-dropzone and their corresponding error messages
205
- const DROPZONE_ERROR_MESSAGES = {
206
- 'file-too-large': 'File exceeds maximum size',
207
- 'file-invalid-type': 'Wrong file type',
208
- 'too-many-files': 'Too many files',
209
- 'file-too-small': 'File is too small',
210
- };
211
- export const useFileUpload = ({
212
- maxFiles = 1,
213
- maxSize,
214
- accept,
215
- disabled,
216
- onValidFilesDrop,
217
- onRejectedFilesDrop,
218
- onFileClear,
219
- onClear,
220
- }: FileUploadBaseProps): UseFileUploadReturnProps => {
221
- const [state, dispatch] = React.useReducer(reducer, initialState);
222
-
223
- // Callbacks for when files are dropped / selected and are valid
224
- const handleDropAccepted = (acceptedFiles: Array<File>) => {
225
- const validFiles = acceptedFiles.map((file) => ({
226
- file,
227
- id: uuid(),
228
- reject: false,
229
- rejectReason: undefined,
230
- success: true,
231
- successMessage: undefined,
232
- progress: undefined,
233
- showReUpload: false,
234
- }));
235
- dispatch({
236
- type: 'ADD_VALID_FILES',
237
- files: validFiles,
238
- });
239
- onValidFilesDrop?.(validFiles);
240
- };
241
-
242
- // Callbacks for when files are dropped / selected and are invalid
243
- const handleDropRejected = (fileRejections: Array<FileRejection>) => {
244
- const rejectedFiles = fileRejections.map(({file, errors}) => ({
245
- file,
246
- id: uuid(),
247
- reject: true,
248
- rejectReason:
249
- DROPZONE_ERROR_MESSAGES[errors[0].code] ||
250
- 'Some error occurred uploading this file',
251
- success: false,
252
- successMessage: undefined,
253
- progress: undefined,
254
- showReUpload: false,
255
- }));
256
- dispatch({
257
- type: 'ADD_REJECTED_FILES',
258
- files: rejectedFiles,
259
- });
260
- onRejectedFilesDrop?.(rejectedFiles);
261
- };
262
-
263
- const handleFileClear = (id: string) => {
264
- dispatch({
265
- type: 'REMOVE_FILE',
266
- id,
267
- });
268
- onFileClear?.(id);
269
- };
270
-
271
- const handleClear = () => {
272
- dispatch({
273
- type: 'CLEAR_FILES',
274
- });
275
- onClear?.();
276
- };
277
-
278
- const moveFileToProgress = (id: string, progress: FileProgress) => {
279
- dispatch({
280
- type: 'UPDATE_FILE_PROGRESS',
281
- id,
282
- progress,
283
- });
284
- };
285
-
286
- // Note(Nishant): If the file is found in rejected files, we move it to valid files first in the reducer
287
- const moveFileToSuccess = (id: string, successMessage?: string) => {
288
- dispatch({
289
- type: 'SET_FILE_SUCCESS',
290
- id,
291
- successMessage,
292
- });
293
- };
294
-
295
- // Note(Nishant): If the file is found in valid files, we move it to rejected files first in the reducer
296
- const moveFileToReject = (id: string, rejectReason?: string) => {
297
- dispatch({
298
- type: 'SET_FILE_REJECT',
299
- id,
300
- rejectReason,
301
- });
302
- };
303
-
304
- // Note: This is used to show the re-upload button on the file
305
- const setShowReUpload = (id: string, showReUpload?: boolean) => {
306
- dispatch({
307
- type: 'SET_FILE_RE_UPLOAD',
308
- id,
309
- showReUpload,
310
- });
311
- };
312
-
313
- const totalFiles = state.validFiles.length + state.rejectedFiles.length;
314
- const shouldAcceptFiles =
315
- !disabled && (maxFiles === 0 || totalFiles < maxFiles);
316
- // We are using react-dropzone's useDropzone hook to get the drag and drop props
317
- const {isDragActive, getRootProps, getInputProps} = useDropzone({
318
- maxFiles,
319
- multiple: maxFiles > 1 || maxFiles === 0,
320
- maxSize,
321
- accept,
322
- disabled,
323
- noClick: !shouldAcceptFiles,
324
- noDrag: !shouldAcceptFiles,
325
- onDropAccepted: handleDropAccepted,
326
- onDropRejected: handleDropRejected,
327
- });
328
- return {
329
- validFiles: state.validFiles,
330
- rejectedFiles: state.rejectedFiles,
331
- shouldAcceptFiles,
332
- isDragActive,
333
- getRootProps,
334
- getInputProps,
335
- handleFileClear,
336
- handleClear,
337
- moveFileToProgress,
338
- moveFileToSuccess,
339
- moveFileToReject,
340
- setShowReUpload,
341
- };
342
- };
@@ -1 +0,0 @@
1
- export * from './useFilteredOptions';
@@ -1,87 +0,0 @@
1
- import * as React from 'react';
2
- export type GroupTitleOption<V> = {
3
- groupTitle: React.ReactNode;
4
- options?: V[];
5
- showLineDivider?: boolean;
6
- };
7
- // TODO: V should generic with constraints.
8
- export function useFilteredOptions<V>({
9
- searchTerm,
10
- options = [],
11
- excludedKeys = [],
12
- groupTitleOptions = [],
13
- searchOptionsBy = (option: V, searchTerm: string): boolean => {
14
- // $FlowFixMe
15
- const {
16
- label,
17
- key,
18
- }: {
19
- label: string;
20
- key: string;
21
- } = option;
22
- return (
23
- key.toLowerCase().includes(searchTerm) ||
24
- (label ? label.toLowerCase().includes(searchTerm) : false)
25
- );
26
- },
27
- }: {
28
- searchTerm: string;
29
- options?: V[];
30
- groupTitleOptions?: GroupTitleOption<V>[];
31
- excludedKeys?: string[];
32
- searchOptionsBy?: (option: V, searchTerm: string) => boolean;
33
- }): {
34
- filteredOptions?: V[];
35
- filteredGroupTitleOptions?: GroupTitleOption<V>[];
36
- } {
37
- // Memoize the filterExcluded function for performance
38
- const filterExcluded = React.useCallback(
39
- (
40
- list?: V[],
41
- ): V[] => // $FlowFixMe - list has key property
42
- list ? list.filter((option) => !excludedKeys.includes(option.key)) : [],
43
- [excludedKeys],
44
- );
45
- return React.useMemo(() => {
46
- const trimmedValue = (searchTerm || '').trim().toLowerCase();
47
- // Initialize filteredOptions as an empty array if options are not provided
48
- let filteredOptions: V[] = [];
49
-
50
- if (options.length) {
51
- filteredOptions = filterExcluded(options);
52
-
53
- // Apply search term filtering
54
- if (trimmedValue) {
55
- filteredOptions = filteredOptions.filter((option) =>
56
- searchOptionsBy(option, trimmedValue),
57
- );
58
- }
59
- }
60
-
61
- let filteredGroupTitleOptions: GroupTitleOption<V>[] = [];
62
-
63
- // Process groupTitleOptions if provided
64
- if (Array.isArray(groupTitleOptions) && groupTitleOptions.length) {
65
- filteredGroupTitleOptions = groupTitleOptions
66
- .map((group) => {
67
- const filtered = filterExcluded(group.options).filter(
68
- (option) => !trimmedValue || searchOptionsBy(option, trimmedValue),
69
- );
70
- return {...group, options: filtered};
71
- })
72
- .filter((group) => (group.options ? group.options.length > 0 : false));
73
- }
74
-
75
- return {
76
- filteredOptions,
77
- filteredGroupTitleOptions,
78
- };
79
- }, [
80
- searchTerm,
81
- options,
82
- excludedKeys,
83
- groupTitleOptions,
84
- searchOptionsBy,
85
- filterExcluded,
86
- ]);
87
- }
@@ -1 +0,0 @@
1
- export * from './useInfiniteScroll';
@@ -1,77 +0,0 @@
1
- import * as React from 'react';
2
- type InfiniteScrollOptions = {
3
- itemSize: number | ((index: number) => number);
4
- threshold: number;
5
- itemsLength: number;
6
- hasNextPage: boolean;
7
- loadMoreItems: () => Promise<void>;
8
- containerHeight: number;
9
- isVariableSizeList?: boolean;
10
- };
11
- export function useInfiniteScroll({
12
- itemSize,
13
- threshold,
14
- itemsLength,
15
- hasNextPage,
16
- loadMoreItems,
17
- containerHeight,
18
- isVariableSizeList,
19
- }: InfiniteScrollOptions): (scrollData: {
20
- scrollOffset: number;
21
- scrollDirection: 'forward' | 'backward';
22
- }) => void {
23
- const [isLoading, setIsLoading] = React.useState(false);
24
- const loadingRef = React.useRef(false);
25
- const handleLoadMore = React.useCallback(async () => {
26
- if (!hasNextPage || isLoading || loadingRef.current) {
27
- return;
28
- }
29
-
30
- loadingRef.current = true;
31
- setIsLoading(true);
32
-
33
- try {
34
- await loadMoreItems();
35
- } catch (err) {
36
- console.error('Error loading more items:', err);
37
- } finally {
38
- loadingRef.current = false;
39
- setIsLoading(false);
40
- }
41
- }, [hasNextPage, isLoading, loadMoreItems]);
42
- return React.useCallback(
43
- ({scrollOffset, scrollDirection}) => {
44
- if (scrollDirection !== 'forward') {
45
- return;
46
- }
47
-
48
- let totalSize = 0;
49
-
50
- if (isVariableSizeList && typeof itemSize === 'function') {
51
- for (let i = 0; i < itemsLength; i++) {
52
- totalSize += itemSize(i);
53
- }
54
- } else if (typeof itemSize === 'number') {
55
- totalSize = itemsLength * itemSize;
56
- }
57
-
58
- if (
59
- scrollOffset > totalSize - containerHeight - threshold &&
60
- hasNextPage &&
61
- !isLoading
62
- ) {
63
- handleLoadMore();
64
- }
65
- },
66
- [
67
- itemSize,
68
- threshold,
69
- isLoading,
70
- itemsLength,
71
- hasNextPage,
72
- handleLoadMore,
73
- containerHeight,
74
- isVariableSizeList,
75
- ],
76
- );
77
- }
@@ -1 +0,0 @@
1
- export * from './useInputState';
@@ -1,22 +0,0 @@
1
- import * as React from 'react';
2
- type ReturnType = [
3
- string,
4
- (event: React.SyntheticEvent<HTMLInputElement>) => void,
5
- ];
6
-
7
- /**
8
- * Simple Hook to use with input tag. The primary purpose is an abstraction over input onChange property.
9
- * () => {
10
- * const [value, onChange] = useInputState("");
11
- *
12
- * return <Input type="text" value={value} onChange={onChange} />;
13
- * }
14
- */
15
- export const useInputState = (initialState: string = ''): ReturnType => {
16
- const [state, setState] = React.useState(initialState);
17
- const setInputState = React.useCallback(
18
- (event) => setState(event && event.target.value),
19
- [],
20
- );
21
- return [state, setInputState];
22
- };
@@ -1 +0,0 @@
1
- export * from './useLockedBody';
@@ -1,46 +0,0 @@
1
- import {useEffect, useLayoutEffect, useState} from 'react';
2
- type ReturnType = [boolean, (locked: boolean) => void];
3
- export function useLockedBody(initialLocked: boolean = false): ReturnType {
4
- const [locked, setLocked] = useState(initialLocked);
5
- // Do the side effect before render
6
- useLayoutEffect(() => {
7
- if (!locked) {
8
- return;
9
- }
10
-
11
- // Save initial body style
12
- const originalOverflow = document.body?.style.overflow || '';
13
- const originalPaddingRight = document.body?.style.paddingRight || '';
14
-
15
- // Lock body scroll
16
- if (document.body) {
17
- document.body.style.overflow = 'hidden';
18
- }
19
-
20
- // Get the scrollBar width
21
- // TODO(Nishant): Fetch the scrollBar width from the browser
22
- const scrollBarWidth = 0;
23
-
24
- // Avoid width reflow
25
- if (!!scrollBarWidth && document.body) {
26
- document.body.style.paddingRight = `${scrollBarWidth}px`;
27
- }
28
-
29
- return () => {
30
- if (document.body) {
31
- document.body.style.overflow = originalOverflow;
32
- }
33
-
34
- if (!!scrollBarWidth && document.body) {
35
- document.body.style.paddingRight = originalPaddingRight;
36
- }
37
- };
38
- }, [locked]);
39
- // Update state if initialValue changes
40
- useEffect(() => {
41
- if (locked !== initialLocked) {
42
- setLocked(initialLocked);
43
- } // eslint-disable-next-line react-hooks/exhaustive-deps
44
- }, [initialLocked]);
45
- return [locked, setLocked];
46
- }
@@ -1 +0,0 @@
1
- export * from './useModal';
@@ -1,32 +0,0 @@
1
- import {useCallback, useState} from 'react';
2
- import {motionDurationNormal} from '../../styles/variables/_motion';
3
- export type UseModalExtras = Record<string, any>;
4
- export type UseModalReturnType = {
5
- isOpen: boolean;
6
- openModal: (extras?: UseModalExtras) => void;
7
- closeModal: () => void;
8
- extras: UseModalExtras;
9
- };
10
- export const useModal = (): UseModalReturnType => {
11
- const [isOpen, setIsOpen] = useState(false);
12
- const [extras, setExtras] = useState({});
13
- const openModal = useCallback((props: UseModalExtras = {}) => {
14
- setExtras(props);
15
- setIsOpen(true);
16
- }, []);
17
-
18
- const closeModal = () => {
19
- setIsOpen(false);
20
- // Since the Dialog close uses animation and its duration is motionDurationNormal, we should clear the data after the animation duration for better user experience
21
- setTimeout(() => {
22
- setExtras({});
23
- }, parseInt(motionDurationNormal));
24
- };
25
-
26
- return {
27
- isOpen,
28
- openModal,
29
- closeModal,
30
- extras,
31
- };
32
- };
@@ -1,24 +0,0 @@
1
- import {useEffect, useState} from 'react';
2
-
3
- const useMountTransition = (
4
- isMounted: boolean,
5
- unmountDelay: number,
6
- ): boolean => {
7
- const [isTransitioning, setIsTransitioning] = useState(false);
8
- useEffect(() => {
9
- let timeoutId;
10
-
11
- if (isMounted && !isTransitioning) {
12
- setIsTransitioning(true);
13
- } else if (!isMounted && isTransitioning) {
14
- timeoutId = setTimeout(() => setIsTransitioning(false), unmountDelay);
15
- }
16
-
17
- return () => {
18
- clearTimeout(timeoutId);
19
- };
20
- }, [unmountDelay, isMounted, isTransitioning]);
21
- return isTransitioning;
22
- };
23
-
24
- export default useMountTransition;
@@ -1 +0,0 @@
1
- export * from './usePagination';