@sproutsocial/racine 12.20.0 → 12.21.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 (621) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/README.md +46 -44
  3. package/__flow__/Avatar/index.js +26 -26
  4. package/__flow__/Avatar/index.stories.js +8 -8
  5. package/__flow__/Avatar/index.test.js +13 -13
  6. package/__flow__/Badge/constants.js +14 -14
  7. package/__flow__/Badge/index.js +18 -18
  8. package/__flow__/Badge/index.stories.js +8 -8
  9. package/__flow__/Badge/index.test.js +43 -43
  10. package/__flow__/Badge/styles.js +13 -9
  11. package/__flow__/Banner/index.js +21 -21
  12. package/__flow__/Banner/index.stories.js +56 -68
  13. package/__flow__/Banner/index.test.js +32 -34
  14. package/__flow__/Banner/styles.js +4 -4
  15. package/__flow__/Box/index.js +4 -4
  16. package/__flow__/Box/index.stories.js +58 -51
  17. package/__flow__/Box/index.test.js +7 -7
  18. package/__flow__/Box/styles.js +6 -6
  19. package/__flow__/Breadcrumb/index.js +9 -13
  20. package/__flow__/Breadcrumb/index.stories.js +14 -14
  21. package/__flow__/Breadcrumb/index.test.js +20 -20
  22. package/__flow__/Breadcrumb/styles.js +5 -5
  23. package/__flow__/Button/index.js +23 -23
  24. package/__flow__/Button/index.stories.js +34 -34
  25. package/__flow__/Button/styles.js +11 -11
  26. package/__flow__/Card/index.js +7 -7
  27. package/__flow__/Card/index.stories.js +14 -14
  28. package/__flow__/Card/styles.js +7 -7
  29. package/__flow__/CharacterCounter/index.js +7 -7
  30. package/__flow__/CharacterCounter/index.stories.js +25 -26
  31. package/__flow__/CharacterCounter/index.test.js +11 -11
  32. package/__flow__/CharacterCounter/styles.js +3 -3
  33. package/__flow__/ChartLegend/index.js +7 -7
  34. package/__flow__/ChartLegend/index.stories.js +22 -22
  35. package/__flow__/ChartLegend/index.test.js +27 -27
  36. package/__flow__/ChartLegend/styles.js +7 -7
  37. package/__flow__/Checkbox/index.js +10 -10
  38. package/__flow__/Checkbox/index.stories.js +24 -24
  39. package/__flow__/Checkbox/index.test.js +25 -25
  40. package/__flow__/Checkbox/styles.js +27 -28
  41. package/__flow__/Collapsible/index.js +15 -15
  42. package/__flow__/Collapsible/index.stories.js +13 -13
  43. package/__flow__/Collapsible/index.test.js +27 -27
  44. package/__flow__/Collapsible/styles.js +5 -5
  45. package/__flow__/DatePicker/DateRangePicker.js +5 -8
  46. package/__flow__/DatePicker/DateRangePicker.stories.js +19 -19
  47. package/__flow__/DatePicker/DateRangePicker.test.js +21 -21
  48. package/__flow__/DatePicker/SingleDatePicker.js +6 -9
  49. package/__flow__/DatePicker/SingleDatePicker.stories.js +10 -10
  50. package/__flow__/DatePicker/SingleDatePicker.test.js +21 -23
  51. package/__flow__/DatePicker/StatefulDateRangePicker.js +6 -6
  52. package/__flow__/DatePicker/StatefulSingleDatePicker.js +3 -3
  53. package/__flow__/DatePicker/common.js +13 -13
  54. package/__flow__/DatePicker/index.js +3 -3
  55. package/__flow__/DatePicker/styles.js +42 -42
  56. package/__flow__/Drawer/SlideTransition.js +10 -10
  57. package/__flow__/Drawer/index.js +29 -29
  58. package/__flow__/Drawer/index.stories.js +58 -141
  59. package/__flow__/Drawer/index.test.js +28 -28
  60. package/__flow__/Drawer/styles.js +4 -4
  61. package/__flow__/EmptyState/index.js +5 -5
  62. package/__flow__/EmptyState/index.stories.js +10 -10
  63. package/__flow__/EmptyState/index.test.js +27 -27
  64. package/__flow__/EnumIllustrationNames.js +1 -1
  65. package/__flow__/Fieldset/index.js +14 -14
  66. package/__flow__/Fieldset/index.stories.js +19 -20
  67. package/__flow__/Fieldset/index.test.js +14 -14
  68. package/__flow__/Fieldset/styles.js +5 -5
  69. package/__flow__/FormField/index.js +14 -14
  70. package/__flow__/FormField/index.stories.js +31 -21
  71. package/__flow__/FormField/index.test.js +19 -19
  72. package/__flow__/Icon/deprecatedIcons.js +36 -36
  73. package/__flow__/Icon/index.js +17 -17
  74. package/__flow__/Icon/index.stories.js +30 -30
  75. package/__flow__/Icon/index.test.js +15 -15
  76. package/__flow__/Icon/styles.js +12 -12
  77. package/__flow__/IllustrationViewBoxes.js +1 -1
  78. package/__flow__/Image/index.js +6 -7
  79. package/__flow__/Image/index.stories.js +5 -5
  80. package/__flow__/Image/index.test.js +24 -24
  81. package/__flow__/Image/styles.js +6 -5
  82. package/__flow__/Indicator/index.js +7 -7
  83. package/__flow__/Indicator/index.stories.js +8 -14
  84. package/__flow__/Indicator/index.test.js +6 -6
  85. package/__flow__/Indicator/styles.js +6 -6
  86. package/__flow__/Input/index.js +37 -37
  87. package/__flow__/Input/index.stories.js +96 -189
  88. package/__flow__/Input/index.test.js +117 -117
  89. package/__flow__/Input/styles.js +13 -13
  90. package/__flow__/KeyboardKey/index.js +5 -5
  91. package/__flow__/KeyboardKey/index.stories.js +9 -12
  92. package/__flow__/KeyboardKey/index.test.js +7 -7
  93. package/__flow__/KeyboardKey/styles.js +4 -4
  94. package/__flow__/Label/index.js +6 -6
  95. package/__flow__/Label/index.stories.js +5 -7
  96. package/__flow__/Label/index.test.js +8 -8
  97. package/__flow__/Link/constants.js +4 -4
  98. package/__flow__/Link/index.js +11 -11
  99. package/__flow__/Link/index.stories.js +61 -102
  100. package/__flow__/Link/index.test.js +40 -40
  101. package/__flow__/Link/styles.js +6 -6
  102. package/__flow__/Listbox/index.js +16 -16
  103. package/__flow__/Listbox/index.stories.js +35 -35
  104. package/__flow__/Listbox/index.test.js +63 -65
  105. package/__flow__/Loader/index.js +12 -12
  106. package/__flow__/Loader/index.stories.js +10 -10
  107. package/__flow__/Loader/index.test.js +17 -17
  108. package/__flow__/Loader/styles.js +9 -13
  109. package/__flow__/LoaderButton/index.js +25 -25
  110. package/__flow__/LoaderButton/index.stories.js +7 -7
  111. package/__flow__/LoaderButton/index.test.js +15 -15
  112. package/__flow__/Menu/constants.js +8 -8
  113. package/__flow__/Menu/descendants.js +89 -80
  114. package/__flow__/Menu/hooks.js +22 -22
  115. package/__flow__/Menu/index.flow.js +13 -13
  116. package/__flow__/Menu/index.js +56 -60
  117. package/__flow__/Menu/index.stories.js +19 -19
  118. package/__flow__/Menu/index.test.js +22 -22
  119. package/__flow__/Menu/names.js +4945 -4945
  120. package/__flow__/Menu/styles.js +5 -5
  121. package/__flow__/Message/index.js +33 -33
  122. package/__flow__/Message/index.stories.js +18 -13
  123. package/__flow__/Message/index.test.js +6 -6
  124. package/__flow__/Message/styles.js +15 -15
  125. package/__flow__/Modal/index.js +19 -19
  126. package/__flow__/Modal/index.stories.js +43 -43
  127. package/__flow__/Modal/index.test.js +29 -29
  128. package/__flow__/Modal/styles.js +27 -32
  129. package/__flow__/Numeral/index.js +22 -22
  130. package/__flow__/Numeral/index.stories.js +74 -74
  131. package/__flow__/Numeral/styles.js +3 -3
  132. package/__flow__/Numeral/tests/A11y.test.js +7 -7
  133. package/__flow__/Numeral/tests/abbreviate.test.js +40 -40
  134. package/__flow__/Numeral/tests/currency.test.js +24 -24
  135. package/__flow__/Numeral/tests/defaults.test.js +20 -20
  136. package/__flow__/Numeral/tests/invalid.test.js +9 -9
  137. package/__flow__/Numeral/tests/locale.test.js +38 -38
  138. package/__flow__/Numeral/tests/precision.test.js +76 -76
  139. package/__flow__/Numeral/tests/testNumeral.js +11 -11
  140. package/__flow__/Numeral/tests/zero.test.js +8 -8
  141. package/__flow__/OverflowList/index.flow.js +2 -2
  142. package/__flow__/OverflowList/index.js +12 -12
  143. package/__flow__/OverflowList/index.stories.js +10 -10
  144. package/__flow__/OverflowList/index.test.js +25 -25
  145. package/__flow__/OverflowList/styles.js +5 -5
  146. package/__flow__/PartnerLogo/TypePartnerNames.js +37 -37
  147. package/__flow__/PartnerLogo/index.js +20 -20
  148. package/__flow__/PartnerLogo/index.stories.js +52 -52
  149. package/__flow__/PartnerLogo/styles.js +12 -12
  150. package/__flow__/Popout/index.js +66 -67
  151. package/__flow__/Popout/index.stories.js +101 -82
  152. package/__flow__/Popout/index.test.js +43 -43
  153. package/__flow__/Popout/styles.js +4 -5
  154. package/__flow__/Portal/index.js +9 -9
  155. package/__flow__/Portal/index.stories.js +12 -12
  156. package/__flow__/Radio/index.js +4 -4
  157. package/__flow__/Radio/index.stories.js +11 -11
  158. package/__flow__/Radio/index.test.js +12 -12
  159. package/__flow__/Radio/styles.js +15 -16
  160. package/__flow__/SegmentedControl/index.js +7 -7
  161. package/__flow__/SegmentedControl/index.stories.js +7 -7
  162. package/__flow__/SegmentedControl/index.test.js +29 -29
  163. package/__flow__/SegmentedControl/styles.js +10 -9
  164. package/__flow__/Select/index.js +10 -10
  165. package/__flow__/Select/index.stories.js +33 -69
  166. package/__flow__/Select/index.test.js +14 -14
  167. package/__flow__/Select/styles.js +16 -16
  168. package/__flow__/Skeleton/index.js +4 -4
  169. package/__flow__/Skeleton/index.stories.js +5 -5
  170. package/__flow__/SpotIllustration/illustrationNames.js +118 -117
  171. package/__flow__/SpotIllustration/index.js +15 -11
  172. package/__flow__/SpotIllustration/index.stories.js +18 -18
  173. package/__flow__/SpotIllustration/spotIllustrations/molecule.svg +14 -0
  174. package/__flow__/Stack/index.js +43 -33
  175. package/__flow__/Stack/index.stories.js +41 -91
  176. package/__flow__/Stack/index.test.js +16 -7
  177. package/__flow__/Switch/index.js +8 -8
  178. package/__flow__/Switch/index.stories.js +5 -5
  179. package/__flow__/Switch/index.test.js +25 -29
  180. package/__flow__/Switch/styles.js +13 -9
  181. package/__flow__/Table/index.js +17 -17
  182. package/__flow__/Table/index.stories.js +99 -99
  183. package/__flow__/Table/index.test.js +32 -32
  184. package/__flow__/Table/styles.js +4 -4
  185. package/__flow__/TableCell/index.js +8 -7
  186. package/__flow__/TableCell/index.stories.js +20 -23
  187. package/__flow__/TableCell/index.test.js +11 -11
  188. package/__flow__/TableCell/styles.js +4 -5
  189. package/__flow__/TableHeaderCell/index.js +14 -14
  190. package/__flow__/TableHeaderCell/index.stories.js +35 -30
  191. package/__flow__/TableHeaderCell/index.test.js +11 -11
  192. package/__flow__/TableHeaderCell/styles.js +4 -4
  193. package/__flow__/TableRowAccordion/index.js +8 -8
  194. package/__flow__/TableRowAccordion/index.stories.js +36 -36
  195. package/__flow__/TableRowAccordion/index.test.js +28 -30
  196. package/__flow__/TableRowAccordion/styles.js +11 -7
  197. package/__flow__/Tabs/index.js +11 -11
  198. package/__flow__/Tabs/index.stories.js +28 -54
  199. package/__flow__/Tabs/index.test.js +54 -54
  200. package/__flow__/Tabs/styles.js +6 -7
  201. package/__flow__/Text/index.js +14 -14
  202. package/__flow__/Text/index.stories.js +84 -86
  203. package/__flow__/Text/index.test.js +29 -33
  204. package/__flow__/Text/styles.js +4 -4
  205. package/__flow__/Textarea/index.js +5 -5
  206. package/__flow__/Textarea/index.stories.js +54 -93
  207. package/__flow__/Textarea/index.test.js +30 -30
  208. package/__flow__/Textarea/styles.js +6 -6
  209. package/__flow__/ThemeProvider/index.js +4 -4
  210. package/__flow__/Toast/index.js +23 -23
  211. package/__flow__/Toast/index.stories.js +21 -21
  212. package/__flow__/Toast/styles.js +6 -6
  213. package/__flow__/ToggleHint/index.js +8 -8
  214. package/__flow__/ToggleHint/index.test.js +8 -8
  215. package/__flow__/ToggleHint/styles.js +8 -8
  216. package/__flow__/Token/index.js +10 -10
  217. package/__flow__/Token/index.stories.js +49 -54
  218. package/__flow__/Token/index.test.js +28 -28
  219. package/__flow__/Token/styles.js +11 -11
  220. package/__flow__/TokenInput/index.flow.js +1 -1
  221. package/__flow__/TokenInput/index.js +39 -39
  222. package/__flow__/TokenInput/index.stories.js +121 -128
  223. package/__flow__/TokenInput/styles.js +5 -5
  224. package/__flow__/TokenInput/tests/default/clicking.test.js +13 -13
  225. package/__flow__/TokenInput/tests/default/deleting.test.js +39 -39
  226. package/__flow__/TokenInput/tests/default/focusing.test.js +18 -18
  227. package/__flow__/TokenInput/tests/default/inputting.test.js +23 -23
  228. package/__flow__/TokenInput/tests/default/pasting.test.js +52 -52
  229. package/__flow__/TokenInput/tests/default/rendering.test.js +54 -54
  230. package/__flow__/TokenInput/util.js +4 -4
  231. package/__flow__/Tooltip/index.js +21 -21
  232. package/__flow__/Tooltip/index.stories.js +18 -18
  233. package/__flow__/Tooltip/index.test.js +54 -54
  234. package/__flow__/Tooltip/styles.js +4 -5
  235. package/__flow__/VisuallyHidden/index.js +3 -3
  236. package/__flow__/building-stories.stories.mdx +121 -0
  237. package/__flow__/dataviz/dataviz.stories.js +4 -4
  238. package/__flow__/dataviz/index.js +3 -3
  239. package/__flow__/index.js +72 -72
  240. package/__flow__/overview.stories.js +60 -0
  241. package/__flow__/setupTests.js +5 -5
  242. package/__flow__/systemProps/background.js +3 -3
  243. package/__flow__/systemProps/border.js +3 -3
  244. package/__flow__/systemProps/color.js +3 -3
  245. package/__flow__/systemProps/custom.js +3 -3
  246. package/__flow__/systemProps/flexbox.js +3 -3
  247. package/__flow__/systemProps/grid.js +3 -3
  248. package/__flow__/systemProps/index.js +14 -14
  249. package/__flow__/systemProps/layout.js +3 -3
  250. package/__flow__/systemProps/position.js +3 -3
  251. package/__flow__/systemProps/shadow.js +3 -3
  252. package/__flow__/systemProps/space.js +3 -7
  253. package/__flow__/systemProps/systemProps.js +14 -14
  254. package/__flow__/systemProps/tests/background.test.js +17 -17
  255. package/__flow__/systemProps/tests/border.test.js +61 -61
  256. package/__flow__/systemProps/tests/color.test.js +15 -15
  257. package/__flow__/systemProps/tests/custom.test.js +12 -12
  258. package/__flow__/systemProps/tests/flexbox.test.js +33 -33
  259. package/__flow__/systemProps/tests/grid.test.js +31 -31
  260. package/__flow__/systemProps/tests/layout.test.js +29 -29
  261. package/__flow__/systemProps/tests/position.test.js +19 -19
  262. package/__flow__/systemProps/tests/shadow.test.js +11 -11
  263. package/__flow__/systemProps/tests/space.test.js +11 -11
  264. package/__flow__/systemProps/tests/types.flow.js +18 -18
  265. package/__flow__/systemProps/tests/typography.test.js +21 -21
  266. package/__flow__/systemProps/tests/variant.test.js +9 -9
  267. package/__flow__/systemProps/types.flow.js +2 -2
  268. package/__flow__/systemProps/typography.js +4 -4
  269. package/__flow__/systemProps/variant.js +5 -5
  270. package/__flow__/themes/dark/dataviz-palette.js +21 -21
  271. package/__flow__/themes/dark/decorative-palettes.js +1 -1
  272. package/__flow__/themes/dark/theme.js +16 -16
  273. package/__flow__/themes/extendedThemes/README.md +1 -1
  274. package/__flow__/themes/extendedThemes/sproutTheme/dark/theme.js +4 -4
  275. package/__flow__/themes/extendedThemes/sproutTheme/index.js +2 -2
  276. package/__flow__/themes/extendedThemes/sproutTheme/light/theme.js +4 -4
  277. package/__flow__/themes/light/dataviz-palette.js +21 -21
  278. package/__flow__/themes/light/decorative-palettes.js +1 -1
  279. package/__flow__/themes/light/literal-colors.js +133 -133
  280. package/__flow__/themes/light/theme.js +51 -51
  281. package/__flow__/types/system-props.flow.js +5 -5
  282. package/__flow__/types/theme.colors.flow.js +2 -2
  283. package/__flow__/types/theme.flow.js +5 -5
  284. package/__flow__/utils/a11yTest.js +1 -1
  285. package/__flow__/utils/chartColors.js +1 -1
  286. package/__flow__/utils/constants.js +1 -1
  287. package/__flow__/utils/dataQaLabelQueries.js +2 -2
  288. package/__flow__/utils/hooks.js +17 -17
  289. package/__flow__/utils/index.js +4 -4
  290. package/__flow__/utils/innerText.js +9 -9
  291. package/__flow__/utils/mixins.js +6 -6
  292. package/__flow__/utils/react-testing-library.js +6 -6
  293. package/__flow__/utils/responsiveProps/index.js +3 -3
  294. package/__flow__/utils/responsiveProps/index.test.js +8 -8
  295. package/__flow__/utils/system-props.js +3 -3
  296. package/__flow__/utils/useInteractiveColor.js +5 -5
  297. package/__flow__/writing-good-stories.stories.mdx +3 -0
  298. package/bin/racine-codemod.js +12 -12
  299. package/codemods/__tests__/migrate-2.x-to-3.x.test.js +2 -2
  300. package/codemods/migrate-2.x-to-3.x.js +29 -30
  301. package/commonjs/Avatar/index.js +33 -53
  302. package/commonjs/Badge/constants.js +18 -15
  303. package/commonjs/Badge/index.js +14 -28
  304. package/commonjs/Badge/styles.js +3 -9
  305. package/commonjs/Banner/index.js +16 -37
  306. package/commonjs/Banner/styles.js +0 -5
  307. package/commonjs/Box/index.js +2 -9
  308. package/commonjs/Box/styles.js +0 -4
  309. package/commonjs/Breadcrumb/index.js +13 -29
  310. package/commonjs/Breadcrumb/styles.js +1 -4
  311. package/commonjs/Button/index.js +29 -43
  312. package/commonjs/Button/styles.js +6 -15
  313. package/commonjs/Card/index.js +16 -26
  314. package/commonjs/Card/styles.js +1 -5
  315. package/commonjs/CharacterCounter/index.js +6 -23
  316. package/commonjs/CharacterCounter/styles.js +0 -5
  317. package/commonjs/ChartLegend/index.js +5 -20
  318. package/commonjs/ChartLegend/styles.js +2 -11
  319. package/commonjs/Checkbox/index.js +30 -53
  320. package/commonjs/Checkbox/styles.js +14 -35
  321. package/commonjs/Collapsible/index.js +31 -54
  322. package/commonjs/Collapsible/styles.js +3 -6
  323. package/commonjs/DatePicker/DateRangePicker.js +4 -17
  324. package/commonjs/DatePicker/SingleDatePicker.js +3 -17
  325. package/commonjs/DatePicker/StatefulDateRangePicker.js +16 -31
  326. package/commonjs/DatePicker/StatefulSingleDatePicker.js +7 -20
  327. package/commonjs/DatePicker/common.js +8 -22
  328. package/commonjs/DatePicker/index.js +0 -5
  329. package/commonjs/DatePicker/styles.js +8 -25
  330. package/commonjs/Drawer/SlideTransition.js +8 -18
  331. package/commonjs/Drawer/index.js +51 -90
  332. package/commonjs/Drawer/styles.js +0 -8
  333. package/commonjs/EmptyState/index.js +8 -20
  334. package/commonjs/Fieldset/index.js +15 -32
  335. package/commonjs/Fieldset/styles.js +2 -7
  336. package/commonjs/FormField/index.js +19 -36
  337. package/commonjs/Icon/deprecatedIcons.js +36 -36
  338. package/commonjs/Icon/index.js +19 -37
  339. package/commonjs/Icon/styles.js +7 -16
  340. package/commonjs/IllustrationViewBoxes.js +1 -0
  341. package/commonjs/Image/index.js +13 -41
  342. package/commonjs/Image/styles.js +1 -7
  343. package/commonjs/Indicator/index.js +8 -26
  344. package/commonjs/Indicator/styles.js +1 -7
  345. package/commonjs/Input/index.js +80 -119
  346. package/commonjs/Input/styles.js +9 -19
  347. package/commonjs/KeyboardKey/index.js +3 -20
  348. package/commonjs/KeyboardKey/styles.js +0 -4
  349. package/commonjs/Label/index.js +7 -27
  350. package/commonjs/Link/constants.js +3 -4
  351. package/commonjs/Link/index.js +16 -28
  352. package/commonjs/Link/styles.js +1 -8
  353. package/commonjs/Listbox/index.js +15 -36
  354. package/commonjs/Loader/index.js +15 -31
  355. package/commonjs/Loader/styles.js +2 -13
  356. package/commonjs/LoaderButton/index.js +26 -55
  357. package/commonjs/Menu/constants.js +9 -8
  358. package/commonjs/Menu/descendants.js +70 -105
  359. package/commonjs/Menu/hooks.js +23 -41
  360. package/commonjs/Menu/index.flow.js +0 -7
  361. package/commonjs/Menu/index.js +94 -164
  362. package/commonjs/Menu/names.js +1 -1
  363. package/commonjs/Menu/styles.js +0 -6
  364. package/commonjs/Message/index.js +37 -70
  365. package/commonjs/Message/styles.js +9 -24
  366. package/commonjs/Modal/index.js +31 -54
  367. package/commonjs/Modal/styles.js +17 -36
  368. package/commonjs/Numeral/index.js +39 -67
  369. package/commonjs/Numeral/styles.js +0 -3
  370. package/commonjs/Numeral/tests/testNumeral.js +13 -31
  371. package/commonjs/OverflowList/index.flow.js +0 -2
  372. package/commonjs/OverflowList/index.js +27 -41
  373. package/commonjs/OverflowList/styles.js +0 -7
  374. package/commonjs/PartnerLogo/index.js +19 -33
  375. package/commonjs/PartnerLogo/styles.js +7 -15
  376. package/commonjs/Popout/index.js +95 -127
  377. package/commonjs/Popout/styles.js +0 -5
  378. package/commonjs/Portal/index.js +8 -31
  379. package/commonjs/Radio/index.js +18 -42
  380. package/commonjs/Radio/styles.js +9 -21
  381. package/commonjs/SegmentedControl/index.js +17 -37
  382. package/commonjs/SegmentedControl/styles.js +2 -12
  383. package/commonjs/Select/index.js +24 -47
  384. package/commonjs/Select/styles.js +12 -24
  385. package/commonjs/Skeleton/index.js +0 -5
  386. package/commonjs/SpotIllustration/illustrationNames.js +1 -1
  387. package/commonjs/SpotIllustration/index.js +5 -11
  388. package/commonjs/Stack/index.js +27 -42
  389. package/commonjs/Switch/index.js +17 -42
  390. package/commonjs/Switch/styles.js +3 -11
  391. package/commonjs/Table/index.js +26 -50
  392. package/commonjs/Table/styles.js +0 -4
  393. package/commonjs/TableCell/index.js +12 -30
  394. package/commonjs/TableCell/styles.js +0 -5
  395. package/commonjs/TableHeaderCell/index.js +27 -56
  396. package/commonjs/TableHeaderCell/styles.js +0 -6
  397. package/commonjs/TableRowAccordion/index.js +12 -37
  398. package/commonjs/TableRowAccordion/styles.js +2 -9
  399. package/commonjs/Tabs/index.js +16 -66
  400. package/commonjs/Tabs/styles.js +2 -11
  401. package/commonjs/Text/index.js +12 -25
  402. package/commonjs/Text/styles.js +1 -6
  403. package/commonjs/Textarea/index.js +31 -55
  404. package/commonjs/Textarea/styles.js +2 -9
  405. package/commonjs/ThemeProvider/index.js +1 -10
  406. package/commonjs/Toast/index.js +19 -42
  407. package/commonjs/Toast/styles.js +1 -7
  408. package/commonjs/ToggleHint/index.js +15 -39
  409. package/commonjs/ToggleHint/styles.js +2 -9
  410. package/commonjs/Token/index.js +15 -29
  411. package/commonjs/Token/styles.js +5 -12
  412. package/commonjs/TokenInput/index.js +70 -122
  413. package/commonjs/TokenInput/styles.js +1 -7
  414. package/commonjs/TokenInput/util.js +2 -7
  415. package/commonjs/Tooltip/index.js +40 -63
  416. package/commonjs/Tooltip/styles.js +1 -5
  417. package/commonjs/VisuallyHidden/index.js +0 -4
  418. package/commonjs/dataviz/index.js +0 -4
  419. package/commonjs/index.js +0 -129
  420. package/commonjs/systemProps/background.js +0 -1
  421. package/commonjs/systemProps/border.js +0 -1
  422. package/commonjs/systemProps/color.js +0 -1
  423. package/commonjs/systemProps/custom.js +0 -1
  424. package/commonjs/systemProps/flexbox.js +0 -1
  425. package/commonjs/systemProps/grid.js +0 -1
  426. package/commonjs/systemProps/index.js +0 -28
  427. package/commonjs/systemProps/layout.js +0 -1
  428. package/commonjs/systemProps/position.js +0 -1
  429. package/commonjs/systemProps/shadow.js +0 -1
  430. package/commonjs/systemProps/space.js +1 -2
  431. package/commonjs/systemProps/systemProps.js +0 -13
  432. package/commonjs/systemProps/tests/types.flow.js +25 -22
  433. package/commonjs/systemProps/typography.js +0 -1
  434. package/commonjs/systemProps/variant.js +2 -3
  435. package/commonjs/themes/dark/dataviz-palette.js +20 -22
  436. package/commonjs/themes/dark/decorative-palettes.js +0 -2
  437. package/commonjs/themes/dark/theme.js +13 -27
  438. package/commonjs/themes/extendedThemes/sproutTheme/dark/theme.js +2 -9
  439. package/commonjs/themes/extendedThemes/sproutTheme/index.js +0 -5
  440. package/commonjs/themes/extendedThemes/sproutTheme/light/theme.js +2 -9
  441. package/commonjs/themes/light/dataviz-palette.js +20 -22
  442. package/commonjs/themes/light/decorative-palettes.js +0 -2
  443. package/commonjs/themes/light/literal-colors.js +132 -134
  444. package/commonjs/themes/light/theme.js +43 -59
  445. package/commonjs/types/system-props.flow.js +1 -1
  446. package/commonjs/types/theme.colors.flow.js +0 -2
  447. package/commonjs/types/theme.flow.js +0 -1
  448. package/commonjs/utils/a11yTest.js +3 -10
  449. package/commonjs/utils/chartColors.js +0 -1
  450. package/commonjs/utils/constants.js +1 -1
  451. package/commonjs/utils/dataQaLabelQueries.js +12 -21
  452. package/commonjs/utils/hooks.js +39 -70
  453. package/commonjs/utils/index.js +2 -9
  454. package/commonjs/utils/innerText.js +10 -14
  455. package/commonjs/utils/mixins.js +2 -7
  456. package/commonjs/utils/react-testing-library.js +4 -26
  457. package/commonjs/utils/responsiveProps/index.js +1 -11
  458. package/commonjs/utils/system-props.js +2 -5
  459. package/commonjs/utils/useInteractiveColor.js +6 -8
  460. package/dist/illustration.svg +1 -1
  461. package/dist/illustrationList.js +1 -1
  462. package/lib/Avatar/index.js +40 -47
  463. package/lib/Badge/constants.js +19 -15
  464. package/lib/Badge/index.js +18 -25
  465. package/lib/Badge/styles.js +8 -6
  466. package/lib/Banner/index.js +20 -32
  467. package/lib/Banner/styles.js +3 -2
  468. package/lib/Box/index.js +4 -5
  469. package/lib/Box/styles.js +3 -2
  470. package/lib/Breadcrumb/index.js +19 -27
  471. package/lib/Breadcrumb/styles.js +3 -2
  472. package/lib/Button/index.js +31 -38
  473. package/lib/Button/styles.js +14 -11
  474. package/lib/Card/index.js +18 -24
  475. package/lib/Card/styles.js +5 -4
  476. package/lib/CharacterCounter/index.js +8 -20
  477. package/lib/CharacterCounter/styles.js +3 -2
  478. package/lib/ChartLegend/index.js +9 -17
  479. package/lib/ChartLegend/styles.js +5 -4
  480. package/lib/Checkbox/index.js +32 -51
  481. package/lib/Checkbox/styles.js +21 -26
  482. package/lib/Collapsible/index.js +36 -51
  483. package/lib/Collapsible/styles.js +6 -5
  484. package/lib/DatePicker/DateRangePicker.js +8 -14
  485. package/lib/DatePicker/SingleDatePicker.js +7 -13
  486. package/lib/DatePicker/StatefulDateRangePicker.js +19 -26
  487. package/lib/DatePicker/StatefulSingleDatePicker.js +9 -15
  488. package/lib/DatePicker/common.js +14 -13
  489. package/lib/DatePicker/index.js +2 -2
  490. package/lib/DatePicker/styles.js +12 -22
  491. package/lib/Drawer/SlideTransition.js +11 -14
  492. package/lib/Drawer/index.js +64 -88
  493. package/lib/Drawer/styles.js +4 -3
  494. package/lib/EmptyState/index.js +11 -17
  495. package/lib/Fieldset/index.js +19 -29
  496. package/lib/Fieldset/styles.js +5 -4
  497. package/lib/FormField/index.js +27 -33
  498. package/lib/Icon/deprecatedIcons.js +36 -36
  499. package/lib/Icon/index.js +25 -34
  500. package/lib/Icon/styles.js +11 -13
  501. package/lib/IllustrationViewBoxes.js +1 -0
  502. package/lib/Image/index.js +15 -38
  503. package/lib/Image/styles.js +4 -4
  504. package/lib/Indicator/index.js +11 -23
  505. package/lib/Indicator/styles.js +5 -5
  506. package/lib/Input/index.js +87 -115
  507. package/lib/Input/styles.js +13 -15
  508. package/lib/KeyboardKey/index.js +6 -17
  509. package/lib/KeyboardKey/styles.js +3 -2
  510. package/lib/Label/index.js +10 -24
  511. package/lib/Link/constants.js +5 -4
  512. package/lib/Link/index.js +18 -25
  513. package/lib/Link/styles.js +6 -5
  514. package/lib/Listbox/index.js +21 -29
  515. package/lib/Loader/index.js +17 -29
  516. package/lib/Loader/styles.js +6 -8
  517. package/lib/LoaderButton/index.js +34 -51
  518. package/lib/Menu/constants.js +10 -8
  519. package/lib/Menu/descendants.js +73 -94
  520. package/lib/Menu/hooks.js +28 -39
  521. package/lib/Menu/index.flow.js +6 -5
  522. package/lib/Menu/index.js +113 -150
  523. package/lib/Menu/names.js +1 -1
  524. package/lib/Menu/styles.js +4 -3
  525. package/lib/Message/index.js +42 -66
  526. package/lib/Message/styles.js +15 -23
  527. package/lib/Modal/index.js +38 -51
  528. package/lib/Modal/styles.js +23 -32
  529. package/lib/Numeral/index.js +45 -64
  530. package/lib/Numeral/styles.js +3 -2
  531. package/lib/Numeral/tests/testNumeral.js +17 -27
  532. package/lib/OverflowList/index.flow.js +2 -1
  533. package/lib/OverflowList/index.js +31 -38
  534. package/lib/OverflowList/styles.js +5 -4
  535. package/lib/PartnerLogo/index.js +23 -31
  536. package/lib/PartnerLogo/styles.js +11 -12
  537. package/lib/Popout/index.js +105 -121
  538. package/lib/Popout/styles.js +3 -3
  539. package/lib/Portal/index.js +11 -29
  540. package/lib/Radio/index.js +20 -40
  541. package/lib/Radio/styles.js +14 -14
  542. package/lib/SegmentedControl/index.js +21 -34
  543. package/lib/SegmentedControl/styles.js +7 -9
  544. package/lib/Select/index.js +27 -44
  545. package/lib/Select/styles.js +16 -20
  546. package/lib/Skeleton/index.js +7 -4
  547. package/lib/SpotIllustration/illustrationNames.js +2 -1
  548. package/lib/SpotIllustration/index.js +9 -10
  549. package/lib/Stack/index.js +31 -39
  550. package/lib/Switch/index.js +21 -39
  551. package/lib/Switch/styles.js +8 -7
  552. package/lib/Table/index.js +30 -40
  553. package/lib/Table/styles.js +3 -2
  554. package/lib/TableCell/index.js +14 -27
  555. package/lib/TableCell/styles.js +3 -3
  556. package/lib/TableHeaderCell/index.js +30 -52
  557. package/lib/TableHeaderCell/styles.js +3 -2
  558. package/lib/TableRowAccordion/index.js +16 -34
  559. package/lib/TableRowAccordion/styles.js +5 -3
  560. package/lib/Tabs/index.js +18 -63
  561. package/lib/Tabs/styles.js +6 -6
  562. package/lib/Text/index.js +15 -21
  563. package/lib/Text/styles.js +4 -3
  564. package/lib/Textarea/index.js +33 -53
  565. package/lib/Textarea/styles.js +6 -5
  566. package/lib/ThemeProvider/index.js +4 -7
  567. package/lib/Toast/index.js +26 -37
  568. package/lib/Toast/styles.js +5 -4
  569. package/lib/ToggleHint/index.js +18 -36
  570. package/lib/ToggleHint/styles.js +6 -5
  571. package/lib/Token/index.js +20 -26
  572. package/lib/Token/styles.js +10 -9
  573. package/lib/TokenInput/index.js +78 -118
  574. package/lib/TokenInput/styles.js +5 -4
  575. package/lib/TokenInput/util.js +5 -3
  576. package/lib/Tooltip/index.js +45 -60
  577. package/lib/Tooltip/styles.js +4 -4
  578. package/lib/VisuallyHidden/index.js +3 -2
  579. package/lib/dataviz/index.js +4 -3
  580. package/lib/index.js +66 -64
  581. package/lib/systemProps/background.js +3 -1
  582. package/lib/systemProps/border.js +3 -1
  583. package/lib/systemProps/color.js +3 -1
  584. package/lib/systemProps/custom.js +3 -1
  585. package/lib/systemProps/flexbox.js +3 -1
  586. package/lib/systemProps/grid.js +3 -1
  587. package/lib/systemProps/index.js +16 -14
  588. package/lib/systemProps/layout.js +3 -1
  589. package/lib/systemProps/position.js +3 -1
  590. package/lib/systemProps/shadow.js +3 -1
  591. package/lib/systemProps/space.js +2 -1
  592. package/lib/systemProps/systemProps.js +14 -13
  593. package/lib/systemProps/tests/types.flow.js +27 -22
  594. package/lib/systemProps/typography.js +3 -1
  595. package/lib/systemProps/variant.js +4 -3
  596. package/lib/themes/dark/dataviz-palette.js +23 -21
  597. package/lib/themes/dark/decorative-palettes.js +3 -1
  598. package/lib/themes/dark/theme.js +20 -23
  599. package/lib/themes/extendedThemes/sproutTheme/dark/theme.js +4 -7
  600. package/lib/themes/extendedThemes/sproutTheme/index.js +3 -2
  601. package/lib/themes/extendedThemes/sproutTheme/light/theme.js +4 -7
  602. package/lib/themes/light/dataviz-palette.js +23 -21
  603. package/lib/themes/light/decorative-palettes.js +3 -1
  604. package/lib/themes/light/literal-colors.js +135 -133
  605. package/lib/themes/light/theme.js +54 -55
  606. package/lib/types/system-props.flow.js +1 -1
  607. package/lib/types/theme.colors.flow.js +4 -2
  608. package/lib/types/theme.flow.js +3 -2
  609. package/lib/utils/a11yTest.js +5 -8
  610. package/lib/utils/chartColors.js +3 -1
  611. package/lib/utils/constants.js +3 -1
  612. package/lib/utils/dataQaLabelQueries.js +13 -21
  613. package/lib/utils/hooks.js +41 -64
  614. package/lib/utils/index.js +2 -5
  615. package/lib/utils/innerText.js +12 -14
  616. package/lib/utils/mixins.js +6 -5
  617. package/lib/utils/react-testing-library.js +10 -20
  618. package/lib/utils/responsiveProps/index.js +3 -8
  619. package/lib/utils/system-props.js +4 -3
  620. package/lib/utils/useInteractiveColor.js +10 -9
  621. package/package.json +6 -13
