import styled, {css} from 'styled-components';
import {
  white,
  black,
  gray70,
  gray80,
  gray95,
  borderRadius,
  actionColor,
  spacing,
  extraSmallDevices,
  lineHeight,
} from '@propellerads/stylevariables';

const StyledDatePickerControls = styled.div`
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    height: ${lineHeight}px;
    border-radius: ${borderRadius}px;
    border: solid 1px ${gray80};
    background-color: ${({isDisabled}) => (isDisabled ? gray95 : white)};

    ${(props) => props.isExpanded && css`
      border: solid 1px ${actionColor};
    `}
`;

const DatePickerControlsButton = styled.div`
    display: none;
    color: ${({isDisabled}) => (isDisabled ? gray70 : black)};
    pointer-events: ${({isDisabled}) => (isDisabled ? 'none' : 'auto')};

    @media (min-width: ${extraSmallDevices}px) {
        display: block;
        width: 90px;
        margin-left: ${spacing * 3}px;
        margin-right: ${spacing * 3}px;
        overflow: hidden;
        text-overflow: ellipsis;
        text-align: left;
    }

    ${(props) => props.withIcon && css`
        display: none;

        @media (min-width: ${extraSmallDevices}px) {
            display: block;
            width: 16px;
            margin-left: ${spacing * 3}px;
            margin-right: ${spacing * 3}px;
        }
    `}
`;

const DatePickerControlsFields = styled.div`
    color: ${gray80};
    padding: 0 ${spacing * 3}px;

    @media (min-width: ${extraSmallDevices}px) {
      padding-left: 0;
    }
`;

const DatePickerControlsFast = styled.div`
    display: none;

    @media (min-width: ${extraSmallDevices}px) {
        display: flex;
        align-items: center;
        padding-right: ${spacing * 2}px;

        &:before {
            content: '';
            width: 1px;
            height: 16px;
            background: ${gray80};
            margin-right: ${spacing * 2}px;
        }
    }
`;

export {
  StyledDatePickerControls,
  DatePickerControlsButton,
  DatePickerControlsFields,
  DatePickerControlsFast,
};
