Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
Size: Mime:
import { styled } from 'view-container'
import {
  TextPlaceholder,
  RectanglePlaceholder,
  SquarePlaceholder,
} from 'atoms/Placeholder'

const BorderLine = styled.css`
  content: '';
  position: absolute;
  width: 70%;
  height: rem(1);
  background: #a6afc1;
  bottom: 0;
  left: 0;

  @phone-or-smaller() {
    width: 100%;
  }
`

const Button = styled.div`
  grid-area: buttons;
  position: relative;
  display: flex;
  flex-direction: row;

  @media (max-width: 767px) {
    flex-direction: column;
  }
`

const Quantity = styled.div`
  grid-area: quantity;
  position: relative;
  padding-bottom: rem(32);
  align-self: flex-start;

  @phone-or-smaller() {
    padding-bottom: 0;
  }
`

const Rating = styled.div`
  grid-area: rating;
  position: relative;
  padding-bottom: rem(24);
  align-self: flex-start;

  &:after {
    ${BorderLine};
  }

  @phone-or-smaller() {
    margin-bottom: rem(24);
  }
`

const Description = styled.div.attrs({
  'data-qa': 'qa-product-details'
}) `
  grid-area: description;
  position: relative;
  padding-bottom: rem(24);
  align-self: flex-start;

  &:after {
    ${BorderLine};
  }

  @phone-or-smaller() {
    margin-bottom: rem(24);
    margin-top: 1rem;
  }
`

const ProductOptions = styled.div`
  grid-area: facetitems;
  position: relative;
`

const ProductSection = styled.div`
  grid-area: productitem;
`

const ProductItemContainer = styled.div`
  display: grid;
  grid-column-gap: rem(60);
  grid-template-columns: 298px 1fr 1fr;
  grid-template-areas:
    'productitem facetitems description'
    'productitem facetitems rating'
    'productitem facetitems quantity'
    'productitem facetitems buttons';

  @tablet-or-smaller() {
    grid-template-columns: 230px 1fr;
    grid-template-areas:
      'productitem facetitems'
      'productitem description'
      'productitem rating'
      'productitem quantity'
      'productitem buttons';
  }

  @phone-or-smaller() {
    grid-template-columns: repeat(1, 1fr);
    grid-template-areas:
      'productitem'
      'description'
      'facetitems'
      'rating'
      'quantity'
      'buttons';
  }
`

const ProductItemWrapper = styled.section`
  width: 100%;
  border-top: 1px solid #a6afc1;
  padding: rem(35) 0 rem(30) 0;
  position: relative;

  &:after {
    content: '';
    position: absolute;
    width: 100%;
    height: 1px;
    background-color: #a6afc1;
    bottom: 0;
  }

  @tablet-or-smaller() {
    padding: rem(28) 0;
  }
`

const StyledTextPlaceholder = styled.withComponent(TextPlaceholder) `
  display: block;
  margin-bottom: rem(8);
`

const ProductDetailsPlaceholder = styled.withComponent(TextPlaceholder) `
  display: block;
  margin-bottom: rem(8);
`

const StyledRectanglePlaceholder = styled.withComponent(TextPlaceholder) `
  margin-bottom: rem(8);
`
const ProductOptionsWrapper = styled.div`
  padding: rem(16) 0;
  position: relative;

  &:first-child {
    padding-top: 0;
  }
  &:after {
    ${BorderLine};
  }

  @tablet-or-larger() {
    &:last-child:after {
      content: '';
      display: none;
    }
  }
`
const StyledColorPlaceholder = styled.withComponent(SquarePlaceholder) `
  margin-right: rem(16);
`
export {
  ProductItemContainer,
  ProductItemWrapper,
  ProductSection,
  ProductOptions,
  Description,
  Button,
  Quantity,
  StyledTextPlaceholder,
  ProductDetailsPlaceholder,
  StyledRectanglePlaceholder,
  StyledColorPlaceholder,
  ProductOptionsWrapper,
  Rating,
}