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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (498) hide show
  1. package/.all-contributorsrc +9 -0
  2. package/CHANGELOG.md +12 -0
  3. package/README.md +1 -0
  4. package/gulpfile.js +5 -2
  5. package/lib/components/Avatar/Avatar.js +14 -19
  6. package/lib/components/AvatarGroup/AvatarGroup.js +4 -7
  7. package/lib/components/Badge/Badge.js +6 -11
  8. package/lib/components/BadgedIcon/BadgedIcon.js +2 -4
  9. package/lib/components/Banner/Banner.js +5 -7
  10. package/lib/components/Breadcrumbs/BreadcrumbLink/BreadcrumbLink.js +4 -6
  11. package/lib/components/Breadcrumbs/Breadcrumbs.js +4 -7
  12. package/lib/components/Button/Button.js +8 -14
  13. package/lib/components/ButtonDropdown/ButtonDropdown.js +7 -11
  14. package/lib/components/ButtonDropdown/SimpleButtonDropdown.js +3 -5
  15. package/lib/components/ButtonTabs/ButtonTab/ButtonTab.js +5 -7
  16. package/lib/components/ButtonTabs/ButtonTabDropdown.js +3 -4
  17. package/lib/components/ButtonTabs/ButtonTabs.js +6 -9
  18. package/lib/components/Card/Card.js +7 -11
  19. package/lib/components/Charts/ChartTooltip/index.js +3 -5
  20. package/lib/components/Charts/ChartWrapper/ChartWrapper.js +5 -13
  21. package/lib/components/Charts/ColumnChart/ColumnChart.js +2 -6
  22. package/lib/components/Charts/DonutChart/DonutChart.js +2 -6
  23. package/lib/components/Charts/FunnelChart/FunnelChart.js +2 -7
  24. package/lib/components/Charts/LineChart/LineChart.js +2 -6
  25. package/lib/components/Charts/SpiderChart/SpiderChart.js +2 -7
  26. package/lib/components/ChatBubble/ChatBubble.js +5 -8
  27. package/lib/components/Checkbox/Checkbox.js +8 -7
  28. package/lib/components/Checkbox/CheckboxGroup.js +5 -8
  29. package/lib/components/Chip/Chip.js +5 -8
  30. package/lib/components/CircularLoader/CircularLoader.js +4 -7
  31. package/lib/components/CollapsibleCard/CollapsibleCard.js +5 -9
  32. package/lib/components/Combobox/Combobox.js +4 -7
  33. package/lib/components/Combobox/helper.js +3 -7
  34. package/lib/components/ConditionalWrapper/ConditionalWrapper.js +1 -3
  35. package/lib/components/DateRangePicker/Calendar.js +2 -5
  36. package/lib/components/DateRangePicker/DateRangePicker.js +4 -8
  37. package/lib/components/DateRangePicker/DateRangeWrapper.js +5 -7
  38. package/lib/components/DateRangePicker/Day.js +2 -6
  39. package/lib/components/Dialog/Dialog.js +4 -6
  40. package/lib/components/Disclaimer/Disclaimer.js +5 -7
  41. package/lib/components/Dropdown/Dropdown.js +5 -7
  42. package/lib/components/Dropdown/SimpleDropdown.js +3 -5
  43. package/lib/components/EmptyState/EmptyImages/CalendarEmptyImage.js +1 -3
  44. package/lib/components/EmptyState/EmptyImages/ChartEmptyImage.js +1 -3
  45. package/lib/components/EmptyState/EmptyImages/DataEmptyImage.js +1 -3
  46. package/lib/components/EmptyState/EmptyImages/FileEmptyImage.js +1 -3
  47. package/lib/components/EmptyState/EmptyImages/MessageEmptyImage.js +1 -3
  48. package/lib/components/EmptyState/EmptyImages/UploadEmptyImage.js +1 -3
  49. package/lib/components/EmptyState/EmptyState.js +5 -7
  50. package/lib/components/ErrorMessage/ErrorImages/ForbiddenImage.js +1 -3
  51. package/lib/components/ErrorMessage/ErrorImages/NotFoundImage.js +1 -3
  52. package/lib/components/ErrorMessage/ErrorImages/ServerErrorImage.js +1 -3
  53. package/lib/components/ErrorMessage/ErrorImages/UnauthorizedImage.js +1 -3
  54. package/lib/components/ErrorMessage/ErrorMessage.js +5 -7
  55. package/lib/components/FileUpload/FileBlock/FileBlock.js +3 -6
  56. package/lib/components/FileUpload/FileUpload.js +12 -6
  57. package/lib/components/FilterButtonOverlay/FilterButtonOverlay.js +5 -7
  58. package/lib/components/FocusManager/FocusManager.js +3 -4
  59. package/lib/components/FocusManagerWithArrowKeyNavigation/FocusManagerWithArrowKeyNavigation.js +4 -6
  60. package/lib/components/FormTitleWrapper/FormTitleWrapper.js +4 -7
  61. package/lib/components/Grid/Grid.js +3 -5
  62. package/lib/components/Icon/ClickableIcon.js +6 -9
  63. package/lib/components/Icon/Icon.docs.js +2 -4
  64. package/lib/components/Icon/Icon.js +6 -11
  65. package/lib/components/Icon/SemanticIcon.js +3 -4
  66. package/lib/components/InContextAlert/InContextAlert.js +4 -7
  67. package/lib/components/InfinitePagination/InfinitePagination.js +4 -8
  68. package/lib/components/InlineDropdown/InlineDropdown.js +5 -7
  69. package/lib/components/InlineDropdown/SimpleInlineDropdown.js +3 -5
  70. package/lib/components/Input/Input.js +6 -10
  71. package/lib/components/KPIBox/KPIBox.js +5 -7
  72. package/lib/components/LinearLoader/LinearLoader.js +4 -7
  73. package/lib/components/Link/Link.js +7 -12
  74. package/lib/components/Menu/Menu.js +7 -7
  75. package/lib/components/Menu/MenuOptionButton.js +3 -4
  76. package/lib/components/Modal/Modal.js +4 -5
  77. package/lib/components/Notification/Notification.js +5 -9
  78. package/lib/components/OptionButton/OptionButton.js +5 -7
  79. package/lib/components/OptionButton/SimpleOptionButton.js +3 -5
  80. package/lib/components/PageTitle/PageTitle.js +6 -9
  81. package/lib/components/Pagination/Pagination.js +5 -7
  82. package/lib/components/Pagination/PaginationItem.js +2 -4
  83. package/lib/components/Panel/Panel.js +4 -6
  84. package/lib/components/ProgressDonut/ProgressDonut.js +4 -7
  85. package/lib/components/PromptChip/PromptChip.js +5 -9
  86. package/lib/components/PromptInput/PromptInput.js +4 -7
  87. package/lib/components/RadioButton/RadioButton.js +12 -7
  88. package/lib/components/RadioButton/RadioGroup.js +11 -8
  89. package/lib/components/RadioTile/RadioTile.js +5 -7
  90. package/lib/components/RangeSlider/RangeSlider.js +5 -8
  91. package/lib/components/Rating/Rating.js +5 -9
  92. package/lib/components/ScoreBar/ScoreBar.js +6 -11
  93. package/lib/components/SearchInput/SearchInput.js +5 -7
  94. package/lib/components/Separator/Separator.js +5 -9
  95. package/lib/components/Shimmer/Shimmer.js +5 -10
  96. package/lib/components/SideMenuLink/SideMenuLink.js +5 -8
  97. package/lib/components/StatusIndicator/StatusIndicator.js +6 -9
  98. package/lib/components/Stepper/Step/Step.js +4 -7
  99. package/lib/components/Stepper/Step/StepContent.js +2 -4
  100. package/lib/components/Stepper/Step/StepLabel.js +2 -4
  101. package/lib/components/Stepper/Stepper.js +4 -7
  102. package/lib/components/StickyBar/StickyBar.js +5 -7
  103. package/lib/components/SubMenu/SubMenu.js +4 -7
  104. package/lib/components/SubMenu/SubMenuGroup.js +3 -5
  105. package/lib/components/SubMenu/SubMenuItem.js +7 -10
  106. package/lib/components/SubMenu/SubMenuLink.js +4 -7
  107. package/lib/components/Table/Cell.js +8 -12
  108. package/lib/components/Table/DefaultRow.js +9 -6
  109. package/lib/components/Table/DefaultTableHeader.js +4 -8
  110. package/lib/components/Table/StaticTable.js +8 -12
  111. package/lib/components/Table/Table.docs.js +2 -3
  112. package/lib/components/Table/Table.js +4 -3
  113. package/lib/components/Table/TableActionBar.js +3 -4
  114. package/lib/components/Table/TableBottomBar.js +3 -4
  115. package/lib/components/Table/TableTopBar.js +3 -4
  116. package/lib/components/Table/dummyTableData.js +2 -4
  117. package/lib/components/Table/hooks.js +2 -4
  118. package/lib/components/Tabs/Tab/Tab.js +6 -10
  119. package/lib/components/Tabs/TabList/TabDropdown.js +3 -4
  120. package/lib/components/Tabs/TabList/TabList.js +5 -9
  121. package/lib/components/Text/Text.js +48 -75
  122. package/lib/components/TextTile/TextTile.js +4 -7
  123. package/lib/components/Textarea/Textarea.js +4 -6
  124. package/lib/components/Timeline/Timeline.js +4 -8
  125. package/lib/components/Timeline/TimelineItem/TimelineItem.js +3 -6
  126. package/lib/components/Toast/Toast.js +8 -12
  127. package/lib/components/Toast/ToastContainer.js +3 -6
  128. package/lib/components/Toast/ToastManager.js +5 -10
  129. package/lib/components/Toggle/Toggle.js +12 -7
  130. package/lib/components/TokenListInput/TokenListInput.js +7 -7
  131. package/lib/components/TokenListInput/TokenValueChips.js +1 -3
  132. package/lib/components/Tooltip/Tooltip.js +7 -8
  133. package/lib/components/Truncate/Truncate.js +6 -10
  134. package/lib/components/TruncatedTextWithTooltip/TruncatedTextWithTooltip.js +3 -4
  135. package/lib/components/Typeahead/SimpleTypeahead.js +3 -5
  136. package/lib/components/Typeahead/Typeahead.js +5 -7
  137. package/lib/components/WeekdayPicker/WeekdayPicker.js +5 -9
  138. package/lib/hooks/useArbitraryOptionAddition/useArbitraryOptionAddition.js +0 -1
  139. package/lib/hooks/useCopyToClipboard/useCopyToClipboard.js +0 -2
  140. package/lib/hooks/useDebounce/useDebounce.js +1 -3
  141. package/lib/hooks/useFileUpload/useFileUpload.js +2 -4
  142. package/lib/hooks/useFilteredOptions/useFilteredOptions.js +1 -4
  143. package/lib/hooks/useInfiniteScroll/useInfiniteScroll.js +1 -3
  144. package/lib/hooks/useInputState/useInputState.js +1 -3
  145. package/lib/hooks/useLockedBody/useLockedBody.js +0 -1
  146. package/lib/hooks/useModal/useModal.js +0 -1
  147. package/lib/hooks/useMountTransition/index.js +1 -3
  148. package/lib/hooks/usePagination/usePagination.js +0 -1
  149. package/lib/hooks/useResizeObserver/useResizeObserver.js +1 -3
  150. package/lib/hooks/useToastPortal/useToastPortal.js +0 -1
  151. package/lib/hooks/useToggle/useToggle.js +0 -1
  152. package/lib/hooks/useWindowSize/useWindowSize.js +0 -1
  153. package/lib/styles/index.js +267 -535
  154. package/lib/styles/variables/_border.js +12 -25
  155. package/lib/styles/variables/_color.js +104 -209
  156. package/lib/styles/variables/_elevation.js +7 -15
  157. package/lib/styles/variables/_font.js +30 -61
  158. package/lib/styles/variables/_motion.js +6 -13
  159. package/lib/styles/variables/_opacity.js +15 -31
  160. package/lib/styles/variables/_shadow.js +24 -49
  161. package/lib/styles/variables/_size.js +57 -115
  162. package/lib/styles/variables/_space.js +12 -25
  163. package/lib/types/charts.js +1 -0
  164. package/lib/types/common.js +2 -4
  165. package/lib/types/menu.js +1 -0
  166. package/lib/types/toast.js +4 -8
  167. package/lib/types/typography.js +2 -4
  168. package/lib/utils/array/are-arrays-equal.js +0 -1
  169. package/lib/utils/charts/charts.js +4 -8
  170. package/lib/utils/charts/columnChart.js +1 -4
  171. package/lib/utils/charts/donutChart.js +2 -4
  172. package/lib/utils/charts/funnelChart.js +0 -4
  173. package/lib/utils/charts/helpers.js +9 -17
  174. package/lib/utils/charts/lineChart.js +0 -2
  175. package/lib/utils/charts/spiderChart.js +2 -3
  176. package/lib/utils/charts/typography.js +7 -14
  177. package/lib/utils/classify/index.js +2 -4
  178. package/lib/utils/click-away/click-away.js +50 -56
  179. package/lib/utils/date-range-picker/date-range-picker.js +6 -14
  180. package/lib/utils/date-range-picker/timezones.js +2 -5
  181. package/lib/utils/dom/dom.js +0 -1
  182. package/lib/utils/helpers/helpers.js +0 -1
  183. package/lib/utils/makeClassNameComponent/makeClassNameComponent.js +3 -4
  184. package/lib/utils/menu/menu.js +1 -3
  185. package/lib/utils/rating/rating.js +2 -5
  186. package/lib/utils/score-bar/score-bar.js +2 -4
  187. package/lib/utils/string/string.js +0 -1
  188. package/lib/utils/token-list-input/token-list-input.js +1 -3
  189. package/lib/utils/tokens/tokens.js +1 -3
  190. package/package.json +7 -7
  191. package/lib/components/Avatar/Avatar.d.ts +0 -263
  192. package/lib/components/Avatar/index.d.ts +0 -1
  193. package/lib/components/AvatarGroup/AvatarGroup.d.ts +0 -161
  194. package/lib/components/AvatarGroup/index.d.ts +0 -1
  195. package/lib/components/Badge/Badge.d.ts +0 -138
  196. package/lib/components/Badge/index.d.ts +0 -1
  197. package/lib/components/BadgedIcon/BadgedIcon.d.ts +0 -70
  198. package/lib/components/BadgedIcon/index.d.ts +0 -1
  199. package/lib/components/Banner/Banner.d.ts +0 -52
  200. package/lib/components/Banner/index.d.ts +0 -1
  201. package/lib/components/Breadcrumbs/BreadcrumbLink/BreadcrumbLink.d.ts +0 -50
  202. package/lib/components/Breadcrumbs/BreadcrumbLink/index.d.ts +0 -1
  203. package/lib/components/Breadcrumbs/Breadcrumbs.d.ts +0 -64
  204. package/lib/components/Breadcrumbs/index.d.ts +0 -2
  205. package/lib/components/Button/Button.d.ts +0 -288
  206. package/lib/components/Button/index.d.ts +0 -14
  207. package/lib/components/ButtonDropdown/ButtonDropdown.d.ts +0 -192
  208. package/lib/components/ButtonDropdown/SimpleButtonDropdown.d.ts +0 -148
  209. package/lib/components/ButtonDropdown/index.d.ts +0 -2
  210. package/lib/components/ButtonTabs/ButtonTab/ButtonTab.d.ts +0 -82
  211. package/lib/components/ButtonTabs/ButtonTab/index.d.ts +0 -1
  212. package/lib/components/ButtonTabs/ButtonTabDropdown.d.ts +0 -118
  213. package/lib/components/ButtonTabs/ButtonTabs.d.ts +0 -113
  214. package/lib/components/ButtonTabs/index.d.ts +0 -2
  215. package/lib/components/Card/Card.d.ts +0 -163
  216. package/lib/components/Card/index.d.ts +0 -1
  217. package/lib/components/Charts/ChartTooltip/index.d.ts +0 -10
  218. package/lib/components/Charts/ChartWrapper/ChartWrapper.d.ts +0 -184
  219. package/lib/components/Charts/ChartWrapper/index.d.ts +0 -1
  220. package/lib/components/Charts/ColumnChart/ColumnChart.d.ts +0 -111
  221. package/lib/components/Charts/ColumnChart/index.d.ts +0 -1
  222. package/lib/components/Charts/DonutChart/DonutChart.d.ts +0 -142
  223. package/lib/components/Charts/DonutChart/index.d.ts +0 -1
  224. package/lib/components/Charts/FunnelChart/FunnelChart.d.ts +0 -99
  225. package/lib/components/Charts/FunnelChart/index.d.ts +0 -1
  226. package/lib/components/Charts/LineChart/LineChart.d.ts +0 -97
  227. package/lib/components/Charts/LineChart/index.d.ts +0 -1
  228. package/lib/components/Charts/SpiderChart/SpiderChart.d.ts +0 -95
  229. package/lib/components/Charts/SpiderChart/index.d.ts +0 -1
  230. package/lib/components/Charts/index.d.ts +0 -7
  231. package/lib/components/ChatBubble/ChatBubble.d.ts +0 -203
  232. package/lib/components/ChatBubble/index.d.ts +0 -1
  233. package/lib/components/Checkbox/Checkbox.d.ts +0 -165
  234. package/lib/components/Checkbox/CheckboxGroup.d.ts +0 -113
  235. package/lib/components/Checkbox/index.d.ts +0 -2
  236. package/lib/components/Chip/Chip.d.ts +0 -202
  237. package/lib/components/Chip/index.d.ts +0 -2
  238. package/lib/components/CircularLoader/CircularLoader.d.ts +0 -56
  239. package/lib/components/CircularLoader/index.d.ts +0 -1
  240. package/lib/components/CollapsibleCard/CollapsibleCard.d.ts +0 -134
  241. package/lib/components/CollapsibleCard/index.d.ts +0 -1
  242. package/lib/components/Combobox/Combobox.d.ts +0 -292
  243. package/lib/components/Combobox/helper.d.ts +0 -205
  244. package/lib/components/Combobox/index.d.ts +0 -1
  245. package/lib/components/ConditionalWrapper/ConditionalWrapper.d.ts +0 -12
  246. package/lib/components/ConditionalWrapper/index.d.ts +0 -1
  247. package/lib/components/DateRangePicker/Calendar.d.ts +0 -97
  248. package/lib/components/DateRangePicker/DateRangePicker.d.ts +0 -196
  249. package/lib/components/DateRangePicker/DateRangeWrapper.d.ts +0 -347
  250. package/lib/components/DateRangePicker/Day.d.ts +0 -70
  251. package/lib/components/DateRangePicker/index.d.ts +0 -1
  252. package/lib/components/Dialog/Dialog.d.ts +0 -208
  253. package/lib/components/Dialog/index.d.ts +0 -1
  254. package/lib/components/Disclaimer/Disclaimer.d.ts +0 -32
  255. package/lib/components/Disclaimer/index.d.ts +0 -1
  256. package/lib/components/Dropdown/Dropdown.d.ts +0 -145
  257. package/lib/components/Dropdown/SimpleDropdown.d.ts +0 -142
  258. package/lib/components/Dropdown/index.d.ts +0 -2
  259. package/lib/components/EmptyState/EmptyImages/CalendarEmptyImage.d.ts +0 -108
  260. package/lib/components/EmptyState/EmptyImages/ChartEmptyImage.d.ts +0 -194
  261. package/lib/components/EmptyState/EmptyImages/DataEmptyImage.d.ts +0 -116
  262. package/lib/components/EmptyState/EmptyImages/FileEmptyImage.d.ts +0 -133
  263. package/lib/components/EmptyState/EmptyImages/MessageEmptyImage.d.ts +0 -64
  264. package/lib/components/EmptyState/EmptyImages/UploadEmptyImage.d.ts +0 -67
  265. package/lib/components/EmptyState/EmptyImages/index.d.ts +0 -6
  266. package/lib/components/EmptyState/EmptyState.d.ts +0 -82
  267. package/lib/components/EmptyState/index.d.ts +0 -1
  268. package/lib/components/ErrorMessage/ErrorImages/ForbiddenImage.d.ts +0 -85
  269. package/lib/components/ErrorMessage/ErrorImages/NotFoundImage.d.ts +0 -117
  270. package/lib/components/ErrorMessage/ErrorImages/ServerErrorImage.d.ts +0 -237
  271. package/lib/components/ErrorMessage/ErrorImages/UnauthorizedImage.d.ts +0 -73
  272. package/lib/components/ErrorMessage/ErrorImages/index.d.ts +0 -4
  273. package/lib/components/ErrorMessage/ErrorMessage.d.ts +0 -86
  274. package/lib/components/ErrorMessage/index.d.ts +0 -1
  275. package/lib/components/FileUpload/FileBlock/FileBlock.d.ts +0 -137
  276. package/lib/components/FileUpload/FileBlock/index.d.ts +0 -1
  277. package/lib/components/FileUpload/FileUpload.d.ts +0 -190
  278. package/lib/components/FileUpload/index.d.ts +0 -2
  279. package/lib/components/FilterButtonOverlay/FilterButtonOverlay.d.ts +0 -130
  280. package/lib/components/FilterButtonOverlay/index.d.ts +0 -1
  281. package/lib/components/FocusManager/FocusManager.d.ts +0 -52
  282. package/lib/components/FocusManager/index.d.ts +0 -1
  283. package/lib/components/FocusManagerWithArrowKeyNavigation/FocusManagerWithArrowKeyNavigation.d.ts +0 -137
  284. package/lib/components/FocusManagerWithArrowKeyNavigation/index.d.ts +0 -1
  285. package/lib/components/FormTitleWrapper/FormTitleWrapper.d.ts +0 -62
  286. package/lib/components/FormTitleWrapper/index.d.ts +0 -1
  287. package/lib/components/Grid/Grid.d.ts +0 -104
  288. package/lib/components/Grid/index.d.ts +0 -1
  289. package/lib/components/Icon/ClickableIcon.d.ts +0 -106
  290. package/lib/components/Icon/Icon.d.ts +0 -71
  291. package/lib/components/Icon/Icon.docs.d.ts +0 -152
  292. package/lib/components/Icon/SemanticIcon.d.ts +0 -42
  293. package/lib/components/Icon/index.d.ts +0 -3
  294. package/lib/components/InContextAlert/InContextAlert.d.ts +0 -210
  295. package/lib/components/InContextAlert/index.d.ts +0 -1
  296. package/lib/components/InfinitePagination/InfinitePagination.d.ts +0 -112
  297. package/lib/components/InfinitePagination/index.d.ts +0 -1
  298. package/lib/components/InlineDropdown/InlineDropdown.d.ts +0 -146
  299. package/lib/components/InlineDropdown/SimpleInlineDropdown.d.ts +0 -145
  300. package/lib/components/InlineDropdown/index.d.ts +0 -2
  301. package/lib/components/Input/Input.d.ts +0 -327
  302. package/lib/components/Input/index.d.ts +0 -1
  303. package/lib/components/KPIBox/KPIBox.d.ts +0 -89
  304. package/lib/components/KPIBox/index.d.ts +0 -1
  305. package/lib/components/LinearLoader/LinearLoader.d.ts +0 -44
  306. package/lib/components/LinearLoader/index.d.ts +0 -1
  307. package/lib/components/Link/Link.d.ts +0 -225
  308. package/lib/components/Link/index.d.ts +0 -1
  309. package/lib/components/Menu/Menu.d.ts +0 -379
  310. package/lib/components/Menu/MenuOptionButton.d.ts +0 -199
  311. package/lib/components/Menu/index.d.ts +0 -2
  312. package/lib/components/Modal/Modal.d.ts +0 -362
  313. package/lib/components/Modal/index.d.ts +0 -14
  314. package/lib/components/Notification/Notification.d.ts +0 -147
  315. package/lib/components/Notification/index.d.ts +0 -1
  316. package/lib/components/OptionButton/OptionButton.d.ts +0 -150
  317. package/lib/components/OptionButton/SimpleOptionButton.d.ts +0 -150
  318. package/lib/components/OptionButton/index.d.ts +0 -2
  319. package/lib/components/PageTitle/PageTitle.d.ts +0 -256
  320. package/lib/components/PageTitle/index.d.ts +0 -1
  321. package/lib/components/Pagination/Pagination.d.ts +0 -144
  322. package/lib/components/Pagination/PaginationItem.d.ts +0 -136
  323. package/lib/components/Pagination/index.d.ts +0 -1
  324. package/lib/components/Panel/Panel.d.ts +0 -168
  325. package/lib/components/Panel/index.d.ts +0 -9
  326. package/lib/components/ProgressDonut/ProgressDonut.d.ts +0 -102
  327. package/lib/components/ProgressDonut/index.d.ts +0 -1
  328. package/lib/components/PromptChip/PromptChip.d.ts +0 -167
  329. package/lib/components/PromptChip/index.d.ts +0 -1
  330. package/lib/components/PromptInput/PromptInput.d.ts +0 -189
  331. package/lib/components/PromptInput/index.d.ts +0 -1
  332. package/lib/components/RadioButton/RadioButton.d.ts +0 -132
  333. package/lib/components/RadioButton/RadioGroup.d.ts +0 -88
  334. package/lib/components/RadioButton/index.d.ts +0 -2
  335. package/lib/components/RadioTile/RadioTile.d.ts +0 -109
  336. package/lib/components/RadioTile/index.d.ts +0 -1
  337. package/lib/components/RangeSlider/RangeSlider.d.ts +0 -207
  338. package/lib/components/RangeSlider/index.d.ts +0 -1
  339. package/lib/components/Rating/Rating.d.ts +0 -131
  340. package/lib/components/Rating/index.d.ts +0 -1
  341. package/lib/components/ScoreBar/ScoreBar.d.ts +0 -122
  342. package/lib/components/ScoreBar/index.d.ts +0 -1
  343. package/lib/components/SearchInput/SearchInput.d.ts +0 -79
  344. package/lib/components/SearchInput/index.d.ts +0 -2
  345. package/lib/components/Separator/Separator.d.ts +0 -51
  346. package/lib/components/Separator/index.d.ts +0 -1
  347. package/lib/components/Shimmer/Shimmer.d.ts +0 -131
  348. package/lib/components/Shimmer/index.d.ts +0 -1
  349. package/lib/components/SideMenuLink/SideMenuLink.d.ts +0 -336
  350. package/lib/components/SideMenuLink/index.d.ts +0 -1
  351. package/lib/components/StatusIndicator/StatusIndicator.d.ts +0 -60
  352. package/lib/components/StatusIndicator/index.d.ts +0 -1
  353. package/lib/components/Stepper/Step/Step.d.ts +0 -119
  354. package/lib/components/Stepper/Step/StepContent.d.ts +0 -35
  355. package/lib/components/Stepper/Step/StepLabel.d.ts +0 -35
  356. package/lib/components/Stepper/Step/index.d.ts +0 -3
  357. package/lib/components/Stepper/Stepper.d.ts +0 -60
  358. package/lib/components/Stepper/index.d.ts +0 -2
  359. package/lib/components/StickyBar/StickyBar.d.ts +0 -55
  360. package/lib/components/StickyBar/index.d.ts +0 -1
  361. package/lib/components/SubMenu/SubMenu.d.ts +0 -89
  362. package/lib/components/SubMenu/SubMenuGroup.d.ts +0 -156
  363. package/lib/components/SubMenu/SubMenuItem.d.ts +0 -161
  364. package/lib/components/SubMenu/SubMenuLink.d.ts +0 -81
  365. package/lib/components/SubMenu/index.d.ts +0 -4
  366. package/lib/components/Table/Cell.d.ts +0 -107
  367. package/lib/components/Table/DefaultRow.d.ts +0 -145
  368. package/lib/components/Table/DefaultTableHeader.d.ts +0 -237
  369. package/lib/components/Table/StaticTable.d.ts +0 -205
  370. package/lib/components/Table/Table.d.ts +0 -114
  371. package/lib/components/Table/Table.docs.d.ts +0 -544
  372. package/lib/components/Table/TableActionBar.d.ts +0 -48
  373. package/lib/components/Table/TableBottomBar.d.ts +0 -20
  374. package/lib/components/Table/TableTopBar.d.ts +0 -20
  375. package/lib/components/Table/dummyTableData.d.ts +0 -2189
  376. package/lib/components/Table/hooks.d.ts +0 -98
  377. package/lib/components/Table/index.d.ts +0 -8
  378. package/lib/components/Tabs/Tab/Tab.d.ts +0 -146
  379. package/lib/components/Tabs/Tab/index.d.ts +0 -1
  380. package/lib/components/Tabs/TabList/TabDropdown.d.ts +0 -100
  381. package/lib/components/Tabs/TabList/TabList.d.ts +0 -157
  382. package/lib/components/Tabs/TabList/index.d.ts +0 -1
  383. package/lib/components/Tabs/index.d.ts +0 -2
  384. package/lib/components/Text/Text.d.ts +0 -1021
  385. package/lib/components/Text/index.d.ts +0 -30
  386. package/lib/components/TextTile/TextTile.d.ts +0 -40
  387. package/lib/components/TextTile/index.d.ts +0 -1
  388. package/lib/components/Textarea/Textarea.d.ts +0 -132
  389. package/lib/components/Textarea/index.d.ts +0 -2
  390. package/lib/components/Timeline/Timeline.d.ts +0 -40
  391. package/lib/components/Timeline/TimelineItem/TimelineItem.d.ts +0 -121
  392. package/lib/components/Timeline/TimelineItem/index.d.ts +0 -1
  393. package/lib/components/Timeline/index.d.ts +0 -2
  394. package/lib/components/Toast/Toast.d.ts +0 -248
  395. package/lib/components/Toast/ToastContainer.d.ts +0 -140
  396. package/lib/components/Toast/ToastManager.d.ts +0 -58
  397. package/lib/components/Toast/index.d.ts +0 -10
  398. package/lib/components/Toggle/Toggle.d.ts +0 -111
  399. package/lib/components/Toggle/index.d.ts +0 -1
  400. package/lib/components/TokenListInput/TokenListInput.d.ts +0 -351
  401. package/lib/components/TokenListInput/TokenValueChips.d.ts +0 -60
  402. package/lib/components/TokenListInput/index.d.ts +0 -1
  403. package/lib/components/Tooltip/Tooltip.d.ts +0 -186
  404. package/lib/components/Tooltip/index.d.ts +0 -1
  405. package/lib/components/Truncate/Truncate.d.ts +0 -87
  406. package/lib/components/Truncate/index.d.ts +0 -2
  407. package/lib/components/TruncatedTextWithTooltip/TruncatedTextWithTooltip.d.ts +0 -95
  408. package/lib/components/TruncatedTextWithTooltip/index.d.ts +0 -1
  409. package/lib/components/Typeahead/SimpleTypeahead.d.ts +0 -141
  410. package/lib/components/Typeahead/Typeahead.d.ts +0 -217
  411. package/lib/components/Typeahead/index.d.ts +0 -2
  412. package/lib/components/WeekdayPicker/WeekdayPicker.d.ts +0 -242
  413. package/lib/components/WeekdayPicker/index.d.ts +0 -1
  414. package/lib/components/index.d.ts +0 -74
  415. package/lib/hooks/index.d.ts +0 -15
  416. package/lib/hooks/useArbitraryOptionAddition/index.d.ts +0 -1
  417. package/lib/hooks/useArbitraryOptionAddition/useArbitraryOptionAddition.d.ts +0 -124
  418. package/lib/hooks/useCopyToClipboard/index.d.ts +0 -1
  419. package/lib/hooks/useCopyToClipboard/useCopyToClipboard.d.ts +0 -27
  420. package/lib/hooks/useDebounce/index.d.ts +0 -1
  421. package/lib/hooks/useDebounce/useDebounce.d.ts +0 -13
  422. package/lib/hooks/useFileUpload/index.d.ts +0 -1
  423. package/lib/hooks/useFileUpload/useFileUpload.d.ts +0 -342
  424. package/lib/hooks/useFilteredOptions/index.d.ts +0 -1
  425. package/lib/hooks/useFilteredOptions/useFilteredOptions.d.ts +0 -87
  426. package/lib/hooks/useInfiniteScroll/index.d.ts +0 -1
  427. package/lib/hooks/useInfiniteScroll/useInfiniteScroll.d.ts +0 -77
  428. package/lib/hooks/useInputState/index.d.ts +0 -1
  429. package/lib/hooks/useInputState/useInputState.d.ts +0 -22
  430. package/lib/hooks/useLockedBody/index.d.ts +0 -1
  431. package/lib/hooks/useLockedBody/useLockedBody.d.ts +0 -46
  432. package/lib/hooks/useModal/index.d.ts +0 -1
  433. package/lib/hooks/useModal/useModal.d.ts +0 -32
  434. package/lib/hooks/useMountTransition/index.d.ts +0 -24
  435. package/lib/hooks/usePagination/index.d.ts +0 -1
  436. package/lib/hooks/usePagination/usePagination.d.ts +0 -140
  437. package/lib/hooks/useResizeObserver/index.d.ts +0 -1
  438. package/lib/hooks/useResizeObserver/useResizeObserver.d.ts +0 -22
  439. package/lib/hooks/useToastPortal/index.d.ts +0 -1
  440. package/lib/hooks/useToastPortal/useToastPortal.d.ts +0 -31
  441. package/lib/hooks/useToggle/index.d.ts +0 -1
  442. package/lib/hooks/useToggle/useToggle.d.ts +0 -11
  443. package/lib/hooks/useWindowSize/index.d.ts +0 -1
  444. package/lib/hooks/useWindowSize/useWindowSize.d.ts +0 -28
  445. package/lib/index.d.ts +0 -5
  446. package/lib/styles/index.d.ts +0 -267
  447. package/lib/styles/variables/_border.d.ts +0 -12
  448. package/lib/styles/variables/_color.d.ts +0 -104
  449. package/lib/styles/variables/_elevation.d.ts +0 -7
  450. package/lib/styles/variables/_font.d.ts +0 -30
  451. package/lib/styles/variables/_motion.d.ts +0 -6
  452. package/lib/styles/variables/_opacity.d.ts +0 -15
  453. package/lib/styles/variables/_shadow.d.ts +0 -24
  454. package/lib/styles/variables/_size.d.ts +0 -57
  455. package/lib/styles/variables/_space.d.ts +0 -12
  456. package/lib/types/charts.d.ts +0 -225
  457. package/lib/types/common.d.ts +0 -10
  458. package/lib/types/date-range-picker.d.ts +0 -17
  459. package/lib/types/index.d.ts +0 -6
  460. package/lib/types/menu.d.ts +0 -13
  461. package/lib/types/toast.d.ts +0 -32
  462. package/lib/types/typography.d.ts +0 -17
  463. package/lib/utils/array/are-arrays-equal.d.ts +0 -11
  464. package/lib/utils/array/index.d.ts +0 -1
  465. package/lib/utils/charts/charts.d.ts +0 -102
  466. package/lib/utils/charts/columnChart.d.ts +0 -51
  467. package/lib/utils/charts/donutChart.d.ts +0 -116
  468. package/lib/utils/charts/funnelChart.d.ts +0 -94
  469. package/lib/utils/charts/helpers.d.ts +0 -44
  470. package/lib/utils/charts/index.d.ts +0 -7
  471. package/lib/utils/charts/lineChart.d.ts +0 -44
  472. package/lib/utils/charts/spiderChart.d.ts +0 -46
  473. package/lib/utils/charts/typography.d.ts +0 -42
  474. package/lib/utils/classify/index.d.ts +0 -27
  475. package/lib/utils/click-away/click-away.d.ts +0 -194
  476. package/lib/utils/click-away/index.d.ts +0 -1
  477. package/lib/utils/date-range-picker/date-range-picker.d.ts +0 -411
  478. package/lib/utils/date-range-picker/index.d.ts +0 -2
  479. package/lib/utils/date-range-picker/timezones.d.ts +0 -262
  480. package/lib/utils/dom/dom.d.ts +0 -245
  481. package/lib/utils/dom/index.d.ts +0 -1
  482. package/lib/utils/helpers/helpers.d.ts +0 -48
  483. package/lib/utils/helpers/index.d.ts +0 -1
  484. package/lib/utils/index.d.ts +0 -14
  485. package/lib/utils/makeClassNameComponent/index.d.ts +0 -1
  486. package/lib/utils/makeClassNameComponent/makeClassNameComponent.d.ts +0 -73
  487. package/lib/utils/menu/index.d.ts +0 -1
  488. package/lib/utils/merge-refs/index.d.ts +0 -1
  489. package/lib/utils/merge-refs/merge-refs.d.ts +0 -15
  490. package/lib/utils/rating/index.d.ts +0 -1
  491. package/lib/utils/rating/rating.d.ts +0 -31
  492. package/lib/utils/score-bar/index.d.ts +0 -1
  493. package/lib/utils/score-bar/score-bar.d.ts +0 -54
  494. package/lib/utils/string/index.d.ts +0 -1
  495. package/lib/utils/string/string.d.ts +0 -30
  496. package/lib/utils/token-list-input/token-list-input.d.ts +0 -32
  497. package/lib/utils/tokens/index.d.ts +0 -1
  498. package/lib/utils/tokens/tokens.d.ts +0 -230
