You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

ArrowButton.styled.js 1.6KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. import { ReactComponent as DownArrow } from "../../../assets/images/svg/arrow-down.svg";
  2. import styled, { css } from "styled-components";
  3. import selectedTheme from "../../../themes";
  4. import { IconButton } from "../IconButton/IconButton";
  5. export const ArrowIcon = styled(DownArrow)`
  6. ${(props) =>
  7. props.side === "left" &&
  8. `
  9. transform: rotate(180deg);
  10. `}
  11. width: 18px;
  12. height: 18px;
  13. position: relative;
  14. top: 1px;
  15. left: 1px;
  16. & path {
  17. ${(props) =>
  18. props.disabled &&
  19. `
  20. stroke: ${selectedTheme.colors.iconStrokeDisabledColor}
  21. `}
  22. }
  23. @media (max-width: 600px) {
  24. top: -3px;
  25. left: -2px;
  26. }
  27. `;
  28. export const ArrowContainer = styled(IconButton)`
  29. border: 1px solid ${selectedTheme.colors.primaryPurple} !important;
  30. border-radius: 100%;
  31. min-width: 40px;
  32. width: 40px;
  33. height: 40px;
  34. display: flex;
  35. box-sizing: border-box;
  36. cursor: pointer;
  37. margin-top: auto;
  38. margin-bottom: auto;
  39. transition: 0.2s all ease;
  40. &:hover {
  41. background-color: ${selectedTheme.colors.primaryPurple};
  42. & svg path {
  43. stroke: white;
  44. }
  45. }
  46. ${(props) =>
  47. props.disabled &&
  48. css`
  49. border 1px solid ${selectedTheme.colors.iconStrokeDisabledColor} !important;
  50. &:hover {
  51. background-color: inherit;
  52. & svg path {
  53. stroke: ${selectedTheme.colors.iconStrokeDisabledColor};
  54. }
  55. }
  56. & svg path {
  57. stroke: ${selectedTheme.colors.iconStrokeDisabledColor};
  58. transition: 0.2s all ease;
  59. }
  60. `}
  61. @media screen and (max-width: 600px) {
  62. min-width: 32px;
  63. width: 32px;
  64. height: 32px;
  65. }
  66. `;