@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,16 +1,16 @@
1
1
  // @flow
2
- import "jest-styled-components";
3
- import React from "react";
4
- import { render, fireEvent, cleanup } from "../utils/react-testing-library";
5
- import Modal from "./";
6
- import { COLOR_PURPLE_300 } from "@sproutsocial/seeds-color";
2
+ import 'jest-styled-components';
3
+ import React from 'react';
4
+ import {render, fireEvent, cleanup} from '../utils/react-testing-library';
5
+ import Modal from './';
6
+ import {COLOR_PURPLE_300} from '@sproutsocial/seeds-color';
7
7
 
8
8
  afterEach(() => cleanup());
9
9
 
10
- describe("Modal", () => {
11
- it("renders a custom background color", () => {
10
+ describe('Modal', () => {
11
+ it('renders a custom background color', () => {
12
12
  // Use baseElement since it renders in a Portal
13
- const { baseElement } = render(
13
+ const {baseElement} = render(
14
14
  <Modal
15
15
  isOpen={true}
16
16
  label="Label"
@@ -21,15 +21,15 @@ describe("Modal", () => {
21
21
  ajdsfljasdlfjlasdjf
22
22
  </Modal>
23
23
  );
24
- expect(baseElement.querySelector(".ReactModal__Content")).toHaveStyleRule(
25
- "background-color",
24
+ expect(baseElement.querySelector('.ReactModal__Content')).toHaveStyleRule(
25
+ 'background-color',
26
26
  COLOR_PURPLE_300
27
27
  );
28
28
  });
29
29
 
30
- it("should close on overlay click and esc", () => {
30
+ it('should close on overlay click and esc', () => {
31
31
  const onClose = jest.fn();
32
- const { baseElement, getByText, getByLabelText } = render(
32
+ const {baseElement, getByText, getByLabelText} = render(
33
33
  <Modal
34
34
  isOpen={true}
35
35
  label="Label"
@@ -44,24 +44,24 @@ describe("Modal", () => {
44
44
  </Modal>
45
45
  );
46
46
 
47
- fireEvent.click(baseElement.querySelector(".ReactModal__Overlay"));
47
+ fireEvent.click(baseElement.querySelector('.ReactModal__Overlay'));
48
48
  expect(onClose).toHaveBeenCalled();
49
49
 
50
50
  onClose.mockClear();
51
- fireEvent.keyDown(getByText("ajdsfljasdlfjlasdjf"), {
52
- key: "Escape",
51
+ fireEvent.keyDown(getByText('ajdsfljasdlfjlasdjf'), {
52
+ key: 'Escape',
53
53
  keyCode: 27,
54
54
  });
55
55
  expect(onClose).toHaveBeenCalled();
56
56
 
57
57
  onClose.mockClear();
58
- fireEvent.click(getByLabelText("Close this dialog"));
58
+ fireEvent.click(getByLabelText('Close this dialog'));
59
59
  expect(onClose).toHaveBeenCalled();
60
60
  });
61
61
 
62
- it("should NOT close on overlay click and esc if onClick is not provided", () => {
62
+ it('should NOT close on overlay click and esc if onClick is not provided', () => {
63
63
  const onClose = jest.fn();
64
- const { baseElement, getByText, queryByLabelText } = render(
64
+ const {baseElement, getByText, queryByLabelText} = render(
65
65
  <Modal
66
66
  isOpen={true}
67
67
  label="Label"
@@ -72,22 +72,22 @@ describe("Modal", () => {
72
72
  </Modal>
73
73
  );
74
74
 
75
- expect(queryByLabelText("Close this dialog")).toBe(null);
75
+ expect(queryByLabelText('Close this dialog')).toBe(null);
76
76
 
77
- fireEvent.click(baseElement.querySelector(".ReactModal__Overlay"));
77
+ fireEvent.click(baseElement.querySelector('.ReactModal__Overlay'));
78
78
  expect(onClose).not.toHaveBeenCalled();
79
79
 
80
80
  onClose.mockClear();
81
- fireEvent.keyDown(getByText("ajdsfljasdlfjlasdjf"), {
82
- key: "Escape",
81
+ fireEvent.keyDown(getByText('ajdsfljasdlfjlasdjf'), {
82
+ key: 'Escape',
83
83
  keyCode: 27,
84
84
  });
85
85
  expect(onClose).not.toHaveBeenCalled();
86
86
  });
87
87
 
88
- describe("Modal.Header", () => {
89
- it("should have an aria-label on the close button", () => {
90
- const { getByLabelText } = render(
88
+ describe('Modal.Header', () => {
89
+ it('should have an aria-label on the close button', () => {
90
+ const {getByLabelText} = render(
91
91
  <Modal
92
92
  isOpen={true}
93
93
  label="Label"
@@ -102,12 +102,12 @@ describe("Modal", () => {
102
102
  </Modal>
103
103
  );
104
104
 
105
- expect(getByLabelText("Close this dialog")).toBeTruthy();
105
+ expect(getByLabelText('Close this dialog')).toBeTruthy();
106
106
  });
107
107
 
108
- it("should accept the onClose handler from ModalContext", () => {
108
+ it('should accept the onClose handler from ModalContext', () => {
109
109
  const onClose = jest.fn();
110
- const { getByLabelText } = render(
110
+ const {getByLabelText} = render(
111
111
  <Modal
112
112
  isOpen={true}
113
113
  label="Label"
@@ -122,7 +122,7 @@ describe("Modal", () => {
122
122
  </Modal>
123
123
  );
124
124
 
125
- fireEvent.click(getByLabelText("Close this dialog"));
125
+ fireEvent.click(getByLabelText('Close this dialog'));
126
126
  expect(onClose).toHaveBeenCalled();
127
127
  });
128
128
  });
@@ -1,37 +1,31 @@
1
1
  // @flow
2
- import React from "react";
2
+ import React from 'react';
3
3
  import styled, {
4
4
  createGlobalStyle,
5
5
  type StyledComponent,
6
- } from "styled-components";
7
- import { width, zIndex } from "styled-system";
8
- import ReactModal from "react-modal";
9
- import Box from "../Box";
10
- import { COMMON } from "../utils/system-props";
6
+ } from 'styled-components';
7
+ import {width, zIndex} from 'styled-system';
8
+ import ReactModal from 'react-modal';
9
+ import Box from '../Box';
10
+ import {COMMON} from '../utils/system-props';
11
11
 
12
- import type { TypeTheme } from "../types/theme.flow";
12
+ import type {TypeTheme} from '../types/theme.flow';
13
13
 
14
14
  // This is the max space allowed between the modal and the edge of the browser
15
- const BODY_PADDING = "64px";
16
-
17
- function ReactModalAdapter({
18
- className,
19
- ...props
20
- }: {
21
- className?: string,
22
- ...
23
- }) {
15
+ const BODY_PADDING = '64px';
16
+
17
+ function ReactModalAdapter({className, ...props}: {className?: string, ...}) {
24
18
  // We want to create *__Content and *__Overlay class names on the subcomponents.
25
19
  // Because `className` could be a space-separated list of class names, we make
26
20
  // sure that we append `__Content` and `__Overlay` to every class name.
27
- const contentClassName = (className || "")
28
- .split(" ")
21
+ const contentClassName = (className || '')
22
+ .split(' ')
29
23
  .map((className) => `${className} ${className}__Content`)
30
- .join(" ");
31
- const overlayClassName = (className || "")
32
- .split(" ")
24
+ .join(' ');
25
+ const overlayClassName = (className || '')
26
+ .split(' ')
33
27
  .map((className) => `${className} ${className}__Overlay`)
34
- .join(" ");
28
+ .join(' ');
35
29
 
36
30
  return (
37
31
  <ReactModal
@@ -50,8 +44,9 @@ export const Body = createGlobalStyle`
50
44
  }
51
45
  `;
52
46
 
53
- // eslint-disable-next-line prettier/prettier
54
- export const Container: StyledComponent<any, TypeTheme, *> = styled(ReactModalAdapter)`
47
+ export const Container: StyledComponent<any, TypeTheme, *> = styled(
48
+ ReactModalAdapter
49
+ )`
55
50
  &__Overlay {
56
51
  position: fixed;
57
52
  top: 0px;
@@ -116,22 +111,22 @@ export const Content = styled<typeof Box, TypeTheme>(Box)`
116
111
  }
117
112
  `;
118
113
 
119
- // eslint-disable-next-line prettier/prettier
120
114
  export const HeaderContainer = styled<typeof Box, TypeTheme>(Box)`
121
115
  font-family: ${(props) => props.theme.fontFamily};
122
116
  padding: ${(props) => props.theme.space[400]}
123
117
  ${(props) => props.theme.space[450]};
124
118
  `;
125
119
 
126
- // eslint-disable-next-line prettier/prettier
127
- export const Header = styled<typeof HeaderContainer, TypeTheme, any>(HeaderContainer)`
120
+ export const Header = styled<typeof HeaderContainer, TypeTheme, any>(
121
+ HeaderContainer
122
+ )`
128
123
  display: flex;
129
124
  align-items: center;
130
125
  justify-content: space-between;
131
126
  flex: 0 0 auto;
132
127
  border-bottom-width: ${(props) => props.theme.borderWidths[500]};
133
128
  border-bottom-color: ${(props) =>
134
- props.bordered ? props.theme.colors.container.border.base : "transparent"};
129
+ props.bordered ? props.theme.colors.container.border.base : 'transparent'};
135
130
  border-bottom-style: solid;
136
131
  `;
137
132
 
@@ -144,7 +139,7 @@ export const Footer = styled<typeof Box, TypeTheme>(Box)`
144
139
  border-bottom-left-radius: ${(props) => props.theme.radii[500]};
145
140
  `;
146
141
 
147
- Container.displayName = "ModalContainer";
148
- Content.displayName = "Content";
149
- Header.displayName = "Modal.Header";
150
- Footer.displayName = "Modal.Footer";
142
+ Container.displayName = 'ModalContainer';
143
+ Content.displayName = 'Content';
144
+ Header.displayName = 'Modal.Header';
145
+ Footer.displayName = 'Modal.Footer';
@@ -1,8 +1,8 @@
1
1
  // @flow
2
- import * as React from "react";
3
- import memoize from "lru-memoize";
4
- import { AbbrContainer, Container } from "./styles";
5
- import Tooltip from "../Tooltip";
2
+ import * as React from 'react';
3
+ import memoize from 'lru-memoize';
4
+ import {AbbrContainer, Container} from './styles';
5
+ import Tooltip from '../Tooltip';
6
6
  import {
7
7
  DEFAULT_THRESHOLD,
8
8
  MEMO_CACHE_SIZE,
@@ -10,10 +10,10 @@ import {
10
10
  MAX_PRECISION,
11
11
  ABBREV_PRECISION,
12
12
  DefaultPrecisions,
13
- } from "./constants";
14
- import { EM_DASH } from "../utils/constants";
13
+ } from './constants';
14
+ import {EM_DASH} from '../utils/constants';
15
15
 
16
- type EnumNumeralFormat = "decimal" | "currency" | "percent";
16
+ type EnumNumeralFormat = 'decimal' | 'currency' | 'percent';
17
17
 
18
18
  export type TypeProps = {
19
19
  /** The number to be formatted */
@@ -27,7 +27,7 @@ export type TypeProps = {
27
27
  /** A boolean determining whether or not the number should be abbreviated, or a number representing the abbreviation threshold */
28
28
  abbreviate?: boolean | number,
29
29
  /** Override the default decimal precision (2 for decimals/currency, 1 for percentages), or "none" allowing unrestricted precision. */
30
- precision?: number | "none",
30
+ precision?: number | 'none',
31
31
  qa?: Object,
32
32
  };
33
33
 
@@ -51,9 +51,9 @@ type TypeArgs = {
51
51
  };
52
52
 
53
53
  const _getNumberFormatters = (options: TypeFormatOptions): TypeFormatters => {
54
- const { locale, format, currency, min, max } = options;
54
+ const {locale, format, currency, min, max} = options;
55
55
  const compactPrecision = min === max ? min : ABBREV_PRECISION;
56
- const _currency = format === "currency" ? currency : undefined;
56
+ const _currency = format === 'currency' ? currency : undefined;
57
57
  const standard = {
58
58
  style: format,
59
59
  minimumFractionDigits: min,
@@ -65,7 +65,7 @@ const _getNumberFormatters = (options: TypeFormatOptions): TypeFormatters => {
65
65
  minimumFractionDigits: compactPrecision,
66
66
  maximumFractionDigits: compactPrecision,
67
67
  currency: _currency,
68
- notation: "compact",
68
+ notation: 'compact',
69
69
  };
70
70
 
71
71
  // Safari 14.1 is currently throwing errors when trying to use the compact
@@ -89,7 +89,7 @@ const memoizer = memoize(MEMO_CACHE_SIZE, COMPARE_OBJECTS);
89
89
  const getNumberFormatters = memoizer(_getNumberFormatters);
90
90
 
91
91
  const getThreshold = (abbreviate: boolean | number): number => {
92
- if (typeof abbreviate === "number") return Math.max(1000, abbreviate);
92
+ if (typeof abbreviate === 'number') return Math.max(1000, abbreviate);
93
93
  if (abbreviate) return DEFAULT_THRESHOLD;
94
94
  return Infinity;
95
95
  };
@@ -98,21 +98,21 @@ const getMinMaxPrecision = (
98
98
  precision: ?(number | string),
99
99
  format: string
100
100
  ): [number, number] => {
101
- if (typeof precision === "number") return [precision, precision];
102
- if (precision === "none") return [0, MAX_PRECISION];
101
+ if (typeof precision === 'number') return [precision, precision];
102
+ if (precision === 'none') return [0, MAX_PRECISION];
103
103
  return DefaultPrecisions[format];
104
104
  };
105
105
 
106
106
  const isValidNumber = (value: any): boolean => {
107
- return typeof value === "number" && isFinite(value);
107
+ return typeof value === 'number' && isFinite(value);
108
108
  };
109
109
 
110
110
  const normalizeArgs = (props: TypeProps): TypeArgs => {
111
111
  const {
112
112
  number,
113
- locale = "us-EN",
114
- format = props.currency ? "currency" : "decimal",
115
- currency = "USD",
113
+ locale = 'us-EN',
114
+ format = props.currency ? 'currency' : 'decimal',
115
+ currency = 'USD',
116
116
  abbreviate = true,
117
117
  precision,
118
118
  qa,
@@ -123,16 +123,16 @@ const normalizeArgs = (props: TypeProps): TypeArgs => {
123
123
  const [min, max] = getMinMaxPrecision(precision, format);
124
124
 
125
125
  const _number = number || 0;
126
- const value = _number * (format === "percent" ? 0.01 : 1);
126
+ const value = _number * (format === 'percent' ? 0.01 : 1);
127
127
  const canAbbreviate = _number >= threshold;
128
128
 
129
- const options = { locale, format, currency, min, max };
129
+ const options = {locale, format, currency, min, max};
130
130
 
131
- return { value, canAbbreviate, options, qa, rest };
131
+ return {value, canAbbreviate, options, qa, rest};
132
132
  };
133
133
 
134
134
  const Numeral = (props: TypeProps) => {
135
- const { value, canAbbreviate, options, qa, rest } = normalizeArgs(props);
135
+ const {value, canAbbreviate, options, qa, rest} = normalizeArgs(props);
136
136
 
137
137
  if (!isValidNumber(props.number))
138
138
  return <Container {...qa}>{EM_DASH}</Container>;
@@ -1,122 +1,122 @@
1
1
  // @flow
2
- import React from "react";
3
- import Numeral, { type TypeProps } from "./index";
2
+ import React from 'react';
3
+ import Numeral, {type TypeProps} from './index';
4
4
 
5
5
  const localeOptions = [
6
- "United States (en-US)",
7
- "English (en)",
8
- "Arabic (ar-EG)",
9
- "Brazil (pt-BR)",
10
- "India (en-IN)",
11
- "French (fr-FR)",
12
- "Spain (es-ES)",
13
- "Mexico (es-MX)",
14
- "Germany (de-DE)",
15
- "German (de)",
16
- "Japan (ja-JP)",
17
- "Japanese (ja)",
6
+ 'United States (en-US)',
7
+ 'English (en)',
8
+ 'Arabic (ar-EG)',
9
+ 'Brazil (pt-BR)',
10
+ 'India (en-IN)',
11
+ 'French (fr-FR)',
12
+ 'Spain (es-ES)',
13
+ 'Mexico (es-MX)',
14
+ 'Germany (de-DE)',
15
+ 'German (de)',
16
+ 'Japan (ja-JP)',
17
+ 'Japanese (ja)',
18
18
  ];
19
19
 
20
20
  const localeMapping = {
21
- "United States (en-US)": "en-US",
22
- "English (en)": "en",
23
- "Arabic (ar-EG)": "ar-EG",
24
- "Brazil (pt-BR)": "pt-BR",
25
- "India (en-IN)": "en-IN",
26
- "French (fr-FR)": "fr-FR",
27
- "Spain (es-ES)": "es-ES",
28
- "Mexico (es-MX)": "es-MX",
29
- "Germany (de-DE)": "de-DE",
30
- "German (de)": "de",
31
- "Japan (ja-JP)": "ja-JP",
32
- "Japanese (ja)": "ja",
21
+ 'United States (en-US)': 'en-US',
22
+ 'English (en)': 'en',
23
+ 'Arabic (ar-EG)': 'ar-EG',
24
+ 'Brazil (pt-BR)': 'pt-BR',
25
+ 'India (en-IN)': 'en-IN',
26
+ 'French (fr-FR)': 'fr-FR',
27
+ 'Spain (es-ES)': 'es-ES',
28
+ 'Mexico (es-MX)': 'es-MX',
29
+ 'Germany (de-DE)': 'de-DE',
30
+ 'German (de)': 'de',
31
+ 'Japan (ja-JP)': 'ja-JP',
32
+ 'Japanese (ja)': 'ja',
33
33
  };
34
34
 
35
35
  const currencyOptions = [
36
- "Egyptian £",
37
- "European €",
38
- "Indian ₹",
39
- "Japanese ¥",
40
- "USA $",
36
+ 'Egyptian £',
37
+ 'European €',
38
+ 'Indian ₹',
39
+ 'Japanese ¥',
40
+ 'USA $',
41
41
  ];
42
42
 
43
43
  const currencyMapping = {
44
- "Egyptian £": "EGP",
45
- "European €": "EUR",
46
- "Indian ₹": "INR",
47
- "Japanese ¥": "JPY",
48
- "USA $": "USD",
44
+ 'Egyptian £': 'EGP',
45
+ 'European €': 'EUR',
46
+ 'Indian ₹': 'INR',
47
+ 'Japanese ¥': 'JPY',
48
+ 'USA $': 'USD',
49
49
  };
50
50
 
51
- const formatOptions = ["decimal", "currency", "percent"];
51
+ const formatOptions = ['decimal', 'currency', 'percent'];
52
52
 
53
53
  const formatMapping = {
54
- decimal: "decimal",
55
- currency: "currency",
56
- percent: "percent",
54
+ decimal: 'decimal',
55
+ currency: 'currency',
56
+ percent: 'percent',
57
57
  };
58
58
 
59
59
  const abbreviateOptions = [
60
- "true",
61
- "false",
62
- " 500",
63
- "1_000",
64
- "10_000",
65
- "100_000",
60
+ 'true',
61
+ 'false',
62
+ ' 500',
63
+ '1_000',
64
+ '10_000',
65
+ '100_000',
66
66
  ];
67
67
 
68
68
  const abbreviateMapping = {
69
69
  true: true,
70
70
  false: false,
71
- " 500": 500,
72
- "1_000": 1000,
73
- "10_000": 10000,
74
- "100_000": 100000,
71
+ ' 500': 500,
72
+ '1_000': 1000,
73
+ '10_000': 10000,
74
+ '100_000': 100000,
75
75
  };
76
76
 
77
- const precisionOptions = ["0", "1", "2", "3", "6", "none"];
77
+ const precisionOptions = ['0', '1', '2', '3', '6', 'none'];
78
78
 
79
79
  const precisionMapping = {
80
- "0": 0,
81
- "1": 1,
82
- "2": 2,
83
- "3": 3,
84
- "6": 6,
85
- none: "none",
80
+ '0': 0,
81
+ '1': 1,
82
+ '2': 2,
83
+ '3': 3,
84
+ '6': 6,
85
+ none: 'none',
86
86
  };
87
87
 
88
88
  export default {
89
- title: "Numeral",
89
+ title: 'Components/Numeral',
90
90
  component: Numeral,
91
91
  argTypes: {
92
92
  locale: {
93
- control: "select",
93
+ control: 'select',
94
94
  options: localeOptions,
95
95
  mapping: localeMapping,
96
96
  },
97
97
  format: {
98
- control: "select",
98
+ control: 'select',
99
99
  options: formatOptions,
100
100
  mapping: formatMapping,
101
101
  },
102
102
  currency: {
103
- control: "select",
103
+ control: 'select',
104
104
  options: currencyOptions,
105
105
  mapping: currencyMapping,
106
106
  },
107
107
  abbreviate: {
108
- control: "select",
108
+ control: 'select',
109
109
  options: abbreviateOptions,
110
110
  mapping: abbreviateMapping,
111
111
  },
112
112
  precision: {
113
- control: "select",
113
+ control: 'select',
114
114
  options: precisionOptions,
115
115
  mapping: precisionMapping,
116
116
  },
117
117
  },
118
118
  args: {
119
- color: "text.headline",
119
+ color: 'text.headline',
120
120
  number: 12.89,
121
121
  },
122
122
  };
@@ -124,52 +124,52 @@ export default {
124
124
  export const defaultStory = (args: TypeProps) => <Numeral {...args} />;
125
125
 
126
126
  defaultStory.story = {
127
- name: "Default",
127
+ name: 'Default',
128
128
  };
129
129
 
130
130
  export const total = (args: TypeProps) => <Numeral {...args} />;
131
131
 
132
132
  total.args = {
133
133
  number: 100,
134
- fontWeight: "semibold",
134
+ fontWeight: 'semibold',
135
135
  fontSize: 500,
136
136
  };
137
137
 
138
138
  total.story = {
139
- name: "Total",
139
+ name: 'Total',
140
140
  };
141
141
 
142
142
  export const trend = (args: TypeProps) => <Numeral {...args} />;
143
143
 
144
144
  trend.args = {
145
145
  number: 100,
146
- color: "teal.500",
146
+ color: 'teal.500',
147
147
  };
148
148
 
149
149
  trend.story = {
150
- name: "Trend",
150
+ name: 'Trend',
151
151
  };
152
152
 
153
153
  export const noPrecision = (args: TypeProps) => <Numeral {...args} />;
154
154
 
155
155
  noPrecision.args = {
156
156
  number: 123.45678,
157
- precision: "none",
157
+ precision: 'none',
158
158
  };
159
159
 
160
160
  noPrecision.story = {
161
- name: "No Precision",
161
+ name: 'No Precision',
162
162
  };
163
163
 
164
164
  export const currencyPrecision = (args: TypeProps) => <Numeral {...args} />;
165
165
 
166
166
  currencyPrecision.args = {
167
167
  number: 123.4,
168
- format: "currency",
168
+ format: 'currency',
169
169
  };
170
170
 
171
171
  currencyPrecision.story = {
172
- name: "Currency precision",
172
+ name: 'Currency precision',
173
173
  };
174
174
 
175
175
  export const invalid = (args: TypeProps) => <Numeral {...args} />;
@@ -179,5 +179,5 @@ invalid.args = {
179
179
  };
180
180
 
181
181
  invalid.story = {
182
- name: "Invalid",
182
+ name: 'Invalid',
183
183
  };
@@ -1,8 +1,8 @@
1
1
  //@flow
2
- import styled from "styled-components";
3
- import Text from "../Text";
2
+ import styled from 'styled-components';
3
+ import Text from '../Text';
4
4
 
5
- import type { TypeTheme } from "../types/theme.flow";
5
+ import type {TypeTheme} from '../types/theme.flow';
6
6
 
7
7
  export const Container = styled<typeof Text, TypeTheme>(Text)`
8
8
  font-variant-numeric: tabular-nums;
@@ -1,11 +1,11 @@
1
- import React from "react";
2
- import { render } from "../../utils/react-testing-library";
3
- import "jest-styled-components";
4
- import Numeral from "../";
1
+ import React from 'react';
2
+ import {render} from '../../utils/react-testing-library';
3
+ import 'jest-styled-components';
4
+ import Numeral from '../';
5
5
 
6
- describe("When rendering...", () => {
7
- it("should handle A11y", async () => {
8
- const { container, runA11yCheck } = render(<Numeral />);
6
+ describe('When rendering...', () => {
7
+ it('should handle A11y', async () => {
8
+ const {container, runA11yCheck} = render(<Numeral />);
9
9
  expect(container).toBeTruthy();
10
10
  await runA11yCheck();
11
11
  });