Merge branch 'develop' into feature/dynamic-routing

This commit is contained in:
Frank 2021-11-01 16:40:13 -04:00
commit e3234d063d
9 changed files with 84 additions and 84 deletions

11
package-lock.json generated
View file

@ -2724,7 +2724,6 @@
"thread-loader": "^2.1.3", "thread-loader": "^2.1.3",
"url-loader": "^2.2.0", "url-loader": "^2.2.0",
"vue-loader": "^15.9.2", "vue-loader": "^15.9.2",
"vue-loader-v16": "npm:vue-loader@^16.1.0",
"vue-style-loader": "^4.1.2", "vue-style-loader": "^4.1.2",
"webpack": "^4.0.0", "webpack": "^4.0.0",
"webpack-bundle-analyzer": "^3.8.0", "webpack-bundle-analyzer": "^3.8.0",
@ -3026,7 +3025,6 @@
"merge-source-map": "^1.1.0", "merge-source-map": "^1.1.0",
"postcss": "^7.0.36", "postcss": "^7.0.36",
"postcss-selector-parser": "^6.0.2", "postcss-selector-parser": "^6.0.2",
"prettier": "^1.18.2",
"source-map": "~0.6.1", "source-map": "~0.6.1",
"vue-template-es2015-compiler": "^1.9.0" "vue-template-es2015-compiler": "^1.9.0"
}, },
@ -4985,7 +4983,6 @@
"dependencies": { "dependencies": {
"anymatch": "~3.1.2", "anymatch": "~3.1.2",
"braces": "~3.0.2", "braces": "~3.0.2",
"fsevents": "~2.3.2",
"glob-parent": "~5.1.2", "glob-parent": "~5.1.2",
"is-binary-path": "~2.1.0", "is-binary-path": "~2.1.0",
"is-glob": "~4.0.1", "is-glob": "~4.0.1",
@ -7279,8 +7276,7 @@
"esprima": "^4.0.1", "esprima": "^4.0.1",
"estraverse": "^4.2.0", "estraverse": "^4.2.0",
"esutils": "^2.0.2", "esutils": "^2.0.2",
"optionator": "^0.8.1", "optionator": "^0.8.1"
"source-map": "~0.6.1"
}, },
"bin": { "bin": {
"escodegen": "bin/escodegen.js", "escodegen": "bin/escodegen.js",
@ -10827,7 +10823,6 @@
"@jest/types": "^24.9.0", "@jest/types": "^24.9.0",
"anymatch": "^2.0.0", "anymatch": "^2.0.0",
"fb-watchman": "^2.0.0", "fb-watchman": "^2.0.0",
"fsevents": "^1.2.7",
"graceful-fs": "^4.1.15", "graceful-fs": "^4.1.15",
"invariant": "^2.2.4", "invariant": "^2.2.4",
"jest-serializer": "^24.9.0", "jest-serializer": "^24.9.0",
@ -17893,8 +17888,7 @@
"dependencies": { "dependencies": {
"chokidar": "^3.4.1", "chokidar": "^3.4.1",
"graceful-fs": "^4.1.2", "graceful-fs": "^4.1.2",
"neo-async": "^2.5.0", "neo-async": "^2.5.0"
"watchpack-chokidar2": "^2.0.1"
}, },
"optionalDependencies": { "optionalDependencies": {
"chokidar": "^3.4.1", "chokidar": "^3.4.1",
@ -18269,7 +18263,6 @@
"anymatch": "^2.0.0", "anymatch": "^2.0.0",
"async-each": "^1.0.1", "async-each": "^1.0.1",
"braces": "^2.3.2", "braces": "^2.3.2",
"fsevents": "^1.2.7",
"glob-parent": "^3.1.0", "glob-parent": "^3.1.0",
"inherits": "^2.0.3", "inherits": "^2.0.3",
"is-binary-path": "^1.0.0", "is-binary-path": "^1.0.0",

View file

@ -28,23 +28,13 @@
<div class="col my-3 d-flex align-items-center"> <div class="col my-3 d-flex align-items-center">
<buttonPrimary <buttonPrimary
buttonText="Primary" buttonText="Primary"
class="btn-primary"
/> />
</div> </div>
</div> </div>
<div class="row"> <div class="row">
<div class="col my-3 d-flex align-items-center"> <div class="col my-3 d-flex align-items-center">
<buttonPrimary <listButton
buttonText="Primary Focus" buttonText="List Button"
class="btn-primary-focus"
/>
</div>
</div>
<div class="row">
<div class="col my-3 d-flex align-items-center">
<buttonPrimary
buttonText="Disabled"
class="disabled"
/> />
</div> </div>
</div> </div>
@ -59,11 +49,13 @@
<script> <script>
import buttonPrimary from "@/uxComponents/buttonPrimary/buttonPrimary"; import buttonPrimary from "@/uxComponents/buttonPrimary/buttonPrimary";
import radioCard from "@/uxComponents/radioCard/radioCard"; import radioCard from "@/uxComponents/radioCard/radioCard";
import listButton from "@/uxComponents/listButton/listButton";
export default { export default {
name: "App", name: "App",
components: { components: {
buttonPrimary, buttonPrimary,
radioCard, radioCard,
listButton
}, },
}; };
</script> </script>

View file

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" xml:space="preserve">
<path d="M2.1 16C2.1 8.3 8.3 2.1 16 2.1c3.8 0 7.2 1.5 9.7 4l1.4-1.4C24.3 1.9 20.3.1 16 .1 7.2.1.1 7.3.1 16.1l2-.1c0 .1 0 0 0 0z" fill="#73e5b9"/>
</svg>

After

Width:  |  Height:  |  Size: 237 B

View file

Before

Width:  |  Height:  |  Size: 234 B

After

Width:  |  Height:  |  Size: 234 B

View file

@ -1,7 +1,6 @@
//Custom button styles //Custom button styles
.btn { .btn {
&.btn-primary, &.btn-primary {
&.btn-primary-focus {
position: relative; position: relative;
background: $blue-700; background: $blue-700;
background: linear-gradient(270deg, rgba(21,116,161,1) 0%, rgba(18,91,126,1) 100%); background: linear-gradient(270deg, rgba(21,116,161,1) 0%, rgba(18,91,126,1) 100%);
@ -13,10 +12,15 @@
&:hover { &:hover {
background: linear-gradient(270deg, rgba(6,87,124,1) 0%, rgba(6,87,124,1) 100%); background: linear-gradient(270deg, rgba(6,87,124,1) 0%, rgba(6,87,124,1) 100%);
} }
&:focus, // Mouse, touch, stylus focus
&:focus-visible { // Keyboard focus for accessibility
outline: none;
box-shadow: 0 0 0 3px, 0 0 0 5.5px $blue-700;
}
&.button-loader { &.button-loader {
padding: 0 40px 0 12px; padding: 0 40px 0 12px;
&:after { &:after {
content: url(../../assets/img/icons/button-spinner.svg); content: url(../../assets/img/icons/button-spinner-white.svg);
position: absolute; position: absolute;
right: 14px; right: 14px;
width: 16px; width: 16px;
@ -31,62 +35,38 @@
} }
} }
} }
&.disabled { &:disabled {
background: $gray-100; background: $gray-100 !important;
background: linear-gradient(270deg, $gray-100 0%, $gray-100 100%); background: linear-gradient(270deg, $gray-100 0%, $gray-100 100%) !important;
color: $gray-400; color: $gray-400 !important;
height: 48px;
border: none;
border-radius: $border-radius-lg;
} }
&.btn-primary-focus { &.list-button {
position: relative;//Required for :after pseduo to position correctly position: relative;
margin: 5px;//Because :after is position absolute and isn't accounted for in DOM background: $white;
&:before { height: 48px;
content: ""; transition: all 150ms linear;
position: absolute; border-radius: $border-radius-lg;
width: calc(100% + 12px); border: 1px solid rgba($gray-300,.3);
height: calc(100% + 12px); width: 100%;
border: 3px solid $blue-700; &.button-loader {
background-color: $white; padding: 0 40px 0 12px;
border-radius: 12px; &:after {
left: -6px; content: url(../../assets/img/icons/button-spinner-green.svg);
top: -6px; position: absolute;
z-index: -1; right: 14px;
width: 16px;
height: 16px;
margin-left: 12px;
animation: rotation 1s infinite linear;
@keyframes rotation {
100% {
transform:rotate(360deg);
}
}
}
} }
} }
&.btn-funnel {
display: flex;
justify-content: space-between;
}
} }
// Non-Bootstrap button
// Intended to be used without .btn class
.btn-damage {
width: 100%;
background-color: $white;
border: 1px solid #b3b4b5;
&:focus {
background-color: #e7f1f6;
border: 1px solid $blue;
}
&:focus-visible { // For keyboard/screenreader
background-color: #e7f1f6;
outline: none;
box-shadow: 0 0 0 2px $blue;
}
}
// Non-Bootstrap button
// Intended to be used without .btn class
.btn-damage {
width: 100%;
background-color: $white;
border: 1px solid #b3b4b5;
&:focus {
background-color: #e7f1f6;
border: 1px solid $blue;
}
&:focus-visible { // For keyboard/screenreader
background-color: #e7f1f6;
outline: none;
box-shadow: 0 0 0 2px $blue;
}
}

View file

@ -1,6 +1,8 @@
<template> <template>
<button <button
class="btn d-flex align-items-center" :disabled="isDisabled"
:aria-disabled="isDisabled"
class="btn btn-primary d-flex align-items-center"
v-on:click="showLoader()" v-on:click="showLoader()"
v-bind:class="[this.isLoading ? 'button-loader' : 'not-loading']" v-bind:class="[this.isLoading ? 'button-loader' : 'not-loading']"
> >
@ -17,6 +19,7 @@ export default {
data() { data() {
return { return {
isLoading: false, isLoading: false,
isDisabled: false,
}; };
}, },
methods: { methods: {

View file

@ -0,0 +1 @@
test.todo('some test to be written in the future');

View file

@ -0,0 +1,28 @@
<template>
<button
class="btn list-button d-flex align-items-center"
v-on:click="showLoader()"
v-bind:class="[this.isLoading ? 'button-loader' : 'not-loading']"
>
{{ this.buttonText }}
</button>
</template>
<script>
export default {
name: "listButton",
props: {
buttonText: String
},
data() {
return {
isLoading: false,
};
},
methods: {
showLoader() {
this.isLoading = true;
},
},
};
</script>

View file

@ -3,12 +3,12 @@
<input <input
type="radio" type="radio"
class="position-absolute opacity-0" class="position-absolute opacity-0"
v-bind:class="className" :class="className"
v-bind:id="radioID" :id="radioID"
v-bind:name="groupName" :name="groupName"
:value="radioLabel" :value="radioLabel"
v-model="picked" v-model="picked"
v-bind:tabindex="tabIndex" :tabindex="tabIndex"
/> />
<label <label
v-bind:for="radioID" v-bind:for="radioID"