@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,98 +0,0 @@
1
- import {$Keys} from 'utility-types';
2
- import * as React from 'react';
3
- import get from 'lodash/get';
4
- import sortBy from 'lodash/sortBy';
5
- import type {GenericObject} from './Table';
6
- export type SortDirection = 'asc' | 'desc' | 'original';
7
- export function useSortableEntries<T extends GenericObject>(
8
- entries: Array<T>,
9
- idName: $Keys<T>,
10
- {
11
- defaultSortKey = 'id',
12
- defaultSortDirection = 'original',
13
- onSort,
14
- enableInternalSorting = true,
15
- }: {
16
- defaultSortKey?: $Keys<T>;
17
- defaultSortDirection?: SortDirection;
18
- onSort?: (sortKey: string, sortDirection: SortDirection) => unknown;
19
- enableInternalSorting?: boolean;
20
- },
21
- ): {
22
- handleSortClick: (sortKey: $Keys<T>) => unknown;
23
- sortDirection: SortDirection;
24
- sortKey?: string;
25
- sortedEntries: T[];
26
- sortedKeys: $Keys<T>[];
27
- } {
28
- const [sortKey, setSortKey] = React.useState(defaultSortKey);
29
- const [sortDirection, setSortDirection] =
30
- React.useState<SortDirection>(defaultSortDirection);
31
-
32
- const getNextDirection = (direction: SortDirection): SortDirection => {
33
- switch (direction) {
34
- case 'original':
35
- return 'desc';
36
-
37
- case 'asc':
38
- return 'original';
39
-
40
- case 'desc':
41
- return 'asc';
42
-
43
- default:
44
- return 'original';
45
- }
46
- };
47
-
48
- const advanceSortDirection = (dir: SortDirection) => {
49
- const nextDirection = getNextDirection(dir);
50
- // eslint-disable-next-line unused-imports/no-unused-vars
51
- setSortDirection((dir) => nextDirection);
52
- return nextDirection;
53
- };
54
-
55
- const handleSortClick = React.useCallback(
56
- (nextSortKey: string) => {
57
- let nextSortDirection;
58
-
59
- if (nextSortKey === sortKey) {
60
- nextSortDirection = advanceSortDirection(sortDirection);
61
- } else {
62
- setSortKey(nextSortKey);
63
- nextSortDirection = 'desc';
64
- }
65
-
66
- setSortDirection(nextSortDirection);
67
- onSort?.(nextSortKey, nextSortDirection);
68
- },
69
- [sortKey, sortDirection, entries],
70
- );
71
- const sortedEntries = React.useMemo(() => {
72
- if (!enableInternalSorting || sortDirection === 'original') {
73
- return entries;
74
- }
75
-
76
- const caseInsensitiveSortFunction = (entry) => {
77
- if (typeof entry[sortKey] === 'string') {
78
- return entry[sortKey].toLowerCase();
79
- }
80
-
81
- return entry[sortKey];
82
- };
83
-
84
- const sortedAsc = sortBy(entries, caseInsensitiveSortFunction);
85
- return sortDirection === 'asc' ? sortedAsc : sortedAsc.reverse();
86
- }, [sortDirection, sortKey, entries, enableInternalSorting]);
87
- const sortedKeys = React.useMemo(
88
- () => sortedEntries.map((ent) => get(ent, idName)),
89
- [sortedEntries],
90
- );
91
- return {
92
- sortedEntries,
93
- sortedKeys,
94
- sortDirection,
95
- sortKey,
96
- handleSortClick,
97
- };
98
- }
@@ -1,8 +0,0 @@
1
- export * from './Cell';
2
- export * from './DefaultRow';
3
- export * from './DefaultTableHeader';
4
- export * from './StaticTable';
5
- export * from './Table';
6
- export * from './TableActionBar';
7
- export * from './TableBottomBar';
8
- export * from './TableTopBar';
@@ -1,146 +0,0 @@
1
- import {$ReadOnly, $Keys} from 'utility-types';
2
- import * as React from 'react';
3
- import {TEXT_COLORS} from '../../../types/typography';
4
- import {classify} from '../../../utils/classify';
5
- import {UnstyledButton} from '../../Button';
6
- import type {IconType} from '../../Icon';
7
- import {Icon} from '../../Icon';
8
- import {ButtonTextMedium, ButtonTextSmall} from '../../Text';
9
- import css from './Tab.module.css';
10
- type ClassNames = $ReadOnly<{
11
- wrapper?: string;
12
- iconTextWrap?: string;
13
- }>;
14
- export const TAB_SIZE = Object.freeze({
15
- small: 'small',
16
- medium: 'medium',
17
- });
18
- export const tabSizeOptions: Array<unknown> = [...Object.keys(TAB_SIZE)];
19
- export type TabSize = $Keys<typeof TAB_SIZE>;
20
- export type TabProps = {
21
- classNames?: ClassNames;
22
- onSelect?: (arg0: {tabId?: string; label?: string}) => unknown;
23
- size?: TabSize;
24
- selectedTab?: {
25
- tabId?: string;
26
- label?: string;
27
- };
28
- disabled?: boolean;
29
- tabId?: string;
30
- label?: string;
31
- iconName?: string;
32
- iconType?: IconType;
33
- width?: string;
34
- onClick?:
35
- | ((arg0: React.SyntheticEvent<HTMLElement>) => unknown)
36
- | null
37
- | undefined;
38
- };
39
- export const Tab: React$AbstractComponent<TabProps, HTMLButtonElement> =
40
- React.forwardRef<TabProps, HTMLButtonElement>(
41
- (
42
- {
43
- classNames,
44
- onSelect,
45
- size = 'medium',
46
- selectedTab,
47
- disabled = false,
48
- tabId,
49
- label,
50
- iconName,
51
- iconType,
52
- onClick,
53
- width,
54
- ...props
55
- }: TabProps,
56
- forwardRef,
57
- ) => {
58
- const tabRef = React.useRef(null);
59
- React.useImperativeHandle(forwardRef, () => tabRef.current);
60
- const selected = tabId && tabId === selectedTab?.tabId;
61
-
62
- const onClickHandler = (e) => {
63
- if (!disabled) {
64
- e.preventDefault();
65
- onSelect &&
66
- onSelect({
67
- tabId,
68
- label,
69
- });
70
- onClick && onClick(e);
71
- tabRef.current?.blur();
72
- }
73
- };
74
-
75
- return (
76
- <UnstyledButton
77
- {...props}
78
- disabled={disabled}
79
- className={classify(
80
- css.button,
81
- {
82
- [css.selected]: selected === true,
83
- [css.disabled]: disabled === true,
84
- [css.mediumSize]: size === 'medium',
85
- [css.smallSize]: size === 'small',
86
- },
87
- classNames?.wrapper,
88
- )}
89
- onClick={onClickHandler}
90
- style={{
91
- width,
92
- }}
93
- tabIndex={disabled ? -1 : 0}
94
- ref={tabRef}
95
- >
96
- <span
97
- className={classify(
98
- css.iconTextWrap,
99
- {
100
- [css.selected]: selected === true,
101
- [css.disabled]: disabled === true,
102
- },
103
- classNames?.iconTextWrap,
104
- )}
105
- >
106
- {iconName ? (
107
- <Icon
108
- name={iconName}
109
- type={iconType}
110
- size={size}
111
- className={classify(css.icon, {
112
- [css.disabled]: disabled === true,
113
- })}
114
- />
115
- ) : null}
116
-
117
- {label && (
118
- <>
119
- {size === TAB_SIZE.medium ? (
120
- <ButtonTextMedium
121
- color={TEXT_COLORS.secondary}
122
- className={classify(css.tabContainer, {
123
- [css.disabled]: disabled === true,
124
- })}
125
- >
126
- {label}
127
- </ButtonTextMedium>
128
- ) : (
129
- <ButtonTextSmall
130
- color={TEXT_COLORS.secondary}
131
- className={classify(css.tabContainer, {
132
- [css.selected]: selected === true,
133
- [css.disabled]: disabled === true,
134
- })}
135
- >
136
- {label}
137
- </ButtonTextSmall>
138
- )}
139
- </>
140
- )}
141
- </span>
142
- </UnstyledButton>
143
- );
144
- },
145
- );
146
- Tab.displayName = 'Tab';
@@ -1 +0,0 @@
1
- export * from './Tab';
@@ -1,100 +0,0 @@
1
- import {$ReadOnly} from 'utility-types';
2
- import * as React from 'react';
3
- import {
4
- // $FlowFixMe[untyped-import]
5
- autoUpdate, // $FlowFixMe[untyped-import]
6
- flip, // $FlowFixMe[untyped-import]
7
- offset, // $FlowFixMe[untyped-import]
8
- shift, // $FlowFixMe[untyped-import]
9
- useFloating,
10
- } from '@floating-ui/react';
11
- import {spaceNone, spaceXXSmall} from '../../../styles/variables/_space';
12
- import {classify} from '../../../utils/classify';
13
- import {ClickAway} from '../../../utils/click-away';
14
- import {mergeRefs} from '../../../utils/merge-refs';
15
- import type {AnchorType} from '../../ButtonDropdown';
16
- import type {MenuOption, MenuProps} from '../../Menu';
17
- import {Menu} from '../../Menu';
18
- import type {TabProps} from '../Tab';
19
- import {Tab} from '../Tab';
20
- import css from './TabDropdown.module.css';
21
- type ClassNames = $ReadOnly<{
22
- wrapper?: string;
23
- }>;
24
- export type TabDropdownProps = {
25
- anchorPosition?: AnchorType;
26
- size?: 'medium' | 'small';
27
- props?: {
28
- tab: TabProps;
29
- menu: MenuProps;
30
- };
31
- onOptionSelect?: (
32
- option: MenuOption,
33
- arg1: React.SyntheticEvent<HTMLElement> | null | undefined,
34
- ) => unknown;
35
- classNames?: ClassNames;
36
- selected?: boolean;
37
- disabled?: boolean;
38
- };
39
- export const TabDropdown = ({
40
- anchorPosition = 'bottom-start',
41
- size,
42
- onOptionSelect,
43
- props,
44
- classNames,
45
- }: TabDropdownProps): React.ReactNode => {
46
- const menuBtnRef = React.useRef();
47
- const {x, y, refs, strategy} = useFloating({
48
- open: true,
49
- strategy: 'absolute',
50
- placement: anchorPosition,
51
- whileElementsMounted: autoUpdate,
52
- middleware: [shift(), flip(), offset(parseInt(spaceXXSmall))],
53
- });
54
- return (
55
- <ClickAway>
56
- {({isOpen, onOpen, clickAway, boundaryRef, triggerRef}) => (
57
- <div
58
- data-testid="TabDropdown"
59
- className={classify(css.tabDropdownContainer, classNames?.wrapper)}
60
- ref={menuBtnRef}
61
- >
62
- <Tab
63
- {...props?.tab}
64
- size={size}
65
- ref={mergeRefs([refs.setReference, triggerRef])}
66
- onClick={(e) => {
67
- e.stopPropagation();
68
- onOpen();
69
- }}
70
- classNames={{
71
- wrapper: css.dotTabWrapper,
72
- iconTextWrap: css.dotTextWrap,
73
- }}
74
- />
75
- {isOpen && props?.menu && (
76
- <div
77
- ref={mergeRefs([refs.setFloating, boundaryRef])}
78
- style={{
79
- display: 'flex',
80
- position: strategy,
81
- top: y ?? spaceNone,
82
- left: x ?? spaceNone,
83
- }}
84
- >
85
- <Menu
86
- {...props.menu}
87
- onSelect={(option, e) => {
88
- onOptionSelect && onOptionSelect(option, e);
89
- clickAway();
90
- }}
91
- size={props.menu.size || size}
92
- onTabOut={clickAway}
93
- />
94
- </div>
95
- )}
96
- </div>
97
- )}
98
- </ClickAway>
99
- );
100
- };
@@ -1,157 +0,0 @@
1
- import {$ReadOnly} from 'utility-types';
2
- import * as React from 'react';
3
- import {useWindowSize} from '../../../hooks/useWindowSize/useWindowSize';
4
- import {size36, size100} from '../../../styles/variables/_size';
5
- import {spaceMedium} from '../../../styles/variables/_space';
6
- import {classify} from '../../../utils/classify';
7
- import {TabDropdown} from './TabDropdown';
8
- import css from './TabList.module.css';
9
- type ClassNames = $ReadOnly<{
10
- wrapper?: string;
11
- }>;
12
- export type TabListProps = {
13
- classNames?: ClassNames;
14
- onSelect?: (arg0: {tabId: string; label?: string}) => unknown;
15
- children?: React.ReactNode;
16
- size?: 'medium';
17
- selectedTab?: {
18
- tabId: string;
19
- label?: string;
20
- };
21
- menuWidth?: string;
22
- };
23
- export const TabList: React$AbstractComponent<TabListProps, HTMLDivElement> =
24
- React.forwardRef<TabListProps, HTMLDivElement>(
25
- (
26
- {
27
- classNames,
28
- children,
29
- size,
30
- onSelect,
31
- selectedTab,
32
- menuWidth,
33
- }: TabListProps,
34
- forwardRef,
35
- ): React.ReactNode => {
36
- const ref = React.useRef(null);
37
- React.useImperativeHandle(forwardRef, () => ref.current);
38
- const {width} = useWindowSize();
39
- const [containerWidth, setContainerWidth] = React.useState(0);
40
-
41
- const childrenWithProps = () => {
42
- const childrenArray = React.Children.toArray(children);
43
- const totalChildCount = childrenArray.length;
44
- let tabListWidth = 0;
45
- const menuOptions = [];
46
- let nodes: React.ReactNode[] = [];
47
- const tabListNodes: React.ReactNode[] = [];
48
-
49
- for (let i = 0; i < totalChildCount; i++) {
50
- const child = childrenArray[i];
51
- const {
52
- width = size100,
53
- tabId,
54
- label,
55
- disabled,
56
- iconName,
57
- iconType,
58
- } = child.props;
59
- const widthInt = parseInt(width);
60
- tabListWidth = tabListWidth + widthInt;
61
-
62
- if (tabListWidth < containerWidth || i === 0) {
63
- const childOnSelect = (params) => {
64
- onSelect && onSelect(params); // call the tab level onSelect
65
- };
66
-
67
- tabListNodes.push(
68
- React.cloneElement(child, {
69
- size,
70
- onSelect: childOnSelect,
71
- selectedTab,
72
- }),
73
- );
74
- } else {
75
- menuOptions.push({
76
- key: tabId,
77
- label,
78
- disabled,
79
- iconLeft: iconName,
80
- iconLeftType: iconType,
81
- });
82
- }
83
- }
84
-
85
- const menuOnSelect = ({key, label}) => {
86
- onSelect &&
87
- onSelect({
88
- tabId: key,
89
- label,
90
- });
91
- };
92
-
93
- const selectedKeys = [selectedTab?.tabId || ''];
94
-
95
- const isMenuOptionSelected = (() => {
96
- for (let i = 0; i < menuOptions.length; i++) {
97
- if (menuOptions[i].key === selectedTab?.tabId) {
98
- return true;
99
- }
100
- }
101
-
102
- return false;
103
- })();
104
-
105
- const tabDropDownNode = menuOptions.length ? (
106
- <TabDropdown
107
- key={'tabDropdown' + menuOptions.length}
108
- size={size}
109
- onOptionSelect={menuOnSelect}
110
- props={{
111
- tab: {
112
- iconName: 'ellipsis',
113
- tabId: 'tab-dropdown',
114
- selectedTab: {
115
- tabId: isMenuOptionSelected ? 'tab-dropdown' : '',
116
- },
117
- },
118
- menu: {
119
- isFluid: false,
120
- menuDisabled: false,
121
- options: menuOptions,
122
- selectedKeys,
123
- width: menuWidth,
124
- },
125
- }}
126
- />
127
- ) : null;
128
- nodes = [...tabListNodes, tabDropDownNode];
129
- return nodes;
130
- };
131
-
132
- React.useLayoutEffect(() => {
133
- if (ref.current && ref.current.offsetWidth) {
134
- const availableContainerWidth =
135
- ref.current.offsetWidth -
136
- (parseInt(size36) + parseInt(spaceMedium));
137
- setContainerWidth(availableContainerWidth);
138
- } // it depends on width of the screen as ref.current.offsetWidth will not provide the events when changed.
139
- }, [ref.current, width]);
140
- return (
141
- <div
142
- ref={ref}
143
- data-testid="Tabs"
144
- className={classify(
145
- css.tabsContainer,
146
- {
147
- [css.mediumSize]: size === 'medium',
148
- [css.smallSize]: size === 'small',
149
- },
150
- classNames?.wrapper,
151
- )}
152
- >
153
- {containerWidth ? childrenWithProps() : null}
154
- </div>
155
- );
156
- },
157
- );
@@ -1 +0,0 @@
1
- export * from './TabList';
@@ -1,2 +0,0 @@
1
- export * from './Tab';
2
- export * from './TabList';