@sproutsocial/racine 12.20.0 → 12.21.0

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 +20 -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,11 +1,11 @@
1
1
  // @flow strict-local
2
- import React from "react";
2
+ import React from 'react';
3
3
 
4
- import Box from "../Box";
5
- import Portal from "./";
4
+ import Box from '../Box';
5
+ import Portal from './';
6
6
 
7
7
  export default {
8
- title: "Portal",
8
+ title: 'Components/Portal',
9
9
  };
10
10
 
11
11
  export const portal = () => (
@@ -14,22 +14,22 @@ export const portal = () => (
14
14
  <Portal>
15
15
  <Box
16
16
  position="absolute"
17
- top={"100px"}
17
+ top={'100px'}
18
18
  left={0}
19
- width={"100px"}
20
- border={"2px solid red"}
19
+ width={'100px'}
20
+ border={'2px solid red'}
21
21
  >
22
22
  this is portaled content
23
23
  </Box>
24
24
  </Portal>
25
25
 
26
- <Portal as={"span"}>
26
+ <Portal as={'span'}>
27
27
  <Box
28
28
  position="absolute"
29
- top={"100px"}
29
+ top={'100px'}
30
30
  right={0}
31
- width={"100px"}
32
- border={"2px solid blue"}
31
+ width={'100px'}
32
+ border={'2px solid blue'}
33
33
  >
34
34
  this is portaled content too!!
35
35
  </Box>
@@ -38,5 +38,5 @@ export const portal = () => (
38
38
  );
39
39
 
40
40
  portal.story = {
41
- name: "Portal",
41
+ name: 'Portal',
42
42
  };
@@ -1,6 +1,6 @@
1
1
  // @flow
2
- import * as React from "react";
3
- import Container, { Input, InputWrapper, LabelText } from "./styles";
2
+ import * as React from 'react';
3
+ import Container, {Input, InputWrapper, LabelText} from './styles';
4
4
 
5
5
  export type TypeProps = {
6
6
  /** ID of the form element, should match the "for" value of the associated label */
@@ -65,7 +65,7 @@ export default class Radio extends React.Component<TypeProps> {
65
65
 
66
66
  return (
67
67
  // $FlowIssue - upgrade v0.112.0
68
- <Container as={label && "label"} {...rest}>
68
+ <Container as={label && 'label'} {...rest}>
69
69
  <InputWrapper checked={checked} disabled={disabled}>
70
70
  <Input
71
71
  type="radio"
@@ -78,7 +78,7 @@ export default class Radio extends React.Component<TypeProps> {
78
78
  onChange={this.handleChange}
79
79
  onFocus={this.handleFocus}
80
80
  onBlur={this.handleBlur}
81
- data-qa-radio={name || ""}
81
+ data-qa-radio={name || ''}
82
82
  data-qa-radio-ischecked={checked === true}
83
83
  data-qa-radio-isdisabled={disabled === true}
84
84
  {...qa}
@@ -1,9 +1,9 @@
1
1
  // @flow
2
- import React from "react";
3
- import Radio, { type TypeProps } from "./";
2
+ import React from 'react';
3
+ import Radio, {type TypeProps} from './';
4
4
 
5
5
  export default {
6
- title: "Radio",
6
+ title: 'Components/Form Elements/Radio',
7
7
  component: Radio,
8
8
  };
9
9
 
@@ -26,7 +26,7 @@ DisabledUnchecked.args = {
26
26
  };
27
27
 
28
28
  DisabledUnchecked.story = {
29
- name: "Disabled/Unchecked",
29
+ name: 'Disabled/Unchecked',
30
30
  };
31
31
 
32
32
  export const DisabledChecked = (args: TypeProps) => <Radio {...args} />;
@@ -37,29 +37,29 @@ DisabledChecked.args = {
37
37
  };
38
38
 
39
39
  DisabledChecked.story = {
40
- name: "Disabled/Checked",
40
+ name: 'Disabled/Checked',
41
41
  };
42
42
 
43
43
  export const LabelledChecked = (args: TypeProps) => <Radio {...args} />;
44
44
 
45
45
  LabelledChecked.args = {
46
46
  checked: true,
47
- label: "Toggle Me",
47
+ label: 'Toggle Me',
48
48
  };
49
49
 
50
50
  LabelledChecked.story = {
51
- name: "Labelled/Checked",
51
+ name: 'Labelled/Checked',
52
52
  };
53
53
 
54
54
  export const LabelledUnchecked = (args: TypeProps) => <Radio {...args} />;
55
55
 
56
56
  LabelledUnchecked.args = {
57
57
  checked: false,
58
- label: "Toggle Me",
58
+ label: 'Toggle Me',
59
59
  };
60
60
 
61
61
  LabelledUnchecked.story = {
62
- name: "Labelled/Unchecked",
62
+ name: 'Labelled/Unchecked',
63
63
  };
64
64
 
65
65
  export const LabelledDisabled = (args: TypeProps) => <Radio {...args} />;
@@ -67,9 +67,9 @@ export const LabelledDisabled = (args: TypeProps) => <Radio {...args} />;
67
67
  LabelledDisabled.args = {
68
68
  checked: false,
69
69
  disabled: true,
70
- label: "Toggle Me",
70
+ label: 'Toggle Me',
71
71
  };
72
72
 
73
73
  LabelledDisabled.story = {
74
- name: "Labelled/Disabled",
74
+ name: 'Labelled/Disabled',
75
75
  };
@@ -1,13 +1,13 @@
1
1
  // @flow
2
- import React from "react";
3
- import { render, fireEvent } from "../utils/react-testing-library";
4
- import Radio from "./";
2
+ import React from 'react';
3
+ import {render, fireEvent} from '../utils/react-testing-library';
4
+ import Radio from './';
5
5
 
6
6
  const mockHandleClick = jest.fn();
7
7
 
8
- describe("Radio", () => {
9
- it("should render by default", async () => {
10
- const { container, runA11yCheck } = render(
8
+ describe('Radio', () => {
9
+ it('should render by default', async () => {
10
+ const {container, runA11yCheck} = render(
11
11
  <Radio
12
12
  checked
13
13
  onChange={mockHandleClick}
@@ -20,21 +20,21 @@ describe("Radio", () => {
20
20
  await runA11yCheck();
21
21
  });
22
22
 
23
- it("should fire callback with event", () => {
23
+ it('should fire callback with event', () => {
24
24
  const mockBlur = jest.fn();
25
- const { getByDataQaLabel } = render(
25
+ const {getByDataQaLabel} = render(
26
26
  <Radio id="radio" name="radio" value="myRadioButton" onBlur={mockBlur} />
27
27
  );
28
28
 
29
- const element = getByDataQaLabel({ radio: "radio" });
29
+ const element = getByDataQaLabel({radio: 'radio'});
30
30
 
31
31
  fireEvent.blur(element);
32
32
  expect(mockBlur).toHaveBeenCalled();
33
33
  expect(mockBlur.mock.calls.length).toBe(1);
34
34
  });
35
35
 
36
- it("should render disabled", () => {
37
- const { getByDataQaLabel } = render(
36
+ it('should render disabled', () => {
37
+ const {getByDataQaLabel} = render(
38
38
  <Radio
39
39
  id="radio"
40
40
  name="radio"
@@ -42,6 +42,6 @@ describe("Radio", () => {
42
42
  onChange={mockHandleClick}
43
43
  />
44
44
  );
45
- expect(getByDataQaLabel({ "radio-isdisabled": "true" })).toBeTruthy();
45
+ expect(getByDataQaLabel({'radio-isdisabled': 'true'})).toBeTruthy();
46
46
  });
47
47
  });
@@ -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 { focusRing, disabled } from "../utils/mixins";
5
- import Text from "../Text/";
2
+ import styled, {css, type StyledComponent} from 'styled-components';
3
+ import {COMMON} from '../utils/system-props';
4
+ import {focusRing, disabled} from '../utils/mixins';
5
+ import Text from '../Text/';
6
6
 
7
- import type { TypeTheme } from "../types/theme.flow";
7
+ import type {TypeTheme} from '../types/theme.flow';
8
8
 
9
- const Container: StyledComponent<{ ... }, TypeTheme, *> = styled.span`
9
+ const Container: StyledComponent<{...}, TypeTheme, *> = styled.span`
10
10
  display: inline-flex;
11
11
  align-items: center;
12
12
  box-sizing: border-box;
@@ -14,7 +14,7 @@ const Container: StyledComponent<{ ... }, TypeTheme, *> = styled.span`
14
14
  ${COMMON}
15
15
  `;
16
16
 
17
- Container.displayName = "Radio";
17
+ Container.displayName = 'Radio';
18
18
 
19
19
  export const Input: StyledComponent<any, TypeTheme, *> = styled.input`
20
20
  box-sizing: border-box;
@@ -25,7 +25,7 @@ export const Input: StyledComponent<any, TypeTheme, *> = styled.input`
25
25
  height: 100%;
26
26
  margin: 0;
27
27
  appearance: none;
28
- cursor: ${(props) => (props.disabled ? "not-allowed" : "pointer")};
28
+ cursor: ${(props) => (props.disabled ? 'not-allowed' : 'pointer')};
29
29
  border: 1px solid ${(props) => props.theme.colors.form.border.base};
30
30
  border-radius: 50%;
31
31
  background-color: ${(props) => props.theme.colors.form.background.base};
@@ -39,18 +39,17 @@ export const Input: StyledComponent<any, TypeTheme, *> = styled.input`
39
39
  }
40
40
  `;
41
41
 
42
- Input.displayName = "Input";
42
+ Input.displayName = 'Input';
43
43
 
44
- // eslint-disable-next-line prettier/prettier
45
44
  export const InputWrapper: StyledComponent<any, TypeTheme, *> = styled.span`
46
45
  position: relative;
47
46
  width: ${(props) => props.theme.space[400]};
48
47
  height: ${(props) => props.theme.space[400]};
49
- cursor: ${(props) => (props.disabled ? "not-allowed" : "pointer")};
48
+ cursor: ${(props) => (props.disabled ? 'not-allowed' : 'pointer')};
50
49
  ${(props) => props.disabled && disabled}
51
50
 
52
51
  &:before {
53
- content: "";
52
+ content: '';
54
53
  position: absolute;
55
54
  top: 50%;
56
55
  left: 50%;
@@ -63,7 +62,7 @@ export const InputWrapper: StyledComponent<any, TypeTheme, *> = styled.span`
63
62
  ${(props) => props.theme.easing.ease_in};
64
63
  z-index: 1;
65
64
  pointer-events: none;
66
- cursor: ${(props) => (props.disabled ? "not-allowed" : "pointer")};
65
+ cursor: ${(props) => (props.disabled ? 'not-allowed' : 'pointer')};
67
66
  }
68
67
 
69
68
  ${(props) =>
@@ -98,13 +97,13 @@ export const InputWrapper: StyledComponent<any, TypeTheme, *> = styled.span`
98
97
  `}
99
98
  `;
100
99
 
101
- InputWrapper.displayName = "InputWrapper";
100
+ InputWrapper.displayName = 'InputWrapper';
102
101
 
103
102
  export const LabelText = styled<typeof Text, TypeTheme, *>(Text)`
104
103
  margin-left: ${(props) => props.theme.space[300]};
105
104
  font-size: ${(props) => props.theme.typography[200].fontSize};
106
105
  line-height: 1;
107
- cursor: ${(props) => (props.disabled ? "not-allowed" : "pointer")};
106
+ cursor: ${(props) => (props.disabled ? 'not-allowed' : 'pointer')};
108
107
  color: ${(props) => props.theme.colors.text.headline};
109
108
 
110
109
  ${(props) =>
@@ -114,6 +113,6 @@ export const LabelText = styled<typeof Text, TypeTheme, *>(Text)`
114
113
  `}
115
114
  `;
116
115
 
117
- LabelText.displayName = "LabelText";
116
+ LabelText.displayName = 'LabelText';
118
117
 
119
118
  export default Container;
@@ -1,12 +1,12 @@
1
1
  // @flow
2
- import * as React from "react";
3
- import { useState, useContext } from "react";
2
+ import * as React from 'react';
3
+ import {useState, useContext} from 'react';
4
4
  import {
5
5
  SegmentedControlContainer,
6
6
  SegmentedControlItemContainer,
7
7
  SegmentedControlLabel,
8
- } from "./styles";
9
- import Box from "../Box";
8
+ } from './styles';
9
+ import Box from '../Box';
10
10
 
11
11
  let nameCounter = 0;
12
12
  let idCounter = 0;
@@ -37,7 +37,7 @@ const SegmentedControlItem = ({
37
37
  return null;
38
38
  }
39
39
 
40
- const { name, selectedValue, onChange } = context;
40
+ const {name, selectedValue, onChange} = context;
41
41
  /* eslint-disable-next-line */
42
42
  const [id] = useState(`${name}-${idCounter++}`);
43
43
  const isChecked = value === selectedValue;
@@ -92,7 +92,7 @@ const SegmentedControl = ({
92
92
  const [name] = useState(`Racine-segmented-control-${nameCounter++}`);
93
93
 
94
94
  return (
95
- <SegmentedControlContext.Provider value={{ name, selectedValue, onChange }}>
95
+ <SegmentedControlContext.Provider value={{name, selectedValue, onChange}}>
96
96
  <SegmentedControlContainer
97
97
  forwardedAs="fieldset"
98
98
  data-qa-segmentedcontrol={label}
@@ -110,6 +110,6 @@ const SegmentedControl = ({
110
110
 
111
111
  SegmentedControl.Item = SegmentedControlItem;
112
112
 
113
- SegmentedControl.Item.displayName = "SegmentedControl.Item";
113
+ SegmentedControl.Item.displayName = 'SegmentedControl.Item';
114
114
 
115
115
  export default SegmentedControl;
@@ -1,11 +1,11 @@
1
1
  // @flow
2
- import React, { useState } from "react";
3
- import SegmentedControl from "./index";
4
- import Box from "../Box";
5
- import Button from "../Button";
2
+ import React, {useState} from 'react';
3
+ import SegmentedControl from './index';
4
+ import Box from '../Box';
5
+ import Button from '../Button';
6
6
 
7
7
  const StatefulSegmentedControl = (props) => {
8
- const [value, setValue] = useState("1");
8
+ const [value, setValue] = useState('1');
9
9
 
10
10
  return (
11
11
  <SegmentedControl
@@ -22,7 +22,7 @@ const StatefulSegmentedControl = (props) => {
22
22
  };
23
23
 
24
24
  export default {
25
- title: "SegmentedControl",
25
+ title: 'Components/SegmentedControl',
26
26
  };
27
27
 
28
28
  export const defaultStory = () => (
@@ -33,7 +33,7 @@ export const defaultStory = () => (
33
33
  );
34
34
 
35
35
  defaultStory.story = {
36
- name: "Default",
36
+ name: 'Default',
37
37
  };
38
38
 
39
39
  export const Disabled = () => (
@@ -1,11 +1,11 @@
1
1
  // @flow
2
- import React, { useState } from "react";
3
- import { render, fireEvent } from "../utils/react-testing-library";
4
- import "jest-styled-components";
5
- import SegmentedControl from "./";
2
+ import React, {useState} from 'react';
3
+ import {render, fireEvent} from '../utils/react-testing-library';
4
+ import 'jest-styled-components';
5
+ import SegmentedControl from './';
6
6
 
7
7
  const StatefulSegmentedControl = (props) => {
8
- const [value, setValue] = useState("1");
8
+ const [value, setValue] = useState('1');
9
9
 
10
10
  return (
11
11
  <SegmentedControl
@@ -21,54 +21,54 @@ const StatefulSegmentedControl = (props) => {
21
21
  );
22
22
  };
23
23
 
24
- describe("SegmentedControl", () => {
25
- it("should select the correct item when clicked", async () => {
26
- const { queryByText } = render(<StatefulSegmentedControl />);
27
- const item1 = queryByText("Test 1");
28
- const item2 = queryByText("Test 2");
29
- const item3 = queryByText("Test 3");
24
+ describe('SegmentedControl', () => {
25
+ it('should select the correct item when clicked', async () => {
26
+ const {queryByText} = render(<StatefulSegmentedControl />);
27
+ const item1 = queryByText('Test 1');
28
+ const item2 = queryByText('Test 2');
29
+ const item3 = queryByText('Test 3');
30
30
 
31
31
  expect(item1.parentNode).toHaveAttribute(
32
- "data-segmentedcontrol-isactive",
33
- "true"
32
+ 'data-segmentedcontrol-isactive',
33
+ 'true'
34
34
  );
35
35
  expect(item2.parentNode).toHaveAttribute(
36
- "data-segmentedcontrol-isactive",
37
- "false"
36
+ 'data-segmentedcontrol-isactive',
37
+ 'false'
38
38
  );
39
39
  expect(item3.parentNode).toHaveAttribute(
40
- "data-segmentedcontrol-isactive",
41
- "false"
40
+ 'data-segmentedcontrol-isactive',
41
+ 'false'
42
42
  );
43
43
 
44
44
  fireEvent.click(item3);
45
45
 
46
46
  expect(item1.parentNode).toHaveAttribute(
47
- "data-segmentedcontrol-isactive",
48
- "false"
47
+ 'data-segmentedcontrol-isactive',
48
+ 'false'
49
49
  );
50
50
  expect(item2.parentNode).toHaveAttribute(
51
- "data-segmentedcontrol-isactive",
52
- "false"
51
+ 'data-segmentedcontrol-isactive',
52
+ 'false'
53
53
  );
54
54
  expect(item3.parentNode).toHaveAttribute(
55
- "data-segmentedcontrol-isactive",
56
- "true"
55
+ 'data-segmentedcontrol-isactive',
56
+ 'true'
57
57
  );
58
58
 
59
59
  fireEvent.click(item2);
60
60
 
61
61
  expect(item1.parentNode).toHaveAttribute(
62
- "data-segmentedcontrol-isactive",
63
- "false"
62
+ 'data-segmentedcontrol-isactive',
63
+ 'false'
64
64
  );
65
65
  expect(item2.parentNode).toHaveAttribute(
66
- "data-segmentedcontrol-isactive",
67
- "true"
66
+ 'data-segmentedcontrol-isactive',
67
+ 'true'
68
68
  );
69
69
  expect(item3.parentNode).toHaveAttribute(
70
- "data-segmentedcontrol-isactive",
71
- "false"
70
+ 'data-segmentedcontrol-isactive',
71
+ 'false'
72
72
  );
73
73
  });
74
74
  });
@@ -1,13 +1,16 @@
1
1
  //@flow
2
- import styled, { css } from "styled-components";
3
- import Box from "../Box";
4
- import Text from "../Text";
5
- import { visuallyHidden, focusRing, disabled } from "../utils/mixins";
2
+ import styled, {css} from 'styled-components';
3
+ import Box from '../Box';
4
+ import Text from '../Text';
5
+ import {visuallyHidden, focusRing, disabled} from '../utils/mixins';
6
6
 
7
- import type { TypeTheme } from "../types/theme.flow";
7
+ import type {TypeTheme} from '../types/theme.flow';
8
8
 
9
- // eslint-disable-next-line prettier/prettier
10
- export const SegmentedControlContainer = styled<typeof Box, TypeTheme, {disabled?: boolean, ...}>(Box)`
9
+ export const SegmentedControlContainer = styled<
10
+ typeof Box,
11
+ TypeTheme,
12
+ {disabled?: boolean, ...}
13
+ >(Box)`
11
14
  border: 1px solid
12
15
  ${(props) => props.theme.colors.button.secondary.border.base};
13
16
  border-radius: ${(props) => props.theme.radii.outer};
@@ -20,7 +23,6 @@ export const SegmentedControlContainer = styled<typeof Box, TypeTheme, {disabled
20
23
  ${(props) => props.disabled && disabled}
21
24
  `;
22
25
 
23
- // eslint-disable-next-line prettier/prettier
24
26
  export const SegmentedControlItemContainer = styled<typeof Box, TypeTheme>(Box)`
25
27
  flex: 1 1 auto;
26
28
  display: flex;
@@ -39,7 +41,6 @@ export const SegmentedControlItemContainer = styled<typeof Box, TypeTheme>(Box)`
39
41
  }
40
42
  `;
41
43
 
42
- // eslint-disable-next-line prettier/prettier
43
44
  export const SegmentedControlLabel = styled<typeof Text, TypeTheme, any>(Text)`
44
45
  flex: 1 1 auto;
45
46
  display: flex;
@@ -1,9 +1,9 @@
1
1
  // @flow
2
- import * as React from "react";
3
- import Container, { Arrow } from "./styles";
4
- import Icon from "../Icon";
2
+ import * as React from 'react';
3
+ import Container, {Arrow} from './styles';
4
+ import Icon from '../Icon';
5
5
 
6
- type TypeSelectProps = {
6
+ export type TypeSelectProps = {
7
7
  /** ID of the form element, should match the "for" value of the associated label */
8
8
  id: string,
9
9
  name: string,
@@ -23,16 +23,16 @@ type TypeSelectProps = {
23
23
  inputProps?: any,
24
24
  qa?: any,
25
25
  onChange?: (e: SyntheticInputEvent<HTMLInputElement>) => void,
26
- size?: "large" | "small" | "default",
26
+ size?: 'large' | 'small' | 'default',
27
27
  };
28
28
 
29
29
  export default class Select extends React.Component<TypeSelectProps> {
30
30
  static defaultProps = {
31
- size: "default",
31
+ size: 'default',
32
32
  };
33
33
 
34
34
  handleChange = (e: SyntheticInputEvent<HTMLInputElement>) => {
35
- const { onChange } = this.props;
35
+ const {onChange} = this.props;
36
36
 
37
37
  if (onChange) {
38
38
  onChange(e);
@@ -73,8 +73,8 @@ export default class Select extends React.Component<TypeSelectProps> {
73
73
  autoFocus={autoFocus}
74
74
  disabled={disabled}
75
75
  onChange={this.handleChange}
76
- data-qa-select={name || ""}
77
- data-qa-select-value={value || "unselected"}
76
+ data-qa-select={name || ''}
77
+ data-qa-select-value={value || 'unselected'}
78
78
  data-qa-select-isrequired={required === true}
79
79
  data-qa-select-isdisabled={disabled === true}
80
80
  {...qa}
@@ -87,7 +87,7 @@ export default class Select extends React.Component<TypeSelectProps> {
87
87
  <Icon
88
88
  name="chevron-down"
89
89
  fixedWidth
90
- size={this.props.size === "small" ? "mini" : "default"}
90
+ size={this.props.size === 'small' ? 'mini' : 'default'}
91
91
  />
92
92
  </Arrow>
93
93
  </Container>
@@ -1,78 +1,42 @@
1
1
  // @flow
2
- import React from "react";
3
- import { boolean, text } from "@storybook/addon-knobs";
4
-
5
- import Select from "./";
6
-
7
- const options = [
8
- <option value="" disabled selected>
9
- Select One
10
- </option>,
11
- <option value={text("value", "apple")}>{text("children", "Apple")}</option>,
12
- <option value={text("value", "orange")}>{text("children", "Orange")}</option>,
13
- <option value={text("value", "banana")}>{text("children", "Banana")}</option>,
14
- ];
2
+ import React from 'react';
3
+ import Select, {type TypeSelectProps} from './';
15
4
 
16
5
  export default {
17
- title: "Select",
6
+ title: 'Components/Form Elements/Select',
7
+ component: Select,
8
+ argTypes: {
9
+ size: {
10
+ options: ['small', 'large', undefined],
11
+ control: {type: 'select'},
12
+ },
13
+ children: {
14
+ control: 'object',
15
+ },
16
+ disabled: {control: 'boolean'},
17
+ required: {control: 'boolean'},
18
+ inValid: {control: 'boolean'},
19
+ },
20
+ args: {
21
+ size: undefined,
22
+ disabled: false,
23
+ required: false,
24
+ invalid: false,
25
+ children: [
26
+ <option value="" disabled selected>
27
+ Select One
28
+ </option>,
29
+ <option value="apple">Apple</option>,
30
+ <option value="orange">Orange</option>,
31
+ <option value="banana">Banana</option>,
32
+ ],
33
+ },
18
34
  };
19
35
 
20
- export const defaultStory = () => (
21
- <Select id="default" name="default">
22
- {options}
23
- </Select>
36
+ export const defaultStory = (args: TypeSelectProps) => (
37
+ <Select id="default" name="default" {...args} />
24
38
  );
25
39
 
26
40
  defaultStory.story = {
27
- name: "Default",
28
- };
29
-
30
- export const small = () => (
31
- <Select id="small" name="small" size="small">
32
- {options}
33
- </Select>
34
- );
35
-
36
- small.story = {
37
- name: "Small",
38
- };
39
-
40
- export const large = () => (
41
- <Select id="large" name="large" size="large">
42
- {options}
43
- </Select>
44
- );
45
-
46
- large.story = {
47
- name: "Large",
48
- };
49
-
50
- export const disabled = () => (
51
- <Select id="disabled" name="disabled" disabled={boolean("disabled", true)}>
52
- {options}
53
- </Select>
54
- );
55
-
56
- disabled.story = {
57
- name: "Disabled",
58
- };
59
-
60
- export const required = () => (
61
- <Select id="required" name="required" required={boolean("required", true)}>
62
- {options}
63
- </Select>
64
- );
65
-
66
- required.story = {
67
- name: "Required",
68
- };
69
-
70
- export const invalid = () => (
71
- <Select id="invalid" name="invalid" isInvalid={boolean("isInvalid", true)}>
72
- {options}
73
- </Select>
74
- );
75
-
76
- invalid.story = {
77
- name: "Invalid",
41
+ name: 'Default',
78
42
  };