Advertisement
the0938

Untitled

Feb 3rd, 2021
841
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. const largeMaxWidth = (props) => {
  2.   switch (props.size) {
  3.     case 'large': {
  4.       return `${props.theme.container.size.large}px`;
  5.     }
  6.     case 'medium': {
  7.       return `${props.theme.container.size.medium}px`;
  8.     }
  9.     case 'small': {
  10.       return `${props.theme.container.size.small}px`;
  11.     }
  12.     case 'full': {
  13.       return '100%';
  14.     }
  15.     default: {
  16.       throw new Error(`Unexpected container size ${props.size}`);
  17.     }
  18.   }
  19. };
  20.  
  21. const mediumMaxWidth = (props) => {
  22.   switch (props.size) {
  23.     case 'medium':
  24.     case 'large': {
  25.       return `${props.theme.container.size.medium}px`;
  26.     }
  27.     case 'small': {
  28.       return `${props.theme.container.size.small}px`;
  29.     }
  30.     case 'full': {
  31.       return '100%';
  32.     }
  33.     default: {
  34.       throw new Error(`Unexpected container size ${props.size}`);
  35.     }
  36.   }
  37. };
  38.  
  39. const smallMaxWidth = (props) => {
  40.   switch (props.size) {
  41.     case 'medium':
  42.     case 'large':
  43.     case 'small': {
  44.       return `${props.theme.container.size.small}px`;
  45.     }
  46.     case 'full': {
  47.       return '100%';
  48.     }
  49.     default: {
  50.       throw new Error(`Unexpected container size ${props.size}`);
  51.     }
  52.   }
  53. }
  54.  
  55. const WithContainerStyle = styled(Wrapper)`
  56.     margin-right: auto;
  57.     margin-left: auto;
  58.  
  59.     padding-right: ${offset}px;
  60.     padding-left: ${offset}px;
  61.  
  62.     max-width: ${largeMaxWidth};
  63.     width: 100%;
  64.  
  65.     @media ${lessThanContainer('large')} {
  66.       max-width: ${mediumMaxWidth};
  67.     }
  68.  
  69.     @media ${lessThanContainer('medium')} {
  70.       max-width: ${smallMaxWidth};
  71.     }
  72.  
  73.     @media ${lessThanContainer('small')} {
  74.       max-width: 100%;
  75.     }
  76.   `;
  77.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement