@sproutsocial/racine 12.1.0-svgs-bundle.0 → 12.1.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 (486) hide show
  1. package/CHANGELOG.md +3265 -0
  2. package/__flow__/Checkbox/styles.js +75 -75
  3. package/__flow__/Collapsible/index.js +2 -3
  4. package/__flow__/Image/index.js +2 -10
  5. package/__flow__/Input/index.js +2 -2
  6. package/__flow__/SegmentedControl/index.js +2 -3
  7. package/__flow__/TableCell/index.js +2 -9
  8. package/__flow__/ToggleHint/index.js +2 -9
  9. package/__flow__/Token/styles.js +13 -12
  10. package/__flow__/include-icons.js +11 -0
  11. package/__flow__/index.js +1 -0
  12. package/__flow__/systemProps/color.js +2 -1
  13. package/__flow__/themes/dark/theme.js +0 -5
  14. package/__flow__/themes/extendedThemes/sproutTheme/dark/theme.js +63 -0
  15. package/__flow__/themes/extendedThemes/sproutTheme/light/theme.js +63 -0
  16. package/__flow__/themes/light/theme.js +0 -5
  17. package/__flow__/types/theme.flow.js +2 -2
  18. package/__flow__/utils/responsiveProps/index.test.js +2 -10
  19. package/__flow__/utils/useInteractiveColor.js +32 -0
  20. package/commonjs/Input/index.js +3 -1
  21. package/commonjs/Token/styles.js +9 -7
  22. package/commonjs/include-icons.js +14 -0
  23. package/commonjs/index.js +6 -1
  24. package/commonjs/themes/dark/theme.js +0 -5
  25. package/commonjs/themes/extendedThemes/sproutTheme/dark/theme.js +65 -2
  26. package/commonjs/themes/extendedThemes/sproutTheme/light/theme.js +65 -2
  27. package/commonjs/themes/light/theme.js +0 -5
  28. package/commonjs/utils/useInteractiveColor.js +33 -0
  29. package/dist/{icon.svg → icons.svg} +0 -0
  30. package/dist/themes/dark/theme.scss +0 -3
  31. package/dist/themes/extendedThemes/sproutTheme/dark/theme.scss +120 -3
  32. package/dist/themes/extendedThemes/sproutTheme/light/theme.scss +120 -3
  33. package/dist/themes/light/theme.scss +0 -3
  34. package/icons/active-listener.svg +3 -0
  35. package/icons/add-item.svg +3 -0
  36. package/icons/add-keyword.svg +3 -0
  37. package/icons/add-team-member.svg +3 -0
  38. package/icons/add-variable.svg +3 -0
  39. package/icons/address-card-outline.svg +3 -0
  40. package/icons/address-card-solid.svg +3 -0
  41. package/icons/adobe-experience-manager.svg +3 -0
  42. package/icons/ads.svg +3 -0
  43. package/icons/android.svg +3 -0
  44. package/icons/apple.svg +3 -0
  45. package/icons/approval-indicator-outline.svg +3 -0
  46. package/icons/approval-indicator.svg +3 -0
  47. package/icons/archive.svg +3 -0
  48. package/icons/arrow-down-line.svg +3 -0
  49. package/icons/arrow-down.svg +3 -0
  50. package/icons/arrow-left-line.svg +3 -0
  51. package/icons/arrow-left.svg +3 -0
  52. package/icons/arrow-right-line.svg +3 -0
  53. package/icons/arrow-right.svg +3 -0
  54. package/icons/arrow-up-line.svg +3 -0
  55. package/icons/arrow-up.svg +3 -0
  56. package/icons/arrows.svg +3 -0
  57. package/icons/asset-library-outline.svg +3 -0
  58. package/icons/asset-library.svg +3 -0
  59. package/icons/assign.svg +3 -0
  60. package/icons/atom.svg +3 -0
  61. package/icons/audio.svg +3 -0
  62. package/icons/back-to-top.svg +3 -0
  63. package/icons/bambu-icon-outline.svg +3 -0
  64. package/icons/bambu-icon.svg +3 -0
  65. package/icons/barcode.svg +3 -0
  66. package/icons/basketball.svg +3 -0
  67. package/icons/bell-outline.svg +3 -0
  68. package/icons/bigcommerce.svg +3 -0
  69. package/icons/bitly.svg +3 -0
  70. package/icons/bold.svg +3 -0
  71. package/icons/book.svg +3 -0
  72. package/icons/bot.svg +3 -0
  73. package/icons/browser.svg +3 -0
  74. package/icons/business.svg +3 -0
  75. package/icons/calendar-outline.svg +3 -0
  76. package/icons/calendar.svg +3 -0
  77. package/icons/camera-outline.svg +3 -0
  78. package/icons/camera-story.svg +3 -0
  79. package/icons/camera.svg +3 -0
  80. package/icons/campaign.svg +3 -0
  81. package/icons/canva.svg +3 -0
  82. package/icons/carousel.svg +3 -0
  83. package/icons/cart-plus-outline.svg +3 -0
  84. package/icons/cart-plus.svg +3 -0
  85. package/icons/check.svg +3 -0
  86. package/icons/chevron-down-filled.svg +3 -0
  87. package/icons/chevron-down.svg +3 -0
  88. package/icons/chevron-left.svg +3 -0
  89. package/icons/chevron-right.svg +3 -0
  90. package/icons/chevron-up-down-filled.svg +3 -0
  91. package/icons/chevron-up-filled.svg +3 -0
  92. package/icons/chevron-up.svg +3 -0
  93. package/icons/circle+.svg +3 -0
  94. package/icons/circle-check-outline.svg +3 -0
  95. package/icons/circle-check.svg +3 -0
  96. package/icons/circle.svg +3 -0
  97. package/icons/circles.svg +3 -0
  98. package/icons/circlex.svg +3 -0
  99. package/icons/click-to-view.svg +3 -0
  100. package/icons/clicks.svg +3 -0
  101. package/icons/clipboard-outline.svg +3 -0
  102. package/icons/clipboard.svg +3 -0
  103. package/icons/clock.svg +3 -0
  104. package/icons/closed-captioning.svg +3 -0
  105. package/icons/cloud.svg +3 -0
  106. package/icons/code.svg +3 -0
  107. package/icons/columns.svg +3 -0
  108. package/icons/comment-alt-outline.svg +3 -0
  109. package/icons/comment-alt.svg +3 -0
  110. package/icons/comment-lines-alt-outline.svg +3 -0
  111. package/icons/comment.svg +3 -0
  112. package/icons/compact-density.svg +3 -0
  113. package/icons/compact-indicator.svg +3 -0
  114. package/icons/comparison.svg +3 -0
  115. package/icons/competitor.svg +3 -0
  116. package/icons/compose.svg +3 -0
  117. package/icons/content-suggestions.svg +3 -0
  118. package/icons/credit-card.svg +3 -0
  119. package/icons/crop.svg +3 -0
  120. package/icons/crown.svg +3 -0
  121. package/icons/dashboard.svg +3 -0
  122. package/icons/deconstructed-negative-sentiment.svg +3 -0
  123. package/icons/deconstructed-neutral-sentiment.svg +3 -0
  124. package/icons/deconstructed-positive-sentiment.svg +3 -0
  125. package/icons/discovery.svg +3 -0
  126. package/icons/dislike-outline.svg +3 -0
  127. package/icons/dislike.svg +3 -0
  128. package/icons/dm-link-outline.svg +3 -0
  129. package/icons/dm-link.svg +3 -0
  130. package/icons/dotdotdot.svg +3 -0
  131. package/icons/download.svg +3 -0
  132. package/icons/drafts-outline.svg +3 -0
  133. package/icons/drafts.svg +3 -0
  134. package/icons/dropbox.svg +3 -0
  135. package/icons/duplicate-outline.svg +3 -0
  136. package/icons/duplicate.svg +3 -0
  137. package/icons/emoji-outline.svg +3 -0
  138. package/icons/emoji.svg +3 -0
  139. package/icons/empty-image.svg +3 -0
  140. package/icons/engagement-per-post.svg +3 -0
  141. package/icons/engagements.svg +3 -0
  142. package/icons/error.svg +3 -0
  143. package/icons/exchange-alt.svg +3 -0
  144. package/icons/expanded-indicator.svg +3 -0
  145. package/icons/export.svg +3 -0
  146. package/icons/extended-circles.svg +3 -0
  147. package/icons/external-link-alt.svg +3 -0
  148. package/icons/external-link.svg +3 -0
  149. package/icons/extreme-negative-sentiment.svg +12 -0
  150. package/icons/eye-outline.svg +3 -0
  151. package/icons/eye-slash-outline.svg +3 -0
  152. package/icons/eye-slash.svg +3 -0
  153. package/icons/eye.svg +3 -0
  154. package/icons/facebook-audience-network.svg +3 -0
  155. package/icons/facebook-branded-content-outline.svg +3 -0
  156. package/icons/facebook-branded-content.svg +3 -0
  157. package/icons/facebook-groups.svg +3 -0
  158. package/icons/facebook.svg +3 -0
  159. package/icons/fb-reactions-angry.svg +14 -0
  160. package/icons/fb-reactions-haha.svg +6 -0
  161. package/icons/fb-reactions-like.svg +4 -0
  162. package/icons/fb-reactions-love.svg +4 -0
  163. package/icons/fb-reactions-sad.svg +12 -0
  164. package/icons/fb-reactions-wow.svg +11 -0
  165. package/icons/feedly.svg +3 -0
  166. package/icons/feeds.svg +3 -0
  167. package/icons/female.svg +3 -0
  168. package/icons/file-chart-line.svg +3 -0
  169. package/icons/file-edit.svg +3 -0
  170. package/icons/file-times-solid.svg +3 -0
  171. package/icons/filter.svg +3 -0
  172. package/icons/flag-outline.svg +3 -0
  173. package/icons/flag.svg +3 -0
  174. package/icons/flat-negative-sentiment-outline.svg +4 -0
  175. package/icons/flat-negative-sentiment.svg +3 -0
  176. package/icons/flat-neutral-sentiment-outline.svg +4 -0
  177. package/icons/flat-neutral-sentiment.svg +3 -0
  178. package/icons/flat-positive-sentiment-outline.svg +4 -0
  179. package/icons/flat-positive-sentiment.svg +3 -0
  180. package/icons/folder-open.svg +3 -0
  181. package/icons/folder.svg +3 -0
  182. package/icons/follow-outline.svg +3 -0
  183. package/icons/follow.svg +3 -0
  184. package/icons/follower-increase.svg +3 -0
  185. package/icons/following.svg +3 -0
  186. package/icons/font.svg +3 -0
  187. package/icons/full-access.svg +3 -0
  188. package/icons/gear.svg +3 -0
  189. package/icons/gears.svg +10 -0
  190. package/icons/glassdoor.svg +3 -0
  191. package/icons/glasses.svg +3 -0
  192. package/icons/globe.svg +3 -0
  193. package/icons/google-analytics-color.svg +4 -0
  194. package/icons/google-business-messages.svg +3 -0
  195. package/icons/google-drive.svg +3 -0
  196. package/icons/google-my-business.svg +13 -0
  197. package/icons/grip.svg +3 -0
  198. package/icons/h1.svg +3 -0
  199. package/icons/h2.svg +3 -0
  200. package/icons/hamburger.svg +3 -0
  201. package/icons/hashtag.svg +3 -0
  202. package/icons/headset.svg +3 -0
  203. package/icons/heart-outline.svg +3 -0
  204. package/icons/heart.svg +3 -0
  205. package/icons/heartbeat.svg +3 -0
  206. package/icons/help-alt.svg +3 -0
  207. package/icons/help.svg +3 -0
  208. package/icons/hiking.svg +3 -0
  209. package/icons/history.svg +3 -0
  210. package/icons/home.svg +3 -0
  211. package/icons/hourglass.svg +3 -0
  212. package/icons/hubspot.svg +3 -0
  213. package/icons/image-caption.svg +3 -0
  214. package/icons/image.svg +3 -0
  215. package/icons/images.svg +3 -0
  216. package/icons/impressions-per-post.svg +3 -0
  217. package/icons/impressions.svg +3 -0
  218. package/icons/inactive-listener.svg +3 -0
  219. package/icons/inbox-action.svg +3 -0
  220. package/icons/inbox-views.svg +3 -0
  221. package/icons/inbox.svg +3 -0
  222. package/icons/indicator.svg +3 -0
  223. package/icons/industry.svg +3 -0
  224. package/icons/info.svg +3 -0
  225. package/icons/instagram.svg +3 -0
  226. package/icons/internal-activity-outline.svg +3 -0
  227. package/icons/internal-activity.svg +3 -0
  228. package/icons/italic.svg +3 -0
  229. package/icons/key.svg +3 -0
  230. package/icons/keyboard.svg +3 -0
  231. package/icons/laptop-phone.svg +3 -0
  232. package/icons/large-density.svg +3 -0
  233. package/icons/lift.svg +3 -0
  234. package/icons/like-outline.svg +3 -0
  235. package/icons/like.svg +3 -0
  236. package/icons/link.svg +3 -0
  237. package/icons/linkedin-audience-network.svg +3 -0
  238. package/icons/linkedin.svg +3 -0
  239. package/icons/list-ol.svg +3 -0
  240. package/icons/listening.svg +3 -0
  241. package/icons/lists.svg +3 -0
  242. package/icons/location-outline.svg +3 -0
  243. package/icons/location.svg +3 -0
  244. package/icons/lock.svg +3 -0
  245. package/icons/magic-wand.svg +3 -0
  246. package/icons/male.svg +3 -0
  247. package/icons/marketo.svg +3 -0
  248. package/icons/mention.svg +3 -0
  249. package/icons/message-preview-outline.svg +3 -0
  250. package/icons/message-preview.svg +3 -0
  251. package/icons/message.svg +3 -0
  252. package/icons/messages-outline.svg +3 -0
  253. package/icons/messages.svg +3 -0
  254. package/icons/messenger.svg +11 -0
  255. package/icons/metric-table.svg +3 -0
  256. package/icons/microsoft-dynamics.svg +4 -0
  257. package/icons/minus.svg +3 -0
  258. package/icons/mobile.svg +3 -0
  259. package/icons/monitor.svg +3 -0
  260. package/icons/moon.svg +3 -0
  261. package/icons/negative-sentiment.svg +4 -0
  262. package/icons/neutral-positive-sentiment.svg +6 -0
  263. package/icons/neutral-sentiment.svg +4 -0
  264. package/icons/new-trend.svg +3 -0
  265. package/icons/newspaper.svg +3 -0
  266. package/icons/no-access.svg +3 -0
  267. package/icons/notepad.svg +3 -0
  268. package/icons/notifications-publishing-outline.svg +3 -0
  269. package/icons/notifications-publishing.svg +3 -0
  270. package/icons/notifications.svg +3 -0
  271. package/icons/offline.svg +3 -0
  272. package/icons/online.svg +3 -0
  273. package/icons/paid-promotion-outline.svg +3 -0
  274. package/icons/paid-promotion.svg +3 -0
  275. package/icons/paid.svg +3 -0
  276. package/icons/paint.svg +3 -0
  277. package/icons/palette.svg +3 -0
  278. package/icons/paperclip.svg +3 -0
  279. package/icons/pause.svg +3 -0
  280. package/icons/pencil-outline.svg +3 -0
  281. package/icons/pencil.svg +3 -0
  282. package/icons/person.svg +3 -0
  283. package/icons/phone.svg +3 -0
  284. package/icons/pinterest-boards-outline.svg +3 -0
  285. package/icons/pinterest-boards.svg +3 -0
  286. package/icons/pinterest.svg +3 -0
  287. package/icons/play-circle.svg +3 -0
  288. package/icons/play.svg +3 -0
  289. package/icons/plug.svg +3 -0
  290. package/icons/plus.svg +3 -0
  291. package/icons/positive-sentiment.svg +5 -0
  292. package/icons/power-up-outline.svg +3 -0
  293. package/icons/power-up.svg +3 -0
  294. package/icons/profile-connect.svg +3 -0
  295. package/icons/profile-disconnect.svg +3 -0
  296. package/icons/publishing-outline.svg +3 -0
  297. package/icons/publishing.svg +3 -0
  298. package/icons/puzzle-piece.svg +3 -0
  299. package/icons/qr-code.svg +3 -0
  300. package/icons/queue.svg +3 -0
  301. package/icons/recommendation.svg +3 -0
  302. package/icons/reddit-alien.svg +3 -0
  303. package/icons/reddit.svg +3 -0
  304. package/icons/referrals.svg +3 -0
  305. package/icons/refresh.svg +3 -0
  306. package/icons/rejected.svg +3 -0
  307. package/icons/reply-outline.svg +3 -0
  308. package/icons/reply.svg +3 -0
  309. package/icons/reporting-period.svg +3 -0
  310. package/icons/reporting.svg +3 -0
  311. package/icons/reports-home.svg +3 -0
  312. package/icons/reports.svg +3 -0
  313. package/icons/retweet.svg +3 -0
  314. package/icons/rss.svg +3 -0
  315. package/icons/sales.svg +3 -0
  316. package/icons/salesforce.svg +3 -0
  317. package/icons/save-assets.svg +3 -0
  318. package/icons/saved-messages.svg +3 -0
  319. package/icons/saved-reply-outline.svg +3 -0
  320. package/icons/saved-reply.svg +3 -0
  321. package/icons/search.svg +3 -0
  322. package/icons/sent-message-outline.svg +3 -0
  323. package/icons/sent-message.svg +3 -0
  324. package/icons/share.svg +3 -0
  325. package/icons/shopify.svg +5 -0
  326. package/icons/show-navigation.svg +3 -0
  327. package/icons/slack.svg +3 -0
  328. package/icons/small-density.svg +3 -0
  329. package/icons/smiley.svg +3 -0
  330. package/icons/some-access.svg +3 -0
  331. package/icons/sparkles.svg +3 -0
  332. package/icons/spike-alert.svg +3 -0
  333. package/icons/star-half-alt-solid.svg +3 -0
  334. package/icons/star-of-life.svg +3 -0
  335. package/icons/star-outline.svg +3 -0
  336. package/icons/star.svg +3 -0
  337. package/icons/sticky-note-outline.svg +3 -0
  338. package/icons/sticky-note.svg +3 -0
  339. package/icons/stories.svg +3 -0
  340. package/icons/story.svg +3 -0
  341. package/icons/suggestions.svg +3 -0
  342. package/icons/sun.svg +3 -0
  343. package/icons/tag-outline.svg +3 -0
  344. package/icons/tag.svg +3 -0
  345. package/icons/targeting-outline.svg +3 -0
  346. package/icons/targeting.svg +3 -0
  347. package/icons/tasks-outline.svg +3 -0
  348. package/icons/tasks.svg +3 -0
  349. package/icons/team-conversation-outline.svg +3 -0
  350. package/icons/team-conversation.svg +3 -0
  351. package/icons/team.svg +3 -0
  352. package/icons/text-asset.svg +3 -0
  353. package/icons/text.svg +3 -0
  354. package/icons/tiktok.svg +5 -0
  355. package/icons/times.svg +3 -0
  356. package/icons/trash-can-outline.svg +3 -0
  357. package/icons/trash-can.svg +3 -0
  358. package/icons/trend-down.svg +3 -0
  359. package/icons/trend-neutral.svg +3 -0
  360. package/icons/trend-up.svg +3 -0
  361. package/icons/trends.svg +3 -0
  362. package/icons/triangle-black.svg +3 -0
  363. package/icons/triangle.svg +3 -0
  364. package/icons/tripadvisor-circle-outline.svg +3 -0
  365. package/icons/tripadvisor-circle.svg +11 -0
  366. package/icons/tripadvisor.svg +4 -0
  367. package/icons/trophy-outline.svg +3 -0
  368. package/icons/tumblr.svg +3 -0
  369. package/icons/twitter-audience-network.svg +3 -0
  370. package/icons/twitter.svg +3 -0
  371. package/icons/unfollow-outline.svg +3 -0
  372. package/icons/unfollow.svg +3 -0
  373. package/icons/unlink.svg +3 -0
  374. package/icons/unlock.svg +3 -0
  375. package/icons/upload.svg +3 -0
  376. package/icons/user-circle.svg +3 -0
  377. package/icons/users.svg +3 -0
  378. package/icons/verified.svg +3 -0
  379. package/icons/video-camera-story.svg +3 -0
  380. package/icons/video-camera.svg +3 -0
  381. package/icons/vip.svg +3 -0
  382. package/icons/weight.svg +3 -0
  383. package/icons/whatsapp.svg +20 -0
  384. package/icons/window-maximize.svg +3 -0
  385. package/icons/window-minimize.svg +3 -0
  386. package/icons/window-regular.svg +3 -0
  387. package/icons/window-restore.svg +3 -0
  388. package/icons/woocommerce.svg +3 -0
  389. package/icons/x.svg +3 -0
  390. package/icons/yelp-full-star.svg +3 -0
  391. package/icons/yelp-half-star.svg +4 -0
  392. package/icons/yelp.svg +10 -0
  393. package/icons/youtube.svg +3 -0
  394. package/icons/zendesk.svg +3 -0
  395. package/includeIcons.js +14 -0
  396. package/lib/Input/index.js +2 -1
  397. package/lib/Token/styles.js +8 -7
  398. package/lib/include-icons.js +12 -0
  399. package/lib/index.js +1 -0
  400. package/lib/themes/dark/theme.js +0 -4
  401. package/lib/themes/extendedThemes/sproutTheme/dark/theme.js +63 -1
  402. package/lib/themes/extendedThemes/sproutTheme/light/theme.js +63 -1
  403. package/lib/themes/light/theme.js +0 -4
  404. package/lib/types/theme.flow.js +1 -1
  405. package/lib/utils/useInteractiveColor.js +27 -0
  406. package/package.json +8 -3
  407. package/__flow__/EnumLogoNames.js +0 -2
  408. package/__flow__/LogoViewBoxes.js +0 -1
  409. package/__flow__/PartnerLogo/TypePartnerNames.js +0 -34
  410. package/__flow__/PartnerLogo/index.js +0 -26
  411. package/__flow__/PartnerLogo/index.stories.js +0 -59
  412. package/__flow__/PartnerLogo/partnerLogos/Feedly-dark.svg +0 -1
  413. package/__flow__/PartnerLogo/partnerLogos/Feedly.svg +0 -1
  414. package/__flow__/PartnerLogo/partnerLogos/bitly-dark.svg +0 -1
  415. package/__flow__/PartnerLogo/partnerLogos/bitly.svg +0 -1
  416. package/__flow__/PartnerLogo/partnerLogos/canva-dark.svg +0 -1
  417. package/__flow__/PartnerLogo/partnerLogos/canva.svg +0 -1
  418. package/__flow__/PartnerLogo/partnerLogos/dropbox-dark.svg +0 -1
  419. package/__flow__/PartnerLogo/partnerLogos/dropbox.svg +0 -1
  420. package/__flow__/PartnerLogo/partnerLogos/facebook-dark.svg +0 -1
  421. package/__flow__/PartnerLogo/partnerLogos/facebook-shops-dark.svg +0 -1
  422. package/__flow__/PartnerLogo/partnerLogos/facebook-shops.svg +0 -1
  423. package/__flow__/PartnerLogo/partnerLogos/facebook.svg +0 -1
  424. package/__flow__/PartnerLogo/partnerLogos/glassdoor-dark.svg +0 -1
  425. package/__flow__/PartnerLogo/partnerLogos/glassdoor.svg +0 -1
  426. package/__flow__/PartnerLogo/partnerLogos/google-analytics-dark.svg +0 -1
  427. package/__flow__/PartnerLogo/partnerLogos/google-analytics.svg +0 -1
  428. package/__flow__/PartnerLogo/partnerLogos/google-business-messages-dark.svg +0 -1
  429. package/__flow__/PartnerLogo/partnerLogos/google-business-messages.svg +0 -1
  430. package/__flow__/PartnerLogo/partnerLogos/google-drive-dark.svg +0 -1
  431. package/__flow__/PartnerLogo/partnerLogos/google-drive.svg +0 -1
  432. package/__flow__/PartnerLogo/partnerLogos/google-my-business-dark.svg +0 -1
  433. package/__flow__/PartnerLogo/partnerLogos/google-my-business.svg +0 -1
  434. package/__flow__/PartnerLogo/partnerLogos/hubspot-dark.svg +0 -1
  435. package/__flow__/PartnerLogo/partnerLogos/hubspot.svg +0 -1
  436. package/__flow__/PartnerLogo/partnerLogos/instagram-dark.svg +0 -1
  437. package/__flow__/PartnerLogo/partnerLogos/instagram.svg +0 -1
  438. package/__flow__/PartnerLogo/partnerLogos/linkedin-dark.svg +0 -1
  439. package/__flow__/PartnerLogo/partnerLogos/linkedin.svg +0 -1
  440. package/__flow__/PartnerLogo/partnerLogos/marketo-dark.svg +0 -1
  441. package/__flow__/PartnerLogo/partnerLogos/marketo.svg +0 -1
  442. package/__flow__/PartnerLogo/partnerLogos/messenger-dark.svg +0 -1
  443. package/__flow__/PartnerLogo/partnerLogos/messenger.svg +0 -1
  444. package/__flow__/PartnerLogo/partnerLogos/microsoft-dynamics-dark.svg +0 -1
  445. package/__flow__/PartnerLogo/partnerLogos/microsoft-dynamics.svg +0 -1
  446. package/__flow__/PartnerLogo/partnerLogos/pinterest-dark.svg +0 -1
  447. package/__flow__/PartnerLogo/partnerLogos/pinterest.svg +0 -1
  448. package/__flow__/PartnerLogo/partnerLogos/reddit-dark.svg +0 -1
  449. package/__flow__/PartnerLogo/partnerLogos/reddit.svg +0 -1
  450. package/__flow__/PartnerLogo/partnerLogos/salesforce-dark.svg +0 -1
  451. package/__flow__/PartnerLogo/partnerLogos/salesforce.svg +0 -1
  452. package/__flow__/PartnerLogo/partnerLogos/shopify-dark.svg +0 -1
  453. package/__flow__/PartnerLogo/partnerLogos/shopify.svg +0 -1
  454. package/__flow__/PartnerLogo/partnerLogos/slack-dark.svg +0 -1
  455. package/__flow__/PartnerLogo/partnerLogos/slack.svg +0 -1
  456. package/__flow__/PartnerLogo/partnerLogos/tiktok-dark.svg +0 -1
  457. package/__flow__/PartnerLogo/partnerLogos/tiktok.svg +0 -1
  458. package/__flow__/PartnerLogo/partnerLogos/tripadvisor-dark.svg +0 -1
  459. package/__flow__/PartnerLogo/partnerLogos/tripadvisor.svg +0 -1
  460. package/__flow__/PartnerLogo/partnerLogos/tumblr-dark.svg +0 -1
  461. package/__flow__/PartnerLogo/partnerLogos/tumblr.svg +0 -1
  462. package/__flow__/PartnerLogo/partnerLogos/twitter-dark.svg +0 -1
  463. package/__flow__/PartnerLogo/partnerLogos/twitter.svg +0 -1
  464. package/__flow__/PartnerLogo/partnerLogos/whatsapp-dark.svg +0 -1
  465. package/__flow__/PartnerLogo/partnerLogos/whatsapp.svg +0 -1
  466. package/__flow__/PartnerLogo/partnerLogos/woocommerce-dark.svg +0 -1
  467. package/__flow__/PartnerLogo/partnerLogos/woocommerce.svg +0 -1
  468. package/__flow__/PartnerLogo/partnerLogos/yelp-dark.svg +0 -1
  469. package/__flow__/PartnerLogo/partnerLogos/yelp.svg +0 -1
  470. package/__flow__/PartnerLogo/partnerLogos/youtube-dark.svg +0 -1
  471. package/__flow__/PartnerLogo/partnerLogos/youtube.svg +0 -1
  472. package/__flow__/PartnerLogo/partnerLogos/zendesk-dark.svg +0 -1
  473. package/__flow__/PartnerLogo/partnerLogos/zendesk.svg +0 -1
  474. package/__flow__/themes/utils/interact.js +0 -12
  475. package/commonjs/EnumLogoNames.js +0 -1
  476. package/commonjs/LogoViewBoxes.js +0 -66
  477. package/commonjs/PartnerLogo/TypePartnerNames.js +0 -1
  478. package/commonjs/PartnerLogo/index.js +0 -32
  479. package/commonjs/themes/utils/interact.js +0 -19
  480. package/dist/logo.svg +0 -1
  481. package/dist/logoList.js +0 -1
  482. package/lib/EnumLogoNames.js +0 -0
  483. package/lib/LogoViewBoxes.js +0 -64
  484. package/lib/PartnerLogo/TypePartnerNames.js +0 -0
  485. package/lib/PartnerLogo/index.js +0 -22
  486. package/lib/themes/utils/interact.js +0 -13
