@spaced-out/ui-design-system 0.3.44 → 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 (504) hide show
  1. package/.all-contributorsrc +9 -0
  2. package/CHANGELOG.md +14 -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/{SemanticAIIcon → 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/components/index.js +11 -11
  139. package/lib/components/index.js.flow +1 -1
  140. package/lib/hooks/useArbitraryOptionAddition/useArbitraryOptionAddition.js +0 -1
  141. package/lib/hooks/useCopyToClipboard/useCopyToClipboard.js +0 -2
  142. package/lib/hooks/useDebounce/useDebounce.js +1 -3
  143. package/lib/hooks/useFileUpload/useFileUpload.js +2 -4
  144. package/lib/hooks/useFilteredOptions/useFilteredOptions.js +1 -4
  145. package/lib/hooks/useInfiniteScroll/useInfiniteScroll.js +1 -3
  146. package/lib/hooks/useInputState/useInputState.js +1 -3
  147. package/lib/hooks/useLockedBody/useLockedBody.js +0 -1
  148. package/lib/hooks/useModal/useModal.js +0 -1
  149. package/lib/hooks/useMountTransition/index.js +1 -3
  150. package/lib/hooks/usePagination/usePagination.js +0 -1
  151. package/lib/hooks/useResizeObserver/useResizeObserver.js +1 -3
  152. package/lib/hooks/useToastPortal/useToastPortal.js +0 -1
  153. package/lib/hooks/useToggle/useToggle.js +0 -1
  154. package/lib/hooks/useWindowSize/useWindowSize.js +0 -1
  155. package/lib/styles/index.js +267 -535
  156. package/lib/styles/variables/_border.js +12 -25
  157. package/lib/styles/variables/_color.js +104 -209
  158. package/lib/styles/variables/_elevation.js +7 -15
  159. package/lib/styles/variables/_font.js +30 -61
  160. package/lib/styles/variables/_motion.js +6 -13
  161. package/lib/styles/variables/_opacity.js +15 -31
  162. package/lib/styles/variables/_shadow.js +24 -49
  163. package/lib/styles/variables/_size.js +57 -115
  164. package/lib/styles/variables/_space.js +12 -25
  165. package/lib/types/charts.js +1 -0
  166. package/lib/types/common.js +2 -4
  167. package/lib/types/menu.js +1 -0
  168. package/lib/types/toast.js +4 -8
  169. package/lib/types/typography.js +2 -4
  170. package/lib/utils/array/are-arrays-equal.js +0 -1
  171. package/lib/utils/charts/charts.js +4 -8
  172. package/lib/utils/charts/columnChart.js +1 -4
  173. package/lib/utils/charts/donutChart.js +2 -4
  174. package/lib/utils/charts/funnelChart.js +0 -4
  175. package/lib/utils/charts/helpers.js +9 -17
  176. package/lib/utils/charts/lineChart.js +0 -2
  177. package/lib/utils/charts/spiderChart.js +2 -3
  178. package/lib/utils/charts/typography.js +7 -14
  179. package/lib/utils/classify/index.js +2 -4
  180. package/lib/utils/click-away/click-away.js +50 -56
  181. package/lib/utils/date-range-picker/date-range-picker.js +6 -14
  182. package/lib/utils/date-range-picker/timezones.js +2 -5
  183. package/lib/utils/dom/dom.js +0 -1
  184. package/lib/utils/helpers/helpers.js +0 -1
  185. package/lib/utils/makeClassNameComponent/makeClassNameComponent.js +3 -4
  186. package/lib/utils/menu/menu.js +1 -3
  187. package/lib/utils/rating/rating.js +2 -5
  188. package/lib/utils/score-bar/score-bar.js +2 -4
  189. package/lib/utils/string/string.js +0 -1
  190. package/lib/utils/token-list-input/token-list-input.js +1 -3
  191. package/lib/utils/tokens/tokens.js +1 -3
  192. package/package.json +7 -7
  193. package/lib/components/Avatar/Avatar.d.ts +0 -263
  194. package/lib/components/Avatar/index.d.ts +0 -1
  195. package/lib/components/AvatarGroup/AvatarGroup.d.ts +0 -161
  196. package/lib/components/AvatarGroup/index.d.ts +0 -1
  197. package/lib/components/Badge/Badge.d.ts +0 -138
  198. package/lib/components/Badge/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/SemanticAIIcon/BadgedIcon.d.ts +0 -70
  346. package/lib/components/SemanticAIIcon/index.d.ts +0 -1
  347. package/lib/components/Separator/Separator.d.ts +0 -51
  348. package/lib/components/Separator/index.d.ts +0 -1
  349. package/lib/components/Shimmer/Shimmer.d.ts +0 -131
  350. package/lib/components/Shimmer/index.d.ts +0 -1
  351. package/lib/components/SideMenuLink/SideMenuLink.d.ts +0 -336
  352. package/lib/components/SideMenuLink/index.d.ts +0 -1
  353. package/lib/components/StatusIndicator/StatusIndicator.d.ts +0 -60
  354. package/lib/components/StatusIndicator/index.d.ts +0 -1
  355. package/lib/components/Stepper/Step/Step.d.ts +0 -119
  356. package/lib/components/Stepper/Step/StepContent.d.ts +0 -35
  357. package/lib/components/Stepper/Step/StepLabel.d.ts +0 -35
  358. package/lib/components/Stepper/Step/index.d.ts +0 -3
  359. package/lib/components/Stepper/Stepper.d.ts +0 -60
  360. package/lib/components/Stepper/index.d.ts +0 -2
  361. package/lib/components/StickyBar/StickyBar.d.ts +0 -55
  362. package/lib/components/StickyBar/index.d.ts +0 -1
  363. package/lib/components/SubMenu/SubMenu.d.ts +0 -89
  364. package/lib/components/SubMenu/SubMenuGroup.d.ts +0 -156
  365. package/lib/components/SubMenu/SubMenuItem.d.ts +0 -161
  366. package/lib/components/SubMenu/SubMenuLink.d.ts +0 -81
  367. package/lib/components/SubMenu/index.d.ts +0 -4
  368. package/lib/components/Table/Cell.d.ts +0 -107
  369. package/lib/components/Table/DefaultRow.d.ts +0 -145
  370. package/lib/components/Table/DefaultTableHeader.d.ts +0 -237
  371. package/lib/components/Table/StaticTable.d.ts +0 -205
  372. package/lib/components/Table/Table.d.ts +0 -114
  373. package/lib/components/Table/Table.docs.d.ts +0 -544
  374. package/lib/components/Table/TableActionBar.d.ts +0 -48
  375. package/lib/components/Table/TableBottomBar.d.ts +0 -20
  376. package/lib/components/Table/TableTopBar.d.ts +0 -20
  377. package/lib/components/Table/dummyTableData.d.ts +0 -2189
  378. package/lib/components/Table/hooks.d.ts +0 -98
  379. package/lib/components/Table/index.d.ts +0 -8
  380. package/lib/components/Tabs/Tab/Tab.d.ts +0 -146
  381. package/lib/components/Tabs/Tab/index.d.ts +0 -1
  382. package/lib/components/Tabs/TabList/TabDropdown.d.ts +0 -100
  383. package/lib/components/Tabs/TabList/TabList.d.ts +0 -157
  384. package/lib/components/Tabs/TabList/index.d.ts +0 -1
  385. package/lib/components/Tabs/index.d.ts +0 -2
  386. package/lib/components/Text/Text.d.ts +0 -1021
  387. package/lib/components/Text/index.d.ts +0 -30
  388. package/lib/components/TextTile/TextTile.d.ts +0 -40
  389. package/lib/components/TextTile/index.d.ts +0 -1
  390. package/lib/components/Textarea/Textarea.d.ts +0 -132
  391. package/lib/components/Textarea/index.d.ts +0 -2
  392. package/lib/components/Timeline/Timeline.d.ts +0 -40
  393. package/lib/components/Timeline/TimelineItem/TimelineItem.d.ts +0 -121
  394. package/lib/components/Timeline/TimelineItem/index.d.ts +0 -1
  395. package/lib/components/Timeline/index.d.ts +0 -2
  396. package/lib/components/Toast/Toast.d.ts +0 -248
  397. package/lib/components/Toast/ToastContainer.d.ts +0 -140
  398. package/lib/components/Toast/ToastManager.d.ts +0 -58
  399. package/lib/components/Toast/index.d.ts +0 -10
  400. package/lib/components/Toggle/Toggle.d.ts +0 -111
  401. package/lib/components/Toggle/index.d.ts +0 -1
  402. package/lib/components/TokenListInput/TokenListInput.d.ts +0 -351
  403. package/lib/components/TokenListInput/TokenValueChips.d.ts +0 -60
  404. package/lib/components/TokenListInput/index.d.ts +0 -1
  405. package/lib/components/Tooltip/Tooltip.d.ts +0 -186
  406. package/lib/components/Tooltip/index.d.ts +0 -1
  407. package/lib/components/Truncate/Truncate.d.ts +0 -87
  408. package/lib/components/Truncate/index.d.ts +0 -2
  409. package/lib/components/TruncatedTextWithTooltip/TruncatedTextWithTooltip.d.ts +0 -95
  410. package/lib/components/TruncatedTextWithTooltip/index.d.ts +0 -1
  411. package/lib/components/Typeahead/SimpleTypeahead.d.ts +0 -141
  412. package/lib/components/Typeahead/Typeahead.d.ts +0 -217
  413. package/lib/components/Typeahead/index.d.ts +0 -2
  414. package/lib/components/WeekdayPicker/WeekdayPicker.d.ts +0 -242
  415. package/lib/components/WeekdayPicker/index.d.ts +0 -1
  416. package/lib/components/index.d.ts +0 -74
  417. package/lib/hooks/index.d.ts +0 -15
  418. package/lib/hooks/useArbitraryOptionAddition/index.d.ts +0 -1
  419. package/lib/hooks/useArbitraryOptionAddition/useArbitraryOptionAddition.d.ts +0 -124
  420. package/lib/hooks/useCopyToClipboard/index.d.ts +0 -1
  421. package/lib/hooks/useCopyToClipboard/useCopyToClipboard.d.ts +0 -27
  422. package/lib/hooks/useDebounce/index.d.ts +0 -1
  423. package/lib/hooks/useDebounce/useDebounce.d.ts +0 -13
  424. package/lib/hooks/useFileUpload/index.d.ts +0 -1
  425. package/lib/hooks/useFileUpload/useFileUpload.d.ts +0 -342
  426. package/lib/hooks/useFilteredOptions/index.d.ts +0 -1
  427. package/lib/hooks/useFilteredOptions/useFilteredOptions.d.ts +0 -87
  428. package/lib/hooks/useInfiniteScroll/index.d.ts +0 -1
  429. package/lib/hooks/useInfiniteScroll/useInfiniteScroll.d.ts +0 -77
  430. package/lib/hooks/useInputState/index.d.ts +0 -1
  431. package/lib/hooks/useInputState/useInputState.d.ts +0 -22
  432. package/lib/hooks/useLockedBody/index.d.ts +0 -1
  433. package/lib/hooks/useLockedBody/useLockedBody.d.ts +0 -46
  434. package/lib/hooks/useModal/index.d.ts +0 -1
  435. package/lib/hooks/useModal/useModal.d.ts +0 -32
  436. package/lib/hooks/useMountTransition/index.d.ts +0 -24
  437. package/lib/hooks/usePagination/index.d.ts +0 -1
  438. package/lib/hooks/usePagination/usePagination.d.ts +0 -140
  439. package/lib/hooks/useResizeObserver/index.d.ts +0 -1
  440. package/lib/hooks/useResizeObserver/useResizeObserver.d.ts +0 -22
  441. package/lib/hooks/useToastPortal/index.d.ts +0 -1
  442. package/lib/hooks/useToastPortal/useToastPortal.d.ts +0 -31
  443. package/lib/hooks/useToggle/index.d.ts +0 -1
  444. package/lib/hooks/useToggle/useToggle.d.ts +0 -11
  445. package/lib/hooks/useWindowSize/index.d.ts +0 -1
  446. package/lib/hooks/useWindowSize/useWindowSize.d.ts +0 -28
  447. package/lib/index.d.ts +0 -5
  448. package/lib/styles/index.d.ts +0 -267
  449. package/lib/styles/variables/_border.d.ts +0 -12
  450. package/lib/styles/variables/_color.d.ts +0 -104
  451. package/lib/styles/variables/_elevation.d.ts +0 -7
  452. package/lib/styles/variables/_font.d.ts +0 -30
  453. package/lib/styles/variables/_motion.d.ts +0 -6
  454. package/lib/styles/variables/_opacity.d.ts +0 -15
  455. package/lib/styles/variables/_shadow.d.ts +0 -24
  456. package/lib/styles/variables/_size.d.ts +0 -57
  457. package/lib/styles/variables/_space.d.ts +0 -12
  458. package/lib/types/charts.d.ts +0 -225
  459. package/lib/types/common.d.ts +0 -10
  460. package/lib/types/date-range-picker.d.ts +0 -17
  461. package/lib/types/index.d.ts +0 -6
  462. package/lib/types/menu.d.ts +0 -13
  463. package/lib/types/toast.d.ts +0 -32
  464. package/lib/types/typography.d.ts +0 -17
  465. package/lib/utils/array/are-arrays-equal.d.ts +0 -11
  466. package/lib/utils/array/index.d.ts +0 -1
  467. package/lib/utils/charts/charts.d.ts +0 -102
  468. package/lib/utils/charts/columnChart.d.ts +0 -51
  469. package/lib/utils/charts/donutChart.d.ts +0 -116
  470. package/lib/utils/charts/funnelChart.d.ts +0 -94
  471. package/lib/utils/charts/helpers.d.ts +0 -44
  472. package/lib/utils/charts/index.d.ts +0 -7
  473. package/lib/utils/charts/lineChart.d.ts +0 -44
  474. package/lib/utils/charts/spiderChart.d.ts +0 -46
  475. package/lib/utils/charts/typography.d.ts +0 -42
  476. package/lib/utils/classify/index.d.ts +0 -27
  477. package/lib/utils/click-away/click-away.d.ts +0 -194
  478. package/lib/utils/click-away/index.d.ts +0 -1
  479. package/lib/utils/date-range-picker/date-range-picker.d.ts +0 -411
  480. package/lib/utils/date-range-picker/index.d.ts +0 -2
  481. package/lib/utils/date-range-picker/timezones.d.ts +0 -262
  482. package/lib/utils/dom/dom.d.ts +0 -245
  483. package/lib/utils/dom/index.d.ts +0 -1
  484. package/lib/utils/helpers/helpers.d.ts +0 -48
  485. package/lib/utils/helpers/index.d.ts +0 -1
  486. package/lib/utils/index.d.ts +0 -14
  487. package/lib/utils/makeClassNameComponent/index.d.ts +0 -1
  488. package/lib/utils/makeClassNameComponent/makeClassNameComponent.d.ts +0 -73
  489. package/lib/utils/menu/index.d.ts +0 -1
  490. package/lib/utils/merge-refs/index.d.ts +0 -1
  491. package/lib/utils/merge-refs/merge-refs.d.ts +0 -15
  492. package/lib/utils/rating/index.d.ts +0 -1
  493. package/lib/utils/rating/rating.d.ts +0 -31
  494. package/lib/utils/score-bar/index.d.ts +0 -1
  495. package/lib/utils/score-bar/score-bar.d.ts +0 -54
  496. package/lib/utils/string/index.d.ts +0 -1
  497. package/lib/utils/string/string.d.ts +0 -30
  498. package/lib/utils/token-list-input/token-list-input.d.ts +0 -32
  499. package/lib/utils/tokens/index.d.ts +0 -1
  500. package/lib/utils/tokens/tokens.d.ts +0 -230
  501. /package/lib/components/{SemanticAIIcon → BadgedIcon}/BadgedIcon.js.flow +0 -0
  502. /package/lib/components/{SemanticAIIcon → BadgedIcon}/BadgedIcon.module.css +0 -0
  503. /package/lib/components/{SemanticAIIcon → BadgedIcon}/index.js +0 -0
  504. /package/lib/components/{SemanticAIIcon → BadgedIcon}/index.js.flow +0 -0
@@ -1,288 +0,0 @@
1
- import {$ReadOnly, $Values, $Keys} from 'utility-types';
2
- import * as React from 'react';
3
- import {classify} from '../../utils/classify';
4
- import {CircularLoader} from '../CircularLoader';
5
- import type {IconType} from '../Icon';
6
- import {Icon} from '../Icon';
7
- import {Truncate} from '../Truncate';
8
- import css from './Button.module.css';
9
- type ClassNames = $ReadOnly<{
10
- wrapper?: string;
11
- icon?: string;
12
- text?: string;
13
- }>;
14
-
15
- /**
16
- * Note(Nishant): Although Button supports gradient as a type, its not currently customizable really.
17
- * This only supports pre-defined gradient that moves from left to right.
18
- * If someone wants to add more gradients, the expectation is that they would add it through a wrapper className.
19
- *
20
- * We could have taken an extra prop to take in the Gradient colors but that should not be encouraged
21
- * as it would add an additional overhead on the component to figure out exact color values from string tokens
22
- * and since this is rarely used type anyway, it should be avoided.
23
- */
24
- export const BUTTON_TYPES = Object.freeze({
25
- primary: 'primary',
26
- secondary: 'secondary',
27
- tertiary: 'tertiary',
28
- ghost: 'ghost',
29
- danger: 'danger',
30
- gradient: 'gradient',
31
- });
32
- export const BUTTON_ACTION_TYPE = Object.freeze({
33
- button: 'button',
34
- submit: 'submit',
35
- reset: 'reset',
36
- });
37
- export const BUTTON_SIZE = Object.freeze({
38
- small: 'small',
39
- medium: 'medium',
40
- });
41
- export type ButtonType = $Values<typeof BUTTON_TYPES>;
42
- export type ButtonActionType = $Values<typeof BUTTON_ACTION_TYPE>;
43
- export type ButtonSize = $Keys<typeof BUTTON_SIZE>;
44
- export type BaseButtonProps = {
45
- children?: React.ReactNode;
46
- disabled?: unknown;
47
- actionType?: ButtonActionType;
48
- onClick?:
49
- | ((arg0: React.SyntheticEvent<HTMLElement>) => unknown)
50
- | null
51
- | undefined;
52
- ariaLabel?: string;
53
- tabIndex?: number;
54
- isLoading?: boolean;
55
- role?: string;
56
- };
57
- export type UnstyledButtonProps = BaseButtonProps & {
58
- className?: string;
59
- };
60
- export type ButtonProps = BaseButtonProps & {
61
- classNames?: ClassNames;
62
- iconLeftName?: string;
63
- iconLeftType?: IconType;
64
- iconRightName?: string;
65
- iconRightType?: IconType;
66
- type?: ButtonType;
67
- isFluid?: boolean;
68
- size?: ButtonSize;
69
- };
70
- const ButtonTypeToIconColorMap = {
71
- primary: 'inversePrimary',
72
- secondary: 'clickable',
73
- tertiary: 'primary',
74
- ghost: 'primary',
75
- danger: 'inversePrimary',
76
- gradient: 'inversePrimary',
77
- };
78
- const ButtonTypeToLoaderColorMap = {
79
- primary: 'colorTextInversePrimary',
80
- secondary: 'colorTextClickable',
81
- tertiary: 'colorTextPrimary',
82
- ghost: 'colorTextPrimary',
83
- danger: 'colorTextInversePrimary',
84
- gradient: 'colorTextInversePrimary',
85
- };
86
- export const UnstyledButton: React$AbstractComponent<
87
- UnstyledButtonProps,
88
- HTMLButtonElement
89
- > = React.forwardRef<UnstyledButtonProps, HTMLButtonElement>(
90
- (
91
- {
92
- disabled,
93
- onClick,
94
- className,
95
- ariaLabel,
96
- actionType,
97
- tabIndex = 0,
98
- isLoading,
99
- role = 'button',
100
- ...props
101
- }: UnstyledButtonProps,
102
- ref,
103
- ) => (
104
- <button
105
- {...props}
106
- {...(ariaLabel
107
- ? {
108
- 'aria-label': ariaLabel,
109
- }
110
- : {})}
111
- className={className}
112
- ref={ref}
113
- role={role}
114
- disabled={disabled}
115
- tabIndex={disabled ? -1 : tabIndex}
116
- type={actionType}
117
- onClick={(event) => {
118
- if (disabled || isLoading) {
119
- event.preventDefault();
120
- } else if (onClick) {
121
- onClick(event);
122
- }
123
- }}
124
- />
125
- ),
126
- );
127
- export const Button: React$AbstractComponent<ButtonProps, HTMLButtonElement> =
128
- React.forwardRef<ButtonProps, HTMLButtonElement>(
129
- (
130
- {
131
- classNames,
132
- children,
133
- iconLeftName = '',
134
- iconLeftType = 'regular',
135
- iconRightName = '',
136
- iconRightType = 'regular',
137
- type = 'primary',
138
- isFluid = false,
139
- disabled = false,
140
- actionType = 'button',
141
- size = 'medium',
142
- isLoading,
143
- ...props
144
- }: ButtonProps,
145
- ref,
146
- ) => (
147
- <UnstyledButton
148
- {...props}
149
- actionType={actionType}
150
- disabled={disabled}
151
- isLoading={isLoading}
152
- className={classify(
153
- css.button,
154
- {
155
- [css.primary]: type === 'primary',
156
- [css.secondary]: type === 'secondary',
157
- [css.tertiary]: type === 'tertiary',
158
- [css.ghost]: type === 'ghost',
159
- [css.danger]: type === 'danger',
160
- [css.gradient]: type === 'gradient',
161
- [css.disabled]: disabled,
162
- [css.small]: size === 'small',
163
- [css.medium]: size === 'medium',
164
- [css.isFluid]: isFluid === true,
165
- [css.withIconLeft]: !!iconLeftName,
166
- [css.withIconRight]: !!iconRightName,
167
- [css.withBothIcon]: !!(iconLeftName && iconRightName),
168
- [css.onlyIcon]: (iconLeftName || iconRightName) && !children,
169
- },
170
- classNames?.wrapper,
171
- )}
172
- ref={ref}
173
- >
174
- <div className={css.buttonRow}>
175
- {/* Has no icon, only child */}
176
- {!(iconLeftName || iconRightName) ? (
177
- <div className={classify(css.textContainer, classNames?.text)}>
178
- {isLoading && (
179
- <div className={css.loader}>
180
- <CircularLoader
181
- size={size}
182
- colorToken={
183
- disabled
184
- ? 'colorTextDisabled'
185
- : ButtonTypeToLoaderColorMap[type]
186
- }
187
- />
188
- </div>
189
- )}
190
- <Truncate
191
- className={classify({
192
- [css.hidden]: isLoading,
193
- })}
194
- >
195
- {children}
196
- </Truncate>
197
- </div> // has icon, but no child
198
- ) : children == null ? (
199
- <>
200
- {isLoading && (
201
- <div className={css.loader}>
202
- <CircularLoader
203
- size={size}
204
- colorToken={
205
- disabled
206
- ? 'colorTextDisabled'
207
- : ButtonTypeToLoaderColorMap[type]
208
- }
209
- />
210
- </div>
211
- )}
212
- <Icon
213
- name={iconLeftName || iconRightName}
214
- color={disabled ? 'disabled' : ButtonTypeToIconColorMap[type]}
215
- size={size === 'medium' ? 'medium' : 'small'}
216
- type={iconLeftName ? iconLeftType : iconRightType}
217
- className={classify(
218
- {
219
- [css.hidden]: isLoading,
220
- },
221
- classNames?.icon,
222
- )}
223
- />
224
- </> // has icon _and_ child
225
- ) : (
226
- (iconLeftName || iconRightName) && (
227
- <>
228
- {iconLeftName && (
229
- <Icon
230
- name={iconLeftName}
231
- color={
232
- disabled ? 'disabled' : ButtonTypeToIconColorMap[type]
233
- }
234
- size={size === 'medium' ? 'medium' : 'small'}
235
- type={iconLeftType}
236
- className={classify(
237
- {
238
- [css.hidden]: isLoading,
239
- },
240
- classNames?.icon,
241
- )}
242
- />
243
- )}
244
- <div className={classify(css.textContainer, classNames?.text)}>
245
- {isLoading && (
246
- <div className={css.loader}>
247
- <CircularLoader
248
- size={size}
249
- colorToken={
250
- disabled
251
- ? 'colorTextDisabled'
252
- : ButtonTypeToLoaderColorMap[type]
253
- }
254
- />
255
- </div>
256
- )}
257
- <Truncate
258
- className={classify({
259
- [css.hidden]: isLoading,
260
- })}
261
- >
262
- {children}
263
- </Truncate>
264
- </div>
265
- {iconRightName && (
266
- <Icon
267
- name={iconRightName}
268
- color={
269
- disabled ? 'disabled' : ButtonTypeToIconColorMap[type]
270
- }
271
- size={size === 'medium' ? 'medium' : 'small'}
272
- type={iconRightType}
273
- className={classify(
274
- {
275
- [css.hidden]: isLoading,
276
- },
277
- classNames?.icon,
278
- )}
279
- />
280
- )}
281
- </>
282
- )
283
- )}
284
- </div>
285
- </UnstyledButton>
286
- ),
287
- );
288
- Button.name = Button.displayName = 'Button';
@@ -1,14 +0,0 @@
1
- export type {
2
- ButtonActionType,
3
- ButtonProps,
4
- ButtonSize,
5
- ButtonType,
6
- UnstyledButtonProps,
7
- } from './Button';
8
- export {
9
- Button,
10
- BUTTON_ACTION_TYPE,
11
- BUTTON_SIZE,
12
- BUTTON_TYPES,
13
- UnstyledButton,
14
- } from './Button';
@@ -1,192 +0,0 @@
1
- import {$Values, $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 {sizeFluid} from '../../styles/variables/_size';
12
- import {spaceNone, spaceXXSmall} from '../../styles/variables/_space';
13
- import {classify} from '../../utils/classify';
14
- import type {ClickAwayRefType} from '../../utils/click-away';
15
- import {ClickAway} from '../../utils/click-away';
16
- import {mergeRefs} from '../../utils/merge-refs';
17
- import type {ButtonProps} from '../Button';
18
- import {Button} from '../Button';
19
- import {ConditionalWrapper} from '../ConditionalWrapper';
20
- import type {MenuOption, MenuProps} from '../Menu';
21
- import {Menu} from '../Menu';
22
- import type {BaseTooltipProps} from '../Tooltip';
23
- import {Tooltip} from '../Tooltip';
24
- import css from './ButtonDropdown.module.css';
25
- export const ANCHOR_POSITION_TYPE = Object.freeze({
26
- top: 'top',
27
- topStart: 'top-start',
28
- topEnd: 'top-end',
29
- bottom: 'bottom',
30
- bottomStart: 'bottom-start',
31
- bottomEnd: 'bottom-end',
32
- });
33
- export const STRATEGY_TYPE = Object.freeze({
34
- absolute: 'absolute',
35
- fixed: 'fixed',
36
- });
37
- export type AnchorType = $Values<typeof ANCHOR_POSITION_TYPE>;
38
- export type Strategy = $Values<typeof STRATEGY_TYPE>;
39
- type ClassNames = $ReadOnly<{
40
- buttonWrapper?: string;
41
- dropdownContainer?: string;
42
- buttonIcon?: string;
43
- }>;
44
- export type ButtonDropdownProps = ButtonProps & {
45
- classNames?: ClassNames;
46
- menu?: MenuProps;
47
- positionStrategy?: Strategy;
48
- anchorPosition?: AnchorType;
49
- onOptionSelect?: (
50
- option: MenuOption,
51
- arg1: React.SyntheticEvent<HTMLElement> | null | undefined,
52
- ) => unknown;
53
- onMenuOpen?: () => unknown;
54
- onMenuClose?: () => unknown;
55
- tooltip?: BaseTooltipProps;
56
- clickAwayRef?: ClickAwayRefType;
57
- };
58
- export const ButtonDropdown: React$AbstractComponent<
59
- ButtonDropdownProps,
60
- HTMLDivElement
61
- > = React.forwardRef<ButtonDropdownProps, HTMLDivElement>(
62
- (
63
- {
64
- anchorPosition = 'bottom-start',
65
- positionStrategy = STRATEGY_TYPE.absolute,
66
- size = 'medium',
67
- onOptionSelect,
68
- menu,
69
- classNames,
70
- disabled,
71
- onMenuOpen,
72
- onMenuClose,
73
- children,
74
- iconRightName,
75
- iconRightType = 'solid',
76
- isFluid,
77
- tooltip,
78
- onClick,
79
- clickAwayRef,
80
- ...restButtonProps
81
- }: ButtonDropdownProps,
82
- forwardRef,
83
- ) => {
84
- const menuBtnRef = React.useRef(null);
85
- const [isMenuOpen, setIsMenuOpen] = React.useState(false);
86
- React.useImperativeHandle(forwardRef, () => menuBtnRef.current);
87
- const {x, y, refs, strategy} = useFloating({
88
- open: true,
89
- strategy: positionStrategy,
90
- placement: anchorPosition,
91
- whileElementsMounted: autoUpdate,
92
- middleware: [shift(), flip(), offset(parseInt(spaceXXSmall))],
93
- });
94
-
95
- const onMenuToggle = (isOpen: boolean) => {
96
- if (isOpen) {
97
- onMenuOpen?.();
98
- setIsMenuOpen(true);
99
- } else {
100
- onMenuClose?.();
101
- setIsMenuOpen(false);
102
- }
103
- };
104
-
105
- return (
106
- <ClickAway onChange={onMenuToggle} clickAwayRef={clickAwayRef}>
107
- {({isOpen, onOpen, clickAway, boundaryRef, triggerRef}) => (
108
- <div
109
- data-testid="ButtonDropdown"
110
- className={classify(
111
- css.buttonDropdownContainer,
112
- {
113
- [css.isFluid]: isFluid === true,
114
- },
115
- classNames?.dropdownContainer,
116
- )}
117
- ref={menuBtnRef}
118
- >
119
- <ConditionalWrapper
120
- condition={Boolean(tooltip)}
121
- wrapper={(children) => (
122
- <Tooltip
123
- {...tooltip}
124
- hidden={isMenuOpen ? true : tooltip?.hidden}
125
- >
126
- {children}
127
- </Tooltip>
128
- )}
129
- >
130
- <Button
131
- {...restButtonProps}
132
- iconRightName={
133
- children
134
- ? iconRightName || (isOpen ? 'caret-up' : 'caret-down')
135
- : iconRightName
136
- }
137
- iconRightType={iconRightType}
138
- disabled={disabled}
139
- size={size}
140
- ref={mergeRefs([refs.setReference, triggerRef])}
141
- onClick={(e) => {
142
- onClick?.(e);
143
- e.stopPropagation();
144
- onOpen();
145
- }}
146
- isFluid={isFluid}
147
- classNames={{
148
- wrapper: classNames?.buttonWrapper,
149
- icon: classNames?.buttonIcon,
150
- }}
151
- >
152
- {children}
153
- </Button>
154
- </ConditionalWrapper>
155
-
156
- {isOpen && menu && (
157
- <div
158
- ref={mergeRefs([refs.setFloating, boundaryRef])}
159
- style={{
160
- display: 'flex',
161
- position: strategy,
162
- top: y ?? spaceNone,
163
- left: x ?? spaceNone,
164
- ...(isFluid && {
165
- width: sizeFluid,
166
- }),
167
- }}
168
- >
169
- <Menu
170
- {...menu}
171
- onSelect={(option, e) => {
172
- onOptionSelect && onOptionSelect(option, e);
173
-
174
- if (
175
- // option.keepMenuOpenOnOptionSelect - to allow the menu persist its open stat upon option selection in normal variant
176
- !option.keepMenuOpenOnOptionSelect &&
177
- (!menu.optionsVariant || menu.optionsVariant === 'normal')
178
- ) {
179
- clickAway();
180
- }
181
- }}
182
- size={menu.size || size}
183
- onTabOut={clickAway}
184
- />
185
- </div>
186
- )}
187
- </div>
188
- )}
189
- </ClickAway>
190
- );
191
- },
192
- );
@@ -1,148 +0,0 @@
1
- import {$ReadOnly} from 'utility-types';
2
- import * as React from 'react';
3
- import type {MenuClassNames, MenuLabelTooltip} from '../../types/menu';
4
- import type {ClickAwayRefType} from '../../utils/click-away';
5
- import {
6
- getButtonLabelFromSelectedKeys,
7
- getSelectedKeysFromSelectedOption,
8
- } from '../../utils/menu';
9
- import type {ButtonProps} from '../Button';
10
- import type {MenuOption, MenuOptionsVariant, Virtualization} from '../Menu';
11
- import type {BaseTooltipProps} from '../Tooltip';
12
- import type {AnchorType} from './ButtonDropdown';
13
- import {ButtonDropdown} from './ButtonDropdown';
14
- type ClassNames = $ReadOnly<{
15
- buttonWrapper?: string;
16
- dropdownContainer?: string;
17
- buttonIcon?: string;
18
- }>;
19
- export type SimpleButtonDropdownRef = {
20
- selectedKeys?: Array<string>;
21
- };
22
- export type SimpleButtonDropdownProps = ButtonProps & {
23
- classNames?: ClassNames;
24
- anchorPosition?: AnchorType;
25
- tooltip?: BaseTooltipProps;
26
- // Menu props
27
- options?: Array<MenuOption>;
28
- optionsVariant?: MenuOptionsVariant;
29
- allowSearch?: boolean;
30
- selectedKeys?: Array<string>;
31
- menuVirtualization?: Virtualization;
32
- header?: React.ReactNode;
33
- footer?: React.ReactNode;
34
- menuClassNames?: MenuClassNames;
35
- showLabelTooltip?: MenuLabelTooltip;
36
- allowWrap?: boolean;
37
- // events
38
- onOptionSelect?: (
39
- option: MenuOption,
40
- arg1: React.SyntheticEvent<HTMLElement> | null | undefined,
41
- ) => unknown;
42
- onMenuOpen?: () => unknown;
43
- onMenuClose?: () => unknown;
44
- // Resolvers
45
- resolveLabel?: (option: MenuOption) => string | React.ReactNode;
46
- resolveSecondaryLabel?: (option: MenuOption) => string | React.ReactNode;
47
- clickAwayRef?: ClickAwayRefType;
48
- };
49
-
50
- const SimpleButtonDropdownBase = (props: SimpleButtonDropdownProps, ref) => {
51
- const {
52
- size = 'medium',
53
- classNames,
54
- anchorPosition,
55
- options,
56
- optionsVariant,
57
- allowSearch,
58
- selectedKeys,
59
- onOptionSelect,
60
- onMenuOpen,
61
- onMenuClose,
62
- resolveLabel,
63
- resolveSecondaryLabel,
64
- children,
65
- isFluid,
66
- menuVirtualization,
67
- header,
68
- footer,
69
- menuClassNames,
70
- showLabelTooltip,
71
- allowWrap = false,
72
- clickAwayRef,
73
- ...buttonProps
74
- } = props;
75
- const [btnText, setBtnText] = React.useState('');
76
- const [buttonDropdownSelectedKeys, setButtonDropdownSelectedKeys] =
77
- React.useState(selectedKeys);
78
- React.useEffect(() => {
79
- const newBtnText = getButtonLabelFromSelectedKeys(selectedKeys, children);
80
- setButtonDropdownSelectedKeys(selectedKeys);
81
- setBtnText(newBtnText);
82
- }, [selectedKeys]);
83
-
84
- const handleOptionChange = (selectedOption: MenuOption, e) => {
85
- e?.stopPropagation();
86
- let newSelectedKeys = [];
87
-
88
- if (optionsVariant === 'checkbox') {
89
- newSelectedKeys = getSelectedKeysFromSelectedOption(
90
- selectedOption,
91
- buttonDropdownSelectedKeys,
92
- );
93
- } else {
94
- newSelectedKeys = [selectedOption.key];
95
- }
96
-
97
- const newBtnText = getButtonLabelFromSelectedKeys(
98
- newSelectedKeys,
99
- children,
100
- );
101
- setButtonDropdownSelectedKeys(newSelectedKeys);
102
- setBtnText(newBtnText);
103
- setTimeout(() => {
104
- onOptionSelect?.(selectedOption, e);
105
- });
106
- };
107
-
108
- React.useImperativeHandle(ref, () => ({
109
- selectedKeys: buttonDropdownSelectedKeys,
110
- }));
111
- return (
112
- <ButtonDropdown
113
- {...buttonProps}
114
- anchorPosition={anchorPosition}
115
- classNames={classNames}
116
- size={size}
117
- onOptionSelect={handleOptionChange}
118
- onMenuOpen={onMenuOpen}
119
- onMenuClose={onMenuClose}
120
- clickAwayRef={clickAwayRef}
121
- menu={{
122
- isFluid,
123
- options,
124
- selectedKeys: buttonDropdownSelectedKeys,
125
- optionsVariant,
126
- allowSearch,
127
- resolveLabel,
128
- resolveSecondaryLabel,
129
- size,
130
- virtualization: menuVirtualization,
131
- header,
132
- footer,
133
- classNames: menuClassNames,
134
- showLabelTooltip,
135
- allowWrap,
136
- }}
137
- >
138
- {optionsVariant === 'checkbox' ? btnText : children}
139
- </ButtonDropdown>
140
- );
141
- };
142
-
143
- export const SimpleButtonDropdown: React.AbstractComponent<
144
- SimpleButtonDropdownProps,
145
- SimpleButtonDropdownRef
146
- > = React.forwardRef<SimpleButtonDropdownProps, SimpleButtonDropdownRef>(
147
- SimpleButtonDropdownBase,
148
- );
@@ -1,2 +0,0 @@
1
- export * from './ButtonDropdown';
2
- export * from './SimpleButtonDropdown';