@@ -1,379 +0,0 @@
1
- import {$ReadOnly} from 'utility-types';
2
- import * as React from 'react';
3
- import {FixedSizeList} from 'react-window';
4
- import type {MenuClassNames, MenuLabelTooltip} from '../../types/menu';
5
- import {classify} from '../../utils/classify';
6
- import {
7
- getFilteredComposeOptionsFromSearchText,
8
- getFilteredComposeOptionsResultText,
9
- getFilteredGroupTitleOptionsFromSearchText,
10
- getFilteredGroupTitleOptionsResultText,
11
- getFilteredOptionsFromSearchText,
12
- getFilteredOptionsResultText,
13
- } from '../../utils/menu';
14
- import type {IconType} from '../Icon/Icon';
15
- import {SearchInput} from '../SearchInput';
16
- import {FormLabelSmall} from '../Text';
17
- import {MenuOptionButton} from './MenuOptionButton';
18
- import css from './Menu.module.css';
19
- type ClassNames = MenuClassNames;
20
- type OptionClassNames = $ReadOnly<{
21
- wrapper?: string;
22
- }>;
23
- export type Virtualization = $ReadOnly<{
24
- enable: boolean;
25
- itemHeight?: number;
26
- menuHeight?: number;
27
- }>;
28
- export type MenuOption = {
29
- key: string;
30
- classNames?: OptionClassNames;
31
- label?: string;
32
- secondaryLabel?: string;
33
- customComponent?: React.ReactNode;
34
- iconLeft?: string;
35
- iconLeftType?: IconType;
36
- iconRight?: string;
37
- iconRightType?: IconType;
38
- disabled?: boolean;
39
- optionSize?: MenuSizeTypes;
40
- optionVariant?: MenuOptionsVariant;
41
- keepMenuOpenOnOptionSelect?: boolean;
42
- indeterminate?: boolean;
43
- };
44
- // Render first available option set
45
- export type BaseMenuProps = {
46
- onSelect?: (
47
- option: MenuOption,
48
- arg1: React.SyntheticEvent<HTMLElement> | null | undefined,
49
- ) => unknown;
50
- selectedOption?: MenuOption | null | undefined;
51
- optionsVariant?: MenuOptionsVariant;
52
- selectedKeys?: Array<string>;
53
- classNames?: ClassNames;
54
- size?: MenuSizeTypes;
55
- width?: string;
56
- menuDisabled?: boolean;
57
- isFluid?: boolean;
58
- // onTabOut is a callback function that is called when
59
- // the user navigates outside of the menu using the tab key.
60
- onTabOut?: () => unknown;
61
- allowSearch?: boolean;
62
- // A function that resolves the label for a MenuOption.
63
- // It takes a MenuOption as a parameter and returns either a string or a React Node.
64
- resolveLabel?: (option: MenuOption) => string | React.ReactNode;
65
- // A function that resolves the secondaryLabel for a MenuOption.
66
- // It takes a MenuOption as a parameter and returns either a string or a React Node.
67
- resolveSecondaryLabel?: (option: MenuOption) => string | React.ReactNode;
68
- // When virtualization is enabled, the MenuOptionButtons will be rendered only when they are present in the Menu's viewport
69
- virtualization?: Virtualization;
70
- header?: React.ReactNode;
71
- footer?: React.ReactNode;
72
- showResultText?: boolean;
73
- staticLabels?: {
74
- RESULT?: string;
75
- RESULTS?: string;
76
- SEARCH_PLACEHOLDER?: string;
77
- };
78
- showLabelTooltip?: MenuLabelTooltip;
79
- allowWrap?: boolean;
80
- };
81
- export type MenuOptionTypes = {
82
- options?: Array<MenuOption>;
83
- composeOptions?: Array<Array<MenuOption>>;
84
- groupTitleOptions?: Array<MenuGroupTitleOption>;
85
- };
86
- export type MenuSizeTypes = 'medium' | 'small';
87
- export type MenuOptionsVariant = 'checkbox' | 'radio' | 'normal';
88
- export type MenuGroupTitleOption = {
89
- groupTitle?: React.ReactNode;
90
- options?: Array<MenuOption>;
91
- showLineDivider?: boolean;
92
- };
93
- export type MenuProps = BaseMenuProps & MenuOptionTypes;
94
- export type RenderOptionProps = MenuProps & {
95
- searchText?: string;
96
- };
97
- const menuSizeMedium = 276,
98
- menuSizeSmall = 228;
99
- const buttonSizeMedium = 40,
100
- buttonSizeSmall = 32;
101
-
102
- const RenderOption = ({
103
- options,
104
- composeOptions,
105
- groupTitleOptions,
106
- classNames,
107
- searchText = '',
108
- showResultText = true,
109
- staticLabels = {
110
- RESULT: 'result',
111
- RESULTS: 'results',
112
- SEARCH_PLACEHOLDER: 'Search...',
113
- },
114
- ...restProps
115
- }: RenderOptionProps): React.ReactNode => {
116
- const {
117
- allowSearch,
118
- size,
119
- virtualization = {
120
- enable: false,
121
- menuHeight: null,
122
- itemHeight: null,
123
- },
124
- } = restProps;
125
-
126
- if (options && Array.isArray(options) && options.length) {
127
- const optionsFiltered = !allowSearch
128
- ? options
129
- : getFilteredOptionsFromSearchText(options, searchText);
130
- const finalResultText = !allowSearch
131
- ? ''
132
- : getFilteredOptionsResultText(optionsFiltered, staticLabels);
133
- const {
134
- enable: isVirtualizationEnabled,
135
- menuHeight,
136
- itemHeight,
137
- } = virtualization;
138
- return (
139
- <>
140
- {allowSearch && showResultText && (
141
- <FormLabelSmall
142
- className={css.filterOptionsResultText}
143
- color="tertiary"
144
- >
145
- {finalResultText}
146
- </FormLabelSmall>
147
- )}
148
- {virtualization && isVirtualizationEnabled ? (
149
- <FixedSizeList
150
- height={
151
- menuHeight || (size === 'medium' ? menuSizeMedium : menuSizeSmall)
152
- }
153
- itemSize={
154
- itemHeight ||
155
- (size === 'medium' ? buttonSizeMedium : buttonSizeSmall)
156
- }
157
- itemCount={optionsFiltered.length}
158
- >
159
- {({index: idx, style}) => {
160
- const buttonOption = optionsFiltered[idx];
161
- return (
162
- <React.Fragment key={buttonOption.key}>
163
- <MenuOptionButton
164
- option={buttonOption}
165
- classNames={classNames}
166
- style={style}
167
- {...restProps}
168
- isLastItem={idx === optionsFiltered.length - 1}
169
- />
170
- </React.Fragment>
171
- );
172
- }}
173
- </FixedSizeList>
174
- ) : (
175
- optionsFiltered.map((option, idx) => (
176
- <React.Fragment key={option.key}>
177
- <MenuOptionButton
178
- option={option}
179
- classNames={classNames}
180
- {...restProps}
181
- isLastItem={idx === optionsFiltered.length - 1}
182
- />
183
- </React.Fragment>
184
- ))
185
- )}
186
- </>
187
- );
188
- }
189
-
190
- if (
191
- composeOptions &&
192
- Array.isArray(composeOptions) &&
193
- composeOptions.length
194
- ) {
195
- const optionsFiltered = !allowSearch
196
- ? composeOptions
197
- : getFilteredComposeOptionsFromSearchText(composeOptions, searchText);
198
- const finalResultText = !allowSearch
199
- ? ''
200
- : getFilteredComposeOptionsResultText(optionsFiltered, staticLabels);
201
- return (
202
- <>
203
- {allowSearch && showResultText && (
204
- <FormLabelSmall
205
- className={css.filterOptionsResultText}
206
- color="tertiary"
207
- >
208
- {finalResultText}
209
- </FormLabelSmall>
210
- )}
211
- {optionsFiltered.map(
212
- (
213
- composeMenuOptions,
214
- index, // eslint-disable-next-line react/no-array-index-key
215
- ) => (
216
- <span key={index} className={css.menuDivider}>
217
- {composeMenuOptions.map((option, idx) => (
218
- <React.Fragment key={option.key}>
219
- <MenuOptionButton
220
- option={option}
221
- classNames={classNames}
222
- {...restProps}
223
- isLastItem={
224
- index === optionsFiltered.length - 1 &&
225
- idx === composeMenuOptions.length - 1
226
- }
227
- />
228
- </React.Fragment>
229
- ))}
230
- </span>
231
- ),
232
- )}
233
- </>
234
- );
235
- }
236
-
237
- if (
238
- groupTitleOptions &&
239
- Array.isArray(groupTitleOptions) &&
240
- groupTitleOptions.length
241
- ) {
242
- const optionsFiltered = !allowSearch
243
- ? groupTitleOptions
244
- : getFilteredGroupTitleOptionsFromSearchText(
245
- groupTitleOptions,
246
- searchText,
247
- );
248
- const finalResultText = !allowSearch
249
- ? ''
250
- : getFilteredGroupTitleOptionsResultText(optionsFiltered, staticLabels);
251
- return (
252
- <>
253
- {allowSearch && showResultText && (
254
- <FormLabelSmall
255
- className={css.filterOptionsResultText}
256
- color="tertiary"
257
- >
258
- {finalResultText}
259
- </FormLabelSmall>
260
- )}
261
- {optionsFiltered.map(
262
- (
263
- optionsGroup,
264
- index, // eslint-disable-next-line react/no-array-index-key
265
- ) => (
266
- <React.Fragment key={index}>
267
- {!!optionsGroup.groupTitle && (
268
- <div
269
- className={classify(
270
- css.groupTitleWrapper,
271
- classNames?.groupTitle,
272
- )}
273
- >
274
- {optionsGroup.groupTitle}
275
- </div>
276
- )}
277
-
278
- {optionsGroup.options?.map((option, idx) => (
279
- <React.Fragment key={option.key}>
280
- <MenuOptionButton
281
- option={option}
282
- classNames={classNames}
283
- {...restProps}
284
- isLastItem={
285
- index === optionsFiltered.length - 1 &&
286
- idx ===
287
- (optionsGroup.options &&
288
- optionsGroup.options.length - 1)
289
- }
290
- />
291
- </React.Fragment>
292
- ))}
293
- </React.Fragment>
294
- ),
295
- )}
296
- </>
297
- );
298
- }
299
-
300
- return <></>;
301
- };
302
-
303
- export const Menu: React$AbstractComponent<MenuProps, HTMLDivElement> =
304
- React.forwardRef<MenuProps, HTMLDivElement>(
305
- (props: MenuProps, ref): React.ReactNode => {
306
- const {
307
- classNames,
308
- size = 'medium',
309
- width,
310
- isFluid = true,
311
- allowSearch,
312
- virtualization = {
313
- enable: false,
314
- menuHeight: null,
315
- itemHeight: null,
316
- },
317
- header,
318
- footer,
319
- staticLabels,
320
- } = props;
321
- const [searchText, setSearchText] = React.useState('');
322
- const {menuHeight} = virtualization;
323
- const hasHeader = header ? true : false;
324
- const hasFooter = footer ? true : false;
325
- return (
326
- <div
327
- className={classify(
328
- css.menuCard,
329
- {
330
- [css.fluid]: isFluid,
331
- [css.medium]: size === 'medium',
332
- [css.mediumWithHeader]:
333
- size === 'medium' && hasHeader && !hasFooter,
334
- [css.mediumWithFooter]:
335
- size === 'medium' && !hasHeader && hasFooter,
336
- [css.mediumWithHeaderAndFooter]:
337
- size === 'medium' && hasFooter && hasHeader,
338
- [css.small]: size === 'small',
339
- [css.smallWithHeader]:
340
- size === 'small' && hasHeader && !hasFooter,
341
- [css.smallWithFooter]:
342
- size === 'small' && !hasHeader && hasFooter,
343
- [css.smallWithHeaderAndFooter]:
344
- size === 'small' && hasFooter && hasHeader,
345
- [css.menuCardTopPaddingZero]: header,
346
- [css.menuCardBottomPaddingZero]: footer,
347
- },
348
- classNames?.wrapper,
349
- )}
350
- style={{
351
- width,
352
- maxHeight: menuHeight ? menuHeight + 'px' : '',
353
- }}
354
- ref={ref}
355
- >
356
- {hasHeader && (
357
- <div className={classify(css.menuHeader, classNames?.header)}>
358
- {header}
359
- </div>
360
- )}
361
- {allowSearch && (
362
- <SearchInput
363
- value={searchText}
364
- onChange={(e) => setSearchText(e.target.value)}
365
- onClear={() => setSearchText('')}
366
- size={size}
367
- placeholder={staticLabels?.SEARCH_PLACEHOLDER ?? 'Search...'}
368
- />
369
- )}
370
- <RenderOption {...props} searchText={searchText} />
371
- {hasFooter && (
372
- <div className={classify(css.menuFooter, classNames?.footer)}>
373
- {footer}
374
- </div>
375
- )}
376
- </div>
377
- );
378
- },
379
- );
@@ -1,199 +0,0 @@
1
- import * as React from 'react';
2
- import {classify} from '../../utils/classify';
3
- import {UnstyledButton} from '../Button';
4
- import {Checkbox} from '../Checkbox';
5
- import {Icon} from '../Icon';
6
- import {RadioButton} from '../RadioButton';
7
- import {Truncate} from '../Truncate';
8
- import {TruncatedTextWithTooltip} from '../TruncatedTextWithTooltip';
9
- import type {BaseMenuProps, MenuOption} from './Menu';
10
- import css from './Menu.module.css';
11
- export type MenuOptionProps = BaseMenuProps & {
12
- option: MenuOption;
13
- isLastItem?: boolean;
14
- style?: unknown;
15
- };
16
- export const MenuOptionButton = (props: MenuOptionProps): React.ReactNode => {
17
- const lastMenuItemRef: {
18
- current: HTMLButtonElement | null;
19
- } = React.useRef(null);
20
- const {
21
- option,
22
- size = 'medium',
23
- onSelect,
24
- selectedOption,
25
- menuDisabled,
26
- classNames,
27
- optionsVariant = 'normal',
28
- selectedKeys,
29
- isLastItem,
30
- onTabOut,
31
- resolveLabel,
32
- resolveSecondaryLabel,
33
- style,
34
- showLabelTooltip,
35
- allowWrap = false,
36
- } = props;
37
- const {
38
- key,
39
- label,
40
- secondaryLabel,
41
- customComponent,
42
- iconLeft,
43
- iconLeftType,
44
- classNames: optionClassNames,
45
- iconRight,
46
- iconRightType,
47
- disabled,
48
- optionSize,
49
- optionVariant = optionsVariant,
50
- indeterminate = false,
51
- } = option;
52
- const [buttonSize, setButtonSize] = React.useState(optionSize || size);
53
- const resolvedLabel = resolveLabel ? resolveLabel(option) : label;
54
- const resolvedSecondaryLabel = resolveSecondaryLabel
55
- ? resolveSecondaryLabel(option)
56
- : secondaryLabel;
57
-
58
- const isSelected = () => {
59
- if (!selectedKeys || !Array.isArray(selectedKeys) || !selectedKeys.length) {
60
- return false;
61
- }
62
-
63
- return selectedKeys.includes(option.key);
64
- };
65
-
66
- React.useEffect(() => {
67
- setButtonSize(optionSize || size);
68
- }, [optionSize, size]);
69
- React.useEffect(() => {
70
- const handleKeyDown = (event: KeyboardEvent) => {
71
- if (event.key === 'Tab' && !event.shiftKey) {
72
- // Tab pressed without shift key, calling tab out callback
73
- onTabOut?.();
74
- }
75
- };
76
-
77
- lastMenuItemRef.current?.addEventListener('keydown', handleKeyDown);
78
- return () => {
79
- lastMenuItemRef.current?.removeEventListener('keydown', handleKeyDown);
80
- };
81
- }, [isLastItem]);
82
- return (
83
- <UnstyledButton
84
- className={classify(
85
- css.option,
86
- {
87
- [css.selected]: isSelected() || key === selectedOption?.key,
88
- [css.optionSmall]: buttonSize === 'small',
89
- [css.optionMedium]: buttonSize === 'medium',
90
- [css.disabled]: menuDisabled || disabled,
91
- [css.withIconLeft]: !!iconLeft,
92
- [css.withIconRight]: !!iconRight,
93
- },
94
- classNames?.option,
95
- optionClassNames?.wrapper,
96
- )}
97
- style={style}
98
- disabled={menuDisabled || disabled}
99
- onClick={(e) => onSelect && onSelect(option, e)}
100
- autoFocus={selectedOption?.key === key}
101
- {...(isLastItem
102
- ? {
103
- ref: lastMenuItemRef,
104
- }
105
- : {})}
106
- >
107
- {optionVariant === 'checkbox' && (
108
- <Checkbox
109
- tabIndex={-1}
110
- disabled={menuDisabled || disabled}
111
- checked={isSelected()}
112
- indeterminate={indeterminate}
113
- />
114
- )}
115
- {optionVariant === 'radio' && (
116
- <RadioButton
117
- disabled={menuDisabled || disabled}
118
- value={option.key}
119
- selectedValue={selectedKeys?.[0]}
120
- tabIndex={-1}
121
- />
122
- )}
123
- {!!iconLeft && (
124
- <Icon
125
- name={iconLeft}
126
- type={iconLeftType}
127
- size="small"
128
- className={css.icon}
129
- />
130
- )}
131
- <div
132
- className={classify(
133
- css.optionTextContainer,
134
- classNames?.optionTextContainer,
135
- )}
136
- >
137
- {React.isValidElement(customComponent) ? (
138
- customComponent
139
- ) : (
140
- <div
141
- className={classify(
142
- css.optionTextLabel,
143
- classNames?.optionTextLabel,
144
- )}
145
- >
146
- {renderLabel(resolvedLabel, allowWrap, showLabelTooltip)}
147
- </div>
148
- )}
149
-
150
- {!!secondaryLabel && (
151
- <div className={css.optionTextSecondaryLabel}>
152
- <Truncate>{resolvedSecondaryLabel}</Truncate>
153
- </div>
154
- )}
155
- </div>
156
-
157
- {!!iconRight && (
158
- <Icon
159
- name={iconRight}
160
- type={iconRightType}
161
- size="small"
162
- className={classify(css.icon, css.rightIcon)}
163
- />
164
- )}
165
- </UnstyledButton>
166
- );
167
- };
168
-
169
- const renderLabel = (label, allowWrap, showLabelTooltip) => {
170
- if (showLabelTooltip) {
171
- return (
172
- <TruncatedTextWithTooltip
173
- tooltip={{
174
- bodyMaxLines: showLabelTooltip.maxLines ?? 10,
175
- delayMotionDuration: 'normal',
176
- }}
177
- line={3}
178
- >
179
- {label}
180
- </TruncatedTextWithTooltip>
181
- );
182
- }
183
-
184
- if (allowWrap) {
185
- return (
186
- <TruncatedTextWithTooltip
187
- tooltip={{
188
- bodyMaxLines: 10,
189
- delayMotionDuration: 'normal',
190
- }}
191
- line={3}
192
- >
193
- {label}
194
- </TruncatedTextWithTooltip>
195
- );
196
- }
197
-
198
- return <Truncate>{label}</Truncate>;
199
- };
@@ -1,2 +0,0 @@
1
- export * from './Menu';
2
- export * from './MenuOptionButton';