ConfirmationModal.styled.tsx 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. import styled, { css } from 'styled-components';
  2. export const Wrapper = styled.div.attrs({ role: 'dialog' })`
  3. display: flex;
  4. align-items: center;
  5. flex-direction: column;
  6. justify-content: center;
  7. overflow: hidden;
  8. position: fixed;
  9. z-index: 40;
  10. bottom: 0;
  11. left: 0;
  12. right: 0;
  13. top: 0;
  14. `;
  15. export const Overlay = styled.div(
  16. ({ theme: { modal } }) => css`
  17. background-color: ${modal.overlay};
  18. bottom: 0;
  19. left: 0;
  20. position: absolute;
  21. right: 0;
  22. top: 0;
  23. `
  24. );
  25. export const Modal = styled.div(
  26. ({ theme: { modal, confirmModal } }) => css`
  27. position: absolute;
  28. display: flex;
  29. flex-direction: column;
  30. width: 560px;
  31. border-radius: 8px;
  32. background-color: ${confirmModal.backgroundColor};
  33. filter: drop-shadow(0px 4px 16px ${modal.shadow});
  34. `
  35. );
  36. export const Header = styled.div`
  37. font-size: 20px;
  38. text-align: start;
  39. padding: 16px;
  40. width: 100%;
  41. color: ${({ theme }) => theme.modal.color};
  42. `;
  43. export const Content = styled.div(
  44. ({ theme: { modal } }) => css`
  45. padding: 16px;
  46. width: 100%;
  47. border-top: 1px solid ${modal.border.top};
  48. border-bottom: 1px solid ${modal.border.bottom};
  49. color: ${modal.contentColor};
  50. `
  51. );
  52. export const Footer = styled.div`
  53. height: 64px;
  54. display: flex;
  55. justify-content: flex-end;
  56. gap: 10px;
  57. padding: 16px;
  58. width: 100%;
  59. `;