@spaced-out/ui-design-system 0.4.13-beta.0 → 0.4.13-beta.1

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 (447) hide show
  1. package/.cspell/custom-words.txt +2 -0
  2. package/CHANGELOG.md +7 -0
  3. package/cspell.json +3 -1
  4. package/gulpfile.js +2 -1
  5. package/lib/styles/index.js +535 -275
  6. package/package.json +2 -2
  7. package/lib/components/AIPromptFlow/AIPromptFlow.stories.tsx +0 -465
  8. package/lib/components/Accordion/Accordion.stories.tsx +0 -165
  9. package/lib/components/Accordion/Accordion.tsx +0 -112
  10. package/lib/components/Accordion/AccordionGroup.stories.tsx +0 -215
  11. package/lib/components/Accordion/AccordionGroup.tsx +0 -77
  12. package/lib/components/Accordion/index.ts +0 -2
  13. package/lib/components/Avatar/Avatar.stories.tsx +0 -152
  14. package/lib/components/Avatar/Avatar.tsx +0 -272
  15. package/lib/components/Avatar/index.ts +0 -1
  16. package/lib/components/AvatarGroup/AvatarGroup.stories.tsx +0 -138
  17. package/lib/components/AvatarGroup/AvatarGroup.tsx +0 -164
  18. package/lib/components/AvatarGroup/index.ts +0 -1
  19. package/lib/components/Badge/Badge.stories.tsx +0 -131
  20. package/lib/components/Badge/Badge.tsx +0 -149
  21. package/lib/components/Badge/index.ts +0 -1
  22. package/lib/components/BadgedIcon/BadgedIcon.stories.tsx +0 -80
  23. package/lib/components/BadgedIcon/BadgedIcon.tsx +0 -76
  24. package/lib/components/BadgedIcon/index.ts +0 -1
  25. package/lib/components/Banner/Banner.stories.tsx +0 -187
  26. package/lib/components/Banner/Banner.tsx +0 -55
  27. package/lib/components/Banner/index.ts +0 -1
  28. package/lib/components/Breadcrumbs/BreadcrumbLink/BreadcrumbLink.stories.tsx +0 -114
  29. package/lib/components/Breadcrumbs/BreadcrumbLink/BreadcrumbLink.tsx +0 -52
  30. package/lib/components/Breadcrumbs/BreadcrumbLink/index.ts +0 -1
  31. package/lib/components/Breadcrumbs/Breadcrumbs.stories.tsx +0 -189
  32. package/lib/components/Breadcrumbs/Breadcrumbs.tsx +0 -59
  33. package/lib/components/Breadcrumbs/index.ts +0 -2
  34. package/lib/components/Button/Button.stories.tsx +0 -220
  35. package/lib/components/Button/Button.tsx +0 -285
  36. package/lib/components/Button/index.ts +0 -8
  37. package/lib/components/ButtonDropdown/ButtonDropdown.stories.tsx +0 -677
  38. package/lib/components/ButtonDropdown/ButtonDropdown.tsx +0 -221
  39. package/lib/components/ButtonDropdown/SimpleButtonDropdown.stories.tsx +0 -624
  40. package/lib/components/ButtonDropdown/SimpleButtonDropdown.tsx +0 -167
  41. package/lib/components/ButtonDropdown/index.ts +0 -2
  42. package/lib/components/ButtonTabs/ButtonTab/ButtonTab.stories.tsx +0 -125
  43. package/lib/components/ButtonTabs/ButtonTab/ButtonTab.tsx +0 -76
  44. package/lib/components/ButtonTabs/ButtonTab/index.ts +0 -1
  45. package/lib/components/ButtonTabs/ButtonTabDropdown.tsx +0 -147
  46. package/lib/components/ButtonTabs/ButtonTabs.stories.tsx +0 -393
  47. package/lib/components/ButtonTabs/ButtonTabs.tsx +0 -119
  48. package/lib/components/ButtonTabs/index.ts +0 -2
  49. package/lib/components/Card/Card.stories.tsx +0 -245
  50. package/lib/components/Card/Card.tsx +0 -172
  51. package/lib/components/Card/index.ts +0 -1
  52. package/lib/components/Charts/ChartTooltip/index.ts +0 -13
  53. package/lib/components/Charts/ChartWrapper/ChartWrapper.tsx +0 -179
  54. package/lib/components/Charts/ChartWrapper/index.ts +0 -1
  55. package/lib/components/Charts/ColumnChart/ColumnChart.stories.tsx +0 -574
  56. package/lib/components/Charts/ColumnChart/ColumnChart.tsx +0 -125
  57. package/lib/components/Charts/ColumnChart/index.ts +0 -1
  58. package/lib/components/Charts/DonutChart/DonutChart.stories.tsx +0 -415
  59. package/lib/components/Charts/DonutChart/DonutChart.tsx +0 -155
  60. package/lib/components/Charts/DonutChart/index.ts +0 -1
  61. package/lib/components/Charts/FunnelChart/FunnelChart.stories.tsx +0 -510
  62. package/lib/components/Charts/FunnelChart/FunnelChart.tsx +0 -110
  63. package/lib/components/Charts/FunnelChart/index.ts +0 -1
  64. package/lib/components/Charts/LineChart/LineChart.stories.tsx +0 -590
  65. package/lib/components/Charts/LineChart/LineChart.tsx +0 -109
  66. package/lib/components/Charts/LineChart/index.ts +0 -1
  67. package/lib/components/Charts/SpiderChart/SpiderChart.stories.tsx +0 -467
  68. package/lib/components/Charts/SpiderChart/SpiderChart.tsx +0 -104
  69. package/lib/components/Charts/SpiderChart/index.ts +0 -1
  70. package/lib/components/Charts/index.ts +0 -11
  71. package/lib/components/ChatBubble/ChatAnchor.stories.tsx +0 -95
  72. package/lib/components/ChatBubble/ChatBubble.stories.tsx +0 -277
  73. package/lib/components/ChatBubble/ChatBubble.tsx +0 -232
  74. package/lib/components/ChatBubble/index.ts +0 -1
  75. package/lib/components/Checkbox/Checkbox.stories.tsx +0 -180
  76. package/lib/components/Checkbox/Checkbox.tsx +0 -168
  77. package/lib/components/Checkbox/CheckboxGroup.stories.tsx +0 -381
  78. package/lib/components/Checkbox/CheckboxGroup.tsx +0 -119
  79. package/lib/components/Checkbox/index.ts +0 -2
  80. package/lib/components/Chip/Chip.stories.tsx +0 -335
  81. package/lib/components/Chip/Chip.tsx +0 -204
  82. package/lib/components/Chip/index.ts +0 -2
  83. package/lib/components/CircularLoader/CircularLoader.stories.tsx +0 -75
  84. package/lib/components/CircularLoader/CircularLoader.tsx +0 -51
  85. package/lib/components/CircularLoader/index.ts +0 -1
  86. package/lib/components/CollapsibleCard/CollapsibleCard.stories.tsx +0 -311
  87. package/lib/components/CollapsibleCard/CollapsibleCard.tsx +0 -135
  88. package/lib/components/CollapsibleCard/index.ts +0 -1
  89. package/lib/components/Combobox/Combobox.stories.tsx +0 -306
  90. package/lib/components/Combobox/Combobox.tsx +0 -297
  91. package/lib/components/Combobox/helper.ts +0 -201
  92. package/lib/components/Combobox/index.ts +0 -1
  93. package/lib/components/ConditionalWrapper/ConditionalWrapper.stories.tsx +0 -51
  94. package/lib/components/ConditionalWrapper/ConditionalWrapper.ts +0 -16
  95. package/lib/components/ConditionalWrapper/index.ts +0 -1
  96. package/lib/components/DateRangePicker/Calendar.tsx +0 -110
  97. package/lib/components/DateRangePicker/DateRangePicker.stories.tsx +0 -397
  98. package/lib/components/DateRangePicker/DateRangePicker.tsx +0 -210
  99. package/lib/components/DateRangePicker/DateRangeWrapper.tsx +0 -386
  100. package/lib/components/DateRangePicker/Day.tsx +0 -74
  101. package/lib/components/DateRangePicker/index.ts +0 -1
  102. package/lib/components/Dialog/Dialog.stories.tsx +0 -254
  103. package/lib/components/Dialog/Dialog.tsx +0 -222
  104. package/lib/components/Dialog/index.ts +0 -1
  105. package/lib/components/Disclaimer/Disclaimer.stories.tsx +0 -148
  106. package/lib/components/Disclaimer/Disclaimer.tsx +0 -35
  107. package/lib/components/Disclaimer/index.ts +0 -1
  108. package/lib/components/Dropdown/Dropdown.stories.tsx +0 -785
  109. package/lib/components/Dropdown/Dropdown.tsx +0 -174
  110. package/lib/components/Dropdown/SimpleDropdown.stories.tsx +0 -534
  111. package/lib/components/Dropdown/SimpleDropdown.tsx +0 -167
  112. package/lib/components/Dropdown/index.ts +0 -2
  113. package/lib/components/EmptyState/EmptyImages/CalendarEmptyImage.tsx +0 -108
  114. package/lib/components/EmptyState/EmptyImages/ChartEmptyImage.tsx +0 -194
  115. package/lib/components/EmptyState/EmptyImages/DataEmptyImage.tsx +0 -116
  116. package/lib/components/EmptyState/EmptyImages/FileEmptyImage.tsx +0 -133
  117. package/lib/components/EmptyState/EmptyImages/MessageEmptyImage.tsx +0 -64
  118. package/lib/components/EmptyState/EmptyImages/UploadEmptyImage.tsx +0 -67
  119. package/lib/components/EmptyState/EmptyImages/index.ts +0 -6
  120. package/lib/components/EmptyState/EmptyState.stories.tsx +0 -104
  121. package/lib/components/EmptyState/EmptyState.tsx +0 -83
  122. package/lib/components/EmptyState/index.ts +0 -1
  123. package/lib/components/ErrorMessage/ErrorImages/ForbiddenImage.tsx +0 -85
  124. package/lib/components/ErrorMessage/ErrorImages/NotFoundImage.tsx +0 -117
  125. package/lib/components/ErrorMessage/ErrorImages/ServerErrorImage.tsx +0 -237
  126. package/lib/components/ErrorMessage/ErrorImages/UnauthorizedImage.tsx +0 -73
  127. package/lib/components/ErrorMessage/ErrorImages/index.ts +0 -4
  128. package/lib/components/ErrorMessage/ErrorMessage.stories.tsx +0 -112
  129. package/lib/components/ErrorMessage/ErrorMessage.tsx +0 -87
  130. package/lib/components/ErrorMessage/index.ts +0 -1
  131. package/lib/components/FileUpload/FileBlock/FileBlock.stories.tsx +0 -85
  132. package/lib/components/FileUpload/FileBlock/FileBlock.tsx +0 -136
  133. package/lib/components/FileUpload/FileBlock/index.ts +0 -1
  134. package/lib/components/FileUpload/FileUpload.stories.tsx +0 -958
  135. package/lib/components/FileUpload/FileUpload.tsx +0 -206
  136. package/lib/components/FileUpload/index.ts +0 -2
  137. package/lib/components/FilterButtonOverlay/FilterButtonOverlay.stories.tsx +0 -345
  138. package/lib/components/FilterButtonOverlay/FilterButtonOverlay.tsx +0 -163
  139. package/lib/components/FilterButtonOverlay/index.ts +0 -1
  140. package/lib/components/FocusManager/FocusManager.stories.tsx +0 -117
  141. package/lib/components/FocusManager/FocusManager.tsx +0 -59
  142. package/lib/components/FocusManager/index.ts +0 -1
  143. package/lib/components/FocusManagerWithArrowKeyNavigation/FocusManagerWithArrowKeyNavigation.stories.tsx +0 -557
  144. package/lib/components/FocusManagerWithArrowKeyNavigation/FocusManagerWithArrowKeyNavigation.tsx +0 -156
  145. package/lib/components/FocusManagerWithArrowKeyNavigation/index.ts +0 -1
  146. package/lib/components/FormTitleWrapper/FormTitleWrapper.stories.tsx +0 -173
  147. package/lib/components/FormTitleWrapper/FormTitleWrapper.tsx +0 -63
  148. package/lib/components/FormTitleWrapper/index.ts +0 -1
  149. package/lib/components/Grid/Col.stories.tsx +0 -114
  150. package/lib/components/Grid/Grid.tsx +0 -119
  151. package/lib/components/Grid/GridPatterns.stories.tsx +0 -420
  152. package/lib/components/Grid/Row.stories.tsx +0 -135
  153. package/lib/components/Grid/Tablist.layout.stories.tsx +0 -281
  154. package/lib/components/Grid/index.ts +0 -1
  155. package/lib/components/Icon/ClickableIcon.tsx +0 -104
  156. package/lib/components/Icon/Icon.docs.ts +0 -118
  157. package/lib/components/Icon/Icon.stories.tsx +0 -79
  158. package/lib/components/Icon/Icon.tsx +0 -78
  159. package/lib/components/Icon/SemanticIcon.stories.tsx +0 -74
  160. package/lib/components/Icon/SemanticIcon.tsx +0 -49
  161. package/lib/components/Icon/index.ts +0 -3
  162. package/lib/components/InContextAlert/InContextAlert.stories.tsx +0 -164
  163. package/lib/components/InContextAlert/InContextAlert.tsx +0 -204
  164. package/lib/components/InContextAlert/index.ts +0 -1
  165. package/lib/components/InfinitePagination/InfinitePagination.stories.tsx +0 -323
  166. package/lib/components/InfinitePagination/InfinitePagination.tsx +0 -121
  167. package/lib/components/InfinitePagination/index.ts +0 -1
  168. package/lib/components/InlineDropdown/InlineDropdown.stories.tsx +0 -415
  169. package/lib/components/InlineDropdown/InlineDropdown.tsx +0 -175
  170. package/lib/components/InlineDropdown/SimpleInlineDropdown.stories.tsx +0 -513
  171. package/lib/components/InlineDropdown/SimpleInlineDropdown.tsx +0 -165
  172. package/lib/components/InlineDropdown/index.ts +0 -2
  173. package/lib/components/Input/Input.stories.tsx +0 -590
  174. package/lib/components/Input/Input.tsx +0 -336
  175. package/lib/components/Input/NativeColorpicker.stories.tsx +0 -337
  176. package/lib/components/Input/NativeDatepicker.stories.tsx +0 -424
  177. package/lib/components/Input/index.ts +0 -1
  178. package/lib/components/KPIBox/KPIBox.stories.tsx +0 -321
  179. package/lib/components/KPIBox/KPIBox.tsx +0 -94
  180. package/lib/components/KPIBox/index.ts +0 -1
  181. package/lib/components/LinearLoader/LinearLoader.stories.tsx +0 -132
  182. package/lib/components/LinearLoader/LinearLoader.tsx +0 -48
  183. package/lib/components/LinearLoader/index.ts +0 -1
  184. package/lib/components/Link/Link.stories.tsx +0 -302
  185. package/lib/components/Link/Link.tsx +0 -231
  186. package/lib/components/Link/index.ts +0 -1
  187. package/lib/components/Menu/Menu.stories.tsx +0 -1046
  188. package/lib/components/Menu/Menu.tsx +0 -391
  189. package/lib/components/Menu/MenuOptionButton.tsx +0 -206
  190. package/lib/components/Menu/index.ts +0 -2
  191. package/lib/components/Modal/Modal.stories.tsx +0 -430
  192. package/lib/components/Modal/Modal.tsx +0 -379
  193. package/lib/components/Modal/index.ts +0 -8
  194. package/lib/components/Notification/Notification.stories.tsx +0 -132
  195. package/lib/components/Notification/Notification.tsx +0 -140
  196. package/lib/components/Notification/index.ts +0 -1
  197. package/lib/components/OptionButton/OptionButton.stories.tsx +0 -397
  198. package/lib/components/OptionButton/OptionButton.tsx +0 -149
  199. package/lib/components/OptionButton/SimpleOptionButton.stories.tsx +0 -525
  200. package/lib/components/OptionButton/SimpleOptionButton.tsx +0 -160
  201. package/lib/components/OptionButton/index.ts +0 -2
  202. package/lib/components/PageTitle/PageTitle.stories.tsx +0 -257
  203. package/lib/components/PageTitle/PageTitle.tsx +0 -276
  204. package/lib/components/PageTitle/index.ts +0 -1
  205. package/lib/components/Pagination/Pagination.stories.tsx +0 -259
  206. package/lib/components/Pagination/Pagination.tsx +0 -147
  207. package/lib/components/Pagination/PaginationItem.tsx +0 -118
  208. package/lib/components/Pagination/index.ts +0 -1
  209. package/lib/components/Panel/Panel.stories.tsx +0 -452
  210. package/lib/components/Panel/Panel.tsx +0 -181
  211. package/lib/components/Panel/index.ts +0 -2
  212. package/lib/components/ProgressDonut/ProgressDonut.stories.tsx +0 -97
  213. package/lib/components/ProgressDonut/ProgressDonut.tsx +0 -111
  214. package/lib/components/ProgressDonut/index.ts +0 -1
  215. package/lib/components/PromptChip/PromptChip.stories.tsx +0 -202
  216. package/lib/components/PromptChip/PromptChip.tsx +0 -166
  217. package/lib/components/PromptChip/index.ts +0 -1
  218. package/lib/components/PromptInput/PromptInput.stories.tsx +0 -349
  219. package/lib/components/PromptInput/PromptInput.tsx +0 -190
  220. package/lib/components/PromptInput/index.ts +0 -1
  221. package/lib/components/RadioButton/RadioButton.stories.tsx +0 -157
  222. package/lib/components/RadioButton/RadioButton.tsx +0 -135
  223. package/lib/components/RadioButton/RadioGroup.stories.tsx +0 -283
  224. package/lib/components/RadioButton/RadioGroup.tsx +0 -90
  225. package/lib/components/RadioButton/index.ts +0 -2
  226. package/lib/components/RadioTile/RadioTile.stories.tsx +0 -276
  227. package/lib/components/RadioTile/RadioTile.tsx +0 -107
  228. package/lib/components/RadioTile/index.ts +0 -1
  229. package/lib/components/RangeSlider/RangeSlider.stories.tsx +0 -342
  230. package/lib/components/RangeSlider/RangeSlider.tsx +0 -201
  231. package/lib/components/RangeSlider/index.ts +0 -1
  232. package/lib/components/Rating/Rating.stories.tsx +0 -257
  233. package/lib/components/Rating/Rating.tsx +0 -141
  234. package/lib/components/Rating/index.ts +0 -1
  235. package/lib/components/ScoreBar/ScoreBar.stories.tsx +0 -182
  236. package/lib/components/ScoreBar/ScoreBar.tsx +0 -133
  237. package/lib/components/ScoreBar/index.ts +0 -1
  238. package/lib/components/SearchInput/SearchInput.stories.tsx +0 -260
  239. package/lib/components/SearchInput/SearchInput.tsx +0 -81
  240. package/lib/components/SearchInput/index.ts +0 -2
  241. package/lib/components/Separator/Separator.stories.tsx +0 -95
  242. package/lib/components/Separator/Separator.tsx +0 -57
  243. package/lib/components/Separator/index.ts +0 -1
  244. package/lib/components/Shimmer/Shimmer.stories.tsx +0 -317
  245. package/lib/components/Shimmer/Shimmer.tsx +0 -143
  246. package/lib/components/Shimmer/index.ts +0 -1
  247. package/lib/components/SideMenuLink/SideMenuLink.stories.tsx +0 -153
  248. package/lib/components/SideMenuLink/SideMenuLink.tsx +0 -344
  249. package/lib/components/SideMenuLink/index.ts +0 -1
  250. package/lib/components/StatusIndicator/StatusIndicator.stories.tsx +0 -130
  251. package/lib/components/StatusIndicator/StatusIndicator.tsx +0 -62
  252. package/lib/components/StatusIndicator/index.ts +0 -1
  253. package/lib/components/Stepper/Step/Step.stories.tsx +0 -117
  254. package/lib/components/Stepper/Step/Step.tsx +0 -125
  255. package/lib/components/Stepper/Step/StepContent.tsx +0 -40
  256. package/lib/components/Stepper/Step/StepLabel.tsx +0 -40
  257. package/lib/components/Stepper/Step/index.ts +0 -3
  258. package/lib/components/Stepper/Stepper.stories.tsx +0 -422
  259. package/lib/components/Stepper/Stepper.tsx +0 -68
  260. package/lib/components/Stepper/index.ts +0 -2
  261. package/lib/components/StickyBar/StickyBar.stories.tsx +0 -152
  262. package/lib/components/StickyBar/StickyBar.tsx +0 -65
  263. package/lib/components/StickyBar/index.ts +0 -1
  264. package/lib/components/SubMenu/SubMenu.stories.tsx +0 -413
  265. package/lib/components/SubMenu/SubMenu.tsx +0 -96
  266. package/lib/components/SubMenu/SubMenuGroup.tsx +0 -161
  267. package/lib/components/SubMenu/SubMenuItem.tsx +0 -170
  268. package/lib/components/SubMenu/SubMenuLink.tsx +0 -87
  269. package/lib/components/SubMenu/index.ts +0 -4
  270. package/lib/components/Table/BasicTable.stories.tsx +0 -647
  271. package/lib/components/Table/BulkActions.stories.tsx +0 -267
  272. package/lib/components/Table/Cell.tsx +0 -125
  273. package/lib/components/Table/DefaultRow.tsx +0 -159
  274. package/lib/components/Table/DefaultTableHeader.tsx +0 -244
  275. package/lib/components/Table/InlineEdit.stories.tsx +0 -390
  276. package/lib/components/Table/StaticTable.tsx +0 -230
  277. package/lib/components/Table/Table.docs.ts +0 -495
  278. package/lib/components/Table/Table.tsx +0 -135
  279. package/lib/components/Table/TableActionBar.tsx +0 -55
  280. package/lib/components/Table/TableBottomBar.tsx +0 -25
  281. package/lib/components/Table/TableTopBar.tsx +0 -25
  282. package/lib/components/Table/dummyTableData.ts +0 -2189
  283. package/lib/components/Table/hooks.ts +0 -102
  284. package/lib/components/Table/index.ts +0 -8
  285. package/lib/components/Tabs/Tab/Tab.stories.tsx +0 -151
  286. package/lib/components/Tabs/Tab/Tab.tsx +0 -152
  287. package/lib/components/Tabs/Tab/index.ts +0 -1
  288. package/lib/components/Tabs/TabList/TabDropdown.tsx +0 -125
  289. package/lib/components/Tabs/TabList/TabList.stories.tsx +0 -172
  290. package/lib/components/Tabs/TabList/TabList.tsx +0 -178
  291. package/lib/components/Tabs/TabList/index.ts +0 -1
  292. package/lib/components/Tabs/index.ts +0 -2
  293. package/lib/components/Text/HighlightedText.stories.tsx +0 -122
  294. package/lib/components/Text/Text.stories.tsx +0 -302
  295. package/lib/components/Text/Text.tsx +0 -882
  296. package/lib/components/Text/index.ts +0 -30
  297. package/lib/components/TextTile/TextTile.stories.tsx +0 -89
  298. package/lib/components/TextTile/TextTile.tsx +0 -51
  299. package/lib/components/TextTile/index.ts +0 -1
  300. package/lib/components/Textarea/Textarea.stories.tsx +0 -324
  301. package/lib/components/Textarea/Textarea.tsx +0 -148
  302. package/lib/components/Textarea/index.ts +0 -2
  303. package/lib/components/Timeline/Timeline.stories.tsx +0 -272
  304. package/lib/components/Timeline/Timeline.tsx +0 -57
  305. package/lib/components/Timeline/TimelineItem/TimelineItem.stories.tsx +0 -216
  306. package/lib/components/Timeline/TimelineItem/TimelineItem.tsx +0 -128
  307. package/lib/components/Timeline/TimelineItem/index.ts +0 -1
  308. package/lib/components/Timeline/index.ts +0 -2
  309. package/lib/components/Toast/Toast.stories.tsx +0 -274
  310. package/lib/components/Toast/Toast.tsx +0 -264
  311. package/lib/components/Toast/ToastContainer.tsx +0 -123
  312. package/lib/components/Toast/ToastManager.ts +0 -60
  313. package/lib/components/Toast/index.ts +0 -10
  314. package/lib/components/Toggle/Toggle.stories.tsx +0 -175
  315. package/lib/components/Toggle/Toggle.tsx +0 -121
  316. package/lib/components/Toggle/index.ts +0 -1
  317. package/lib/components/TokenListInput/TokenListInput.stories.tsx +0 -678
  318. package/lib/components/TokenListInput/TokenListInput.tsx +0 -393
  319. package/lib/components/TokenListInput/TokenValueChips.tsx +0 -69
  320. package/lib/components/TokenListInput/index.ts +0 -1
  321. package/lib/components/Tooltip/Tooltip.stories.tsx +0 -316
  322. package/lib/components/Tooltip/Tooltip.tsx +0 -188
  323. package/lib/components/Tooltip/index.ts +0 -1
  324. package/lib/components/Truncate/Truncate.stories.tsx +0 -106
  325. package/lib/components/Truncate/Truncate.tsx +0 -80
  326. package/lib/components/Truncate/index.ts +0 -2
  327. package/lib/components/TruncatedTextWithTooltip/TruncatedTextWithTooltip.stories.tsx +0 -147
  328. package/lib/components/TruncatedTextWithTooltip/TruncatedTextWithTooltip.tsx +0 -109
  329. package/lib/components/TruncatedTextWithTooltip/index.ts +0 -1
  330. package/lib/components/Typeahead/SimpleTypeahead.stories.tsx +0 -567
  331. package/lib/components/Typeahead/SimpleTypeahead.tsx +0 -159
  332. package/lib/components/Typeahead/Typeahead.stories.tsx +0 -552
  333. package/lib/components/Typeahead/Typeahead.tsx +0 -243
  334. package/lib/components/Typeahead/index.ts +0 -2
  335. package/lib/components/WeekdayPicker/WeekdayPicker.stories.tsx +0 -263
  336. package/lib/components/WeekdayPicker/WeekdayPicker.tsx +0 -224
  337. package/lib/components/WeekdayPicker/index.ts +0 -1
  338. package/lib/components/index.ts +0 -77
  339. package/lib/hooks/index.ts +0 -16
  340. package/lib/hooks/useArbitraryOptionAddition/index.ts +0 -1
  341. package/lib/hooks/useArbitraryOptionAddition/useArbitraryOptionAddition.stories.tsx +0 -158
  342. package/lib/hooks/useArbitraryOptionAddition/useArbitraryOptionAddition.ts +0 -127
  343. package/lib/hooks/useCopyToClipboard/index.ts +0 -1
  344. package/lib/hooks/useCopyToClipboard/useCopyToClipboard.stories.tsx +0 -112
  345. package/lib/hooks/useCopyToClipboard/useCopyToClipboard.ts +0 -29
  346. package/lib/hooks/useDebounce/index.ts +0 -1
  347. package/lib/hooks/useDebounce/useDebounce.stories.tsx +0 -82
  348. package/lib/hooks/useDebounce/useDebounce.ts +0 -15
  349. package/lib/hooks/useFileUpload/index.ts +0 -1
  350. package/lib/hooks/useFileUpload/useFileUpload.stories.tsx +0 -468
  351. package/lib/hooks/useFileUpload/useFileUpload.ts +0 -326
  352. package/lib/hooks/useFilteredOptions/index.ts +0 -1
  353. package/lib/hooks/useFilteredOptions/useFilteredOptions.stories.tsx +0 -142
  354. package/lib/hooks/useFilteredOptions/useFilteredOptions.ts +0 -92
  355. package/lib/hooks/useInfiniteScroll/index.ts +0 -1
  356. package/lib/hooks/useInfiniteScroll/useInfiniteScroll.ts +0 -85
  357. package/lib/hooks/useInputState/index.ts +0 -1
  358. package/lib/hooks/useInputState/useInputState.stories.tsx +0 -62
  359. package/lib/hooks/useInputState/useInputState.ts +0 -24
  360. package/lib/hooks/useLockedBody/index.ts +0 -1
  361. package/lib/hooks/useLockedBody/useLockedBody.stories.tsx +0 -71
  362. package/lib/hooks/useLockedBody/useLockedBody.ts +0 -53
  363. package/lib/hooks/useModal/index.ts +0 -1
  364. package/lib/hooks/useModal/useModal.stories.tsx +0 -134
  365. package/lib/hooks/useModal/useModal.ts +0 -36
  366. package/lib/hooks/useMountTransition/index.ts +0 -25
  367. package/lib/hooks/useMountTransition/useMountTransition.stories.tsx +0 -64
  368. package/lib/hooks/usePagination/index.ts +0 -1
  369. package/lib/hooks/usePagination/usePagination.stories.tsx +0 -72
  370. package/lib/hooks/usePagination/usePagination.ts +0 -151
  371. package/lib/hooks/useReferenceElementWidth/index.ts +0 -1
  372. package/lib/hooks/useReferenceElementWidth/useReferenceElementWidth.ts +0 -19
  373. package/lib/hooks/useResizeObserver/index.ts +0 -1
  374. package/lib/hooks/useResizeObserver/useResizeObserver.ts +0 -29
  375. package/lib/hooks/useToastPortal/index.ts +0 -1
  376. package/lib/hooks/useToastPortal/useToastPortal.ts +0 -34
  377. package/lib/hooks/useToggle/index.ts +0 -1
  378. package/lib/hooks/useToggle/useToggle.stories.tsx +0 -70
  379. package/lib/hooks/useToggle/useToggle.ts +0 -13
  380. package/lib/hooks/useWindowSize/index.ts +0 -1
  381. package/lib/hooks/useWindowSize/useWindowSize.stories.tsx +0 -62
  382. package/lib/hooks/useWindowSize/useWindowSize.ts +0 -39
  383. package/lib/index.ts +0 -6
  384. package/lib/styles/index.ts +0 -533
  385. package/lib/styles/variables/_border.ts +0 -23
  386. package/lib/styles/variables/_color.ts +0 -207
  387. package/lib/styles/variables/_elevation.ts +0 -13
  388. package/lib/styles/variables/_font.ts +0 -59
  389. package/lib/styles/variables/_motion.ts +0 -11
  390. package/lib/styles/variables/_opacity.ts +0 -29
  391. package/lib/styles/variables/_shadow.ts +0 -47
  392. package/lib/styles/variables/_size.ts +0 -113
  393. package/lib/styles/variables/_space.ts +0 -23
  394. package/lib/types/charts.ts +0 -247
  395. package/lib/types/common.ts +0 -11
  396. package/lib/types/cssvariables.d.ts +0 -8
  397. package/lib/types/date-range-picker.ts +0 -20
  398. package/lib/types/flow-to-typescript-codemod.d.ts +0 -48
  399. package/lib/types/global.d.ts +0 -84
  400. package/lib/types/index.ts +0 -6
  401. package/lib/types/menu.ts +0 -13
  402. package/lib/types/toast.ts +0 -34
  403. package/lib/types/typography.ts +0 -17
  404. package/lib/utils/array/are-arrays-equal.ts +0 -12
  405. package/lib/utils/array/index.ts +0 -1
  406. package/lib/utils/charts/charts.ts +0 -110
  407. package/lib/utils/charts/columnChart.ts +0 -62
  408. package/lib/utils/charts/donutChart.ts +0 -123
  409. package/lib/utils/charts/funnelChart.ts +0 -97
  410. package/lib/utils/charts/helpers.ts +0 -65
  411. package/lib/utils/charts/index.ts +0 -7
  412. package/lib/utils/charts/lineChart.ts +0 -51
  413. package/lib/utils/charts/spiderChart.ts +0 -57
  414. package/lib/utils/charts/typography.ts +0 -52
  415. package/lib/utils/classify/classify.stories.tsx +0 -65
  416. package/lib/utils/classify/index.ts +0 -27
  417. package/lib/utils/click-away/ClickAway.stories.tsx +0 -248
  418. package/lib/utils/click-away/click-away.ts +0 -230
  419. package/lib/utils/click-away/index.ts +0 -1
  420. package/lib/utils/date-range-picker/date-range-picker.ts +0 -430
  421. package/lib/utils/date-range-picker/index.ts +0 -2
  422. package/lib/utils/date-range-picker/timezones.ts +0 -263
  423. package/lib/utils/dom/dom.stories.tsx +0 -59
  424. package/lib/utils/dom/dom.ts +0 -247
  425. package/lib/utils/dom/index.ts +0 -1
  426. package/lib/utils/helpers/helpers.stories.tsx +0 -124
  427. package/lib/utils/helpers/helpers.ts +0 -51
  428. package/lib/utils/helpers/index.ts +0 -1
  429. package/lib/utils/index.ts +0 -14
  430. package/lib/utils/makeClassNameComponent/index.ts +0 -1
  431. package/lib/utils/makeClassNameComponent/makeClassNameComponent.stories.tsx +0 -46
  432. package/lib/utils/makeClassNameComponent/makeClassNameComponent.tsx +0 -60
  433. package/lib/utils/menu/index.ts +0 -1
  434. package/lib/utils/menu/menu.ts +0 -174
  435. package/lib/utils/merge-refs/index.ts +0 -1
  436. package/lib/utils/merge-refs/merge-refs.stories.tsx +0 -92
  437. package/lib/utils/merge-refs/merge-refs.ts +0 -16
  438. package/lib/utils/rating/index.ts +0 -1
  439. package/lib/utils/rating/rating.ts +0 -30
  440. package/lib/utils/score-bar/index.ts +0 -1
  441. package/lib/utils/score-bar/score-bar.ts +0 -45
  442. package/lib/utils/string/index.ts +0 -1
  443. package/lib/utils/string/string.stories.tsx +0 -71
  444. package/lib/utils/string/string.ts +0 -26
  445. package/lib/utils/token-list-input/token-list-input.ts +0 -32
  446. package/lib/utils/tokens/index.ts +0 -1
  447. package/lib/utils/tokens/tokens.ts +0 -237
