@spaced-out/ui-design-system 0.3.45 → 0.3.46

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 (498) hide show
  1. package/.all-contributorsrc +9 -0
  2. package/CHANGELOG.md +12 -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/Badge/Badge.js +6 -11
  8. package/lib/components/BadgedIcon/BadgedIcon.js +2 -4
  9. package/lib/components/Banner/Banner.js +5 -7
  10. package/lib/components/Breadcrumbs/BreadcrumbLink/BreadcrumbLink.js +4 -6
  11. package/lib/components/Breadcrumbs/Breadcrumbs.js +4 -7
  12. package/lib/components/Button/Button.js +8 -14
  13. package/lib/components/ButtonDropdown/ButtonDropdown.js +7 -11
  14. package/lib/components/ButtonDropdown/SimpleButtonDropdown.js +3 -5
  15. package/lib/components/ButtonTabs/ButtonTab/ButtonTab.js +5 -7
  16. package/lib/components/ButtonTabs/ButtonTabDropdown.js +3 -4
  17. package/lib/components/ButtonTabs/ButtonTabs.js +6 -9
  18. package/lib/components/Card/Card.js +7 -11
  19. package/lib/components/Charts/ChartTooltip/index.js +3 -5
  20. package/lib/components/Charts/ChartWrapper/ChartWrapper.js +5 -13
  21. package/lib/components/Charts/ColumnChart/ColumnChart.js +2 -6
  22. package/lib/components/Charts/DonutChart/DonutChart.js +2 -6
  23. package/lib/components/Charts/FunnelChart/FunnelChart.js +2 -7
  24. package/lib/components/Charts/LineChart/LineChart.js +2 -6
  25. package/lib/components/Charts/SpiderChart/SpiderChart.js +2 -7
  26. package/lib/components/ChatBubble/ChatBubble.js +5 -8
  27. package/lib/components/Checkbox/Checkbox.js +8 -7
  28. package/lib/components/Checkbox/CheckboxGroup.js +5 -8
  29. package/lib/components/Chip/Chip.js +5 -8
  30. package/lib/components/CircularLoader/CircularLoader.js +4 -7
  31. package/lib/components/CollapsibleCard/CollapsibleCard.js +5 -9
  32. package/lib/components/Combobox/Combobox.js +4 -7
  33. package/lib/components/Combobox/helper.js +3 -7
  34. package/lib/components/ConditionalWrapper/ConditionalWrapper.js +1 -3
  35. package/lib/components/DateRangePicker/Calendar.js +2 -5
  36. package/lib/components/DateRangePicker/DateRangePicker.js +4 -8
  37. package/lib/components/DateRangePicker/DateRangeWrapper.js +5 -7
  38. package/lib/components/DateRangePicker/Day.js +2 -6
  39. package/lib/components/Dialog/Dialog.js +4 -6
  40. package/lib/components/Disclaimer/Disclaimer.js +5 -7
  41. package/lib/components/Dropdown/Dropdown.js +5 -7
  42. package/lib/components/Dropdown/SimpleDropdown.js +3 -5
  43. package/lib/components/EmptyState/EmptyImages/CalendarEmptyImage.js +1 -3
  44. package/lib/components/EmptyState/EmptyImages/ChartEmptyImage.js +1 -3
  45. package/lib/components/EmptyState/EmptyImages/DataEmptyImage.js +1 -3
  46. package/lib/components/EmptyState/EmptyImages/FileEmptyImage.js +1 -3
  47. package/lib/components/EmptyState/EmptyImages/MessageEmptyImage.js +1 -3
  48. package/lib/components/EmptyState/EmptyImages/UploadEmptyImage.js +1 -3
  49. package/lib/components/EmptyState/EmptyState.js +5 -7
  50. package/lib/components/ErrorMessage/ErrorImages/ForbiddenImage.js +1 -3
  51. package/lib/components/ErrorMessage/ErrorImages/NotFoundImage.js +1 -3
  52. package/lib/components/ErrorMessage/ErrorImages/ServerErrorImage.js +1 -3
  53. package/lib/components/ErrorMessage/ErrorImages/UnauthorizedImage.js +1 -3
  54. package/lib/components/ErrorMessage/ErrorMessage.js +5 -7
  55. package/lib/components/FileUpload/FileBlock/FileBlock.js +3 -6
  56. package/lib/components/FileUpload/FileUpload.js +12 -6
  57. package/lib/components/FilterButtonOverlay/FilterButtonOverlay.js +5 -7
  58. package/lib/components/FocusManager/FocusManager.js +3 -4
  59. package/lib/components/FocusManagerWithArrowKeyNavigation/FocusManagerWithArrowKeyNavigation.js +4 -6
  60. package/lib/components/FormTitleWrapper/FormTitleWrapper.js +4 -7
  61. package/lib/components/Grid/Grid.js +3 -5
  62. package/lib/components/Icon/ClickableIcon.js +6 -9
  63. package/lib/components/Icon/Icon.docs.js +2 -4
  64. package/lib/components/Icon/Icon.js +6 -11
  65. package/lib/components/Icon/SemanticIcon.js +3 -4
  66. package/lib/components/InContextAlert/InContextAlert.js +4 -7
  67. package/lib/components/InfinitePagination/InfinitePagination.js +4 -8
  68. package/lib/components/InlineDropdown/InlineDropdown.js +5 -7
  69. package/lib/components/InlineDropdown/SimpleInlineDropdown.js +3 -5
  70. package/lib/components/Input/Input.js +6 -10
  71. package/lib/components/KPIBox/KPIBox.js +5 -7
  72. package/lib/components/LinearLoader/LinearLoader.js +4 -7
  73. package/lib/components/Link/Link.js +7 -12
  74. package/lib/components/Menu/Menu.js +7 -7
  75. package/lib/components/Menu/MenuOptionButton.js +3 -4
  76. package/lib/components/Modal/Modal.js +4 -5
  77. package/lib/components/Notification/Notification.js +5 -9
  78. package/lib/components/OptionButton/OptionButton.js +5 -7
  79. package/lib/components/OptionButton/SimpleOptionButton.js +3 -5
  80. package/lib/components/PageTitle/PageTitle.js +6 -9
  81. package/lib/components/Pagination/Pagination.js +5 -7
  82. package/lib/components/Pagination/PaginationItem.js +2 -4
  83. package/lib/components/Panel/Panel.js +4 -6
  84. package/lib/components/ProgressDonut/ProgressDonut.js +4 -7
  85. package/lib/components/PromptChip/PromptChip.js +5 -9
  86. package/lib/components/PromptInput/PromptInput.js +4 -7
  87. package/lib/components/RadioButton/RadioButton.js +12 -7
  88. package/lib/components/RadioButton/RadioGroup.js +11 -8
  89. package/lib/components/RadioTile/RadioTile.js +5 -7
  90. package/lib/components/RangeSlider/RangeSlider.js +5 -8
  91. package/lib/components/Rating/Rating.js +5 -9
  92. package/lib/components/ScoreBar/ScoreBar.js +6 -11
  93. package/lib/components/SearchInput/SearchInput.js +5 -7
  94. package/lib/components/Separator/Separator.js +5 -9
  95. package/lib/components/Shimmer/Shimmer.js +5 -10
  96. package/lib/components/SideMenuLink/SideMenuLink.js +5 -8
  97. package/lib/components/StatusIndicator/StatusIndicator.js +6 -9
  98. package/lib/components/Stepper/Step/Step.js +4 -7
  99. package/lib/components/Stepper/Step/StepContent.js +2 -4
  100. package/lib/components/Stepper/Step/StepLabel.js +2 -4
  101. package/lib/components/Stepper/Stepper.js +4 -7
  102. package/lib/components/StickyBar/StickyBar.js +5 -7
  103. package/lib/components/SubMenu/SubMenu.js +4 -7
  104. package/lib/components/SubMenu/SubMenuGroup.js +3 -5
  105. package/lib/components/SubMenu/SubMenuItem.js +7 -10
  106. package/lib/components/SubMenu/SubMenuLink.js +4 -7
  107. package/lib/components/Table/Cell.js +8 -12
  108. package/lib/components/Table/DefaultRow.js +9 -6
  109. package/lib/components/Table/DefaultTableHeader.js +4 -8
  110. package/lib/components/Table/StaticTable.js +8 -12
  111. package/lib/components/Table/Table.docs.js +2 -3
  112. package/lib/components/Table/Table.js +4 -3
  113. package/lib/components/Table/TableActionBar.js +3 -4
  114. package/lib/components/Table/TableBottomBar.js +3 -4
  115. package/lib/components/Table/TableTopBar.js +3 -4
  116. package/lib/components/Table/dummyTableData.js +2 -4
  117. package/lib/components/Table/hooks.js +2 -4
  118. package/lib/components/Tabs/Tab/Tab.js +6 -10
  119. package/lib/components/Tabs/TabList/TabDropdown.js +3 -4
  120. package/lib/components/Tabs/TabList/TabList.js +5 -9
  121. package/lib/components/Text/Text.js +48 -75
  122. package/lib/components/TextTile/TextTile.js +4 -7
  123. package/lib/components/Textarea/Textarea.js +4 -6
  124. package/lib/components/Timeline/Timeline.js +4 -8
  125. package/lib/components/Timeline/TimelineItem/TimelineItem.js +3 -6
  126. package/lib/components/Toast/Toast.js +8 -12
  127. package/lib/components/Toast/ToastContainer.js +3 -6
  128. package/lib/components/Toast/ToastManager.js +5 -10
  129. package/lib/components/Toggle/Toggle.js +12 -7
  130. package/lib/components/TokenListInput/TokenListInput.js +7 -7
  131. package/lib/components/TokenListInput/TokenValueChips.js +1 -3
  132. package/lib/components/Tooltip/Tooltip.js +7 -8
  133. package/lib/components/Truncate/Truncate.js +6 -10
  134. package/lib/components/TruncatedTextWithTooltip/TruncatedTextWithTooltip.js +3 -4
  135. package/lib/components/Typeahead/SimpleTypeahead.js +3 -5
  136. package/lib/components/Typeahead/Typeahead.js +5 -7
  137. package/lib/components/WeekdayPicker/WeekdayPicker.js +5 -9
  138. package/lib/hooks/useArbitraryOptionAddition/useArbitraryOptionAddition.js +0 -1
  139. package/lib/hooks/useCopyToClipboard/useCopyToClipboard.js +0 -2
  140. package/lib/hooks/useDebounce/useDebounce.js +1 -3
  141. package/lib/hooks/useFileUpload/useFileUpload.js +2 -4
  142. package/lib/hooks/useFilteredOptions/useFilteredOptions.js +1 -4
  143. package/lib/hooks/useInfiniteScroll/useInfiniteScroll.js +1 -3
  144. package/lib/hooks/useInputState/useInputState.js +1 -3
  145. package/lib/hooks/useLockedBody/useLockedBody.js +0 -1
  146. package/lib/hooks/useModal/useModal.js +0 -1
  147. package/lib/hooks/useMountTransition/index.js +1 -3
  148. package/lib/hooks/usePagination/usePagination.js +0 -1
  149. package/lib/hooks/useResizeObserver/useResizeObserver.js +1 -3
  150. package/lib/hooks/useToastPortal/useToastPortal.js +0 -1
  151. package/lib/hooks/useToggle/useToggle.js +0 -1
  152. package/lib/hooks/useWindowSize/useWindowSize.js +0 -1
  153. package/lib/styles/index.js +267 -535
  154. package/lib/styles/variables/_border.js +12 -25
  155. package/lib/styles/variables/_color.js +104 -209
  156. package/lib/styles/variables/_elevation.js +7 -15
  157. package/lib/styles/variables/_font.js +30 -61
  158. package/lib/styles/variables/_motion.js +6 -13
  159. package/lib/styles/variables/_opacity.js +15 -31
  160. package/lib/styles/variables/_shadow.js +24 -49
  161. package/lib/styles/variables/_size.js +57 -115
  162. package/lib/styles/variables/_space.js +12 -25
  163. package/lib/types/charts.js +1 -0
  164. package/lib/types/common.js +2 -4
  165. package/lib/types/menu.js +1 -0
  166. package/lib/types/toast.js +4 -8
  167. package/lib/types/typography.js +2 -4
  168. package/lib/utils/array/are-arrays-equal.js +0 -1
  169. package/lib/utils/charts/charts.js +4 -8
  170. package/lib/utils/charts/columnChart.js +1 -4
  171. package/lib/utils/charts/donutChart.js +2 -4
  172. package/lib/utils/charts/funnelChart.js +0 -4
  173. package/lib/utils/charts/helpers.js +9 -17
  174. package/lib/utils/charts/lineChart.js +0 -2
  175. package/lib/utils/charts/spiderChart.js +2 -3
  176. package/lib/utils/charts/typography.js +7 -14
  177. package/lib/utils/classify/index.js +2 -4
  178. package/lib/utils/click-away/click-away.js +50 -56
  179. package/lib/utils/date-range-picker/date-range-picker.js +6 -14
  180. package/lib/utils/date-range-picker/timezones.js +2 -5
  181. package/lib/utils/dom/dom.js +0 -1
  182. package/lib/utils/helpers/helpers.js +0 -1
  183. package/lib/utils/makeClassNameComponent/makeClassNameComponent.js +3 -4
  184. package/lib/utils/menu/menu.js +1 -3
  185. package/lib/utils/rating/rating.js +2 -5
  186. package/lib/utils/score-bar/score-bar.js +2 -4
  187. package/lib/utils/string/string.js +0 -1
  188. package/lib/utils/token-list-input/token-list-input.js +1 -3
  189. package/lib/utils/tokens/tokens.js +1 -3
  190. package/package.json +7 -7
  191. package/lib/components/Avatar/Avatar.d.ts +0 -263
  192. package/lib/components/Avatar/index.d.ts +0 -1
  193. package/lib/components/AvatarGroup/AvatarGroup.d.ts +0 -161
  194. package/lib/components/AvatarGroup/index.d.ts +0 -1
  195. package/lib/components/Badge/Badge.d.ts +0 -138
  196. package/lib/components/Badge/index.d.ts +0 -1
  197. package/lib/components/BadgedIcon/BadgedIcon.d.ts +0 -70
  198. package/lib/components/BadgedIcon/index.d.ts +0 -1
  199. package/lib/components/Banner/Banner.d.ts +0 -52
  200. package/lib/components/Banner/index.d.ts +0 -1
  201. package/lib/components/Breadcrumbs/BreadcrumbLink/BreadcrumbLink.d.ts +0 -50
  202. package/lib/components/Breadcrumbs/BreadcrumbLink/index.d.ts +0 -1
  203. package/lib/components/Breadcrumbs/Breadcrumbs.d.ts +0 -64
  204. package/lib/components/Breadcrumbs/index.d.ts +0 -2
  205. package/lib/components/Button/Button.d.ts +0 -288
  206. package/lib/components/Button/index.d.ts +0 -14
  207. package/lib/components/ButtonDropdown/ButtonDropdown.d.ts +0 -192
  208. package/lib/components/ButtonDropdown/SimpleButtonDropdown.d.ts +0 -148
  209. package/lib/components/ButtonDropdown/index.d.ts +0 -2
  210. package/lib/components/ButtonTabs/ButtonTab/ButtonTab.d.ts +0 -82
  211. package/lib/components/ButtonTabs/ButtonTab/index.d.ts +0 -1
  212. package/lib/components/ButtonTabs/ButtonTabDropdown.d.ts +0 -118
  213. package/lib/components/ButtonTabs/ButtonTabs.d.ts +0 -113
  214. package/lib/components/ButtonTabs/index.d.ts +0 -2
  215. package/lib/components/Card/Card.d.ts +0 -163
  216. package/lib/components/Card/index.d.ts +0 -1
  217. package/lib/components/Charts/ChartTooltip/index.d.ts +0 -10
  218. package/lib/components/Charts/ChartWrapper/ChartWrapper.d.ts +0 -184
  219. package/lib/components/Charts/ChartWrapper/index.d.ts +0 -1
  220. package/lib/components/Charts/ColumnChart/ColumnChart.d.ts +0 -111
  221. package/lib/components/Charts/ColumnChart/index.d.ts +0 -1
  222. package/lib/components/Charts/DonutChart/DonutChart.d.ts +0 -142
  223. package/lib/components/Charts/DonutChart/index.d.ts +0 -1
  224. package/lib/components/Charts/FunnelChart/FunnelChart.d.ts +0 -99
  225. package/lib/components/Charts/FunnelChart/index.d.ts +0 -1
  226. package/lib/components/Charts/LineChart/LineChart.d.ts +0 -97
  227. package/lib/components/Charts/LineChart/index.d.ts +0 -1
  228. package/lib/components/Charts/SpiderChart/SpiderChart.d.ts +0 -95
  229. package/lib/components/Charts/SpiderChart/index.d.ts +0 -1
  230. package/lib/components/Charts/index.d.ts +0 -7
  231. package/lib/components/ChatBubble/ChatBubble.d.ts +0 -203
  232. package/lib/components/ChatBubble/index.d.ts +0 -1
  233. package/lib/components/Checkbox/Checkbox.d.ts +0 -165
  234. package/lib/components/Checkbox/CheckboxGroup.d.ts +0 -113
  235. package/lib/components/Checkbox/index.d.ts +0 -2
  236. package/lib/components/Chip/Chip.d.ts +0 -202
  237. package/lib/components/Chip/index.d.ts +0 -2
  238. package/lib/components/CircularLoader/CircularLoader.d.ts +0 -56
  239. package/lib/components/CircularLoader/index.d.ts +0 -1
  240. package/lib/components/CollapsibleCard/CollapsibleCard.d.ts +0 -134
  241. package/lib/components/CollapsibleCard/index.d.ts +0 -1
  242. package/lib/components/Combobox/Combobox.d.ts +0 -292
  243. package/lib/components/Combobox/helper.d.ts +0 -205
  244. package/lib/components/Combobox/index.d.ts +0 -1
  245. package/lib/components/ConditionalWrapper/ConditionalWrapper.d.ts +0 -12
  246. package/lib/components/ConditionalWrapper/index.d.ts +0 -1
  247. package/lib/components/DateRangePicker/Calendar.d.ts +0 -97
  248. package/lib/components/DateRangePicker/DateRangePicker.d.ts +0 -196
  249. package/lib/components/DateRangePicker/DateRangeWrapper.d.ts +0 -347
  250. package/lib/components/DateRangePicker/Day.d.ts +0 -70
  251. package/lib/components/DateRangePicker/index.d.ts +0 -1
  252. package/lib/components/Dialog/Dialog.d.ts +0 -208
  253. package/lib/components/Dialog/index.d.ts +0 -1
  254. package/lib/components/Disclaimer/Disclaimer.d.ts +0 -32
  255. package/lib/components/Disclaimer/index.d.ts +0 -1
  256. package/lib/components/Dropdown/Dropdown.d.ts +0 -145
  257. package/lib/components/Dropdown/SimpleDropdown.d.ts +0 -142
  258. package/lib/components/Dropdown/index.d.ts +0 -2
  259. package/lib/components/EmptyState/EmptyImages/CalendarEmptyImage.d.ts +0 -108
  260. package/lib/components/EmptyState/EmptyImages/ChartEmptyImage.d.ts +0 -194
  261. package/lib/components/EmptyState/EmptyImages/DataEmptyImage.d.ts +0 -116
  262. package/lib/components/EmptyState/EmptyImages/FileEmptyImage.d.ts +0 -133
  263. package/lib/components/EmptyState/EmptyImages/MessageEmptyImage.d.ts +0 -64
  264. package/lib/components/EmptyState/EmptyImages/UploadEmptyImage.d.ts +0 -67
  265. package/lib/components/EmptyState/EmptyImages/index.d.ts +0 -6
  266. package/lib/components/EmptyState/EmptyState.d.ts +0 -82
  267. package/lib/components/EmptyState/index.d.ts +0 -1
  268. package/lib/components/ErrorMessage/ErrorImages/ForbiddenImage.d.ts +0 -85
  269. package/lib/components/ErrorMessage/ErrorImages/NotFoundImage.d.ts +0 -117
  270. package/lib/components/ErrorMessage/ErrorImages/ServerErrorImage.d.ts +0 -237
  271. package/lib/components/ErrorMessage/ErrorImages/UnauthorizedImage.d.ts +0 -73
  272. package/lib/components/ErrorMessage/ErrorImages/index.d.ts +0 -4
  273. package/lib/components/ErrorMessage/ErrorMessage.d.ts +0 -86
  274. package/lib/components/ErrorMessage/index.d.ts +0 -1
  275. package/lib/components/FileUpload/FileBlock/FileBlock.d.ts +0 -137
  276. package/lib/components/FileUpload/FileBlock/index.d.ts +0 -1
  277. package/lib/components/FileUpload/FileUpload.d.ts +0 -190
  278. package/lib/components/FileUpload/index.d.ts +0 -2
  279. package/lib/components/FilterButtonOverlay/FilterButtonOverlay.d.ts +0 -130
  280. package/lib/components/FilterButtonOverlay/index.d.ts +0 -1
  281. package/lib/components/FocusManager/FocusManager.d.ts +0 -52
  282. package/lib/components/FocusManager/index.d.ts +0 -1
  283. package/lib/components/FocusManagerWithArrowKeyNavigation/FocusManagerWithArrowKeyNavigation.d.ts +0 -137
  284. package/lib/components/FocusManagerWithArrowKeyNavigation/index.d.ts +0 -1
  285. package/lib/components/FormTitleWrapper/FormTitleWrapper.d.ts +0 -62
  286. package/lib/components/FormTitleWrapper/index.d.ts +0 -1
  287. package/lib/components/Grid/Grid.d.ts +0 -104
  288. package/lib/components/Grid/index.d.ts +0 -1
  289. package/lib/components/Icon/ClickableIcon.d.ts +0 -106
  290. package/lib/components/Icon/Icon.d.ts +0 -71
  291. package/lib/components/Icon/Icon.docs.d.ts +0 -152
  292. package/lib/components/Icon/SemanticIcon.d.ts +0 -42
  293. package/lib/components/Icon/index.d.ts +0 -3
  294. package/lib/components/InContextAlert/InContextAlert.d.ts +0 -210
  295. package/lib/components/InContextAlert/index.d.ts +0 -1
  296. package/lib/components/InfinitePagination/InfinitePagination.d.ts +0 -112
  297. package/lib/components/InfinitePagination/index.d.ts +0 -1
  298. package/lib/components/InlineDropdown/InlineDropdown.d.ts +0 -146
  299. package/lib/components/InlineDropdown/SimpleInlineDropdown.d.ts +0 -145
  300. package/lib/components/InlineDropdown/index.d.ts +0 -2
  301. package/lib/components/Input/Input.d.ts +0 -327
  302. package/lib/components/Input/index.d.ts +0 -1
  303. package/lib/components/KPIBox/KPIBox.d.ts +0 -89
  304. package/lib/components/KPIBox/index.d.ts +0 -1
  305. package/lib/components/LinearLoader/LinearLoader.d.ts +0 -44
  306. package/lib/components/LinearLoader/index.d.ts +0 -1
  307. package/lib/components/Link/Link.d.ts +0 -225
  308. package/lib/components/Link/index.d.ts +0 -1
  309. package/lib/components/Menu/Menu.d.ts +0 -379
  310. package/lib/components/Menu/MenuOptionButton.d.ts +0 -199
  311. package/lib/components/Menu/index.d.ts +0 -2
  312. package/lib/components/Modal/Modal.d.ts +0 -362
  313. package/lib/components/Modal/index.d.ts +0 -14
  314. package/lib/components/Notification/Notification.d.ts +0 -147
  315. package/lib/components/Notification/index.d.ts +0 -1
  316. package/lib/components/OptionButton/OptionButton.d.ts +0 -150
  317. package/lib/components/OptionButton/SimpleOptionButton.d.ts +0 -150
  318. package/lib/components/OptionButton/index.d.ts +0 -2
  319. package/lib/components/PageTitle/PageTitle.d.ts +0 -256
  320. package/lib/components/PageTitle/index.d.ts +0 -1
  321. package/lib/components/Pagination/Pagination.d.ts +0 -144
  322. package/lib/components/Pagination/PaginationItem.d.ts +0 -136
  323. package/lib/components/Pagination/index.d.ts +0 -1
  324. package/lib/components/Panel/Panel.d.ts +0 -168
  325. package/lib/components/Panel/index.d.ts +0 -9
  326. package/lib/components/ProgressDonut/ProgressDonut.d.ts +0 -102
  327. package/lib/components/ProgressDonut/index.d.ts +0 -1
  328. package/lib/components/PromptChip/PromptChip.d.ts +0 -167
  329. package/lib/components/PromptChip/index.d.ts +0 -1
  330. package/lib/components/PromptInput/PromptInput.d.ts +0 -189
  331. package/lib/components/PromptInput/index.d.ts +0 -1
  332. package/lib/components/RadioButton/RadioButton.d.ts +0 -132
  333. package/lib/components/RadioButton/RadioGroup.d.ts +0 -88
  334. package/lib/components/RadioButton/index.d.ts +0 -2
  335. package/lib/components/RadioTile/RadioTile.d.ts +0 -109
  336. package/lib/components/RadioTile/index.d.ts +0 -1
  337. package/lib/components/RangeSlider/RangeSlider.d.ts +0 -207
  338. package/lib/components/RangeSlider/index.d.ts +0 -1
  339. package/lib/components/Rating/Rating.d.ts +0 -131
  340. package/lib/components/Rating/index.d.ts +0 -1
  341. package/lib/components/ScoreBar/ScoreBar.d.ts +0 -122
  342. package/lib/components/ScoreBar/index.d.ts +0 -1
  343. package/lib/components/SearchInput/SearchInput.d.ts +0 -79
  344. package/lib/components/SearchInput/index.d.ts +0 -2
  345. package/lib/components/Separator/Separator.d.ts +0 -51
  346. package/lib/components/Separator/index.d.ts +0 -1
  347. package/lib/components/Shimmer/Shimmer.d.ts +0 -131
  348. package/lib/components/Shimmer/index.d.ts +0 -1
  349. package/lib/components/SideMenuLink/SideMenuLink.d.ts +0 -336
  350. package/lib/components/SideMenuLink/index.d.ts +0 -1
  351. package/lib/components/StatusIndicator/StatusIndicator.d.ts +0 -60
  352. package/lib/components/StatusIndicator/index.d.ts +0 -1
  353. package/lib/components/Stepper/Step/Step.d.ts +0 -119
  354. package/lib/components/Stepper/Step/StepContent.d.ts +0 -35
  355. package/lib/components/Stepper/Step/StepLabel.d.ts +0 -35
  356. package/lib/components/Stepper/Step/index.d.ts +0 -3
  357. package/lib/components/Stepper/Stepper.d.ts +0 -60
  358. package/lib/components/Stepper/index.d.ts +0 -2
  359. package/lib/components/StickyBar/StickyBar.d.ts +0 -55
  360. package/lib/components/StickyBar/index.d.ts +0 -1
  361. package/lib/components/SubMenu/SubMenu.d.ts +0 -89
  362. package/lib/components/SubMenu/SubMenuGroup.d.ts +0 -156
  363. package/lib/components/SubMenu/SubMenuItem.d.ts +0 -161
  364. package/lib/components/SubMenu/SubMenuLink.d.ts +0 -81
  365. package/lib/components/SubMenu/index.d.ts +0 -4
  366. package/lib/components/Table/Cell.d.ts +0 -107
  367. package/lib/components/Table/DefaultRow.d.ts +0 -145
  368. package/lib/components/Table/DefaultTableHeader.d.ts +0 -237
  369. package/lib/components/Table/StaticTable.d.ts +0 -205
  370. package/lib/components/Table/Table.d.ts +0 -114
  371. package/lib/components/Table/Table.docs.d.ts +0 -544
  372. package/lib/components/Table/TableActionBar.d.ts +0 -48
  373. package/lib/components/Table/TableBottomBar.d.ts +0 -20
  374. package/lib/components/Table/TableTopBar.d.ts +0 -20
  375. package/lib/components/Table/dummyTableData.d.ts +0 -2189
  376. package/lib/components/Table/hooks.d.ts +0 -98
  377. package/lib/components/Table/index.d.ts +0 -8
  378. package/lib/components/Tabs/Tab/Tab.d.ts +0 -146
  379. package/lib/components/Tabs/Tab/index.d.ts +0 -1
  380. package/lib/components/Tabs/TabList/TabDropdown.d.ts +0 -100
  381. package/lib/components/Tabs/TabList/TabList.d.ts +0 -157
  382. package/lib/components/Tabs/TabList/index.d.ts +0 -1
  383. package/lib/components/Tabs/index.d.ts +0 -2
  384. package/lib/components/Text/Text.d.ts +0 -1021
  385. package/lib/components/Text/index.d.ts +0 -30
  386. package/lib/components/TextTile/TextTile.d.ts +0 -40
  387. package/lib/components/TextTile/index.d.ts +0 -1
  388. package/lib/components/Textarea/Textarea.d.ts +0 -132
  389. package/lib/components/Textarea/index.d.ts +0 -2
  390. package/lib/components/Timeline/Timeline.d.ts +0 -40
  391. package/lib/components/Timeline/TimelineItem/TimelineItem.d.ts +0 -121
  392. package/lib/components/Timeline/TimelineItem/index.d.ts +0 -1
  393. package/lib/components/Timeline/index.d.ts +0 -2
  394. package/lib/components/Toast/Toast.d.ts +0 -248
  395. package/lib/components/Toast/ToastContainer.d.ts +0 -140
  396. package/lib/components/Toast/ToastManager.d.ts +0 -58
  397. package/lib/components/Toast/index.d.ts +0 -10
  398. package/lib/components/Toggle/Toggle.d.ts +0 -111
  399. package/lib/components/Toggle/index.d.ts +0 -1
  400. package/lib/components/TokenListInput/TokenListInput.d.ts +0 -351
  401. package/lib/components/TokenListInput/TokenValueChips.d.ts +0 -60
  402. package/lib/components/TokenListInput/index.d.ts +0 -1
  403. package/lib/components/Tooltip/Tooltip.d.ts +0 -186
  404. package/lib/components/Tooltip/index.d.ts +0 -1
  405. package/lib/components/Truncate/Truncate.d.ts +0 -87
  406. package/lib/components/Truncate/index.d.ts +0 -2
  407. package/lib/components/TruncatedTextWithTooltip/TruncatedTextWithTooltip.d.ts +0 -95
  408. package/lib/components/TruncatedTextWithTooltip/index.d.ts +0 -1
  409. package/lib/components/Typeahead/SimpleTypeahead.d.ts +0 -141
  410. package/lib/components/Typeahead/Typeahead.d.ts +0 -217
  411. package/lib/components/Typeahead/index.d.ts +0 -2
  412. package/lib/components/WeekdayPicker/WeekdayPicker.d.ts +0 -242
  413. package/lib/components/WeekdayPicker/index.d.ts +0 -1
  414. package/lib/components/index.d.ts +0 -74
  415. package/lib/hooks/index.d.ts +0 -15
  416. package/lib/hooks/useArbitraryOptionAddition/index.d.ts +0 -1
  417. package/lib/hooks/useArbitraryOptionAddition/useArbitraryOptionAddition.d.ts +0 -124
  418. package/lib/hooks/useCopyToClipboard/index.d.ts +0 -1
  419. package/lib/hooks/useCopyToClipboard/useCopyToClipboard.d.ts +0 -27
  420. package/lib/hooks/useDebounce/index.d.ts +0 -1
  421. package/lib/hooks/useDebounce/useDebounce.d.ts +0 -13
  422. package/lib/hooks/useFileUpload/index.d.ts +0 -1
  423. package/lib/hooks/useFileUpload/useFileUpload.d.ts +0 -342
  424. package/lib/hooks/useFilteredOptions/index.d.ts +0 -1
  425. package/lib/hooks/useFilteredOptions/useFilteredOptions.d.ts +0 -87
  426. package/lib/hooks/useInfiniteScroll/index.d.ts +0 -1
  427. package/lib/hooks/useInfiniteScroll/useInfiniteScroll.d.ts +0 -77
  428. package/lib/hooks/useInputState/index.d.ts +0 -1
  429. package/lib/hooks/useInputState/useInputState.d.ts +0 -22
  430. package/lib/hooks/useLockedBody/index.d.ts +0 -1
  431. package/lib/hooks/useLockedBody/useLockedBody.d.ts +0 -46
  432. package/lib/hooks/useModal/index.d.ts +0 -1
  433. package/lib/hooks/useModal/useModal.d.ts +0 -32
  434. package/lib/hooks/useMountTransition/index.d.ts +0 -24
  435. package/lib/hooks/usePagination/index.d.ts +0 -1
  436. package/lib/hooks/usePagination/usePagination.d.ts +0 -140
  437. package/lib/hooks/useResizeObserver/index.d.ts +0 -1
  438. package/lib/hooks/useResizeObserver/useResizeObserver.d.ts +0 -22
  439. package/lib/hooks/useToastPortal/index.d.ts +0 -1
  440. package/lib/hooks/useToastPortal/useToastPortal.d.ts +0 -31
  441. package/lib/hooks/useToggle/index.d.ts +0 -1
  442. package/lib/hooks/useToggle/useToggle.d.ts +0 -11
  443. package/lib/hooks/useWindowSize/index.d.ts +0 -1
  444. package/lib/hooks/useWindowSize/useWindowSize.d.ts +0 -28
  445. package/lib/index.d.ts +0 -5
  446. package/lib/styles/index.d.ts +0 -267
  447. package/lib/styles/variables/_border.d.ts +0 -12
  448. package/lib/styles/variables/_color.d.ts +0 -104
  449. package/lib/styles/variables/_elevation.d.ts +0 -7
  450. package/lib/styles/variables/_font.d.ts +0 -30
  451. package/lib/styles/variables/_motion.d.ts +0 -6
  452. package/lib/styles/variables/_opacity.d.ts +0 -15
  453. package/lib/styles/variables/_shadow.d.ts +0 -24
  454. package/lib/styles/variables/_size.d.ts +0 -57
  455. package/lib/styles/variables/_space.d.ts +0 -12
  456. package/lib/types/charts.d.ts +0 -225
  457. package/lib/types/common.d.ts +0 -10
  458. package/lib/types/date-range-picker.d.ts +0 -17
  459. package/lib/types/index.d.ts +0 -6
  460. package/lib/types/menu.d.ts +0 -13
  461. package/lib/types/toast.d.ts +0 -32
  462. package/lib/types/typography.d.ts +0 -17
  463. package/lib/utils/array/are-arrays-equal.d.ts +0 -11
  464. package/lib/utils/array/index.d.ts +0 -1
  465. package/lib/utils/charts/charts.d.ts +0 -102
  466. package/lib/utils/charts/columnChart.d.ts +0 -51
  467. package/lib/utils/charts/donutChart.d.ts +0 -116
  468. package/lib/utils/charts/funnelChart.d.ts +0 -94
  469. package/lib/utils/charts/helpers.d.ts +0 -44
  470. package/lib/utils/charts/index.d.ts +0 -7
  471. package/lib/utils/charts/lineChart.d.ts +0 -44
  472. package/lib/utils/charts/spiderChart.d.ts +0 -46
  473. package/lib/utils/charts/typography.d.ts +0 -42
  474. package/lib/utils/classify/index.d.ts +0 -27
  475. package/lib/utils/click-away/click-away.d.ts +0 -194
  476. package/lib/utils/click-away/index.d.ts +0 -1
  477. package/lib/utils/date-range-picker/date-range-picker.d.ts +0 -411
  478. package/lib/utils/date-range-picker/index.d.ts +0 -2
  479. package/lib/utils/date-range-picker/timezones.d.ts +0 -262
  480. package/lib/utils/dom/dom.d.ts +0 -245
  481. package/lib/utils/dom/index.d.ts +0 -1
  482. package/lib/utils/helpers/helpers.d.ts +0 -48
  483. package/lib/utils/helpers/index.d.ts +0 -1
  484. package/lib/utils/index.d.ts +0 -14
  485. package/lib/utils/makeClassNameComponent/index.d.ts +0 -1
  486. package/lib/utils/makeClassNameComponent/makeClassNameComponent.d.ts +0 -73
  487. package/lib/utils/menu/index.d.ts +0 -1
  488. package/lib/utils/merge-refs/index.d.ts +0 -1
  489. package/lib/utils/merge-refs/merge-refs.d.ts +0 -15
  490. package/lib/utils/rating/index.d.ts +0 -1
  491. package/lib/utils/rating/rating.d.ts +0 -31
  492. package/lib/utils/score-bar/index.d.ts +0 -1
  493. package/lib/utils/score-bar/score-bar.d.ts +0 -54
  494. package/lib/utils/string/index.d.ts +0 -1
  495. package/lib/utils/string/string.d.ts +0 -30
  496. package/lib/utils/token-list-input/token-list-input.d.ts +0 -32
  497. package/lib/utils/tokens/index.d.ts +0 -1
  498. package/lib/utils/tokens/tokens.d.ts +0 -230
