@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,452 +0,0 @@
1
- import * as React from 'react';
2
-
3
- import {Button} from '../Button';
4
- import {Dialog, DialogBody, DialogFooter, DialogHeader} from '../Dialog';
5
- import {SimpleDropdown} from '../Dropdown';
6
- import {Input} from '../Input';
7
- import {BodyLarge, SubTitleLarge} from '../Text';
8
- import {Textarea} from '../Textarea';
9
- import {Tooltip} from '../Tooltip';
10
-
11
- import type {PanelProps} from './Panel';
12
- import {Panel, PanelBody, PanelFooter, PanelHeader} from './Panel';
13
-
14
- import css from './Panel.stories.module.css';
15
-
16
-
17
- export default {
18
- tags: ['autodocs'],
19
- title: 'Components/Panel',
20
- argTypes: {
21
- isOpen: {
22
- description: 'if **true**, the modal is presented',
23
- control: {
24
- type: 'boolean',
25
- },
26
- table: {
27
- type: {summary: 'boolean'},
28
- defaultValue: {summary: 'false'},
29
- },
30
- },
31
- classNames: {
32
- description: 'External classnames to be applied',
33
- control: {
34
- type: 'object',
35
- },
36
- table: {
37
- type: {
38
- summary: '{container?: string, content?: string, backdrop?: string}',
39
- },
40
- },
41
- },
42
- tapOutsideToClose: {
43
- description: 'if **true**, closes the modal on tap of backdrop',
44
- control: {
45
- type: 'boolean',
46
- },
47
- table: {
48
- type: {summary: 'boolean'},
49
- defaultValue: {summary: 'true'},
50
- },
51
- },
52
- anchor: {
53
- options: ['left', 'right'],
54
- description: 'Position of Panel',
55
- control: {
56
- type: 'select',
57
- },
58
- table: {
59
- type: {summary: 'enum'},
60
- defaultValue: {summary: 'left'},
61
- },
62
- },
63
- allowBackgroundInteraction: {
64
- description:
65
- 'if **true**, allows interaction with the background content. This would remove the backdrop layer for the panel and set tapOutsideToClose to false',
66
- control: {
67
- type: 'boolean',
68
- },
69
- table: {
70
- type: {summary: 'boolean'},
71
- defaultValue: {summary: 'false'},
72
- },
73
- },
74
- size: {
75
- description:
76
- 'Panel supports only three size variants namely small, medium and large. `small` < `medium` < `large`',
77
- options: ['small', 'medium', 'large'],
78
- control: {
79
- type: 'select',
80
- },
81
- table: {
82
- type: {summary: 'enum'},
83
- defaultValue: {summary: 'medium'},
84
- },
85
- },
86
- children: {
87
- description: 'The children to rendered inside the Modal window',
88
- table: {
89
- type: {summary: 'React.ReactNode'},
90
- },
91
- },
92
- onClose: {
93
- description: '**onClose** handler is triggered on backdrop click',
94
- action: 'clicked',
95
- table: {
96
- type: {summary: '(SyntheticEvent<HTMLElement>) => mixed'},
97
- },
98
- },
99
- customAnimation: {
100
- description: `
101
- \`<Modal>\` and its derivatives(\`<Dialog>\`, \`<Panel>\`) support
102
- \`customAnimation: UseTransitionStylesProps\` prop for
103
- all your custom animation needs.
104
- It defines the following properties:
105
-
106
- - \`duration\` (optional): Specifies the duration of the animation in milliseconds.
107
- It can be a single number to set the duration for both opening and closing animations,
108
- or an object with separate open and close properties to specify different durations
109
- for opening and closing animations.
110
- - \`initial\` (optional): Represents the initial CSS styles for the modal component when
111
- it is first mounted. This property allows you to define the initial appearance of the
112
- modal before any animations occur.
113
- - \`open\` (optional): Defines the CSS styles that should be applied when the modal is fully
114
- opened. This property specifies the appearance of the modal when it transitions from the
115
- initial state to the fully open state.
116
- - \`close\` (optional): Specifies the CSS styles for the modal when it is being closed. This
117
- property determines the appearance of the modal when it transitions from the fully open
118
- state to the closed state.
119
- - \`common\` (optional): Represents the CSS styles that are common to all states of the modal
120
- component. These styles will be applied throughout the entire lifecycle of the modal,
121
- regardless of whether it is in the initial, open, or close state. You can use this property
122
- to define shared styles that should be present in all states.
123
-
124
- The modal component follows a predefined order of states as it transitions through
125
- its lifecycle. It starts in the \`unmounted\` state, then moves to the \`initial\` state when mounted.
126
- From there, it can transition to the \`open\` state when fully opened, and then to the \`close\` state
127
- when being closed. Finally, it returns to the \`unmounted\` state when it is no longer needed.
128
-
129
- This is the transition order: \`unmounted\` -> \`initial\` -> \`open\` -> \`close\` -> \`unmounted\`
130
- By specifying the appropriate values for the \`duration\`, \`initial\`, \`open\`, \`close\`, and \`common\` properties,
131
- you can control the animation and styling of the modal at each stage of its lifecycle.
132
- `,
133
- control: {
134
- type: 'object',
135
- },
136
- table: {
137
- type: {summary: 'UseTransitionStylesProps'},
138
- },
139
- },
140
- hideBackdrop: {
141
- description:
142
- 'if **true**, dark backdrop is removed and transparent backdrop is applied on the DOM',
143
- control: {
144
- type: 'boolean',
145
- },
146
- table: {
147
- type: {summary: 'boolean'},
148
- defaultValue: {summary: 'true'},
149
- },
150
- },
151
- initialFocus: {
152
- description:
153
- 'Which element to initially focus. Can be a number (tabbable index as specified by the order)',
154
- control: {
155
- type: 'number',
156
- },
157
- table: {
158
- type: {summary: 'number'},
159
- defaultValue: {summary: '-1'},
160
- },
161
- },
162
- },
163
-
164
- parameters: {
165
- docs: {
166
- subtitle: 'Generates a Panel component',
167
- description: {
168
- component: `
169
- \`\`\`js
170
- import { Panel, PanelBody, PanelHeader, PanelFooter } from "@spaced-out/ui-design-system/lib/components/Panel";
171
- \`\`\`
172
- Destinations in the app are accessible through Panels. Panels are **side sheets**, which are attached to the left or
173
- right edge of the screen and are surfaces with extra content. Panels can either be permanently on-screen or controlled by an **action**.
174
-
175
- Panel is a variation of a **<a href="../?path=/docs/components-modal--docs">Modal</a>** with additional animation, position and size overrides.
176
-
177
- Semantically a Panel component should be composed from \`PanelHeader\`, \`PanelBody\`, and \`PanelFooter\` **components**, these are nothing but layout components which defines
178
- appropriate spacing for the children living in them. \`PanelHeader\` adds a close icon by default and provides a callback on click. You can pass a prop to
179
- show/hide the close button as well.
180
- Each of these components also exposes a className
181
- `,
182
- },
183
- },
184
- storySource: {
185
- componentPath: '/src/components/Panel/Panel.jsx',
186
- },
187
- },
188
- };
189
-
190
- export const _Normal = (args: PanelProps) => {
191
- const [isOpen, setIsOpen] = React.useState(args.isOpen);
192
-
193
- React.useEffect(() => {
194
- setIsOpen(args.isOpen);
195
- }, [args.isOpen]);
196
-
197
- return (
198
- <div className={css.container}>
199
- <Button onClick={() => setIsOpen(!isOpen)}>Open Panel</Button>
200
- <Panel {...args} isOpen={isOpen} onClose={() => setIsOpen(false)}>
201
- <PanelHeader onCloseButtonClick={() => setIsOpen(false)} size="medium">
202
- <SubTitleLarge>Panel Title</SubTitleLarge>
203
- </PanelHeader>
204
-
205
- <PanelBody>
206
- <Input
207
- type="email"
208
- label="Email Address"
209
- placeholder="Enter your email address"
210
- />
211
- <br />
212
- <SimpleDropdown
213
- label="Issue Type"
214
- placeholder="Select an issue type"
215
- options={[
216
- {
217
- iconLeft: 'bug',
218
- iconLeftType: 'duotone',
219
- key: '1',
220
- label: 'Production Issue',
221
- },
222
- {
223
- iconLeft: 'bug-slash',
224
- iconLeftType: 'duotone',
225
- key: '2',
226
- label: 'Dev Issue',
227
- },
228
- {
229
- iconLeft: 'ban-bug',
230
- iconLeftType: 'duotone',
231
- key: '4',
232
- label: 'Product Issue',
233
- },
234
- ]}
235
- />
236
- <br />
237
- <Textarea
238
- label="Description"
239
- placeholder="Enter the issue description"
240
- />
241
- </PanelBody>
242
-
243
- <PanelFooter>
244
- <Button type="tertiary" onClick={() => setIsOpen(false)}>
245
- Close
246
- </Button>
247
- <Button type="secondary" onClick={() => setIsOpen(false)}>
248
- Save
249
- </Button>
250
- </PanelFooter>
251
- </Panel>
252
- </div>
253
- );
254
- };
255
-
256
- _Normal.args = {
257
- anchor: 'right',
258
- size: 'medium',
259
- tapOutsideToClose: true,
260
- initialFocus: 1,
261
- };
262
-
263
- export const _WithNestedDialog = (args: PanelProps) => {
264
- const [isOpen, setIsOpen] = React.useState(args.isOpen || false);
265
- const [isOpen2, setIsOpen2] = React.useState(false);
266
-
267
- React.useEffect(() => {
268
- // @ts-ignore - TS2345 - Argument of type 'boolean | undefined' is not assignable to parameter of type 'SetStateAction<boolean>'.
269
- setIsOpen(args.isOpen);
270
- }, [args.isOpen]);
271
-
272
- return (
273
- <div className={css.container}>
274
- <Button onClick={() => setIsOpen(!isOpen)}>
275
- Open Panel With Nested Dialog
276
- </Button>
277
- <Panel {...args} isOpen={isOpen} onClose={() => setIsOpen(false)}>
278
- <PanelHeader onCloseButtonClick={() => setIsOpen(false)} size="medium">
279
- <SubTitleLarge>Panel Title(First Elevation)</SubTitleLarge>
280
- </PanelHeader>
281
-
282
- <PanelBody>
283
- <Input
284
- type="email"
285
- label="Email Address"
286
- placeholder="Enter your email address"
287
- />
288
- <br />
289
- <SimpleDropdown
290
- label="Issue Type"
291
- placeholder="Select an issue type"
292
- options={[
293
- {
294
- iconLeft: 'bug',
295
- iconLeftType: 'duotone',
296
- key: '1',
297
- label: 'Production Issue',
298
- },
299
- {
300
- iconLeft: 'bug-slash',
301
- iconLeftType: 'duotone',
302
- key: '2',
303
- label: 'Dev Issue',
304
- },
305
- {
306
- iconLeft: 'ban-bug',
307
- iconLeftType: 'duotone',
308
- key: '4',
309
- label: 'Product Issue',
310
- },
311
- ]}
312
- />
313
- <br />
314
- <Textarea
315
- label="Description"
316
- placeholder="Enter the issue description"
317
- />
318
- <Dialog
319
- initialFocus={1}
320
- onClose={() => setIsOpen2(false)}
321
- semantic="neutral"
322
- isOpen={isOpen2}
323
- >
324
- <DialogHeader>
325
- <SubTitleLarge> Dialog Title</SubTitleLarge>
326
- </DialogHeader>
327
- <DialogBody>
328
- <BodyLarge color="secondary">
329
- Dialogs should only be used occasionally because they are
330
- intended to be disruptive. Dialogs come in multiple variants.
331
- </BodyLarge>
332
- </DialogBody>
333
- <DialogFooter>
334
- <Button isFluid onClick={() => setIsOpen2(false)} type="tertiary">
335
- Close
336
- </Button>
337
- <Button
338
- isFluid
339
- onClick={() => setIsOpen2(false)}
340
- type="secondary"
341
- >
342
- Confirm
343
- </Button>
344
- </DialogFooter>
345
- </Dialog>
346
- </PanelBody>
347
-
348
- <PanelFooter>
349
- <Button type="tertiary" onClick={() => setIsOpen(false)}>
350
- Close
351
- </Button>
352
- <Button type="secondary" onClick={() => setIsOpen2(true)}>
353
- Open Nested Dialog
354
- </Button>
355
- </PanelFooter>
356
- </Panel>
357
- </div>
358
- );
359
- };
360
-
361
- _WithNestedDialog.args = {
362
- anchor: 'right',
363
- size: 'medium',
364
- tapOutsideToClose: true,
365
- initialFocus: 1,
366
- };
367
-
368
- export const _WithInteractiveBackground = (args: PanelProps) => {
369
- const [isOpen, setIsOpen] = React.useState(args.isOpen);
370
-
371
- React.useEffect(() => {
372
- setIsOpen(args.isOpen);
373
- }, [args.isOpen]);
374
-
375
- return (
376
- <div className={css.container}>
377
- <Button onClick={() => setIsOpen(!isOpen)}>Open Panel</Button>
378
- <div className={css.interactionContainer}>
379
- <Tooltip
380
- body="When the panel opens, the background content is interactive"
381
- bodyMaxLines={2}
382
- placement="top"
383
- title="I am interactive tooltip"
384
- >
385
- <Button iconLeftName="face-sunglasses" type="tertiary">
386
- Hover Me after opening the panel
387
- </Button>
388
- </Tooltip>
389
- </div>
390
-
391
- <Panel {...args} isOpen={isOpen} onClose={() => setIsOpen(false)}>
392
- <PanelHeader onCloseButtonClick={() => setIsOpen(false)} size="medium">
393
- <SubTitleLarge>Panel Title</SubTitleLarge>
394
- </PanelHeader>
395
-
396
- <PanelBody>
397
- <Input
398
- type="email"
399
- label="Email Address"
400
- placeholder="Enter your email address"
401
- />
402
- <br />
403
- <SimpleDropdown
404
- label="Issue Type"
405
- placeholder="Select an issue type"
406
- options={[
407
- {
408
- iconLeft: 'bug',
409
- iconLeftType: 'duotone',
410
- key: '1',
411
- label: 'Production Issue',
412
- },
413
- {
414
- iconLeft: 'bug-slash',
415
- iconLeftType: 'duotone',
416
- key: '2',
417
- label: 'Dev Issue',
418
- },
419
- {
420
- iconLeft: 'ban-bug',
421
- iconLeftType: 'duotone',
422
- key: '4',
423
- label: 'Product Issue',
424
- },
425
- ]}
426
- />
427
- <br />
428
- <Textarea
429
- label="Description"
430
- placeholder="Enter the issue description"
431
- />
432
- </PanelBody>
433
-
434
- <PanelFooter>
435
- <Button type="tertiary" onClick={() => setIsOpen(false)}>
436
- Close
437
- </Button>
438
- <Button type="secondary" onClick={() => setIsOpen(false)}>
439
- Save
440
- </Button>
441
- </PanelFooter>
442
- </Panel>
443
- </div>
444
- );
445
- };
446
-
447
- _WithInteractiveBackground.args = {
448
- anchor: 'right',
449
- size: 'medium',
450
- initialFocus: 1,
451
- allowBackgroundInteraction: true,
452
- };
@@ -1,181 +0,0 @@
1
- import {Flow} from 'flow-to-typescript-codemod';
2
-
3
- import * as React from 'react';
4
-
5
- import useMountTransition from '../../hooks/useMountTransition';
6
- import {
7
- motionDurationNormal,
8
- motionDurationSlow,
9
- } from '../../styles/variables/_motion';
10
- import {
11
- spaceFluid,
12
- spaceNegFluid,
13
- spaceNone,
14
- } from '../../styles/variables/_space';
15
- import classify from '../../utils/classify';
16
- import {Button} from '../Button';
17
- import type {ModalProps} from '../Modal';
18
- import {Modal} from '../Modal';
19
- import {Truncate} from '../Truncate';
20
-
21
- import css from './Panel.module.css';
22
-
23
-
24
- export type PanelSize = 'small' | 'medium' | 'large';
25
- export type PanelAnchor = 'left' | 'right';
26
-
27
- export type PanelHeaderProps = {
28
- children?: React.ReactNode;
29
- hideCloseBtn?: boolean;
30
- onCloseButtonClick?: ((arg1: React.SyntheticEvent<HTMLElement>) => unknown) | null | undefined;
31
- className?: string;
32
- size?: 'medium' | 'small';
33
- };
34
-
35
- type FooterClassNames = Readonly<{
36
- wrapper?: string;
37
- actions?: string;
38
- }>;
39
-
40
- export type PanelFooterProps = {
41
- children?: React.ReactNode;
42
- classNames?: FooterClassNames;
43
- };
44
-
45
- export type PanelBodyProps = {
46
- children?: React.ReactNode;
47
- className?: string;
48
- };
49
-
50
- export type PanelProps = ((ModalProps) & {
51
- allowBackgroundInteraction?: boolean;
52
- size?: PanelSize;
53
- anchor?: PanelAnchor;
54
- });
55
-
56
- const getDefaultPanelAnimation = (anchor: PanelAnchor) => ({
57
- // Configure both open and close durations:
58
- duration: {
59
- open: parseInt(motionDurationSlow),
60
- close: parseInt(motionDurationNormal),
61
- },
62
- initial: {
63
- transform: `translateX(${anchor === 'right' ? spaceFluid : spaceNegFluid})`,
64
- },
65
- open: {
66
- transform: `translateX(${spaceNone})`,
67
- },
68
- close: {
69
- transform: `translateX(${anchor === 'right' ? spaceFluid : spaceNegFluid})`,
70
- },
71
- });
72
-
73
- export const PanelHeader = (
74
- {
75
- children,
76
- hideCloseBtn,
77
- onCloseButtonClick,
78
- className,
79
- size,
80
- }: PanelHeaderProps,
81
- ) => (<>
82
- {React.Children.count(children) > 0 && (
83
- <div className={classify(css.panelHeader, className)}>
84
- <div className={css.headerContent}>
85
- <Truncate>{children}</Truncate>
86
- </div>
87
- {!hideCloseBtn && (
88
- <Button
89
- iconLeftName="xmark"
90
- type="ghost"
91
- onClick={onCloseButtonClick}
92
- ariaLabel="Close Button"
93
- size={size}
94
- ></Button>
95
- )}
96
- </div>
97
- )}
98
- </>);
99
-
100
- export const PanelBody: Flow.AbstractComponent<PanelBodyProps, HTMLDivElement> = React.forwardRef<HTMLDivElement, PanelBodyProps>((
101
- {
102
- children,
103
- className,
104
- }: PanelBodyProps,
105
- ref,
106
- ) => (<div ref={ref} className={classify(css.panelBody, className)}>
107
- {children}
108
- </div>));
109
-
110
- export const PanelFooter = (
111
- {
112
- children,
113
- classNames,
114
- }: PanelFooterProps,
115
- ) => (<>
116
- {React.Children.count(children) > 0 && (
117
- <div className={classify(css.panelFooter, classNames?.wrapper)}>
118
- <div className={classify(css.panelFooterActions, classNames?.actions)}>
119
- {children}
120
- </div>
121
- </div>
122
- )}
123
- </>);
124
-
125
- export const Panel = (
126
- {
127
- children,
128
- isOpen = false,
129
- size = 'medium',
130
- anchor = 'left',
131
- onClose,
132
- hideBackdrop = true,
133
- classNames,
134
- customAnimation,
135
- tapOutsideToClose = true,
136
- allowBackgroundInteraction,
137
- ...restPanelProps
138
- }: PanelProps,
139
- ) => {
140
- const isTransitioning = useMountTransition(
141
- isOpen,
142
- parseInt(motionDurationNormal),
143
- );
144
-
145
- const defaultPanelAnimation = getDefaultPanelAnimation(anchor);
146
-
147
- return (
148
- <Modal
149
- isOpen={isOpen}
150
- onClose={onClose}
151
- hideBackdrop={hideBackdrop}
152
- tapOutsideToClose={allowBackgroundInteraction ? false : tapOutsideToClose}
153
- allowBackgroundInteraction={allowBackgroundInteraction}
154
- {...restPanelProps}
155
- classNames={{
156
- container: classify(
157
- css.panelContainer,
158
- {
159
- [css.in]: isTransitioning,
160
- [css.open]: isOpen,
161
- },
162
- classNames?.container,
163
- ),
164
- content: classify(
165
- css.panel,
166
- css[anchor],
167
- {
168
- [css.medium]: size === 'medium',
169
- [css.small]: size === 'small',
170
- [css.large]: size === 'large',
171
- },
172
- classNames?.content,
173
- ),
174
- backdrop: classify(classNames?.backdrop),
175
- }}
176
- customAnimation={customAnimation || defaultPanelAnimation}
177
- >
178
- {children}
179
- </Modal>
180
- );
181
- };
@@ -1,2 +0,0 @@
1
- export type {PanelAnchor, PanelBodyProps, PanelFooterProps, PanelHeaderProps, PanelProps, PanelSize} from './Panel';
2
- export {Panel, PanelBody, PanelFooter, PanelHeader} from './Panel';