@@ -1,1046 +0,0 @@
1
- import * as React from 'react';
2
- import {difference, union} from 'lodash';
3
-
4
- import {getFilteredOptionsFromSearchText} from '../../utils/menu';
5
- import {Avatar} from '../Avatar';
6
- import {Button} from '../Button';
7
- import {Icon} from '../Icon';
8
- import {SearchInput} from '../SearchInput';
9
- import {
10
- ButtonTextMedium,
11
- ButtonTextSmallUnderline,
12
- FormLabelMedium,
13
- FormLabelSmall,
14
- SubTitleSmall,
15
- } from '../Text';
16
- import {Tooltip} from '../Tooltip';
17
- import {Truncate} from '../Truncate';
18
-
19
- import type {MenuGroupTitleOption, MenuOption, MenuProps} from './Menu';
20
- import {Menu} from './Menu';
21
-
22
- import css from './Menu.stories.module.css';
23
-
24
-
25
- const textOptions: MenuOption[] = [
26
- {key: '1', label: 'Option one'},
27
- {key: '2', label: 'Option two with some extra words to increase length'},
28
- {
29
- key: '3',
30
- label:
31
- 'Option three with more content to demonstrate truncation and test three lines wrap.',
32
- },
33
- {
34
- key: '4',
35
- label:
36
- 'Option four very long option that would truncate and now it is even longer than before to ensure truncation happens',
37
- },
38
- {key: '5', label: 'Option five(disabled)', disabled: true},
39
- {
40
- key: '6',
41
- label: 'Option six(disabled) very long option that would truncate',
42
- disabled: true,
43
- },
44
- {key: '7', label: 'Option Seven'},
45
- {key: '8', label: 'Option Eight'},
46
- {key: '9', label: 'Option Nine'},
47
- {key: '10', label: 'Option Ten'},
48
- {key: '11', label: 'Option Eleven'},
49
- {key: '12', label: 'Option Twelve'},
50
- {key: '13', label: 'Option Thirteen'},
51
- ];
52
-
53
- const checkboxOptions: MenuOption[] = [
54
- {key: '1', label: 'Option one', indeterminate: true},
55
- {key: '2', label: 'Option two'},
56
- {key: '3', label: 'Option three', indeterminate: true},
57
- {
58
- key: '4',
59
- label: 'Option four very long option that would truncate',
60
- },
61
- {key: '5', label: 'Option five(disabled)', disabled: true},
62
- {
63
- key: '6',
64
- label: 'Option six(disabled) very long option that would truncate',
65
- disabled: true,
66
- },
67
- {key: '7', label: 'Option Seven'},
68
- ];
69
-
70
- const textOptionsWithSecondaryLabel: MenuOption[] = [
71
- {key: '1', label: 'Option one', secondaryLabel: 'Sub Text'},
72
- {key: '2', label: 'Option two', secondaryLabel: 'Sub Text'},
73
- {key: '3', label: 'Option three', secondaryLabel: 'Sub Text'},
74
- {
75
- key: '4',
76
- label: 'Option four very long option that would truncate',
77
- secondaryLabel: 'Option four very long option that would truncate',
78
- },
79
- {
80
- key: '5',
81
- label: 'Option five(disabled)',
82
- disabled: true,
83
- secondaryLabel: 'Sub Text',
84
- },
85
- {
86
- key: '6',
87
- label: 'Option six(disabled) very long option that would truncate',
88
- disabled: true,
89
- secondaryLabel: 'Sub Text',
90
- },
91
- {key: '7', label: 'Option Seven', secondaryLabel: 'Sub Text'},
92
- {key: '8', label: 'Option Eight', secondaryLabel: 'Sub Text'},
93
- {key: '9', label: 'Option Nine', secondaryLabel: 'Sub Text'},
94
- ];
95
-
96
- const iconLeftOptions: MenuOption[] = [
97
- {
98
- key: '1',
99
- label: 'Option one',
100
- iconLeft: 'coffee',
101
- },
102
- {key: '2', label: 'Option two', iconLeft: 'user'},
103
- {
104
- key: '4',
105
- label: 'Option four very long option that would truncate',
106
- iconLeft: 'face-party',
107
- },
108
- {
109
- key: '5',
110
- label: 'Option five(disabled)',
111
- disabled: true,
112
- iconLeft: 'flag',
113
- },
114
- {
115
- key: '6',
116
- label: 'Option six(disabled) very long option that would truncate',
117
- disabled: true,
118
- iconLeft: 'camera',
119
- },
120
- ];
121
-
122
- const coloredOptions: MenuOption[] = [
123
- {
124
- key: '1',
125
- label: 'Edit',
126
- iconLeft: 'pen',
127
- },
128
- {
129
- key: '2',
130
- label: 'Delete',
131
- iconLeft: 'trash',
132
- classNames: {wrapper: css.dangerText},
133
- },
134
- ];
135
-
136
- const iconRightOptions: MenuOption[] = [
137
- {key: '1', label: 'Option one', iconRight: 'coffee'},
138
- {key: '2', label: 'Option two', iconRight: 'user'},
139
- {
140
- key: '4',
141
- label: 'Option four very long option that would truncate',
142
- iconRight: 'face-party',
143
- },
144
- {
145
- key: '5',
146
- label: 'Option five(disabled)',
147
- disabled: true,
148
- iconRight: 'flag',
149
- },
150
- {
151
- key: '6',
152
- label: 'Option six(disabled) very long option that would truncate',
153
- disabled: true,
154
- iconRight: 'camera',
155
- },
156
- ];
157
-
158
- const iconLeftRightOptions: MenuOption[] = [
159
- {key: '1', label: 'Option one', iconRight: 'coffee', iconLeft: 'coffee'},
160
- {key: '2', label: 'Option two', iconRight: 'user', iconLeft: 'coffee'},
161
- {
162
- key: '4',
163
- label: 'Option four very long option that would truncate',
164
- iconRight: 'face-party',
165
- iconLeft: 'coffee',
166
- },
167
- {
168
- key: '5',
169
- label: 'Option five(disabled)',
170
- disabled: true,
171
- iconRight: 'flag',
172
- iconLeft: 'coffee',
173
- },
174
- {
175
- key: '6',
176
- label: 'Option six(disabled) very long option that would truncate',
177
- disabled: true,
178
- iconRight: 'camera',
179
- iconLeft: 'coffee',
180
- },
181
- ];
182
-
183
- export default {
184
- tags: ['autodocs'],
185
- title: 'Components/Menu',
186
- argTypes: {
187
- resolveLabel: {
188
- description:
189
- 'A function that resolves the label for a MenuOption. This is useful when you want to customize the label of an option based on some condition',
190
- table: {
191
- type: {
192
- summary: '(option: MenuOption) => string | React.ReactNode',
193
- },
194
- },
195
- },
196
- resolveSecondaryLabel: {
197
- description:
198
- 'A function that resolves the secondary label for a MenuOption. This is useful when you want to customize the secondary label of an option based on some condition',
199
- table: {
200
- type: {
201
- summary: '(option: MenuOption) => string | React.ReactNode',
202
- },
203
- },
204
- },
205
- onSelect: {
206
- description:
207
- '**onSelect** handler is triggered when there is a change in selected option',
208
- action: 'clicked',
209
- table: {
210
- type: {
211
- summary:
212
- '(option: MenuOption, ?SyntheticEvent<HTMLElement>) => mixed',
213
- },
214
- },
215
- },
216
- onTabOut: {
217
- description:
218
- '**onTabOut** callback is triggered when the user navigates outside of the menu using the tab key',
219
- action: 'tabout',
220
- table: {
221
- type: {summary: '() => mixed'},
222
- },
223
- },
224
- options: {
225
- description: `list of Options to be displayed in the menu.
226
- Menu component accepts options / composeOptions / groupTitleOptions whatever is available first and not all.`,
227
- control: {
228
- type: 'object',
229
- },
230
- table: {
231
- type: {
232
- summary: `Array<{
233
- key?: string,
234
- label: React.ReactNode,
235
- customComponent?: React.ReactNode,
236
- secondaryLabel?: React.ReactNode,
237
- iconLeft?: string,
238
- iconLeftType?: IconType,
239
- iconRight?: string,
240
- iconRightType?: IconType,
241
- disabled?: boolean,
242
- optionSize?: MenuSizeTypes,
243
- indeterminate?: boolean,
244
- }>`,
245
- },
246
- },
247
- },
248
- composeOptions: {
249
- description: `list of list of Options are grouped and displayed in the menu.
250
- Menu component accepts options / composeOptions / groupTitleOptions whatever is available first and not all.`,
251
- control: {
252
- type: 'object',
253
- },
254
- table: {
255
- type: {
256
- summary: `Array<Array<{
257
- key?: string,
258
- label: React.ReactNode,
259
- customComponent?: React.ReactNode,
260
- secondaryLabel?: React.ReactNode,
261
- iconLeft?: string,
262
- iconLeftType?: IconType,
263
- iconRight?: string,
264
- iconRightType?: IconType,
265
- disabled?: boolean,
266
- optionSize?: MenuSizeTypes,
267
- indeterminate?: boolean,
268
- }>>`,
269
- },
270
- },
271
- },
272
- groupTitleOptions: {
273
- description: `List of Options are grouped with a title(each group contains a set of options) and displayed in the menu.
274
- Menu component accepts options / composeOptions / groupTitleOptions whatever is available first and not all.`,
275
- control: {
276
- type: 'object',
277
- },
278
- table: {
279
- type: {
280
- summary: `Array<{
281
- groupTitle?: React.ReactNode,
282
- options?: Array<MenuOption>
283
- }>`,
284
- },
285
- },
286
- },
287
- selectedOption: {
288
- description: `Used in cases where you want to pre-select an option as soon as the component renders.
289
- Selection is triggered when the selected option exactly matches one of the passed option.
290
- **Note:** This prop would be deprecated soon. Please use \`selectedKeys\` instead
291
- `,
292
- control: {
293
- type: 'object',
294
- },
295
- table: {
296
- type: {summary: 'MenuOption'},
297
- },
298
- },
299
- optionsVariant: {
300
- description: 'Menu supports multiple options variant',
301
- control: {
302
- type: 'select',
303
- },
304
- options: ['checkbox', 'radio', 'normal'],
305
- table: {
306
- type: {summary: 'enum'},
307
- defaultValue: {summary: 'normal'},
308
- },
309
- },
310
- selectedKeys: {
311
- description:
312
- 'Selected keys corresponding to options. These options are shown as selected in UI',
313
- control: {
314
- type: 'array',
315
- },
316
- table: {
317
- type: {summary: 'Array<string>'},
318
- },
319
- },
320
- classNames: {
321
- description:
322
- 'External classnames to be applied. Wrapper gets applied to Menu wrapper and option gets applied to each option in the menu.',
323
- control: {
324
- type: 'object',
325
- },
326
- table: {
327
- type: {
328
- summary:
329
- '{wrapper?: string, option?: string, groupTitle?: string, optionTextContainer?: string, optionTextLabel?: string, header?: string, footer?: string}',
330
- },
331
- },
332
- },
333
- size: {
334
- description:
335
- 'Menu supports only two size variants namely small and medium. `small` < `medium`',
336
- control: {
337
- type: 'radio',
338
- },
339
- options: ['small', 'medium'],
340
- table: {
341
- type: {summary: 'enum'},
342
- defaultValue: {summary: 'medium'},
343
- },
344
- },
345
- width: {
346
- description:
347
- 'Manual width control. This overrides the default width considerations of Menu',
348
- control: {
349
- type: 'text',
350
- },
351
- table: {
352
- type: {summary: 'string'},
353
- },
354
- },
355
- menuDisabled: {
356
- description: 'if **true**, the option is disabled',
357
- table: {
358
- type: {summary: 'boolean'},
359
- defaultValue: {summary: false},
360
- },
361
- },
362
- isFluid: {
363
- description:
364
- 'if **true**, the component would take the width of the container it is placed in',
365
- control: {
366
- type: 'boolean',
367
- },
368
- table: {
369
- type: {summary: 'boolean'},
370
- defaultValue: {summary: false},
371
- },
372
- },
373
- allowSearch: {
374
- description: `if **true**, the component would show a search input on top of menu.
375
- This is a simple **static search**
376
- which filter options by **matching search text to option label**`,
377
- control: {
378
- type: 'boolean',
379
- },
380
- table: {
381
- type: {summary: 'boolean'},
382
- defaultValue: {summary: false},
383
- },
384
- },
385
- virtualization: {
386
- description: `If **Enabled**, the options will only be rendered when they are within the component's viewport. **menuHeight and itemHeight** accept numerical input, interpreted as pixel values.`,
387
- control: {
388
- type: 'object',
389
- },
390
- table: {
391
- type: {
392
- summary:
393
- '{enable: boolean, menuHeight?: number, itemHeight?: number}',
394
- },
395
- },
396
- },
397
- header: {
398
- description: 'Custom Header For the Menu',
399
- table: {
400
- type: {
401
- summary: 'React.ReactNode',
402
- },
403
- },
404
- },
405
- footer: {
406
- description: 'Custom Header For the Menu',
407
- table: {
408
- type: {
409
- summary: 'React.ReactNode',
410
- },
411
- },
412
- },
413
- showResultText: {
414
- description: `if **true**, shows result text below **search input**.
415
- **Note:** For the result text to be displayed below the search input, please ensure that allowSearch is set to true.`,
416
- control: {
417
- type: 'boolean',
418
- },
419
- table: {
420
- type: {summary: 'boolean'},
421
- defaultValue: {summary: true},
422
- },
423
- },
424
- staticLabels: {
425
- description:
426
- 'External labels to be assigned to static text displayed in the UI.',
427
- control: {
428
- type: 'object',
429
- },
430
- table: {
431
- type: {
432
- summary: '{[key: string]: string}',
433
- },
434
- defaultValue: {
435
- summary: `{RESULT: 'result', RESULTS: 'results', SEARCH_PLACEHOLDER: 'Search...'}`,
436
- },
437
- },
438
- },
439
- showLabelTooltip: {
440
- description: 'Show Tooltip on the label of the menu option if truncated',
441
- control: {
442
- type: 'object',
443
- },
444
- table: {
445
- type: {summary: 'MenuLabelTooltip'},
446
- },
447
- },
448
- allowWrap: {
449
- description:
450
- 'Allows the label to wrap up to 3 lines. If truncated, a tooltip will display up to 10 lines.',
451
- control: {
452
- type: 'boolean',
453
- },
454
- table: {
455
- type: {summary: 'boolean'},
456
- defaultValue: {summary: false},
457
- },
458
- },
459
- },
460
- parameters: {
461
- docs: {
462
- subtitle: 'Generates a Menu component',
463
- description: {
464
- component: `
465
- \`\`\`js
466
- import { Menu } from "@spaced-out/ui-design-system/lib/components/Menu";
467
- \`\`\`
468
- **Menu** is a list of choices on a temporary surface. It appears on interacts with a button, or other control. This is a standalone Menu component,
469
- in real world use cases Menu component would be used in conjunction with other component like Button, Input, Typeahead, etc. Each option in the Menu
470
- component is implemented as an \`UnstyledButton\`.
471
- - The component also supports custom **header** as \`React Component\` and this is then passed in
472
- the **<a href="../?path=/docs/components-menu--docs">Menu</a>** Component.
473
- - The component also supports custom **footer** as \`React Component\` and this is then passed in
474
- the **<a href="../?path=/docs/components-menu--docs">Menu</a>** Component. This might be useful when you need
475
- to save some state in the parent component.
476
- `,
477
- },
478
- },
479
- storySource: {
480
- componentPath: '/src/components/Menu/Menu.jsx',
481
- },
482
- },
483
- };
484
-
485
- export const _TextOnly = (args: MenuProps) => <Menu {...args} />;
486
-
487
- _TextOnly.args = {
488
- isFluid: false,
489
- menuDisabled: false,
490
- size: 'medium',
491
- options: textOptions,
492
- selectedKeys: ['2'],
493
- };
494
- export const _TextWithTooltip = (args: MenuProps) => (<Menu {...args} />);
495
-
496
- _TextWithTooltip.args = {
497
- isFluid: false,
498
- menuDisabled: false,
499
- size: 'medium',
500
- options: textOptions,
501
- selectedKeys: ['2'],
502
- showLabelTooltip: {maxLines: 2},
503
- };
504
-
505
- export const _MenuWithWrap = (args: MenuProps) => {
506
- const [selectedKeys, setSelectedKeys] = React.useState(
507
- args.selectedKeys || [],
508
- );
509
- const selectKeys = (option: MenuOption) => {
510
- setSelectedKeys([option.key]);
511
- };
512
-
513
- return <Menu {...args} selectedKeys={selectedKeys} onSelect={selectKeys} />;
514
- };
515
-
516
- _MenuWithWrap.args = {
517
- isFluid: false,
518
- menuDisabled: false,
519
- size: 'medium',
520
- options: textOptions,
521
- selectedKeys: ['2'],
522
- allowWrap: true,
523
- };
524
-
525
- export const _WithSearch = (args: MenuProps) => <Menu {...args} />;
526
-
527
- _WithSearch.args = {
528
- isFluid: false,
529
- menuDisabled: false,
530
- size: 'medium',
531
- options: textOptions,
532
- allowSearch: true,
533
- };
534
-
535
- export const _TextAndIconLeft = (args: MenuProps) => (<Menu {...args} />);
536
-
537
- _TextAndIconLeft.args = {
538
- isFluid: false,
539
- menuDisabled: false,
540
- size: 'medium',
541
- options: iconLeftOptions,
542
- selectedKeys: ['2'],
543
- };
544
-
545
- /**
546
- * To make one of the options colored, you can set the classNames wrapper property in the option object.
547
- * Eg:
548
- * You would need to set the color of the option and manage the hover, focus and active state yourself.
549
- * ### JS
550
- * ```
551
- * const coloredOptions: MenuOption[] = [
552
- * {
553
- * key: '1',
554
- * label: 'Edit',
555
- * iconLeft: 'coffee',
556
- * },
557
- * {
558
- * key: '2',
559
- * label: 'Delete',
560
- * iconLeft: 'trash',
561
- * classNames: { wrapper: css.dangerText },
562
- * },
563
- * ];
564
- * ```
565
- * ### CSS
566
- * ```
567
- * .dangerText:hover,
568
- * .dangerText:active,
569
- * .dangerText:focus {
570
- * color: colorTextDanger;
571
- * }
572
- * ```
573
- */
574
- export const _ColoredOption = (args: MenuProps) => (<Menu {...args} />);
575
-
576
- _ColoredOption.args = {
577
- isFluid: false,
578
- menuDisabled: false,
579
- size: 'medium',
580
- options: coloredOptions,
581
- };
582
-
583
- export const _TextAndIconRight = (args: MenuProps) => (<Menu {...args} />);
584
-
585
- _TextAndIconRight.args = {
586
- isFluid: false,
587
- menuDisabled: false,
588
- size: 'medium',
589
- options: iconRightOptions,
590
- selectedKeys: ['2'],
591
- };
592
-
593
- export const _TextAndDualIcon = (args: MenuProps) => (<Menu {...args} />);
594
-
595
- _TextAndDualIcon.args = {
596
- isFluid: false,
597
- menuDisabled: false,
598
- size: 'medium',
599
- options: iconLeftRightOptions,
600
- selectedKeys: ['2'],
601
- };
602
-
603
- export const _DualText = (args: MenuProps) => <Menu {...args} />;
604
-
605
- _DualText.args = {
606
- isFluid: false,
607
- menuDisabled: false,
608
- size: 'medium',
609
- options: textOptionsWithSecondaryLabel,
610
- selectedKeys: ['2'],
611
- };
612
-
613
- export const _WithResolvers = (args: MenuProps) => {
614
- const resolveLabel = (option: MenuOption) => (
615
- <div className={css.customComponent}>
616
- {parseInt(option.key) < 6 ? (
617
- <Avatar
618
- imageSrc={`https://cdn.sensehq.com/genesis/hashed/static/images/personas/${option.key}.png`}
619
- />
620
- ) : (
621
- <Avatar iconName="user" />
622
- )}
623
-
624
- <ButtonTextMedium className={css.text} color="secondary">
625
- <Truncate>{option.label}</Truncate>
626
- </ButtonTextMedium>
627
- </div>
628
- );
629
-
630
- return <Menu {...args} resolveLabel={resolveLabel} />;
631
- };
632
-
633
- _WithResolvers.args = {
634
- isFluid: false,
635
- menuDisabled: false,
636
- size: 'medium',
637
- options: textOptions,
638
- };
639
-
640
- const composeMenuOptions: Array<Array<MenuOption>> = [
641
- [
642
- {
643
- key: '1',
644
- label: 'Option one',
645
- secondaryLabel: 'Sub Text',
646
- optionSize: 'small',
647
- },
648
- {
649
- key: '2',
650
- label: 'Option two',
651
- secondaryLabel: 'Sub Text',
652
- optionSize: 'small',
653
- },
654
- {
655
- key: '3',
656
- label: 'Option three',
657
- secondaryLabel: 'Sub Text',
658
- optionSize: 'small',
659
- },
660
- ],
661
- [
662
- {
663
- iconLeft: 'coffee',
664
- key: '4',
665
- label: 'Option one',
666
- optionSize: 'medium',
667
- },
668
- ],
669
- [
670
- {
671
- iconLeft: 'coffee',
672
- key: '5',
673
- label: 'Option one',
674
- optionSize: 'medium',
675
- },
676
- ],
677
- ];
678
-
679
- export const _ComposeMenu = (args: MenuProps) => <Menu {...args} />;
680
-
681
- _ComposeMenu.args = {
682
- isFluid: false,
683
- menuDisabled: false,
684
- size: 'medium',
685
- composeOptions: composeMenuOptions,
686
- selectedKeys: ['2'],
687
- };
688
-
689
- const customComponentMenuOptions: Array<MenuOption> = [
690
- {
691
- key: '1',
692
- customComponent: (
693
- <div className={css.customComponent}>
694
- <Avatar
695
- color="blue"
696
- imageSrc="https://cdn.sensehq.com/genesis/hashed/static/images/personas/1.png"
697
- iconName="face-party"
698
- iconType="regular"
699
- size="medium"
700
- />
701
- <ButtonTextMedium className={css.text}>Angelina White</ButtonTextMedium>
702
- </div>
703
- ),
704
- },
705
- {
706
- key: '2',
707
- customComponent: (
708
- <div className={css.customComponent}>
709
- <Avatar
710
- imageSrc="https://cdn.sensehq.com/genesis/hashed/static/images/personas/4.png"
711
- color="green"
712
- size="medium"
713
- text="John"
714
- />
715
- <ButtonTextMedium className={css.text}>John Smith</ButtonTextMedium>
716
- </div>
717
- ),
718
- },
719
- {
720
- key: '3',
721
-
722
- customComponent: (
723
- <div className={css.customComponent}>
724
- <Avatar
725
- imageSrc="https://cdn.sensehq.com/genesis/hashed/static/images/personas/6.png"
726
- color="orange"
727
- size="medium"
728
- text="Jacobs Marley"
729
- />
730
- <ButtonTextMedium className={css.text}>Sarah Parker</ButtonTextMedium>
731
- </div>
732
- ),
733
- },
734
- ];
735
-
736
- export const _CustomComponentMenu = (args: MenuProps) => (<Menu {...args} />);
737
-
738
- _CustomComponentMenu.args = {
739
- isFluid: false,
740
- menuDisabled: false,
741
- classNames: {option: css.optionText},
742
- size: 'medium',
743
- options: customComponentMenuOptions,
744
- selectedKeys: ['2'],
745
- };
746
-
747
- const groupTitleComponentMenuOptions: Array<MenuGroupTitleOption> = [
748
- {
749
- groupTitle: (
750
- <div className={css.titleWrapper}>
751
- <FormLabelSmall color="tertiary">Fast Food</FormLabelSmall>
752
- <div className={css.infoContainer}>
753
- <Tooltip title="Hello!" elevation="menu">
754
- <Icon name="circle-info" size="small" color="tertiary" />
755
- </Tooltip>
756
- </div>
757
- </div>
758
- ),
759
- options: [
760
- {
761
- key: '1',
762
- iconLeft: 'burger',
763
- label: 'Burger',
764
- },
765
- {
766
- key: '2',
767
- iconLeft: 'pizza',
768
- label: 'Pizza',
769
- },
770
- {
771
- key: '3',
772
- iconLeft: 'french-fries',
773
- label: 'Fries',
774
- },
775
- ],
776
- },
777
- {
778
- showLineDivider: true,
779
- groupTitle: (
780
- <div className={css.titleWrapper}>
781
- <FormLabelSmall color="tertiary">Fruits</FormLabelSmall>
782
- <div className={css.infoContainer}>
783
- <Tooltip title="Hello!" elevation="menu">
784
- <Icon name="circle-info" size="small" color="tertiary" />
785
- </Tooltip>
786
- </div>
787
- </div>
788
- ),
789
- options: [
790
- {
791
- key: '7',
792
- iconLeft: 'banana',
793
- label: 'Banana',
794
- },
795
- {
796
- key: '8',
797
- iconLeft: 'pear',
798
- label: 'Pear',
799
- },
800
- {
801
- key: '9',
802
- iconLeft: 'lemon',
803
- label: 'Lemon',
804
- },
805
- ],
806
- },
807
- ];
808
-
809
- export const _GroupTitleMenu = (args: MenuProps) => (<Menu {...args} classNames={{groupTitle: css.gpTitle}} />);
810
-
811
- _GroupTitleMenu.args = {
812
- isFluid: false,
813
- menuDisabled: false,
814
- classNames: {option: css.optionText},
815
- size: 'medium',
816
- groupTitleOptions: groupTitleComponentMenuOptions,
817
- selectedKeys: ['2'],
818
- };
819
-
820
- const GroupTitleActionMenu = (args: MenuProps) => {
821
- const [searchText, setSearchText] = React.useState<string>('');
822
- const [selectedKeys, setSelectedKeys] = React.useState(
823
- args.selectedKeys || [],
824
- );
825
- const optionsFiltered = getFilteredOptionsFromSearchText(
826
- textOptions,
827
- searchText,
828
- );
829
- const optionsFilteredKeys = optionsFiltered
830
- .filter(({disabled}) => !disabled)
831
- .map(({key}) => key);
832
-
833
- React.useEffect(() => {
834
- setSelectedKeys(args.selectedKeys || []);
835
- }, [args.selectedKeys]);
836
-
837
- const selectKeys = (option: MenuOption) => {
838
- if (selectedKeys.includes(option.key)) {
839
- setSelectedKeys(difference(selectedKeys, [option.key]));
840
- } else {
841
- setSelectedKeys(union(selectedKeys, [option.key]));
842
- }
843
- };
844
-
845
- const selectAllKeys = () => {
846
- setSelectedKeys(union(selectedKeys, optionsFilteredKeys));
847
- };
848
-
849
- const clearSelectedKeys = () => {
850
- setSelectedKeys(difference(selectedKeys, optionsFilteredKeys));
851
- };
852
-
853
- return (
854
- <Menu
855
- {...args}
856
- optionsVariant="checkbox"
857
- selectedKeys={selectedKeys}
858
- onSelect={selectKeys}
859
- classNames={{
860
- header: css.groupTitleActionHeader,
861
- groupTitle: css.groupTitle,
862
- }}
863
- header={
864
- <SearchInput
865
- value={searchText}
866
- onChange={(e) => setSearchText(e.target.value)}
867
- onClear={() => setSearchText('')}
868
- size={args.size}
869
- />
870
- }
871
- groupTitleOptions={[
872
- {
873
- groupTitle: (
874
- <>
875
- <FormLabelMedium color="tertiary">
876
- {`Values (${optionsFiltered.length})`}
877
- </FormLabelMedium>
878
- <div className={css.groupTitleActions}>
879
- <ButtonTextSmallUnderline
880
- className={css.groupTitleAction}
881
- // @ts-ignore - TS2769 - No overload matches this call.
882
- onClick={clearSelectedKeys}
883
- >
884
- Clear
885
- </ButtonTextSmallUnderline>
886
- <ButtonTextSmallUnderline
887
- color="clickable"
888
- className={css.groupTitleAction}
889
- // @ts-ignore - TS2769 - No overload matches this call.
890
- onClick={selectAllKeys}
891
- >
892
- Select All
893
- </ButtonTextSmallUnderline>
894
- </div>
895
- </>
896
- ),
897
- options: optionsFiltered,
898
- },
899
- ]}
900
- />
901
- );
902
- };
903
-
904
- export const _GroupTitleActionMenu = (args: MenuProps) => (<GroupTitleActionMenu {...args} />);
905
-
906
- _GroupTitleActionMenu.args = {
907
- isFluid: false,
908
- menuDisabled: false,
909
- classNames: {option: css.optionText},
910
- size: 'medium',
911
- selectedKeys: ['2'],
912
- };
913
-
914
- export const _CheckboxMenu = (args: MenuProps) => {
915
- const [selectedKeys, setSelectedKeys] = React.useState(
916
- args.selectedKeys || [],
917
- );
918
-
919
- React.useEffect(() => {
920
- setSelectedKeys(args.selectedKeys || []);
921
- }, [args.selectedKeys]);
922
-
923
- const selectKeys = (option: MenuOption) => {
924
- if (selectedKeys.includes(option.key)) {
925
- setSelectedKeys(selectedKeys.filter((item) => item !== option.key));
926
- } else {
927
- setSelectedKeys([...selectedKeys, option.key]);
928
- }
929
- };
930
-
931
- return <Menu {...args} selectedKeys={selectedKeys} onSelect={selectKeys} />;
932
- };
933
-
934
- _CheckboxMenu.args = {
935
- isFluid: false,
936
- menuDisabled: false,
937
- classNames: {option: css.optionText},
938
- size: 'medium',
939
- options: checkboxOptions,
940
- optionsVariant: 'checkbox',
941
- selectedKeys: ['1', '4'],
942
- };
943
-
944
- export const _RadioMenu = (args: MenuProps) => {
945
- const [selectedKeys, setSelectedKeys] = React.useState(
946
- args.selectedKeys || [],
947
- );
948
-
949
- React.useEffect(() => {
950
- setSelectedKeys(args.selectedKeys || []);
951
- }, [args.selectedKeys]);
952
-
953
- const selectKeys = (option: MenuOption) => {
954
- setSelectedKeys([option.key]);
955
- };
956
-
957
- return <Menu {...args} selectedKeys={selectedKeys} onSelect={selectKeys} />;
958
- };
959
-
960
- _RadioMenu.args = {
961
- isFluid: false,
962
- menuDisabled: false,
963
- classNames: {option: css.optionText},
964
- size: 'medium',
965
- options: textOptions,
966
- optionsVariant: 'radio',
967
- selectedKeys: ['1'],
968
- };
969
-
970
- export const MenuHeader = () => (<div className={css.headerComponent}>
971
- <SubTitleSmall>Menu Header</SubTitleSmall>
972
- </div>);
973
-
974
- export const MenuFooter = (
975
- {
976
- onSave,
977
- onCancel,
978
- }: {
979
- onSave?: () => void;
980
- onCancel?: () => void;
981
- },
982
- ) => (<div className={css.footerComponent}>
983
- <Button size="small" type="ghost" onClick={onCancel}>
984
- Cancel
985
- </Button>
986
- <Button size="small" type="secondary" onClick={onSave}>
987
- Save
988
- </Button>
989
- </div>);
990
-
991
- export const _WithHeader = (args: MenuProps) => (<Menu {...args} header={<MenuHeader />} />);
992
-
993
- _WithHeader.args = {
994
- isFluid: false,
995
- menuDisabled: false,
996
- size: 'small',
997
- options: textOptions,
998
- selectedKeys: ['2'],
999
- };
1000
-
1001
- export const _WithFooter = (args: MenuProps) => (<Menu {...args} footer={<MenuFooter />} />);
1002
-
1003
- _WithFooter.args = {
1004
- isFluid: false,
1005
- menuDisabled: false,
1006
- size: 'small',
1007
- options: textOptions,
1008
- selectedKeys: ['2'],
1009
- };
1010
-
1011
- export const _WithHeaderAndFooter = (args: MenuProps) => {
1012
- const [selectedKeys, setSelectedKeys] = React.useState(
1013
- args.selectedKeys || [],
1014
- );
1015
-
1016
- React.useEffect(() => {
1017
- setSelectedKeys(args.selectedKeys || []);
1018
- }, [args.selectedKeys]);
1019
-
1020
- const selectKeys = (option: MenuOption) => {
1021
- if (selectedKeys.includes(option.key)) {
1022
- setSelectedKeys(selectedKeys.filter((item) => item !== option.key));
1023
- } else {
1024
- setSelectedKeys([...selectedKeys, option.key]);
1025
- }
1026
- };
1027
-
1028
- return (
1029
- <Menu
1030
- {...args}
1031
- selectedKeys={selectedKeys}
1032
- onSelect={selectKeys}
1033
- header={<MenuHeader />}
1034
- footer={<MenuFooter />}
1035
- />
1036
- );
1037
- };
1038
-
1039
- _WithHeaderAndFooter.args = {
1040
- isFluid: false,
1041
- menuDisabled: false,
1042
- classNames: {option: css.optionText},
1043
- options: textOptions,
1044
- optionsVariant: 'checkbox',
1045
- selectedKeys: ['1', '4'],
1046
- };