{"version":3,"sources":["styles.js"],"names":["buttonLoadingAnimation","keyframes","generateButtonColor","color","Colors","generateDisabledButton","props","secondary","success","danger","loading","styled","button","xs","sm","md","lg","full","primary","disabled"],"mappings":";;;;;;;;;AAAA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAMA,sBAAsB,OAAGC,2BAAH,oBAA5B;;AAKA,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAsB,CAAAC,KAAK;AAAA,2CACTC,6BAAUD,KAAV,WADS,sCAETC,6BAAUD,KAAV,UAFS,0DAKLC,6BAAUD,KAAV,UALK,0CAMLC,6BAAUD,KAAV,UANK,kEAULC,6BAAUD,KAAV,UAVK,0CAWLC,6BAAUD,KAAV,UAXK,+BAYhBC,6BAAUD,KAAV,UAZgB;AAAA,CAAjC;;AAeA,IAAME,sBAAsB,GAAG,SAAzBA,sBAAyB,CAAAC,KAAK,EAAI;AACpC,MAAIH,KAAK,GAAE,MAAX;;AAEA,UAAS,IAAT;AACI,SAAKG,KAAK,CAACC,SAAX;AACIJ,MAAAA,KAAK,GAAE,QAAP;AACA;;AACJ,SAAKG,KAAK,CAACE,OAAX;AACIL,MAAAA,KAAK,GAAE,OAAP;AACA;;AACJ,SAAKG,KAAK,CAACG,MAAX;AACIN,MAAAA,KAAK,GAAE,KAAP;AACA;;AACJ;AACIA,MAAAA,KAAK,GAAE,MAAP;AAXR;;AAcA,2CACoBC,6BAAUD,KAAV,SADpB,sCAEoBC,6BAAUD,KAAV,SAFpB,2BAGSC,6BAAUD,KAAV,UAHT,0DAMwBC,6BAAUD,KAAV,SANxB,0CAOwBC,6BAAUD,KAAV,SAPxB,gCAQcG,KAAK,CAACI,OAAN,GAAgB,MAAhB,GAAyB,aARvC;AAWH,CA5BD;;eA8BeC,6BAAOC,M,qBAOhB;AAAA,MAAGC,EAAH,QAAGA,EAAH;AAAA,SAAYA,EAAE,mCAAd;AAAA,C,EAIA;AAAA,MAAGC,EAAH,SAAGA,EAAH;AAAA,SAAYA,EAAE,mCAAd;AAAA,C,EAIA;AAAA,MAAGC,EAAH,SAAGA,EAAH;AAAA,SAAYA,EAAE,mCAAd;AAAA,C,EAIA;AAAA,MAAGC,EAAH,SAAGA,EAAH;AAAA,SAAYA,EAAE,oCAAd;AAAA,C,EAIA;AAAA,MAAGC,IAAH,SAAGA,IAAH;AAAA,SAAcA,IAAI,kCAAlB;AAAA,C,EAesBb,mBAAO,eAAP,C,EACAA,mBAAO,UAAP,C,EACPJ,sB,EACX;AAAA,MAAGU,OAAH,SAAGA,OAAH;AAAA,SAAiBA,OAAO,iDAAxB;AAAA,C,EAKF;AAAA,MAAGQ,OAAH,SAAGA,OAAH;AAAA,SAAiBA,OAAO,wBACtBhB,mBAAmB,CAAC,MAAD,CADG,aAAxB;AAAA,C,EAIA;AAAA,MAAGO,MAAH,SAAGA,MAAH;AAAA,SAAgBA,MAAM,wBACpBP,mBAAmB,CAAC,KAAD,CADC,aAAtB;AAAA,C,EAIA;AAAA,MAAGM,OAAH,SAAGA,OAAH;AAAA,SAAiBA,OAAO,wBACtBN,mBAAmB,CAAC,OAAD,CADG,aAAxB;AAAA,C,EAIA;AAAA,MAAGK,SAAH,UAAGA,SAAH;AAAA,SAAmBA,SAAS,wBAC1BL,mBAAmB,CAAC,QAAD,CADO,aAA5B;AAAA,C,EAGA,UAAAI,KAAK;AAAA,SAAKA,KAAK,CAACa,QAAN,wBACRd,sBAAsB,CAACC,KAAD,CADd,aAAL;AAAA,C","sourcesContent":["import styled, { keyframes } from 'styled-components'\nimport Colors from '../Colors'\n\nconst buttonLoadingAnimation = keyframes`\n    to {\n        transform: rotate(360deg)\n    }\n`\nconst generateButtonColor = color => `\n    background-color: ${Colors[`${color}-A700`]};\n    border: solid 1px ${Colors[`${color}-800`]};\n\n    :hover {\n        background-color: ${Colors[`${color}-500`]};\n        border: solid 1px ${Colors[`${color}-500`]};\n    }\n\n    :active {\n        background-color: ${Colors[`${color}-500`]};\n        border: solid 1px ${Colors[`${color}-500`]};\n        color: ${Colors[`${color}-800`]}\n    }\n`\nconst generateDisabledButton = props => {\n    let color= 'Blue'\n\n    switch ( true ) {\n        case props.secondary:\n            color= 'Orange'\n            break\n        case props.success:\n            color= 'Green'\n            break\n        case props.danger:\n            color= 'Red'\n            break\n        default:\n            color= 'Blue'\n    }\n\n    return (`\n    background-color: ${Colors[`${color}-50`]};\n    border: 1px solid ${Colors[`${color}-50`]};\n    color: ${Colors[`${color}-200`]};\n\n    :hover {\n        background-color: ${Colors[`${color}-50`]};\n        border: 1px solid ${Colors[`${color}-50`]};\n        cursor: ${props.loading ? 'wait' : 'not-allowed'};\n    }\n`)\n}\n\nexport default styled.button`\n    padding: 12px;\n    border-radius: 3px;\n    font-size: 14px;\n    cursor: pointer;\n    position: relative;\n\n    ${({ xs }) => xs && `\n        padding: 4px;\n    `}\n\n    ${({ sm }) => sm && `\n        padding: 6px;\n    `}\n\n    ${({ md }) => md && `\n        padding: 8px;\n    `}\n\n    ${({ lg }) => lg && `\n        padding: 10px;\n    `}\n\n    ${({ full }) => full && `\n        width: 100%;\n    `}\n\n    :before {\n        content: '';\n        box-sizing: border-box;\n        position: absolute;\n        top: 50%;\n        left: 50%;\n        width: 20px;\n        height: 20px;\n        margin-top: -10px;\n        margin-left: -10000px;\n        border-radius: 50%;\n        border: 1px solid ${Colors['Blue-Grey-200']};\n        border-top-color: ${Colors['Blue-500']};\n        animation: ${buttonLoadingAnimation} .6s linear infinite;\n        ${({ loading }) => loading && `\n            margin-left: -10px;\n        `}\n      }\n\n      ${({ primary }) => primary && `\n        ${generateButtonColor('Blue')}\n      `}\n\n      ${({ danger }) => danger && `\n        ${generateButtonColor('Red')}\n      `}\n\n      ${({ success }) => success && `\n        ${generateButtonColor('Green')}\n      `}\n\n      ${({ secondary }) => secondary && `\n        ${generateButtonColor('Orange')}\n      `}\n      ${props  => props.disabled && `\n        ${generateDisabledButton(props)}\n      `}\n\n\n`\n"]}