@@ -182,90 +182,90 @@ const getIcon = (type, color) => {
182
182
 
183
183
  // eslint-disable-next-line prettier/prettier
184
184
  export const CheckboxContainer: StyledComponent<any, TypeTheme, *> = styled.span(
185
- (props) => css`
186
- display: inline-flex;
187
- align-items: center;
188
- box-sizing: border-box;
189
- position: relative;
190
- transition: all ${props.theme.duration.fast} ${props.theme.easing.ease_in};
191
-
192
- @supports (-webkit-appearance: none) {
193
- &:before {
194
- /* stylelint-disable */
195
- content: url("data:image/svg+xml;utf8,${getIcon(
196
- props.indeterminate ? "indeterminate" : "check",
197
-
198
- props.checked
199
- ? props.theme.colors.form.background.base
200
- : props.theme.colors.form.border.base
201
- )}");
202
- opacity: ${props.checked ? 1 : 0};
203
- position: absolute;
204
- width: ${props.theme.space[400]};
205
- height: ${props.theme.space[400]};
206
- text-align: center;
207
- transform: translateY(1px);
208
- line-height: 1;
209
- margin: auto;
210
- pointer-events: none;
211
- transition: ${props.theme.duration.fast}
212
- ${props.theme.easing.ease_inout};
213
- }
214
-
215
- &:hover:before {
216
- opacity: ${props.disabled && !props.checked ? 0 : 1};
217
- }
218
-
219
- ${props.disabled &&
220
- css`
221
- opacity: 0.4;
222
- `}
223
-
224
- input[type='checkbox'] {
225
- box-sizing: border-box;
226
- appearance: none;
227
- margin: 0;
228
- padding: 0;
229
- width: ${props.theme.space[400]};
230
- height: ${props.theme.space[400]};
231
- border: 1px solid ${props.theme.colors.form.border.base};
232
- border-radius: 4px;
233
- background-color: ${props.theme.colors.form.background.base};
234
- transition: all ${props.theme.duration.fast}
235
- ${props.theme.easing.ease_in};
236
- cursor: ${props.disabled ? "not-allowed" : "pointer"};
237
- flex-shrink: 0;
238
-
239
- &:not(:checked) {
240
- ${!props.indeterminate &&
241
- css`
242
- border-color: ${props.theme.colors
243
- .neutral[300]} !important; /* We don't want the focus ring to remove the border */
244
- background-color: ${props.theme.colors.form.background.base};
245
- `}
185
+ (props) => css`
186
+ display: inline-flex;
187
+ align-items: center;
188
+ box-sizing: border-box;
189
+ position: relative;
190
+ transition: all ${props.theme.duration.fast} ${props.theme.easing.ease_in};
191
+
192
+ @supports (-webkit-appearance: none) {
193
+ &:before {
194
+ /* stylelint-disable */
195
+ content: url("data:image/svg+xml;utf8,${getIcon(
196
+ props.indeterminate ? "indeterminate" : "check",
197
+
198
+ props.checked
199
+ ? props.theme.colors.form.background.base
200
+ : props.theme.colors.form.border.base
201
+ )}");
202
+ opacity: ${props.checked ? 1 : 0};
203
+ position: absolute;
204
+ width: ${props.theme.space[400]};
205
+ height: ${props.theme.space[400]};
206
+ text-align: center;
207
+ transform: translateY(1px);
208
+ line-height: 1;
209
+ margin: auto;
210
+ pointer-events: none;
211
+ transition: ${props.theme.duration.fast}
212
+ ${props.theme.easing.ease_inout};
246
213
  }
247
214
 
248
- &:checked {
249
- border-color: ${props.theme.colors.form.border.selected};
250
- background-color: ${props.theme.colors.form.background.selected};
215
+ &:hover:before {
216
+ opacity: ${props.disabled && !props.checked ? 0 : 1};
251
217
  }
252
218
 
253
- ${props.indeterminate &&
254
- props.checked &&
219
+ ${props.disabled &&
255
220
  css`
256
- border-color: ${props.theme.colors.form.border.selected} !important;
257
- background-color: ${props.theme.colors.form.background
258
- .selected} !important;
221
+ opacity: 0.4;
259
222
  `}
260
223
 
261
- &:focus {
262
- ${focusRing}
224
+ input[type='checkbox'] {
225
+ box-sizing: border-box;
226
+ appearance: none;
227
+ margin: 0;
228
+ padding: 0;
229
+ width: ${props.theme.space[400]};
230
+ height: ${props.theme.space[400]};
231
+ border: 1px solid ${props.theme.colors.form.border.base};
232
+ border-radius: 4px;
233
+ background-color: ${props.theme.colors.form.background.base};
234
+ transition: all ${props.theme.duration.fast}
235
+ ${props.theme.easing.ease_in};
236
+ cursor: ${props.disabled ? "not-allowed" : "pointer"};
237
+ flex-shrink: 0;
238
+
239
+ &:not(:checked) {
240
+ ${!props.indeterminate &&
241
+ css`
242
+ border-color: ${props.theme.colors
243
+ .neutral[300]} !important; /* We don't want the focus ring to remove the border */
244
+ background-color: ${props.theme.colors.form.background.base};
245
+ `}
246
+ }
247
+
248
+ &:checked {
249
+ border-color: ${props.theme.colors.form.border.selected};
250
+ background-color: ${props.theme.colors.form.background.selected};
251
+ }
252
+
253
+ ${props.indeterminate &&
254
+ props.checked &&
255
+ css`
256
+ border-color: ${props.theme.colors.form.border.selected} !important;
257
+ background-color: ${props.theme.colors.form.background
258
+ .selected} !important;
259
+ `}
260
+
261
+ &:focus {
262
+ ${focusRing}
263
+ }
263
264
  }
264
265
  }
265
- }
266
266
 
267
- ${COMMON}
268
- `
269
- );
267
+ ${COMMON}
268
+ `
269
+ );
270
270
 
271
271
  export default Container;
@@ -73,9 +73,8 @@ const Trigger = ({ children, ...rest }) => {
73
73
  };
74
74
 
75
75
  const Panel = ({ children, ...rest }) => {
76
- const { isOpen, id, offset, collapsedHeight, openHeight } = useContext(
77
- CollapsibleContext
78
- );
76
+ const { isOpen, id, offset, collapsedHeight, openHeight } =
77
+ useContext(CollapsibleContext);
79
78
  const ref = useRef();
80
79
  const measurement = useMeasure(ref);
81
80
  const [isHidden, setIsHidden] = useState(undefined);
@@ -80,16 +80,8 @@ export default class Image extends React.Component<TypeProps, TypeState> {
80
80
  };
81
81
 
82
82
  render() {
83
- const {
84
- alt,
85
- title,
86
- onClick,
87
- onError,
88
- onLoad,
89
- src,
90
- qa,
91
- ...rest
92
- } = this.props;
83
+ const { alt, title, onClick, onError, onLoad, src, qa, ...rest } =
84
+ this.props;
93
85
 
94
86
  return (
95
87
  <ImageContainer
@@ -7,6 +7,7 @@ import styled from "styled-components";
7
7
  import type { StyledComponent } from "styled-components";
8
8
  import type { TypeTheme } from "../types/theme.flow";
9
9
  import { mergeRefs } from "../utils";
10
+ import { useInteractiveColor } from "../utils/useInteractiveColor";
10
11
 
11
12
  type TypeProps = {
12
13
  /** ID of the form element, should match the "for" value of the associated label */
@@ -90,8 +91,7 @@ const InputContext = React.createContext<TypeInputContext>({});
90
91
  const StyledButton: StyledComponent<any, TypeTheme, *> = styled(Button)`
91
92
  &:hover,
92
93
  &:active {
93
- color: ${(props) =>
94
- props.theme.utils.interact(props.theme.colors.icon.base)};
94
+ color: ${(props) => useInteractiveColor(props.theme.colors.icon.base)};
95
95
  }
96
96
  `;
97
97
 
@@ -17,9 +17,8 @@ type TypeSegmentedControlContext = {
17
17
  onChange: (e: SyntheticInputEvent<HTMLInputElement>) => void,
18
18
  };
19
19
 
20
- const SegmentedControlContext = React.createContext<?TypeSegmentedControlContext>(
21
- null
22
- );
20
+ const SegmentedControlContext =
21
+ React.createContext<?TypeSegmentedControlContext>(null);
23
22
 
24
23
  type TypeSegmentedControlItemProps = {
25
24
  /** The value of this item. Should be unique among sibling items. */
@@ -22,15 +22,8 @@ export type TypeTableCell = {
22
22
  */
23
23
  export default class TableCell extends React.Component<TypeTableCell> {
24
24
  render() {
25
- const {
26
- id,
27
- content,
28
- colSpan,
29
- width,
30
- align,
31
- children,
32
- ...rest
33
- } = this.props;
25
+ const { id, content, colSpan, width, align, children, ...rest } =
26
+ this.props;
34
27
 
35
28
  return (
36
29
  <Container
@@ -32,15 +32,8 @@ export default class ToggleHint extends React.Component<TypeProps> {
32
32
  };
33
33
 
34
34
  render() {
35
- const {
36
- icon,
37
- isOpen,
38
- openString,
39
- closeString,
40
- qa,
41
- className,
42
- ...rest
43
- } = this.props;
35
+ const { icon, isOpen, openString, closeString, qa, className, ...rest } =
36
+ this.props;
44
37
 
45
38
  return (
46
39
  <Container
@@ -2,6 +2,7 @@
2
2
  import styled, { css, type StyledComponent } from "styled-components";
3
3
  import { COMMON } from "../utils/system-props";
4
4
  import { focusRing } from "../utils/mixins";
5
+ import { useInteractiveColor } from "../utils/useInteractiveColor";
5
6
 
6
7
  import type { TypeTheme } from "../types/theme.flow";
7
8
 
@@ -29,30 +30,30 @@ const Container: StyledComponent<any, TypeTheme, *> = styled.button`
29
30
  ${focusRing}
30
31
  }
31
32
 
32
- ${({ theme, palette }) =>
33
- palette === "blue" &&
33
+ ${({ closeable, theme }) =>
34
+ closeable &&
34
35
  css`
35
- color: ${theme.colors.text.body};
36
- background: ${theme.colors.container.background.decorative.blue};
37
- border: 1px solid ${theme.colors.container.border.decorative.blue};
36
+ cursor: pointer;
38
37
  &:hover,
39
38
  &:active {
40
- cursor: pointer;
41
39
  box-shadow: ${theme.shadows.low};
42
40
  border: 1px solid
43
- ${theme.utils.interact(theme.colors.container.border.decorative.blue)};
41
+ ${useInteractiveColor(theme.colors.container.border.base)};
44
42
  }
45
43
  `}
46
44
 
47
- ${({ closeable, theme }) =>
48
- closeable &&
45
+ ${({ theme, palette }) =>
46
+ palette === "blue" &&
49
47
  css`
50
- cursor: pointer;
48
+ color: ${theme.colors.text.body};
49
+ background: ${theme.colors.container.background.decorative.blue};
50
+ border: 1px solid ${theme.colors.container.border.decorative.blue};
51
51
  &:hover,
52
52
  &:active {
53
+ cursor: pointer;
53
54
  box-shadow: ${theme.shadows.low};
54
55
  border: 1px solid
55
- ${theme.utils.interact(theme.colors.container.border.base)};
56
+ ${useInteractiveColor(theme.colors.container.border.decorative.blue)};
56
57
  }
57
58
  `}
58
59
 
@@ -77,7 +78,7 @@ const Container: StyledComponent<any, TypeTheme, *> = styled.button`
77
78
  &:hover {
78
79
  box-shadow: ${theme.shadows.low};
79
80
  border: 1px solid
80
- ${theme.utils.interact(theme.colors.container.border.error)};
81
+ ${useInteractiveColor(theme.colors.container.border.error)};
81
82
  }
82
83
  `}
83
84
 
@@ -0,0 +1,11 @@
1
+ import icons from "../dist/icons.svg";
2
+
3
+ if (typeof document !== "undefined") {
4
+ const body = document && document.querySelector("body");
5
+ const iconsElement = document.createElement("div");
6
+ iconsElement.innerHTML = icons;
7
+ const container = document.createElement("div");
8
+ container.style = "width: 0; height: 0; overflow: hidden;";
9
+ container.append(iconsElement.firstChild);
10
+ body.appendChild(container);
11
+ }
package/__flow__/index.js CHANGED
@@ -4,6 +4,7 @@ export type { TypeTheme, TypeSproutTheme } from "./types/theme.flow";
4
4
  export * from "./systemProps";
5
5
  export { visuallyHidden, focusRing, disabled } from "./utils/mixins";
6
6
  export { useSelect, useMultiselect, useTextContent } from "./utils/hooks";
7
+ export { useInteractiveColor } from "./utils/useInteractiveColor";
7
8
  export { default as theme } from "./themes/light/theme";
8
9
  export { default as darkTheme } from "./themes/dark/theme";
9
10
  export {
@@ -14,7 +14,8 @@ import type {
14
14
 
15
15
  // https://styled-system.com/table#color
16
16
 
17
- type TypeBackgroundColorSystemProp = TypeResponsiveBaseSystemProp<BackgroundColorProperty>;
17
+ type TypeBackgroundColorSystemProp =
18
+ TypeResponsiveBaseSystemProp<BackgroundColorProperty>;
18
19
  export type TypeColorSystemProps = $ReadOnly<{|
19
20
  backgroundColor?: TypeBackgroundColorSystemProp,
20
21
  bg?: TypeBackgroundColorSystemProp,
@@ -15,8 +15,6 @@ import {
15
15
  } from "./decorative-palettes";
16
16
  import { transparentize } from "polished";
17
17
 
18
- import interact from "../utils/interact";
19
-
20
18
  const MODE = "dark";
21
19
 
22
20
  export const shadows = {
@@ -235,9 +233,6 @@ const colors = {
235
233
 
236
234
  const darkTheme = {
237
235
  ...lightTheme,
238
- utils: {
239
- interact: interact(MODE),
240
- },
241
236
  colors,
242
237
  shadows,
243
238
  mode: MODE,
@@ -50,6 +50,68 @@ export const analytics = {
50
50
  },
51
51
  };
52
52
 
53
+ export const growth = {
54
+ education: {
55
+ decorative: {
56
+ aqua: baseDarkTheme.colors.aqua[600],
57
+ teal: baseDarkTheme.colors.teal[500],
58
+ },
59
+ },
60
+ opportunity: {
61
+ background: {
62
+ base: baseDarkTheme.colors.purple[700],
63
+ },
64
+ button: {
65
+ primary: {
66
+ base: baseDarkTheme.colors.purple[400],
67
+ hover: baseDarkTheme.colors.purple[300],
68
+ },
69
+ },
70
+ badge: {
71
+ background: {
72
+ base: baseDarkTheme.colors.purple[700],
73
+ active: baseDarkTheme.colors.purple[100],
74
+ },
75
+ icon: {
76
+ base: baseDarkTheme.colors.purple[200],
77
+ active: baseDarkTheme.colors.purple[800],
78
+ },
79
+ text: {
80
+ base: baseDarkTheme.colors.purple[200],
81
+ },
82
+ },
83
+ decorative: {
84
+ // confetti
85
+ green: baseDarkTheme.colors.green[700],
86
+ lightAqua: baseDarkTheme.colors.aqua[600],
87
+ darkAqua: baseDarkTheme.colors.aqua[1100],
88
+ purple: baseDarkTheme.colors.purple[700],
89
+ },
90
+ },
91
+ darkModal: {
92
+ background: {
93
+ base: baseDarkTheme.colors.aqua[1100],
94
+ },
95
+ text: {
96
+ base: baseDarkTheme.colors.neutral[0],
97
+ },
98
+ cards: {
99
+ background: {
100
+ base: baseDarkTheme.colors.neutral[0],
101
+ hover: baseDarkTheme.colors.purple[100],
102
+ },
103
+ text: {
104
+ base: baseDarkTheme.colors.neutral[800],
105
+ hover: baseDarkTheme.colors.neutral[900],
106
+ },
107
+ border: {
108
+ base: baseDarkTheme.colors.neutral[0],
109
+ hover: baseDarkTheme.colors.purple[700],
110
+ },
111
+ },
112
+ },
113
+ };
114
+
53
115
  const darkTheme: TypeSproutTheme = {
54
116
  ...baseDarkTheme,
55
117
  colors: {
@@ -57,6 +119,7 @@ const darkTheme: TypeSproutTheme = {
57
119
  navigation,
58
120
  datePicker,
59
121
  analytics,
122
+ growth,
60
123
  },
61
124
  };
62
125
 
@@ -50,6 +50,68 @@ export const analytics = {
50
50
  },
51
51
  };
52
52
 
53
+ export const growth = {
54
+ education: {
55
+ decorative: {
56
+ aqua: baseLightTheme.colors.aqua[600],
57
+ teal: baseLightTheme.colors.teal[700],
58
+ },
59
+ },
60
+ opportunity: {
61
+ background: {
62
+ base: baseLightTheme.colors.purple[700],
63
+ },
64
+ button: {
65
+ primary: {
66
+ base: baseLightTheme.colors.purple[700],
67
+ hover: baseLightTheme.colors.purple[800],
68
+ },
69
+ },
70
+ badge: {
71
+ background: {
72
+ base: baseLightTheme.colors.purple[200],
73
+ active: baseLightTheme.colors.purple[800],
74
+ },
75
+ icon: {
76
+ base: baseLightTheme.colors.purple[700],
77
+ active: baseLightTheme.colors.purple[100],
78
+ },
79
+ text: {
80
+ base: baseLightTheme.colors.purple[700],
81
+ },
82
+ },
83
+ decorative: {
84
+ // confetti
85
+ green: baseLightTheme.colors.green[700],
86
+ lightAqua: baseLightTheme.colors.aqua[600],
87
+ darkAqua: baseLightTheme.colors.aqua[1100],
88
+ purple: baseLightTheme.colors.purple[700],
89
+ },
90
+ },
91
+ darkModal: {
92
+ background: {
93
+ base: baseLightTheme.colors.aqua[1100],
94
+ },
95
+ text: {
96
+ base: baseLightTheme.colors.neutral[0],
97
+ },
98
+ cards: {
99
+ background: {
100
+ base: baseLightTheme.colors.neutral[0],
101
+ hover: baseLightTheme.colors.purple[100],
102
+ },
103
+ text: {
104
+ base: baseLightTheme.colors.neutral[800],
105
+ hover: baseLightTheme.colors.neutral[900],
106
+ },
107
+ border: {
108
+ base: baseLightTheme.colors.neutral[0],
109
+ hover: baseLightTheme.colors.purple[700],
110
+ },
111
+ },
112
+ },
113
+ };
114
+
53
115
  const lightTheme: TypeSproutTheme = {
54
116
  ...baseLightTheme,
55
117
  colors: {
@@ -57,6 +119,7 @@ const lightTheme: TypeSproutTheme = {
57
119
  navigation,
58
120
  datePicker,
59
121
  analytics,
122
+ growth,
60
123
  },
61
124
  };
62
125
 
@@ -20,8 +20,6 @@ import MOTION from "@sproutsocial/seeds-motion";
20
20
  import BORDER from "@sproutsocial/seeds-border";
21
21
  import { transparentize } from "polished";
22
22
 
23
- import interact from "../utils/interact";
24
-
25
23
  export const breakpoints = ["900px", "1200px", "1500px", "1800px"];
26
24
 
27
25
  const MODE = "light";
@@ -350,9 +348,6 @@ export const duration = {
350
348
  };
351
349
 
352
350
  const theme = {
353
- utils: {
354
- interact: interact(MODE),
355
- },
356
351
  breakpoints,
357
352
  colors,
358
353
  typography: {
@@ -17,9 +17,9 @@ import {
17
17
  datePicker,
18
18
  navigation,
19
19
  analytics,
20
+ growth,
20
21
  } from "../themes/extendedThemes/sproutTheme/light/theme";
21
22
 
22
- export type TypeThemeUtils = {| interact: (color: string) => string |};
23
23
  export type TypeThemeMode = "light" | "dark";
24
24
  export type TypeBreakpoint = typeof breakpoints;
25
25
  export type TypeTypography = typeof typography;
@@ -36,7 +36,6 @@ export type TypeDuration = typeof duration;
36
36
 
37
37
  export type TypeTheme = {
38
38
  mode: TypeThemeMode,
39
- utils: TypeThemeUtils,
40
39
  breakpoints: TypeBreakpoint,
41
40
  colors: TypeColor,
42
41
  typography: TypeTypography,
@@ -59,5 +58,6 @@ export type TypeSproutTheme = {
59
58
  navigation: typeof navigation,
60
59
  datePicker: typeof datePicker,
61
60
  analytics: typeof analytics,
61
+ growth: typeof growth,
62
62
  |},
63
63
  };
@@ -19,21 +19,13 @@ describe("normalizeResponsiveProp", () => {
19
19
 
20
20
  it("should handle arrays with 4 values", () => {
21
21
  expect(normalizeResponsiveProp([0, 1, 2, 3])).toMatchObject([
22
- 0,
23
- 1,
24
- 2,
25
- 3,
26
- 3,
22
+ 0, 1, 2, 3, 3,
27
23
  ]);
28
24
  });
29
25
 
30
26
  it("should handle arrays with 5 values", () => {
31
27
  expect(normalizeResponsiveProp([0, 1, 2, 3, 4])).toMatchObject([
32
- 0,
33
- 1,
34
- 2,
35
- 3,
36
- 4,
28
+ 0, 1, 2, 3, 4,
37
29
  ]);
38
30
  });
39
31
  });
@@ -0,0 +1,32 @@
1
+ //@flow strict-local
2
+ import { darken, lighten } from "polished";
3
+ import { useTheme } from "styled-components";
4
+ import type { TypeColors } from "../types/theme.colors.flow.js";
5
+
6
+ /**
7
+ * The useInteractiveColor hook has context of theme mode (light or dark)
8
+ * and can be used to lighten or darken a color dynamically
9
+ *
10
+ * note: colors are limited to our theme colors
11
+ */
12
+ const useInteractiveColor = (themeColor: TypeColors): string => {
13
+ // Throw error if used outside of a ThemeProvider (styled-components)
14
+ if (!useTheme()) {
15
+ throw new Error(
16
+ "useInteractiveColor() must be used within a Styled Components ThemeProvider"
17
+ );
18
+ }
19
+
20
+ // Get the current theme mode ie. 'light' or 'dark'
21
+ const themeMode = useTheme().mode;
22
+
23
+ // If the theme mode is dark, return a lightened version of the themeValue
24
+ if (themeMode === "dark") {
25
+ return lighten(0.2, themeColor);
26
+ } else {
27
+ // If the theme mode is light, return a darkened version of the themeValue
28
+ return darken(0.2, themeColor);
29
+ }
30
+ };
31
+
32
+ export { useInteractiveColor };
@@ -15,6 +15,8 @@ var _styledComponents = _interopRequireDefault(require("styled-components"));
15
15
 
16
16
  var _utils = require("../utils");
17
17
 
18
+ var _useInteractiveColor = require("../utils/useInteractiveColor");
19
+
18
20
  var _excluded = ["autoComplete", "autoFocus", "disabled", "readOnly", "isInvalid", "hasWarning", "id", "name", "placeholder", "type", "required", "value", "elemBefore", "elemAfter", "maxLength", "ariaLabel", "ariaDescribedby", "clearButtonLabel", "innerRef", "onBlur", "onChange", "onClear", "onFocus", "onKeyDown", "onKeyUp", "onPaste", "inputProps", "qa", "appearance", "size"];
19
21
 
20
22
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -36,7 +38,7 @@ var StyledButton = (0, _styledComponents.default)(_Button.default).withConfig({
36
38
  displayName: "Input__StyledButton",
37
39
  componentId: "sc-1ck1dnm-0"
38
40
  })(["&:hover,&:active{color:", ";}"], function (props) {
39
- return props.theme.utils.interact(props.theme.colors.icon.base);
41
+ return (0, _useInteractiveColor.useInteractiveColor)(props.theme.colors.icon.base);
40
42
  });
41
43
 
42
44
  var ClearButton = function ClearButton() {