Merge pull request #904 from Safelite/defect/digital/SSR-1924
SSR-1924 Fix custom client loader color
This commit is contained in:
commit
3ecacd5b13
7 changed files with 24 additions and 78 deletions
|
|
@ -18,7 +18,6 @@
|
||||||
ref="buttonMain"
|
ref="buttonMain"
|
||||||
isPrimary
|
isPrimary
|
||||||
:buttonText="buttonText"
|
:buttonText="buttonText"
|
||||||
loaderColor="white"
|
|
||||||
:class="
|
:class="
|
||||||
(disableForwardAction || isForwardActionDisabled) &&
|
(disableForwardAction || isForwardActionDisabled) &&
|
||||||
'form-test-invalid'
|
'form-test-invalid'
|
||||||
|
|
|
||||||
|
|
@ -184,7 +184,6 @@ describe('tpa-submit', () => {
|
||||||
// Assert
|
// Assert
|
||||||
expect(mainButton.exists()).toBeTruthy();
|
expect(mainButton.exists()).toBeTruthy();
|
||||||
expect(mainButton.props().isPrimary).toBe(true);
|
expect(mainButton.props().isPrimary).toBe(true);
|
||||||
expect(mainButton.props().loaderColor).toBe('white');
|
|
||||||
expect(mainButton.classes()).toContain('w-100');
|
expect(mainButton.classes()).toContain('w-100');
|
||||||
expect(mainButton.classes()).toContain('mb-5');
|
expect(mainButton.classes()).toContain('mb-5');
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,9 @@
|
||||||
$button-text-color: #181643;
|
$button-text-color: #181643;
|
||||||
$svg-fill-color: '%2309748b'; // Color of calendar icon. Place HEX code *after* %23
|
$svg-fill-color: '%2309748b'; // Color of calendar icon. Place HEX code *after* %23
|
||||||
|
|
||||||
|
//Variables
|
||||||
|
--iss-loader-color: #{$button-text-color};
|
||||||
|
|
||||||
.site-header {
|
.site-header {
|
||||||
background-color: $header-background;
|
background-color: $header-background;
|
||||||
}
|
}
|
||||||
|
|
@ -47,12 +50,6 @@
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.loader {
|
|
||||||
&:after {
|
|
||||||
background-color: $button-text-color;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
&.modal-open {
|
&.modal-open {
|
||||||
|
|
@ -100,6 +97,9 @@
|
||||||
$button-text-color: #fff;
|
$button-text-color: #fff;
|
||||||
$svg-fill-color: '%231574a1'; // Color of calendar icon. Place HEX code *after* %23
|
$svg-fill-color: '%231574a1'; // Color of calendar icon. Place HEX code *after* %23
|
||||||
|
|
||||||
|
//Variables
|
||||||
|
--iss-loader-color: #{$button-text-color};
|
||||||
|
|
||||||
.site-header {
|
.site-header {
|
||||||
background-color: $header-background;
|
background-color: $header-background;
|
||||||
}
|
}
|
||||||
|
|
@ -137,12 +137,6 @@
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.loader {
|
|
||||||
&:after {
|
|
||||||
background-color: $button-text-color;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
&.modal-open {
|
&.modal-open {
|
||||||
|
|
@ -190,6 +184,9 @@
|
||||||
$button-text-color: #fff;
|
$button-text-color: #fff;
|
||||||
$svg-fill-color: '%231c57a5'; // Color of calendar icon. Place HEX code *after* %23
|
$svg-fill-color: '%231c57a5'; // Color of calendar icon. Place HEX code *after* %23
|
||||||
|
|
||||||
|
//Variables
|
||||||
|
--iss-loader-color: #{$button-text-color};
|
||||||
|
|
||||||
.site-header {
|
.site-header {
|
||||||
background-color: $header-background;
|
background-color: $header-background;
|
||||||
}
|
}
|
||||||
|
|
@ -225,12 +222,6 @@
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.loader {
|
|
||||||
&:after {
|
|
||||||
background-color: $button-text-color;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
&.modal-open {
|
&.modal-open {
|
||||||
|
|
@ -278,6 +269,9 @@
|
||||||
$button-text-color: #fff;
|
$button-text-color: #fff;
|
||||||
$svg-fill-color: '%23007a3e'; // Color of calendar icon. Place HEX code *after* %23
|
$svg-fill-color: '%23007a3e'; // Color of calendar icon. Place HEX code *after* %23
|
||||||
|
|
||||||
|
//Variables
|
||||||
|
--iss-loader-color: #{$button-text-color};
|
||||||
|
|
||||||
.site-header {
|
.site-header {
|
||||||
background-color: $header-background;
|
background-color: $header-background;
|
||||||
}
|
}
|
||||||
|
|
@ -313,12 +307,6 @@
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.loader {
|
|
||||||
&:after {
|
|
||||||
background-color: $button-text-color;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
&.modal-open {
|
&.modal-open {
|
||||||
|
|
@ -366,6 +354,9 @@
|
||||||
$button-text-color: #fff;
|
$button-text-color: #fff;
|
||||||
$svg-fill-color: '%23007395'; // Color of calendar icon. Place HEX code *after* %23
|
$svg-fill-color: '%23007395'; // Color of calendar icon. Place HEX code *after* %23
|
||||||
|
|
||||||
|
//Variables
|
||||||
|
--iss-loader-color: #{$button-text-color};
|
||||||
|
|
||||||
.site-header {
|
.site-header {
|
||||||
background-color: $header-background;
|
background-color: $header-background;
|
||||||
}
|
}
|
||||||
|
|
@ -401,12 +392,6 @@
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.loader {
|
|
||||||
&:after {
|
|
||||||
background-color: $button-text-color;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
&.modal-open {
|
&.modal-open {
|
||||||
|
|
|
||||||
|
|
@ -124,4 +124,8 @@ body {
|
||||||
height: auto;
|
height: auto;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
:root {
|
||||||
|
--iss-loader-color: white;
|
||||||
}
|
}
|
||||||
|
|
@ -49,29 +49,6 @@ describe('buttonMain.vue', () => {
|
||||||
expect(button.attributes()['aria-disabled']).toEqual('true');
|
expect(button.attributes()['aria-disabled']).toEqual('true');
|
||||||
});
|
});
|
||||||
|
|
||||||
it('Should return loader color', async () => {
|
|
||||||
// Act
|
|
||||||
const wrapper = shallowMount(
|
|
||||||
buttonMain,
|
|
||||||
setupMocks({
|
|
||||||
propsData: {
|
|
||||||
loaderColor: 'blue',
|
|
||||||
loaderEnabled: true
|
|
||||||
}
|
|
||||||
})
|
|
||||||
);
|
|
||||||
|
|
||||||
// Assert
|
|
||||||
|
|
||||||
wrapper.vm.clicked();
|
|
||||||
|
|
||||||
await nextTick();
|
|
||||||
|
|
||||||
const loader = wrapper.find('loader-stub');
|
|
||||||
|
|
||||||
expect(loader.attributes('class')).toContain('blue');
|
|
||||||
});
|
|
||||||
|
|
||||||
it('Should return loader position', async () => {
|
it('Should return loader position', async () => {
|
||||||
// Act
|
// Act
|
||||||
const wrapper = shallowMount(
|
const wrapper = shallowMount(
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@
|
||||||
<loader
|
<loader
|
||||||
v-if="isLoaderDisplayed && !suppressLoader"
|
v-if="isLoaderDisplayed && !suppressLoader"
|
||||||
class="ms-2"
|
class="ms-2"
|
||||||
:class="[loaderColor, loaderPosition]" />
|
:class="[loaderPosition]" />
|
||||||
</button>
|
</button>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|
@ -28,7 +28,6 @@ export default {
|
||||||
isPrimary: Boolean,
|
isPrimary: Boolean,
|
||||||
buttonText: String,
|
buttonText: String,
|
||||||
isDisabled: Boolean,
|
isDisabled: Boolean,
|
||||||
loaderColor: String,
|
|
||||||
loaderPosition: String,
|
loaderPosition: String,
|
||||||
isFloat: Boolean,
|
isFloat: Boolean,
|
||||||
suppressLoader: Boolean
|
suppressLoader: Boolean
|
||||||
|
|
@ -69,8 +68,8 @@ export default {
|
||||||
@media (hover: hover) {
|
@media (hover: hover) {
|
||||||
background: linear-gradient(270deg, $blue 0%, $blue-800 100%);
|
background: linear-gradient(270deg, $blue 0%, $blue-800 100%);
|
||||||
}
|
}
|
||||||
// Mouse, touch, stylus focus
|
// Mouse, touch, stylus focus
|
||||||
&:focus-visible {
|
&:focus-visible {
|
||||||
// Keyboard focus for accessibility
|
// Keyboard focus for accessibility
|
||||||
outline: none;
|
outline: none;
|
||||||
box-shadow: 0 0 0 3px, 0 0 0 5.5px $blue-700;
|
box-shadow: 0 0 0 3px, 0 0 0 5.5px $blue-700;
|
||||||
|
|
@ -112,7 +111,7 @@ export default {
|
||||||
@include blue-gradient;
|
@include blue-gradient;
|
||||||
}
|
}
|
||||||
&:focus, // Mouse, touch, stylus focus
|
&:focus, // Mouse, touch, stylus focus
|
||||||
&:focus-visible {
|
&:focus-visible {
|
||||||
// Keyboard focus for accessibility
|
// Keyboard focus for accessibility
|
||||||
outline: none;
|
outline: none;
|
||||||
box-shadow: 0 0 0 3px $white, 0 0 0 5.5px $blue-700;
|
box-shadow: 0 0 0 3px $white, 0 0 0 5.5px $blue-700;
|
||||||
|
|
|
||||||
|
|
@ -21,10 +21,6 @@ export default {
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
default: false
|
default: false
|
||||||
},
|
},
|
||||||
/* Color options: red, green, blue, white, black */
|
|
||||||
loaderColor: {
|
|
||||||
type: String
|
|
||||||
},
|
|
||||||
/* Position options: center, right, left (OPTIONAL, do NOT use on btn-* classes) */
|
/* Position options: center, right, left (OPTIONAL, do NOT use on btn-* classes) */
|
||||||
loaderPosition: {
|
loaderPosition: {
|
||||||
type: String
|
type: String
|
||||||
|
|
@ -112,20 +108,7 @@ export default {
|
||||||
}
|
}
|
||||||
//Spinner color
|
//Spinner color
|
||||||
&:after {
|
&:after {
|
||||||
//Default spinner color (blue) if no other color is specified from the options below
|
background-color: var(--iss-loader-color);
|
||||||
background-color: $blue;
|
|
||||||
}
|
|
||||||
&.red:after {
|
|
||||||
background-color: $red;
|
|
||||||
}
|
|
||||||
&.green:after {
|
|
||||||
background-color: $green;
|
|
||||||
}
|
|
||||||
&.white:after {
|
|
||||||
background-color: $white;
|
|
||||||
}
|
|
||||||
&.black:after {
|
|
||||||
background-color: $black;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue