@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,9 +1,9 @@
1
1
  //@flow
2
- import styled, { css, type StyledComponent } from "styled-components";
3
- import { COMMON } from "../utils/system-props";
4
- import { focusRing } from "../utils/mixins";
2
+ import styled, {css, type StyledComponent} from 'styled-components';
3
+ import {COMMON} from '../utils/system-props';
4
+ import {focusRing} from '../utils/mixins';
5
5
 
6
- import type { TypeTheme } from "../types/theme.flow";
6
+ import type {TypeTheme} from '../types/theme.flow';
7
7
 
8
8
  const Container: StyledComponent<any, TypeTheme, *> = styled.div`
9
9
  box-sizing: border-box;
@@ -96,7 +96,7 @@ export const Accessory: StyledComponent<any, TypeTheme, *> = styled.div`
96
96
  `};
97
97
  `;
98
98
 
99
- Container.displayName = "TextareaContainer";
100
- Accessory.displayName = "TextareaAccessory";
99
+ Container.displayName = 'TextareaContainer';
100
+ Accessory.displayName = 'TextareaAccessory';
101
101
 
102
102
  export default Container;
@@ -1,9 +1,9 @@
1
1
  // @flow strict-local
2
- import * as React from "react";
3
- import { ThemeProvider as BaseThemeProvider } from "styled-components";
4
- import theme from "../themes/light/theme";
2
+ import * as React from 'react';
3
+ import {ThemeProvider as BaseThemeProvider} from 'styled-components';
4
+ import theme from '../themes/light/theme';
5
5
 
6
- import type { TypeTheme, TypeSproutTheme } from "../types/theme.flow";
6
+ import type {TypeTheme, TypeSproutTheme} from '../types/theme.flow';
7
7
 
8
8
  // We can append additional themes types here
9
9
  type TypeAllThemes = TypeTheme | TypeSproutTheme;
@@ -1,21 +1,21 @@
1
1
  // @flow
2
- import * as React from "react";
3
- import Container, { GlobalToastStyles, CustomIcon } from "./styles";
2
+ import * as React from 'react';
3
+ import Container, {GlobalToastStyles, CustomIcon} from './styles';
4
4
  import {
5
5
  toast as toastifyToast,
6
6
  ToastContainer as BaseToastContainer,
7
7
  cssTransition,
8
- } from "react-toastify";
8
+ } from 'react-toastify';
9
9
  import {
10
10
  MOTION_DURATION_MEDIUM,
11
11
  MOTION_DURATION_SLOW,
12
- } from "@sproutsocial/seeds-motion/dist/seeds-motion-unitless";
13
- import Icon from "../Icon";
14
- import Box from "../Box";
15
- import Text from "../Text";
12
+ } from '@sproutsocial/seeds-motion/dist/seeds-motion-unitless';
13
+ import Icon from '../Icon';
14
+ import Box from '../Box';
15
+ import Text from '../Text';
16
16
 
17
- import type { EnumIconNames } from "../EnumIconNames";
18
- import type { TypeColor } from "../../src/types/theme.flow";
17
+ import type {EnumIconNames} from '../EnumIconNames';
18
+ import type {TypeColor} from '../../src/types/theme.flow';
19
19
 
20
20
  const NoTransition = cssTransition({
21
21
  duration: [0, 0],
@@ -23,8 +23,8 @@ const NoTransition = cssTransition({
23
23
  });
24
24
 
25
25
  const Zoom = cssTransition({
26
- enter: "Toastify__zoom-enter",
27
- exit: "Toastify__zoom-exit",
26
+ enter: 'Toastify__zoom-enter',
27
+ exit: 'Toastify__zoom-exit',
28
28
  duration: [MOTION_DURATION_MEDIUM * 1000, MOTION_DURATION_SLOW * 1000],
29
29
  });
30
30
 
@@ -43,13 +43,13 @@ const ToastContainer = () => (
43
43
  );
44
44
 
45
45
  const themeIcon = {
46
- success: "circle-check-filled",
47
- info: "info",
48
- warning: "triangle",
49
- error: "triangle",
46
+ success: 'circle-check-filled',
47
+ info: 'info',
48
+ warning: 'triangle',
49
+ error: 'triangle',
50
50
  };
51
51
 
52
- export type TypeToastTheme = "info" | "success" | "warning" | "error";
52
+ export type TypeToastTheme = 'info' | 'success' | 'warning' | 'error';
53
53
 
54
54
  type TypeProps = {|
55
55
  theme?: TypeToastTheme,
@@ -78,8 +78,8 @@ export function toast(options: TypeToastOptions): void {
78
78
 
79
79
  const autoClose = options.persist ? false : 6000;
80
80
 
81
- let { toastId, content, onClose, useTransition = true } = options;
82
- if (!toastId && typeof content === "string") {
81
+ let {toastId, content, onClose, useTransition = true} = options;
82
+ if (!toastId && typeof content === 'string') {
83
83
  toastId = content;
84
84
  }
85
85
 
@@ -94,13 +94,13 @@ export function toast(options: TypeToastOptions): void {
94
94
  }
95
95
 
96
96
  const IconBox = (props) => (
97
- <Box display="inline-block" css={"line-height: 1;"} {...props} />
97
+ <Box display="inline-block" css={'line-height: 1;'} {...props} />
98
98
  );
99
99
 
100
- const Toast = ({ content, theme, color, icon }: TypeProps) => {
100
+ const Toast = ({content, theme, color, icon}: TypeProps) => {
101
101
  return (
102
102
  <Container
103
- type={theme || "info"}
103
+ type={theme || 'info'}
104
104
  customColor={color}
105
105
  borderLeft="2px solid"
106
106
  data-qa-toast=""
@@ -116,10 +116,10 @@ const Toast = ({ content, theme, color, icon }: TypeProps) => {
116
116
  >
117
117
  <IconBox>
118
118
  <CustomIcon
119
- type={theme || "info"}
119
+ type={theme || 'info'}
120
120
  color={color}
121
121
  customColor={color}
122
- name={theme ? themeIcon[theme] : icon || themeIcon["info"]}
122
+ name={theme ? themeIcon[theme] : icon || themeIcon['info']}
123
123
  fixedWidth
124
124
  />
125
125
  </IconBox>
@@ -1,15 +1,15 @@
1
1
  // @flow
2
- import React from "react";
3
- import ToastContainer, { toast, type TypeToastTheme } from "./index";
4
- import Button from "../Button";
5
- import Link from "../Link";
6
- import Stack from "../Stack";
7
- import Box from "../Box";
8
- import Text from "../Text";
9
- import type { EnumIconNames } from "../EnumIconNames";
10
- import type { TypeColor } from "../../src/types/theme.flow";
2
+ import React from 'react';
3
+ import ToastContainer, {toast, type TypeToastTheme} from './index';
4
+ import Button from '../Button';
5
+ import Link from '../Link';
6
+ import Stack from '../Stack';
7
+ import Box from '../Box';
8
+ import Text from '../Text';
9
+ import type {EnumIconNames} from '../EnumIconNames';
10
+ import type {TypeColor} from '../../src/types/theme.flow';
11
11
 
12
- const ToastContent = ({ verbose = false }) => (
12
+ const ToastContent = ({verbose = false}) => (
13
13
  <Box>
14
14
  <Text as="div" color="text.header" fontWeight="semibold">
15
15
  New Message
@@ -29,12 +29,12 @@ const ToastContent = ({ verbose = false }) => (
29
29
  );
30
30
 
31
31
  export default {
32
- title: "Toast",
32
+ title: 'Components/Toast',
33
33
  };
34
34
 
35
35
  export const defaultStory = () => {
36
36
  const triggerToast = (
37
- type?: TypeToastTheme = "info",
37
+ type?: TypeToastTheme = 'info',
38
38
  verbose?: boolean = false,
39
39
  color?: TypeColor,
40
40
  icon?: EnumIconNames
@@ -53,25 +53,25 @@ export const defaultStory = () => {
53
53
  <Button appearance="secondary" onClick={() => triggerToast()}>
54
54
  Default toast
55
55
  </Button>
56
- <Button appearance="secondary" onClick={() => triggerToast("success")}>
56
+ <Button appearance="secondary" onClick={() => triggerToast('success')}>
57
57
  Success toast
58
58
  </Button>
59
- <Button appearance="secondary" onClick={() => triggerToast("info")}>
59
+ <Button appearance="secondary" onClick={() => triggerToast('info')}>
60
60
  Info toast
61
61
  </Button>
62
- <Button appearance="secondary" onClick={() => triggerToast("warning")}>
62
+ <Button appearance="secondary" onClick={() => triggerToast('warning')}>
63
63
  Warning toast
64
64
  </Button>
65
- <Button appearance="secondary" onClick={() => triggerToast("error")}>
65
+ <Button appearance="secondary" onClick={() => triggerToast('error')}>
66
66
  Error toast
67
67
  </Button>
68
- <Button appearance="secondary" onClick={() => triggerToast("info", true)}>
68
+ <Button appearance="secondary" onClick={() => triggerToast('info', true)}>
69
69
  Verbose toast
70
70
  </Button>
71
71
  <Button
72
72
  appearance="secondary"
73
73
  // $FlowExpectedError - 'green.700' is a valid styled color but not TypeColor
74
- onClick={() => triggerToast(undefined, false, "green.700", "glassdoor")}
74
+ onClick={() => triggerToast(undefined, false, 'green.700', 'glassdoor')}
75
75
  >
76
76
  Social Network toast
77
77
  </Button>
@@ -80,7 +80,7 @@ export const defaultStory = () => {
80
80
  };
81
81
 
82
82
  defaultStory.story = {
83
- name: "Default",
83
+ name: 'Default',
84
84
  };
85
85
 
86
86
  export const WithLink = () => {
@@ -95,7 +95,7 @@ export const WithLink = () => {
95
95
  alignItems="flex-start"
96
96
  >
97
97
  <Text>Message completed</Text>
98
- <Link onClick={() => alert("Clicked!")} ml={300} fontSize={200} p={0}>
98
+ <Link onClick={() => alert('Clicked!')} ml={300} fontSize={200} p={0}>
99
99
  Undo
100
100
  </Link>
101
101
  </Box>
@@ -114,5 +114,5 @@ export const WithLink = () => {
114
114
  };
115
115
 
116
116
  WithLink.story = {
117
- name: "With link",
117
+ name: 'With link',
118
118
  };
@@ -1,14 +1,14 @@
1
1
  //@flow
2
- import styled, { createGlobalStyle } from "styled-components";
3
- import Box from "../Box";
4
- import Icon from "../Icon";
2
+ import styled, {createGlobalStyle} from 'styled-components';
3
+ import Box from '../Box';
4
+ import Icon from '../Icon';
5
5
  // $FlowIssue
6
- import toastStyles from "!!raw-loader!react-toastify/dist/ReactToastify.css";
6
+ import toastStyles from '!!raw-loader!react-toastify/dist/ReactToastify.css';
7
7
 
8
- import type { TypeTheme } from "../types/theme.flow";
8
+ import type {TypeTheme} from '../types/theme.flow';
9
9
 
10
10
  type TypeProps = {|
11
- type: "info" | "success" | "warning" | "error",
11
+ type: 'info' | 'success' | 'warning' | 'error',
12
12
  customColor?: string,
13
13
  |};
14
14
 
@@ -1,11 +1,11 @@
1
1
  // @flow
2
- import * as React from "react";
3
- import Icon from "../Icon";
4
- import Container, { IconText } from "./styles";
2
+ import * as React from 'react';
3
+ import Icon from '../Icon';
4
+ import Container, {IconText} from './styles';
5
5
 
6
6
  type TypeProps = {
7
7
  isOpen: boolean,
8
- icon: "chevron" | "plus",
8
+ icon: 'chevron' | 'plus',
9
9
  openString: string,
10
10
  closeString: string,
11
11
  className?: string,
@@ -20,19 +20,19 @@ type TypeProps = {
20
20
  export default class ToggleHint extends React.Component<TypeProps> {
21
21
  static defaultProps = {
22
22
  isOpen: false,
23
- icon: "chevron",
23
+ icon: 'chevron',
24
24
  };
25
25
 
26
26
  getIcon = () => {
27
- if (this.props.icon === "chevron") {
27
+ if (this.props.icon === 'chevron') {
28
28
  return <Icon name="chevron-down" />;
29
29
  }
30
30
 
31
- return <Icon name={this.props.isOpen ? "minus" : "plus"} />;
31
+ return <Icon name={this.props.isOpen ? 'minus' : 'plus'} />;
32
32
  };
33
33
 
34
34
  render() {
35
- const { icon, isOpen, openString, closeString, qa, className, ...rest } =
35
+ const {icon, isOpen, openString, closeString, qa, className, ...rest} =
36
36
  this.props;
37
37
 
38
38
  return (
@@ -1,16 +1,16 @@
1
1
  // @flow
2
- import React from "react";
3
- import { render } from "../utils/react-testing-library";
4
- import ToggleHint from "./";
2
+ import React from 'react';
3
+ import {render} from '../utils/react-testing-library';
4
+ import ToggleHint from './';
5
5
 
6
- describe("ToggleHint", () => {
7
- it("should toggle to open", () => {
8
- const { getByDataQaLabel, rerender } = render(
6
+ describe('ToggleHint', () => {
7
+ it('should toggle to open', () => {
8
+ const {getByDataQaLabel, rerender} = render(
9
9
  <ToggleHint closeString="close" openString="open" />
10
10
  );
11
- expect(getByDataQaLabel({ "togglehint-isopen": false })).toBeTruthy();
11
+ expect(getByDataQaLabel({'togglehint-isopen': false})).toBeTruthy();
12
12
 
13
13
  rerender(<ToggleHint closeString="close" openString="open" isOpen />);
14
- expect(getByDataQaLabel({ "togglehint-isopen": true })).toBeTruthy();
14
+ expect(getByDataQaLabel({'togglehint-isopen': true})).toBeTruthy();
15
15
  });
16
16
  });
@@ -1,12 +1,12 @@
1
1
  //@flow
2
- import styled, { css, type StyledComponent } from "styled-components";
3
- import { COMMON } from "../utils/system-props";
4
- import { visuallyHidden } from "../utils/mixins";
2
+ import styled, {css, type StyledComponent} from 'styled-components';
3
+ import {COMMON} from '../utils/system-props';
4
+ import {visuallyHidden} from '../utils/mixins';
5
5
 
6
- import type { TypeTheme } from "../types/theme.flow";
6
+ import type {TypeTheme} from '../types/theme.flow';
7
7
 
8
- const Container: StyledComponent<{ ... }, TypeTheme, *> = styled.div.attrs({
9
- className: "ToggleHint",
8
+ const Container: StyledComponent<{...}, TypeTheme, *> = styled.div.attrs({
9
+ className: 'ToggleHint',
10
10
  })`
11
11
  position: relative;
12
12
  display: inline-block;
@@ -14,7 +14,7 @@ const Container: StyledComponent<{ ... }, TypeTheme, *> = styled.div.attrs({
14
14
  color: currentColor;
15
15
 
16
16
  ${(props) =>
17
- props.icon === "chevron" &&
17
+ props.icon === 'chevron' &&
18
18
  css`
19
19
  transition: transform
20
20
  ${(props) =>
@@ -29,7 +29,7 @@ const Container: StyledComponent<{ ... }, TypeTheme, *> = styled.div.attrs({
29
29
  ${COMMON}
30
30
  `;
31
31
 
32
- export const IconText: StyledComponent<{ ... }, TypeTheme, *> = styled.div`
32
+ export const IconText: StyledComponent<{...}, TypeTheme, *> = styled.div`
33
33
  ${visuallyHidden}
34
34
  `;
35
35
 
@@ -1,9 +1,9 @@
1
1
  // @flow
2
- import * as React from "react";
3
- import { useTextContent } from "../utils/hooks";
4
- import Container from "./styles";
5
- import Icon from "../Icon";
6
- import Box from "../Box";
2
+ import * as React from 'react';
3
+ import {useTextContent} from '../utils/hooks';
4
+ import Container from './styles';
5
+ import Icon from '../Icon';
6
+ import Box from '../Box';
7
7
 
8
8
  export type TypeProps = {
9
9
  onClick?: (event: SyntheticEvent<HTMLButtonElement>) => void,
@@ -15,7 +15,7 @@ export type TypeProps = {
15
15
  valid?: boolean,
16
16
  /** Indicates whether the token is disabled */
17
17
  disabled?: boolean,
18
- palette?: "neutral" | "blue",
18
+ palette?: 'neutral' | 'blue',
19
19
  };
20
20
 
21
21
  const Token = ({
@@ -25,18 +25,18 @@ const Token = ({
25
25
  qa,
26
26
  valid = true,
27
27
  disabled = false,
28
- palette = "neutral",
28
+ palette = 'neutral',
29
29
  ...rest
30
30
  }: TypeProps) => {
31
- const textContainer = useTextContent("");
31
+ const textContainer = useTextContent('');
32
32
 
33
33
  return (
34
34
  <Container
35
35
  ref={textContainer}
36
36
  valid={valid}
37
37
  palette={palette}
38
- type={closeable || onClick ? "button" : undefined}
39
- as={closeable || onClick ? "button" : "div"}
38
+ type={closeable || onClick ? 'button' : undefined}
39
+ as={closeable || onClick ? 'button' : 'div'}
40
40
  closeable={closeable || onClick}
41
41
  disabled={disabled}
42
42
  onClick={onClick}
@@ -1,94 +1,89 @@
1
1
  // @flow
2
- import React from "react";
3
- import { boolean, text } from "@storybook/addon-knobs";
2
+ import React from 'react';
4
3
 
5
- import Token from "./";
6
- import Icon from "../Icon";
4
+ import Token, {type TypeProps} from './';
5
+ import Icon from '../Icon';
7
6
 
8
7
  export default {
9
- title: "Token",
8
+ title: 'Components/Token',
9
+ component: Token,
10
+ argTypes: {
11
+ onClick: {control: 'object', if: {arg: 'closeable'}},
12
+ },
13
+ args: {
14
+ closeable: false,
15
+ valid: undefined,
16
+ disabled: undefined,
17
+ onClick: () => {
18
+ alert('You removed this token');
19
+ },
20
+ },
10
21
  };
11
22
 
12
- export const closeable = () => (
13
- <Token
14
- closeable={boolean("closeable", true)}
15
- onClick={() => {
16
- alert("You removed this token");
17
- }}
18
- >
19
- {text("children", "United Kingdom")}
20
- </Token>
23
+ export const closeable = (args: TypeProps) => (
24
+ <Token {...args}>United Kingdom</Token>
21
25
  );
22
26
 
27
+ closeable.args = {
28
+ closeable: true,
29
+ };
30
+
23
31
  closeable.story = {
24
- name: "Closeable",
32
+ name: 'Closeable',
25
33
  };
26
34
 
27
- export const staticStory = () => (
28
- <Token closeable={boolean("closeable", false)}>
29
- {text("children", "Mexico")}
30
- </Token>
31
- );
35
+ export const staticStory = (args: TypeProps) => <Token {...args}>Mexico</Token>;
32
36
 
33
37
  staticStory.story = {
34
- name: "Static",
38
+ name: 'Static',
35
39
  };
36
40
 
37
- export const invalid = () => (
38
- <Token closeable={boolean("closeable", true)} valid={boolean("valid", false)}>
39
- {text("children", "Argenteena")}
40
- </Token>
41
- );
41
+ export const invalid = (args: TypeProps) => <Token {...args}>Argenteena</Token>;
42
+
43
+ invalid.args = {
44
+ valid: false,
45
+ closeable: true,
46
+ };
42
47
 
43
48
  invalid.story = {
44
- name: "Invalid",
49
+ name: 'Invalid',
45
50
  };
46
51
 
47
- export const disabled = () => (
48
- <Token
49
- closeable={boolean("closeable", true)}
50
- disabled={boolean("disabled", true)}
51
- onClick={() => {
52
- alert("This should not trigger");
53
- }}
54
- >
55
- {text("children", "East Germany")}
56
- </Token>
52
+ export const disabled = (args: TypeProps) => (
53
+ <Token {...args}>East Germany</Token>
57
54
  );
58
55
 
59
- disabled.story = {
60
- name: "Disabled",
56
+ disabled.args = {
57
+ disabled: true,
58
+ closeable: true,
61
59
  };
62
60
 
63
- export const withIcon = () => (
64
- <Token closeable={boolean("closeable", true)}>
65
- <Icon name="twitter" size="mini" pr={300} />
66
- <span>East Germany</span>
67
- </Token>
68
- );
69
-
70
- withIcon.story = {
71
- name: "With icon",
61
+ disabled.story = {
62
+ name: 'Disabled',
72
63
  };
73
64
 
74
- export const staticWithIcon = () => (
75
- <Token closeable={boolean("closeable", false)}>
65
+ export const staticWithIcon = (args: TypeProps) => (
66
+ <Token {...args}>
76
67
  <Icon size="mini" name="twitter" pr={300} />
77
68
  <span>East Germany</span>
78
69
  </Token>
79
70
  );
80
71
 
81
72
  staticWithIcon.story = {
82
- name: "Static with icon",
73
+ name: 'Static with icon',
83
74
  };
84
75
 
85
- export const bluePalette = () => (
86
- <Token palette="blue" closeable={boolean("closeable", false)}>
76
+ export const bluePalette = (args: TypeProps) => (
77
+ <Token {...args}>
87
78
  <Icon size="mini" name="twitter" pr={300} />
88
79
  <span>I'm blue</span>
89
80
  </Token>
90
81
  );
91
82
 
83
+ bluePalette.args = {
84
+ palette: 'blue',
85
+ };
86
+
92
87
  bluePalette.story = {
93
- name: "Palette Variation",
88
+ name: 'Palette Variation',
94
89
  };
@@ -1,74 +1,74 @@
1
1
  // @flow
2
- import React from "react";
3
- import { render, fireEvent, cleanup } from "../utils/react-testing-library";
4
- import "jest-styled-components";
5
- import Token from "./";
2
+ import React from 'react';
3
+ import {render, fireEvent, cleanup} from '../utils/react-testing-library';
4
+ import 'jest-styled-components';
5
+ import Token from './';
6
6
 
7
7
  afterEach(() => cleanup());
8
8
 
9
- describe("Token", () => {
10
- it("should render a static token", () => {
11
- const { queryByText, queryByDataQaLabel } = render(
9
+ describe('Token', () => {
10
+ it('should render a static token', () => {
11
+ const {queryByText, queryByDataQaLabel} = render(
12
12
  <Token closeable={false}>Token</Token>
13
13
  );
14
- expect(queryByText("Token")).toBeTruthy();
14
+ expect(queryByText('Token')).toBeTruthy();
15
15
  expect(
16
16
  queryByDataQaLabel({
17
- token: "Token",
17
+ token: 'Token',
18
18
  })
19
19
  ).toBeTruthy();
20
20
  });
21
- it("should render a closeable token", () => {
22
- const { queryByText, queryByDataQaLabel } = render(
21
+ it('should render a closeable token', () => {
22
+ const {queryByText, queryByDataQaLabel} = render(
23
23
  <Token closeable={true}>Token</Token>
24
24
  );
25
- expect(queryByText("Token")).toBeTruthy();
25
+ expect(queryByText('Token')).toBeTruthy();
26
26
  expect(
27
27
  queryByDataQaLabel({
28
- token: "Token",
28
+ token: 'Token',
29
29
  })
30
30
  ).toBeTruthy();
31
31
  });
32
- it("should render invalid token", () => {
33
- const { queryByText } = render(<Token valid={false}>Token</Token>);
34
- expect(queryByText("Token")).toBeTruthy();
32
+ it('should render invalid token', () => {
33
+ const {queryByText} = render(<Token valid={false}>Token</Token>);
34
+ expect(queryByText('Token')).toBeTruthy();
35
35
  });
36
36
 
37
- it("should render as a div", () => {
38
- const { queryByText } = render(<Token closeable={false}>Token</Token>);
39
- expect(queryByText("Token")).toBeTruthy();
37
+ it('should render as a div', () => {
38
+ const {queryByText} = render(<Token closeable={false}>Token</Token>);
39
+ expect(queryByText('Token')).toBeTruthy();
40
40
  });
41
41
 
42
- it("should render as a button", () => {
42
+ it('should render as a button', () => {
43
43
  const onClick = jest.fn();
44
- const { getByText } = render(<Token onClick={onClick}>Token</Token>);
45
- const token = getByText("Token");
44
+ const {getByText} = render(<Token onClick={onClick}>Token</Token>);
45
+ const token = getByText('Token');
46
46
  expect(token).toBeTruthy();
47
47
  fireEvent.click(token);
48
48
  expect(onClick).toHaveBeenCalled();
49
49
  });
50
50
 
51
- it("should not submit form when clicked", () => {
51
+ it('should not submit form when clicked', () => {
52
52
  const onClick = jest.fn();
53
53
  const onSubmit = jest.fn();
54
- const { getByText } = render(
54
+ const {getByText} = render(
55
55
  <form onSubmit={onSubmit}>
56
56
  <Token onClick={onClick}>Token</Token>)
57
57
  </form>
58
58
  );
59
- fireEvent.click(getByText("Token"));
59
+ fireEvent.click(getByText('Token'));
60
60
  expect(onSubmit).not.toHaveBeenCalled();
61
61
  });
62
62
 
63
- it("should add a qa selector with text content", () => {
64
- const { queryByDataQaLabel } = render(
63
+ it('should add a qa selector with text content', () => {
64
+ const {queryByDataQaLabel} = render(
65
65
  <Token closeable={false}>
66
66
  <span>Token</span>
67
67
  </Token>
68
68
  );
69
69
  expect(
70
70
  queryByDataQaLabel({
71
- token: "Token",
71
+ token: 'Token',
72
72
  })
73
73
  ).toBeTruthy();
74
74
  });