diff --git a/src/Funnel1.vue b/src/Funnel1.vue index dfba4d469..0998aa9d8 100644 --- a/src/Funnel1.vue +++ b/src/Funnel1.vue @@ -1,43 +1,85 @@ diff --git a/src/assets/img/icons/button-spinner.svg b/src/assets/img/icons/button-spinner.svg new file mode 100644 index 000000000..0cc8b58cc --- /dev/null +++ b/src/assets/img/icons/button-spinner.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/scss/_CustomVariables.scss b/src/assets/scss/_CustomVariables.scss index 005dbddff..85c3bcb8f 100644 --- a/src/assets/scss/_CustomVariables.scss +++ b/src/assets/scss/_CustomVariables.scss @@ -24,6 +24,7 @@ $grays: ( $blue-200: #E7F1F6; $blue-300: #B9D7E6; $blue-400: #125B7E; +$blue-700: #06577C; $blue: #167CAC;//Default Blue (Blue 500) $indigo: #6610f2; $purple: #6f42c1; @@ -95,3 +96,9 @@ $font-family-code: $font-family-monospace; //Gutters $grid-gutter-width: .75rem; + +//Border Radius +$border-radius: .25rem; +$border-radius-sm: .2rem; +$border-radius-lg: .5rem;//Used for buttons. Can be used for other things, of course. +$border-radius-pill: 50rem; diff --git a/src/assets/scss/components/_buttons.scss b/src/assets/scss/components/_buttons.scss index a6238f36b..0d0608dd7 100644 --- a/src/assets/scss/components/_buttons.scss +++ b/src/assets/scss/components/_buttons.scss @@ -1,15 +1,50 @@ //Custom button styles .btn { - &.btn-secondary { + &.btn-primary, + &.btn-primary-focus { + position: relative; + background: $blue-700; + background: linear-gradient(270deg, rgba(21,116,161,1) 0%, rgba(18,91,126,1) 100%); + border: none; + border-radius: $border-radius-lg; + height: 48px; + color: $white; + transition: all 150ms linear; + &:hover { + background: linear-gradient(270deg, rgba(6,87,124,1) 0%, rgba(6,87,124,1) 100%); + } + &.button-loader { + padding: 0 40px 0 12px; + &:after { + content: url(../../assets/img/icons/button-spinner.svg); + position: absolute; + right: 14px; + width: 16px; + height: 16px; + margin-left: 12px; + animation: rotation 1s infinite linear; + @keyframes rotation { + 100% { + transform:rotate(360deg); + } + } + } + } + } + &.disabled { + background: $gray-100; + background: linear-gradient(270deg, $gray-100 0%, $gray-100 100%); + color: $gray-400; + } + &.btn-primary-focus { position: relative;//Required for :after pseduo to position correctly margin: 5px;//Because :after is position absolute and isn't accounted for in DOM - border-radius: 8px;//To match Figma border radius - &:after { + &:before { content: ""; position: absolute; width: calc(100% + 12px); height: calc(100% + 12px); - border: 3px solid $secondary; + border: 3px solid $blue-700; background-color: $white; border-radius: 12px; left: -6px; diff --git a/src/components/buttons/buttonDisabled.vue b/src/components/buttons/buttonDisabled.vue new file mode 100644 index 000000000..72a4ef80b --- /dev/null +++ b/src/components/buttons/buttonDisabled.vue @@ -0,0 +1,10 @@ + + + diff --git a/src/components/buttons/buttonPrimary.vue b/src/components/buttons/buttonPrimary.vue index 97bdcdf2d..abc24e291 100644 --- a/src/components/buttons/buttonPrimary.vue +++ b/src/components/buttons/buttonPrimary.vue @@ -1,3 +1,30 @@ + + diff --git a/src/components/buttons/buttonPrimaryFocus.vue b/src/components/buttons/buttonPrimaryFocus.vue new file mode 100644 index 000000000..922587323 --- /dev/null +++ b/src/components/buttons/buttonPrimaryFocus.vue @@ -0,0 +1,10 @@ + + +