@@ -1,67 +1,67 @@
1
1
  // @flow
2
- import React from "react";
3
- import Badge from "./";
4
- import { render } from "../utils/react-testing-library";
5
- import "jest-styled-components";
2
+ import React from 'react';
3
+ import Badge from './';
4
+ import {render} from '../utils/react-testing-library';
5
+ import 'jest-styled-components';
6
6
 
7
- describe("Badge...", () => {
8
- it("...should render with default props", () => {
9
- const { getByText } = render(<Badge>Test</Badge>);
10
- expect(getByText("Test")).toBeTruthy();
11
- expect(getByText("Test").closest("span")).toHaveStyleRule(
12
- "padding",
13
- "0px 4px"
7
+ describe('Badge...', () => {
8
+ it('...should render with default props', () => {
9
+ const {getByText} = render(<Badge>Test</Badge>);
10
+ expect(getByText('Test')).toBeTruthy();
11
+ expect(getByText('Test').closest('span')).toHaveStyleRule(
12
+ 'padding',
13
+ '0px 4px'
14
14
  );
15
- expect(getByText("Test").closest("span")).toHaveStyleRule(
16
- "background",
17
- "#dcf2ff"
15
+ expect(getByText('Test').closest('span')).toHaveStyleRule(
16
+ 'background',
17
+ '#dcf2ff'
18
18
  );
19
19
  });
20
20
 
21
- it("...should render with correct size styling", () => {
22
- const { getByText } = render(<Badge size="large">Test</Badge>);
23
- expect(getByText("Test").closest("span")).toHaveStyleRule("padding", "8px");
21
+ it('...should render with correct size styling', () => {
22
+ const {getByText} = render(<Badge size="large">Test</Badge>);
23
+ expect(getByText('Test').closest('span')).toHaveStyleRule('padding', '8px');
24
24
  });
25
25
 
26
- it("...should render with legacy type", () => {
27
- const { getByText } = render(<Badge type="secondary">Test</Badge>);
28
- expect(getByText("Test")).toBeTruthy();
29
- expect(getByText("Test").closest("span")).toHaveStyleRule(
30
- "color",
31
- "#364141"
26
+ it('...should render with legacy type', () => {
27
+ const {getByText} = render(<Badge type="secondary">Test</Badge>);
28
+ expect(getByText('Test')).toBeTruthy();
29
+ expect(getByText('Test').closest('span')).toHaveStyleRule(
30
+ 'color',
31
+ '#364141'
32
32
  );
33
- expect(getByText("Test").closest("span")).toHaveStyleRule(
34
- "background",
35
- "#fdefcd"
33
+ expect(getByText('Test').closest('span')).toHaveStyleRule(
34
+ 'background',
35
+ '#fdefcd'
36
36
  );
37
37
  });
38
38
 
39
- it("...should render with a badge color", () => {
40
- const { getByText } = render(<Badge badgeColor="purple">Test</Badge>);
41
- expect(getByText("Test")).toBeTruthy();
42
- expect(getByText("Test").closest("span")).toHaveStyleRule(
43
- "background",
44
- "#eaeaf9"
39
+ it('...should render with a badge color', () => {
40
+ const {getByText} = render(<Badge badgeColor="purple">Test</Badge>);
41
+ expect(getByText('Test')).toBeTruthy();
42
+ expect(getByText('Test').closest('span')).toHaveStyleRule(
43
+ 'background',
44
+ '#eaeaf9'
45
45
  );
46
46
  });
47
47
 
48
- it("...should render with an icon", () => {
49
- const { container } = render(<Badge iconName="sparkles">Test</Badge>);
50
- expect(container.querySelector("svg")).toBeTruthy();
48
+ it('...should render with an icon', () => {
49
+ const {container} = render(<Badge iconName="sparkles">Test</Badge>);
50
+ expect(container.querySelector('svg')).toBeTruthy();
51
51
  });
52
- it("should render with suggestion type", () => {
53
- const { getByText, getByDataQaLabel } = render(
52
+ it('should render with suggestion type', () => {
53
+ const {getByText, getByDataQaLabel} = render(
54
54
  <Badge text="Test" type="suggestion" />
55
55
  );
56
- expect(getByText("Test")).toBeTruthy();
57
- expect(getByDataQaLabel({ "badge-type": "suggestion" })).toBeTruthy();
56
+ expect(getByText('Test')).toBeTruthy();
57
+ expect(getByDataQaLabel({'badge-type': 'suggestion'})).toBeTruthy();
58
58
  });
59
59
 
60
- it("...should render with tooltip class", () => {
61
- const { getByText, getByDataQaLabel } = render(
60
+ it('...should render with tooltip class', () => {
61
+ const {getByText, getByDataQaLabel} = render(
62
62
  <Badge tip="test tip">Test</Badge>
63
63
  );
64
- expect(getByText("Test")).toBeTruthy();
65
- expect(getByDataQaLabel({ "badge-tip": "test tip" })).toBeTruthy();
64
+ expect(getByText('Test')).toBeTruthy();
65
+ expect(getByDataQaLabel({'badge-tip': 'test tip'})).toBeTruthy();
66
66
  });
67
67
  });
@@ -1,15 +1,19 @@
1
1
  //@flow
2
- import styled, { type StyledComponent } from "styled-components";
3
- import { COMMON } from "../utils/system-props";
4
- import type { TypeTheme } from "../types/theme.flow";
5
- import { themeGet } from "@styled-system/theme-get";
6
- import { legacyBadgeColors } from "./constants";
2
+ import styled, {type StyledComponent} from 'styled-components';
3
+ import {COMMON} from '../utils/system-props';
4
+ import type {TypeTheme} from '../types/theme.flow';
5
+ import {themeGet} from '@styled-system/theme-get';
6
+ import {legacyBadgeColors} from './constants';
7
7
 
8
- // eslint-disable-next-line prettier/prettier
9
- const Container: StyledComponent<{type: ?string, badgeColor: string, size: string, ...}, TypeTheme, *> = styled.span`
8
+ // eslint-disable-next-line flowtype/generic-spacing
9
+ const Container: StyledComponent<
10
+ {type: ?string, badgeColor: string, size: string, ...},
11
+ TypeTheme,
12
+ *
13
+ > = styled.span`
10
14
  font-family: ${(p) => p.theme.fontFamily};
11
15
  ${(p) =>
12
- p.size === "small" ? p.theme.typography[100] : p.theme.typography[200]};
16
+ p.size === 'small' ? p.theme.typography[100] : p.theme.typography[200]};
13
17
  border-radius: 9999px;
14
18
  line-height: 16px;
15
19
  display: inline-block;
@@ -22,7 +26,7 @@ const Container: StyledComponent<{type: ?string, badgeColor: string, size: strin
22
26
  ? themeGet(legacyBadgeColors[p.type].background)
23
27
  : p.theme.colors.container.background.decorative[p.badgeColor]};
24
28
  padding: ${(p) =>
25
- p.size === "small"
29
+ p.size === 'small'
26
30
  ? `${p.theme.space[0]} ${p.theme.space[200]}`
27
31
  : `${p.theme.space[300]}`};
28
32
  ${COMMON};
@@ -1,25 +1,25 @@
1
1
  // @flow
2
- import * as React from "react";
3
- import Icon from "../Icon";
4
- import Container from "./styles";
5
- import Box from "../Box";
2
+ import * as React from 'react';
3
+ import Icon from '../Icon';
4
+ import Container from './styles';
5
+ import Box from '../Box';
6
6
 
7
7
  /**
8
8
  * @deprecated
9
9
  * Use banner type "error" instead of "danger"
10
10
  */
11
- type EnumDeprecatedBannerType = "danger";
11
+ type EnumDeprecatedBannerType = 'danger';
12
12
 
13
13
  type EnumValidBannerType =
14
- | "success"
15
- | "info"
16
- | "error"
17
- | "warning"
18
- | "opportunity";
14
+ | 'success'
15
+ | 'info'
16
+ | 'error'
17
+ | 'warning'
18
+ | 'opportunity';
19
19
 
20
20
  export type EnumBannerType = EnumValidBannerType | EnumDeprecatedBannerType;
21
21
 
22
- type TypeProps = {
22
+ export type TypeProps = {
23
23
  text: React.Node,
24
24
  /** Type of banner. "danger" is deprecated in favor of "error". In a future version, the default will be changed to "info" */
25
25
  type?: EnumBannerType,
@@ -27,15 +27,15 @@ type TypeProps = {
27
27
 
28
28
  const getBannerIcon = (type: EnumValidBannerType) => {
29
29
  switch (type) {
30
- case "success":
30
+ case 'success':
31
31
  return <Icon name="circle-check-no-fill" className="Icon" fixedWidth />;
32
- case "info":
32
+ case 'info':
33
33
  return <Icon name="info-white" className="Icon" fixedWidth />;
34
- case "error":
34
+ case 'error':
35
35
  return <Icon name="triangle" className="Icon" fixedWidth />;
36
- case "warning":
36
+ case 'warning':
37
37
  return <Icon name="triangle" className="Icon" fixedWidth />;
38
- case "opportunity":
38
+ case 'opportunity':
39
39
  return <Icon name="sparkles" className="Icon" fixedWidth />;
40
40
  default:
41
41
  return;
@@ -43,17 +43,17 @@ const getBannerIcon = (type: EnumValidBannerType) => {
43
43
  };
44
44
 
45
45
  /** TODO: change to 'info' type by default in future version */
46
- const Banner = ({ type = "error", text, ...rest }: TypeProps) => {
47
- const bannerType: EnumValidBannerType = type === "danger" ? "error" : type;
48
- if (type === "danger") {
46
+ const Banner = ({type = 'error', text, ...rest}: TypeProps) => {
47
+ const bannerType: EnumValidBannerType = type === 'danger' ? 'error' : type;
48
+ if (type === 'danger') {
49
49
  console.warn(
50
- "Warning: The `danger` type has been deprecated on the Banner component. Please use `error` instead."
50
+ 'Warning: The `danger` type has been deprecated on the Banner component. Please use `error` instead.'
51
51
  );
52
52
  }
53
53
  return (
54
54
  <Container
55
55
  type={type}
56
- data-qa-alert={""}
56
+ data-qa-alert={''}
57
57
  data-qa-alert-type={type}
58
58
  data-qa-alert-text={text}
59
59
  // $FlowIssue - upgrade v0.112.0
@@ -1,65 +1,55 @@
1
1
  // @flow
2
- import React from "react";
3
- import { text } from "@storybook/addon-knobs";
4
- import Banner from "./index";
5
- import Box from "../Box";
6
- import Text from "../Text";
7
- import Link from "../Link";
8
- import Stack from "../Stack";
2
+ import React from 'react';
3
+ import Banner from './index';
4
+ import Box from '../Box';
5
+ import Text from '../Text';
6
+ import Link from '../Link';
7
+ import {type TypeProps} from './index';
9
8
 
10
9
  export default {
11
- title: "Banner",
10
+ title: 'Components/Banner',
11
+ component: Banner,
12
+ argTypes: {
13
+ type: {
14
+ options: ['success', 'info', 'error', 'warning', 'opportunity', 'danger'],
15
+ control: {type: 'select'},
16
+ },
17
+ },
18
+ args: {
19
+ type: 'success',
20
+ text: 'This is a success message!',
21
+ },
12
22
  };
13
23
 
14
- export const permutations = () => (
15
- <Stack>
16
- <Banner
17
- text={text("Success", "Success message")}
18
- type="success"
19
- width="500px"
20
- />
21
- <Banner text={text("Info", "Info message")} type="info" width="500px" />
22
- <Banner text={text("Error", "Error message")} type="error" width="500px" />
23
- <Banner
24
- text={text("Warning", "Warning message")}
25
- type="warning"
26
- width="500px"
27
- />
28
- <Banner
29
- text={text("Opportunity", "Opportunity message")}
30
- type="opportunity"
31
- width="500px"
32
- />
33
- </Stack>
34
- );
35
-
36
- permutations.story = {
37
- name: "Permutations",
24
+ const findText = (bannerType) => {
25
+ switch (bannerType) {
26
+ case 'warning':
27
+ return 'This is a warning message!';
28
+ case 'opportunity':
29
+ return 'This is an opportunity message!';
30
+ case 'danger':
31
+ return 'This is a danger message!';
32
+ case 'error':
33
+ return 'This is an error message!';
34
+ case 'info':
35
+ return 'This is an informative message!';
36
+ case 'success':
37
+ default:
38
+ return 'This is a success message!';
39
+ }
38
40
  };
39
41
 
40
- export const Success = () => (
41
- <Banner text={text("text", "Success message")} type="success" />
42
- );
43
-
44
- export const Info = () => (
45
- <Banner text={text("text", "Info message")} type="info" />
46
- );
47
-
48
- export const Error = () => (
49
- <Banner text={text("text", "Error message")} type="error" />
42
+ export const permutations = (args: TypeProps) => (
43
+ <Banner text={findText(args.type)} type={args.type} />
50
44
  );
51
45
 
52
- export const Warning = () => (
53
- <Banner text={text("text", "Warning message")} type="warning" />
54
- );
55
-
56
- export const Opportunity = () => (
57
- <Banner text={text("text", "Opportunity message")} type="opportunity" />
58
- );
46
+ permutations.story = {
47
+ name: 'Permutations',
48
+ };
59
49
 
60
- export const links = () => (
50
+ export const links = (args: TypeProps) => (
61
51
  <Banner
62
- type="success"
52
+ type={args.type}
63
53
  text={
64
54
  <Box
65
55
  width={1}
@@ -67,7 +57,7 @@ export const links = () => (
67
57
  alignItems="center"
68
58
  justifyContent="space-between"
69
59
  >
70
- <Text>Success message</Text>
60
+ <Text>{findText(args.type)}</Text>
71
61
  <Text>
72
62
  <Link href="/">Learn more</Link>
73
63
  </Text>
@@ -77,12 +67,12 @@ export const links = () => (
77
67
  );
78
68
 
79
69
  links.story = {
80
- name: "With link",
70
+ name: 'With link',
81
71
  };
82
72
 
83
- export const buttons = () => (
73
+ export const buttons = (args: TypeProps) => (
84
74
  <Banner
85
- type="success"
75
+ type={args.type}
86
76
  text={
87
77
  <Box
88
78
  width={1}
@@ -90,9 +80,9 @@ export const buttons = () => (
90
80
  alignItems="center"
91
81
  justifyContent="space-between"
92
82
  >
93
- <Text>Success message</Text>
83
+ <Text>{findText(args.type)}</Text>
94
84
  <Text>
95
- <Link onClick={() => alert("Clicked")}>Learn more</Link>
85
+ <Link onClick={() => alert('Clicked')}>Learn more</Link>
96
86
  </Text>
97
87
  </Box>
98
88
  }
@@ -100,21 +90,19 @@ export const buttons = () => (
100
90
  );
101
91
 
102
92
  buttons.story = {
103
- name: "With button",
93
+ name: 'With button',
104
94
  };
105
95
 
106
- export const multiline = () => (
107
- <Box width="300px">
108
- <Banner
109
- text={text(
110
- "text",
111
- "A very long opportunity message that is going to stretch to multiple lines, while the icon stays aligned with the first line."
112
- )}
113
- type="opportunity"
114
- />
96
+ export const multiline = (args: TypeProps) => (
97
+ <Box width="416px">
98
+ <Banner text={args.text} type={args.type} />
115
99
  </Box>
116
100
  );
117
101
 
102
+ multiline.args = {
103
+ text: 'A very long opportunity message that is going to stretch to multiple lines, while the icon stays aligned with the first line.',
104
+ };
105
+
118
106
  multiline.story = {
119
- name: "With multiline text",
107
+ name: 'With multiline text',
120
108
  };
@@ -1,70 +1,68 @@
1
1
  // @flow
2
- import React from "react";
3
- import Banner from "./";
4
- import { render } from "../utils/react-testing-library";
2
+ import React from 'react';
3
+ import Banner from './';
4
+ import {render} from '../utils/react-testing-library';
5
5
 
6
- describe("Banner", () => {
6
+ describe('Banner', () => {
7
7
  /** TODO: change to 'info' type by default in future version */
8
- it("should render as error when no type is provided", () => {
9
- const { getByText, getByDataQaLabel } = render(
10
- <Banner text="Banner Text" />
11
- );
8
+ it('should render as error when no type is provided', () => {
9
+ const {getByText, getByDataQaLabel} = render(<Banner text="Banner Text" />);
12
10
 
13
- expect(getByText("Banner Text")).toBeTruthy();
14
- expect(getByDataQaLabel({ icon: "triangle" })).toBeTruthy();
11
+ expect(getByText('Banner Text')).toBeTruthy();
12
+ expect(getByDataQaLabel({icon: 'triangle'})).toBeTruthy();
15
13
  });
16
14
 
17
- it("should render with success type", () => {
18
- const { getByText, getByDataQaLabel } = render(
15
+ it('should render with success type', () => {
16
+ const {getByText, getByDataQaLabel} = render(
19
17
  <Banner text="Banner Text" type="success" />
20
18
  );
21
19
 
22
- expect(getByText("Banner Text")).toBeTruthy();
23
- expect(getByDataQaLabel({ icon: "circle-check-no-fill" })).toBeTruthy();
20
+ expect(getByText('Banner Text')).toBeTruthy();
21
+ expect(getByDataQaLabel({icon: 'circle-check-no-fill'})).toBeTruthy();
24
22
  });
25
23
 
26
- it("should render with info type", () => {
27
- const { getByText, getByDataQaLabel } = render(
24
+ it('should render with info type', () => {
25
+ const {getByText, getByDataQaLabel} = render(
28
26
  <Banner text="Banner Text" type="info" />
29
27
  );
30
28
 
31
- expect(getByText("Banner Text")).toBeTruthy();
32
- expect(getByDataQaLabel({ icon: "info-white" })).toBeTruthy();
29
+ expect(getByText('Banner Text')).toBeTruthy();
30
+ expect(getByDataQaLabel({icon: 'info-white'})).toBeTruthy();
33
31
  });
34
32
 
35
- it("should render with error type", () => {
36
- const { getByText, getByDataQaLabel } = render(
33
+ it('should render with error type', () => {
34
+ const {getByText, getByDataQaLabel} = render(
37
35
  <Banner text="Banner Text" type="error" />
38
36
  );
39
37
 
40
- expect(getByText("Banner Text")).toBeTruthy();
41
- expect(getByDataQaLabel({ icon: "triangle" })).toBeTruthy();
38
+ expect(getByText('Banner Text')).toBeTruthy();
39
+ expect(getByDataQaLabel({icon: 'triangle'})).toBeTruthy();
42
40
  });
43
41
 
44
- it("should render with deprecated danger type", () => {
45
- const { getByText, getByDataQaLabel } = render(
42
+ it('should render with deprecated danger type', () => {
43
+ const {getByText, getByDataQaLabel} = render(
46
44
  <Banner text="Banner Text" type="danger" />
47
45
  );
48
46
 
49
- expect(getByText("Banner Text")).toBeTruthy();
50
- expect(getByDataQaLabel({ icon: "triangle" })).toBeTruthy();
47
+ expect(getByText('Banner Text')).toBeTruthy();
48
+ expect(getByDataQaLabel({icon: 'triangle'})).toBeTruthy();
51
49
  });
52
50
 
53
- it("should render with warning type", () => {
54
- const { getByText, getByDataQaLabel } = render(
51
+ it('should render with warning type', () => {
52
+ const {getByText, getByDataQaLabel} = render(
55
53
  <Banner text="Banner Text" type="warning" />
56
54
  );
57
55
 
58
- expect(getByText("Banner Text")).toBeTruthy();
59
- expect(getByDataQaLabel({ icon: "triangle" })).toBeTruthy();
56
+ expect(getByText('Banner Text')).toBeTruthy();
57
+ expect(getByDataQaLabel({icon: 'triangle'})).toBeTruthy();
60
58
  });
61
59
 
62
- it("should render with opportunity type", () => {
63
- const { getByText, getByDataQaLabel } = render(
60
+ it('should render with opportunity type', () => {
61
+ const {getByText, getByDataQaLabel} = render(
64
62
  <Banner text="Banner Text" type="opportunity" />
65
63
  );
66
64
 
67
- expect(getByText("Banner Text")).toBeTruthy();
68
- expect(getByDataQaLabel({ icon: "sparkles" })).toBeTruthy();
65
+ expect(getByText('Banner Text')).toBeTruthy();
66
+ expect(getByDataQaLabel({icon: 'sparkles'})).toBeTruthy();
69
67
  });
70
68
  });
@@ -1,9 +1,9 @@
1
1
  //@flow
2
- import styled, { css, type StyledComponent } from "styled-components";
3
- import { COMMON, LAYOUT } from "../utils/system-props";
2
+ import styled, {css, type StyledComponent} from 'styled-components';
3
+ import {COMMON, LAYOUT} from '../utils/system-props';
4
4
 
5
- import type { TypeTheme } from "../types/theme.flow";
6
- import type { EnumBannerType } from "./";
5
+ import type {TypeTheme} from '../types/theme.flow';
6
+ import type {EnumBannerType} from './';
7
7
 
8
8
  type TypeProps = {|
9
9
  type: EnumBannerType,
@@ -1,8 +1,8 @@
1
1
  // @flow
2
- import * as React from "react";
3
- import Container from "./styles";
2
+ import * as React from 'react';
3
+ import Container from './styles';
4
4
 
5
- type TypeBoxProps = $ReadOnly<{
5
+ export type TypeBoxProps = $ReadOnly<{
6
6
  ...React.ElementConfig<typeof Container>,
7
7
  ...
8
8
  }>;
@@ -11,6 +11,6 @@ const Box = React.forwardRef<TypeBoxProps, *>((props, ref) => {
11
11
  return <Container {...props} ref={ref} />;
12
12
  });
13
13
 
14
- Box.displayName = "Box";
14
+ Box.displayName = 'Box';
15
15
 
16
16
  export default Box;