@@ -1,145 +0,0 @@
1
- import {$ReadOnly} from 'utility-types';
2
- import * as React from 'react';
3
- import classify from '../../utils/classify';
4
- import type {ClassNameComponent} from '../../utils/makeClassNameComponent';
5
- import {makeClassNameComponent} from '../../utils/makeClassNameComponent';
6
- import {Checkbox} from '../Checkbox';
7
- import {CircularLoader} from '../CircularLoader';
8
- import {BodyLarge, TEXT_COLORS} from '../Text';
9
- import {PaddedContentCell, SingleCell} from './Cell';
10
- import type {GenericHeaderItems} from './DefaultTableHeader';
11
- import type {GenericObject} from './Table';
12
- import css from './Table.module.css';
13
- type ClassNames = $ReadOnly<{
14
- tableRow?: string;
15
- checkbox?: string;
16
- }>;
17
- // When using a custom Row prop, you need to create a component that looks like
18
- // MyRow = (props: TableRowProps<Entries, Extras>): React.Node => {...}
19
- // otherwise flow will complain.
20
- // Note that b/c extras is often optional, you will need to explicitly include
21
- // `invariant(extras, 'extras exists');` in order to pull values out of
22
- // extras (flow will remind you that it is of type `U | void`)
23
- export type TableRowProps<T, U> = {
24
- data: T;
25
- extras?: U;
26
- sortedKeys?: string[];
27
- headers?: GenericHeaderItems<T, U>;
28
- selected?: boolean;
29
- disabled?: boolean;
30
- };
31
- export type TableRow<T, U> = React.ComponentType<TableRowProps<T, U>>;
32
- export const BasicRow: ClassNameComponent<'tr'> = makeClassNameComponent(
33
- css.defaultRow,
34
- 'tr',
35
- );
36
- type EmptyRowProps = {
37
- emptyText?: React.ReactNode;
38
- isLoading?: boolean;
39
- headersLength: number;
40
- customLoader?: React.ReactNode;
41
- };
42
- export const EmptyRow = ({
43
- isLoading,
44
- emptyText,
45
- headersLength = 0,
46
- customLoader,
47
- }: EmptyRowProps): React.ReactElement<'tr'> => (
48
- <tr>
49
- <td colSpan={headersLength}>
50
- <div className={css.emptyRow}>
51
- {isLoading ? (
52
- customLoader ? (
53
- customLoader
54
- ) : (
55
- <div className={css.defaultLoader}>
56
- {' '}
57
- <CircularLoader colorToken="colorFillPrimary" size="large" />
58
- </div>
59
- )
60
- ) : (
61
- emptyText || (
62
- <BodyLarge
63
- color={TEXT_COLORS.secondary}
64
- className={css.defaultEmptyText}
65
- >
66
- Nothing to display here.
67
- </BodyLarge>
68
- )
69
- )}
70
- </div>
71
- </td>
72
- </tr>
73
- );
74
- // This is a fallback row we use to render a table when
75
- // initially stubbing out a design, the idea is you just avoid
76
- // passing in a Row component and instead let this render out
77
- // all the fields in the header in the short term
78
- //
79
- // Using the default row has the benefit that mismatches between
80
- // header and entries _will_ error out even though there are the
81
- // suppressions below
82
- export function DefaultRow<T extends GenericObject, U extends GenericObject>({
83
- data,
84
- extras,
85
- headers,
86
- selected,
87
- onSelect,
88
- classNames,
89
- disabled,
90
- }: {
91
- data: T;
92
- extras?: U;
93
- headers: GenericHeaderItems<T, U>;
94
- selected?: boolean;
95
- // value dependent on checkbox checked value
96
- onSelect?: (arg0: {value: string; checked: boolean}) => unknown;
97
- classNames?: ClassNames;
98
- disabled?: boolean;
99
- }): React.ReactNode {
100
- return (
101
- <BasicRow
102
- className={classify(
103
- selected ? css.defaultSelectedBodyRow : css.defaultBodyRow,
104
- classNames?.tableRow,
105
- )}
106
- >
107
- {selected != null && (
108
- <PaddedContentCell
109
- className={classify(css.checkbox, classNames?.checkbox)}
110
- >
111
- <Checkbox
112
- checked={selected ? true : false}
113
- onChange={onSelect}
114
- disabled={disabled}
115
- ariaLabel="Select row"
116
- />
117
- </PaddedContentCell>
118
- )}
119
- {headers.map((item, index) => {
120
- const {key, render: Renderer, className: cellClassName, sticky} = item;
121
- const value = data[key];
122
- return Renderer ? (
123
- <Renderer // eslint-disable-next-line react/no-array-index-key
124
- key={index}
125
- data={data}
126
- extras={extras}
127
- selected={selected}
128
- disabled={disabled}
129
- className={classify({
130
- [css.stickyCell]: sticky,
131
- })}
132
- />
133
- ) : (
134
- <SingleCell // eslint-disable-next-line react/no-array-index-key
135
- key={index}
136
- title={String(value)}
137
- className={classify(cellClassName, {
138
- [css.stickyCell]: sticky,
139
- })}
140
- />
141
- );
142
- })}
143
- </BasicRow>
144
- );
145
- }
@@ -1,237 +0,0 @@
1
- import {$Keys} from 'utility-types';
2
- import * as React from 'react';
3
- import type {ColorTypes} from '../../types/typography';
4
- import classify from '../../utils/classify';
5
- import type {ClassNameComponent} from '../../utils/makeClassNameComponent';
6
- import {makeClassNameComponent} from '../../utils/makeClassNameComponent';
7
- import {Checkbox} from '../Checkbox';
8
- import {Icon} from '../Icon';
9
- import {SubTitleExtraSmall, TEXT_COLORS} from '../Text';
10
- import {BasicRow} from './DefaultRow';
11
- import type {SortDirection} from './hooks';
12
- import type {GenericObject} from './Table';
13
- import css from './Table.module.css';
14
- export type GenericHeaderItem<
15
- T extends GenericObject,
16
- U extends GenericObject,
17
- > = {
18
- label: React.ReactNode;
19
- key: $Keys<T>;
20
- className?: string;
21
- filterIcon?: React.ReactNode;
22
- filtered?: boolean;
23
- subtext?: string;
24
- sortable?: boolean;
25
- headerIconClassName?: string;
26
- sticky?: boolean;
27
- render?: React.ComponentType<{
28
- data: T;
29
- extras?: U;
30
- className?: string;
31
- selected?: boolean;
32
- disabled?: boolean;
33
- }>;
34
- };
35
- export type GenericHeaderItems<T, U> = GenericHeaderItem<T, U>[];
36
- export const BasicHeadCell: ClassNameComponent<'th'> = makeClassNameComponent(
37
- css.defaultHeaderCell,
38
- 'th',
39
- );
40
- export const BasicTableHead: ClassNameComponent<'thead'> =
41
- makeClassNameComponent(css.defaultTableHead, 'thead');
42
- export type TableHeaderProps<T, U> = {
43
- className?: string;
44
- tableHeaderClassName?: string;
45
- sortable?: boolean;
46
- columns: GenericHeaderItems<T, U>;
47
- handleSortClick?: (sortKey: $Keys<T>) => unknown;
48
- sortKey?: $Keys<T>;
49
- sortDirection?: SortDirection;
50
- checked?: 'true' | 'false' | 'mixed';
51
- handleCheckboxClick?: (arg0: {value: string; checked: boolean}) => unknown;
52
- disabled?: boolean;
53
- stickyHeader?: boolean;
54
- };
55
-
56
- const SortIcon = ({
57
- sortDirection,
58
- color,
59
- className,
60
- }: {
61
- sortDirection: SortDirection;
62
- className: string;
63
- color: ColorTypes;
64
- }) => {
65
- if (sortDirection === 'original') {
66
- return (
67
- <Icon
68
- color={color}
69
- name="caret-down"
70
- size="small"
71
- type="solid"
72
- className={className}
73
- />
74
- );
75
- } else if (sortDirection === 'asc') {
76
- return (
77
- <Icon
78
- color={color}
79
- name="arrow-up"
80
- size="small"
81
- type="regular"
82
- className={className}
83
- />
84
- );
85
- } else if (sortDirection === 'desc') {
86
- return (
87
- <Icon
88
- color={color}
89
- name="arrow-down"
90
- size="small"
91
- type="regular"
92
- className={className}
93
- />
94
- );
95
- }
96
- };
97
-
98
- export function DefaultTableHeader<
99
- T extends GenericObject,
100
- U extends GenericObject,
101
- >(props: TableHeaderProps<T, U>): React.ReactNode {
102
- const {
103
- className,
104
- sortable = false,
105
- columns,
106
- handleSortClick,
107
- sortKey,
108
- sortDirection = 'original',
109
- handleCheckboxClick,
110
- checked,
111
- disabled,
112
- stickyHeader,
113
- } = props;
114
-
115
- const tableHeaderCells = () => (
116
- <>
117
- {columns.map((columnData, index) => {
118
- const {
119
- key,
120
- label,
121
- subtext,
122
- filterIcon,
123
- filtered,
124
- className,
125
- sticky,
126
- sortable: columnSortable = false,
127
- } = columnData;
128
- let headerClassName;
129
- const filterable = Boolean(filterIcon);
130
-
131
- if ((sortable && columnSortable) || filterable) {
132
- headerClassName = classify(
133
- css.defaultHeaderCellSortable,
134
- {
135
- [css.filtered]: filtered,
136
- [css.stickyHeaderCell]: sticky,
137
- },
138
- css[sortDirection],
139
- className,
140
- );
141
- } else {
142
- headerClassName = classify(className, {
143
- [css.stickyHeaderCell]: sticky,
144
- });
145
- }
146
-
147
- const headCellClickHandler = () => {
148
- if (sortable && columnSortable && handleSortClick) {
149
- handleSortClick(key);
150
- }
151
- };
152
-
153
- let columnSortDirection = 'original';
154
-
155
- if (sortKey === key) {
156
- columnSortDirection = sortDirection;
157
- }
158
-
159
- return (
160
- <BasicHeadCell
161
- className={classify(
162
- {
163
- [css.selectedHeader]:
164
- sortKey === key && columnSortDirection !== 'original',
165
- },
166
- headerClassName,
167
- )} // eslint-disable-next-line react/no-array-index-key
168
- key={index}
169
- scope="col"
170
- onClick={headCellClickHandler}
171
- >
172
- <div className={classify(css.labelContents)}>
173
- <div className={css.labelContainer}>
174
- <SubTitleExtraSmall
175
- color={TEXT_COLORS.secondary}
176
- className={classify({
177
- [css.selectedHeader]:
178
- sortKey === key && columnSortDirection !== 'original',
179
- })}
180
- >
181
- {label}
182
- </SubTitleExtraSmall>
183
- <span className={css.headerSubtext}>{subtext && subtext}</span>
184
- </div>
185
- {(sortable || filterIcon != null) && (
186
- <div className={css.headerIconContainer}>
187
- {columnSortable && (
188
- <SortIcon
189
- color={TEXT_COLORS.secondary}
190
- className={classify(css.sortArrow, {
191
- [css.selectedSortArrow]: sortKey === key,
192
- })}
193
- sortDirection={columnSortDirection}
194
- />
195
- )}
196
- {filterIcon != null && (
197
- <div className={css.filterIcon}>{filterIcon}</div>
198
- )}
199
- </div>
200
- )}
201
- </div>
202
- </BasicHeadCell>
203
- );
204
- })}
205
- </>
206
- );
207
-
208
- return (
209
- <BasicTableHead
210
- className={classify(
211
- css.tableHeaderSortable,
212
- {
213
- [css.stickyHeader]: stickyHeader,
214
- },
215
- className,
216
- )}
217
- >
218
- <BasicRow className={css.defaultHeaderRow}>
219
- {handleCheckboxClick && (
220
- <BasicHeadCell scope="col">
221
- <div className={css.checkbox}>
222
- <Checkbox
223
- value="all"
224
- checked={checked === 'true' ? true : false}
225
- indeterminate={checked === 'mixed'}
226
- onChange={handleCheckboxClick}
227
- disabled={disabled}
228
- ariaLabel="Select all rows"
229
- />
230
- </div>
231
- </BasicHeadCell>
232
- )}
233
- {tableHeaderCells()}
234
- </BasicRow>
235
- </BasicTableHead>
236
- );
237
- }
@@ -1,205 +0,0 @@
1
- import * as React from 'react';
2
- import get from 'lodash/get';
3
- import xor from 'lodash/xor';
4
- import {useWindowSize} from '../../hooks/useWindowSize';
5
- import {sizeFluid} from '../../styles/variables/_size';
6
- import {classify} from '../../utils/classify';
7
- import type {ClassNameComponent} from '../../utils/makeClassNameComponent';
8
- import {makeClassNameComponent} from '../../utils/makeClassNameComponent';
9
- import {DefaultRow, EmptyRow} from './DefaultRow';
10
- import {DefaultTableHeader} from './DefaultTableHeader';
11
- import type {SortDirection} from './hooks';
12
- import type {GenericObject, TableProps} from './Table';
13
- import css from './Table.module.css';
14
- export const BasicTable: ClassNameComponent<'table'> = makeClassNameComponent(
15
- css.defaultTable,
16
- 'table',
17
- );
18
- export const BasicTableBody: ClassNameComponent<'tbody'> =
19
- makeClassNameComponent(css.defaultTableBody, 'tbody');
20
-
21
- /**
22
- * A Static Default Table.
23
- *
24
- * Our
25
- */
26
- export function StaticTable<
27
- Data extends GenericObject,
28
- Extras extends GenericObject,
29
- >(
30
- props: TableProps<Data, Extras> & {
31
- handleSortClick?: (sortKey: string) => unknown;
32
- sortKey?: string;
33
- sortDirection?: SortDirection;
34
- rowKeys?: string[];
35
- },
36
- ): React.ReactNode {
37
- const {
38
- classNames,
39
- className,
40
- TableRow,
41
- entries,
42
- extras,
43
- rowKeys,
44
- headers,
45
- showHeader = true,
46
- tableHeaderClassName,
47
- sortable,
48
- // eslint-disable-next-line unused-imports/no-unused-vars
49
- defaultSortKey,
50
- // eslint-disable-next-line unused-imports/no-unused-vars
51
- defaultSortDirection = 'original',
52
- // eslint-disable-next-line unused-imports/no-unused-vars
53
- onSort,
54
- handleSortClick,
55
- sortKey,
56
- sortDirection,
57
- selectedKeys,
58
- disabledKeys = [],
59
- onSelect,
60
- isLoading,
61
- idName = 'id',
62
- emptyText,
63
- disabled,
64
- customLoader,
65
- borderRadius,
66
- stickyHeader,
67
- } = props;
68
- // this is a fallback and honestly probably doesn't need the
69
- // memo'ing
70
- const mappedKeys = React.useMemo(
71
- () => rowKeys ?? entries.map((e) => get(e, idName)),
72
- [entries, idName, rowKeys],
73
- );
74
- const tableRef = React.useRef(null);
75
- const {width} = useWindowSize();
76
- const [tableWidth, setTableWidth] = React.useState();
77
- React.useEffect(() => {
78
- if (tableRef.current) {
79
- setTableWidth(tableRef.current.offsetWidth);
80
- }
81
- }, [width]);
82
-
83
- /**
84
- * this function is also used to decide weather to show checkbox in header or not. so it's value is undefined incase selectedKeys is not there.
85
- */
86
- const handleHeaderCheckboxClick = selectedKeys
87
- ? ({checked}: {value: string; checked: boolean}) => {
88
- let selectedRowIds = [];
89
-
90
- if (selectedKeys) {
91
- if (checked === true) {
92
- selectedRowIds = entries.map((singleRowObj) =>
93
- get(singleRowObj, idName),
94
- );
95
- }
96
-
97
- onSelect?.(selectedRowIds);
98
- }
99
- }
100
- : undefined;
101
- return (
102
- <div
103
- className={classify(css.tableContainer, classNames?.wrapper)}
104
- data-id="table-wrap"
105
- ref={tableRef}
106
- style={{
107
- '--border-radius': borderRadius,
108
- '--table-width': tableWidth ? `${tableWidth}px` : sizeFluid,
109
- }}
110
- >
111
- <BasicTable
112
- data-id="basic-table"
113
- className={classify(
114
- className,
115
- {
116
- [css.fullHeightTable]:
117
- isLoading || (!entries.length && !!emptyText),
118
- },
119
- classNames?.table,
120
- )}
121
- >
122
- {showHeader && (
123
- <DefaultTableHeader
124
- className={classify(tableHeaderClassName, classNames?.tableHeader)}
125
- sortable={sortable}
126
- columns={headers}
127
- handleSortClick={handleSortClick}
128
- sortKey={sortKey}
129
- sortDirection={sortDirection}
130
- disabled={disabled}
131
- handleCheckboxClick={handleHeaderCheckboxClick}
132
- stickyHeader={stickyHeader}
133
- checked={
134
- selectedKeys == null || selectedKeys.length === 0
135
- ? 'false'
136
- : selectedKeys.length < entries.length
137
- ? 'mixed'
138
- : 'true'
139
- }
140
- />
141
- )}
142
-
143
- <BasicTableBody className={classNames?.tableBody}>
144
- {isLoading || !entries.length ? (
145
- <EmptyRow
146
- isLoading={isLoading}
147
- emptyText={emptyText}
148
- headersLength={
149
- handleHeaderCheckboxClick ? headers.length + 1 : headers.length
150
- }
151
- customLoader={customLoader}
152
- />
153
- ) : (
154
- mappedKeys.map((key) => {
155
- const data = entries.find((e) => get(e, idName) === key);
156
-
157
- if (data == null) {
158
- return null;
159
- }
160
-
161
- data as Data;
162
- const selected =
163
- selectedKeys && Array.isArray(selectedKeys)
164
- ? selectedKeys.includes(get(data, idName))
165
- : undefined;
166
- const isRowDisabled =
167
- disabledKeys && Array.isArray(disabledKeys)
168
- ? disabledKeys.includes(get(data, idName))
169
- : false;
170
- return TableRow ? (
171
- <TableRow
172
- key={key}
173
- data={data}
174
- headers={headers} // extras and rowKeys are both 'optional'
175
- extras={extras}
176
- sortedKeys={rowKeys ?? mappedKeys}
177
- selected={selected}
178
- disabled={disabled || isRowDisabled}
179
- />
180
- ) : (
181
- <DefaultRow
182
- key={key}
183
- data={data}
184
- extras={extras}
185
- headers={headers}
186
- selected={selected}
187
- onSelect={
188
- selectedKeys != null
189
- ? (_v) => onSelect?.(xor(selectedKeys ?? [], [key]))
190
- : undefined
191
- }
192
- disabled={disabled || isRowDisabled}
193
- classNames={{
194
- tableRow: classNames?.tableRow,
195
- checkbox: classNames?.checkbox,
196
- }}
197
- />
198
- );
199
- })
200
- )}
201
- </BasicTableBody>
202
- </BasicTable>
203
- </div>
204
- );
205
- }
@@ -1,114 +0,0 @@
1
- import {$ReadOnly, $Keys} from 'utility-types';
2
- import * as React from 'react';
3
- import type {TableRow} from './DefaultRow';
4
- import type {GenericHeaderItems} from './DefaultTableHeader';
5
- import type {SortDirection} from './hooks';
6
- import {useSortableEntries} from './hooks';
7
- import {StaticTable} from './StaticTable';
8
- // type ClassNames = $ReadOnly<{wrapper?: string}>;
9
- export type GenericObject = Readonly<Record<string, unknown>>;
10
- type ClassNames = $ReadOnly<{
11
- wrapper?: string;
12
- table?: string;
13
- tableHeader?: string;
14
- tableBody?: string;
15
- tableRow?: string;
16
- checkbox?: string;
17
- }>;
18
- export type TableProps<T, U> = {
19
- classNames?: ClassNames;
20
- className?: string;
21
- TableRow?: TableRow<T, U>;
22
- headers: GenericHeaderItems<T, U>;
23
- entries: Array<T>;
24
- extras?: U;
25
- sortable?: boolean;
26
- showHeader?: boolean;
27
- tableHeaderClassName?: string;
28
- headerIconClassName?: string;
29
- defaultSortKey?: string;
30
- defaultSortDirection?: 'asc' | 'desc' | 'original';
31
- // Please start using this prop if you want internal sorting to work in the table
32
- enableInternalSorting?: boolean;
33
- selectedKeys?: string[];
34
- disabledKeys?: string[];
35
- onSelect?: (keys: string[]) => unknown;
36
- idName?: $Keys<T>;
37
- onSort?: (key: $Keys<T>, direction: SortDirection) => void;
38
- isLoading?: boolean;
39
- emptyText?: React.ReactNode;
40
- disabled?: boolean;
41
- customLoader?: React.ReactNode;
42
- borderRadius?: string;
43
- // For this to work the table wrapper should be scrollable
44
- stickyHeader?: boolean;
45
- };
46
-
47
- /**
48
- * Table
49
- * @param {React.ComponentType} Row - React.ComponentType<{data: Data, extras?: Extras, sortedKeys?: string[]}>
50
- * @param {string} className - string
51
- *
52
- **/
53
-
54
- /**
55
- * Table
56
- * @param {React.ComponentType} Row - React.ComponentType<{data: Data, extras?: Extras, sortedKeys?: string[]}>
57
- * @param {string} className - string
58
- *
59
- */
60
- export function Table<Data extends GenericObject, Extras extends GenericObject>(
61
- props: TableProps<Data, Extras>,
62
- ): React.ReactNode {
63
- const {
64
- // eslint-disable-next-line unused-imports/no-unused-vars
65
- className,
66
- // eslint-disable-next-line unused-imports/no-unused-vars
67
- classNames,
68
- // eslint-disable-next-line unused-imports/no-unused-vars
69
- TableRow,
70
- entries,
71
- // eslint-disable-next-line unused-imports/no-unused-vars
72
- extras,
73
- // eslint-disable-next-line unused-imports/no-unused-vars
74
- headers,
75
- // eslint-disable-next-line unused-imports/no-unused-vars
76
- showHeader = true,
77
- // eslint-disable-next-line unused-imports/no-unused-vars
78
- tableHeaderClassName,
79
- sortable = true,
80
- defaultSortKey,
81
- defaultSortDirection = 'original',
82
- onSort,
83
- enableInternalSorting,
84
- // eslint-disable-next-line unused-imports/no-unused-vars
85
- isLoading,
86
- idName = 'id',
87
- // eslint-disable-next-line unused-imports/no-unused-vars
88
- emptyText,
89
- } = props;
90
-
91
- /**
92
- *
93
- */
94
- // eslint-disable-next-line unused-imports/no-unused-vars
95
- const {sortedEntries, sortedKeys, ...sortableProps} = useSortableEntries(
96
- entries,
97
- idName,
98
- {
99
- defaultSortKey,
100
- defaultSortDirection,
101
- onSort,
102
- enableInternalSorting,
103
- },
104
- );
105
- return (
106
- <StaticTable
107
- {...props}
108
- {...sortableProps}
109
- sortable={sortable}
110
- entries={entries}
111
- rowKeys={sortedKeys}
112
- />
113
- );
114
- }