src/frontend/components/CartDropdown/CartDropdown.styled.ts (83 lines of code) (raw):

// Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 import Image from 'next/image'; import styled from 'styled-components'; import Button from '../Button'; export const CartDropdown = styled.div` position: fixed; top: 0; right: 0; width: 100%; height: 100%; max-height: 100%; padding: 25px; display: flex; flex-direction: column; justify-content: space-between; gap: 24px; background: ${({ theme }) => theme.colors.white}; z-index: 1000; border-radius: 5px; box-shadow: 0 2px 2px 0 rgb(0 0 0 / 14%), 0 3px 1px -2px rgb(0 0 0 / 12%), 0 1px 5px 0 rgb(0 0 0 / 20%); ${({ theme }) => theme.breakpoints.desktop} { position: absolute; width: 400px; top: 95px; right: 17px; max-height: 650px; } `; export const Title = styled.h5` margin: 0px; font-size: ${({ theme }) => theme.sizes.mxLarge}; ${({ theme }) => theme.breakpoints.desktop} { font-size: ${({ theme }) => theme.sizes.dLarge}; } `; export const ItemList = styled.div` ${({ theme }) => theme.breakpoints.desktop} { max-height: 450px; overflow-y: scroll; } `; export const Item = styled.div` display: grid; grid-template-columns: 29% 59%; gap: 2%; padding: 25px 0; border-bottom: 1px solid ${({ theme }) => theme.colors.textLightGray}; `; export const ItemImage = styled(Image).attrs({ width: '80', height: '80', })` border-radius: 5px; `; export const ItemName = styled.p` margin: 0px; font-size: ${({ theme }) => theme.sizes.mLarge}; font-weight: ${({ theme }) => theme.fonts.regular}; `; export const ItemDetails = styled.div` display: flex; flex-direction: column; gap: 5px; `; export const ItemQuantity = styled(ItemName)` font-size: ${({ theme }) => theme.sizes.mMedium}; `; export const CartButton = styled(Button)``; export const Header = styled.div` display: flex; justify-content: space-between; align-items: center; ${({ theme }) => theme.breakpoints.desktop} { span { display: none; } } `; export const EmptyCart = styled.h3` margin: 0; margin-top: 25px; font-size: ${({ theme }) => theme.sizes.mLarge}; color: ${({ theme }) => theme.colors.textLightGray}; `;