Merge branch 'develop' into feature/fix_selection_logic
This commit is contained in:
commit
e2f0e1eb15
9 changed files with 308 additions and 182 deletions
|
|
@ -97,6 +97,10 @@ export default {
|
||||||
.btn-primary {
|
.btn-primary {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
a {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
@media only screen and (min-width: 340px) {
|
@media only screen and (min-width: 340px) {
|
||||||
.button-col,
|
.button-col,
|
||||||
.link-col {
|
.link-col {
|
||||||
|
|
@ -105,6 +109,10 @@ export default {
|
||||||
.btn-primary {
|
.btn-primary {
|
||||||
width: auto;
|
width: auto;
|
||||||
}
|
}
|
||||||
|
a {
|
||||||
|
display: flex;
|
||||||
|
justify-content: start;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,14 @@
|
||||||
tabIndex="1"
|
tabIndex="1"
|
||||||
checkboxLabel="I'm a checkbox"
|
checkboxLabel="I'm a checkbox"
|
||||||
/>
|
/>
|
||||||
|
<p class="my-3">With Error:</p>
|
||||||
|
<checkbox
|
||||||
|
checkboxName="demo checkbox"
|
||||||
|
buttonID="checkbox-2"
|
||||||
|
tabIndex="1"
|
||||||
|
checkboxLabel="Error!"
|
||||||
|
hasError
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row my-4">
|
<div class="row my-4">
|
||||||
|
|
@ -28,22 +36,32 @@
|
||||||
buttonID="radio-button-a"
|
buttonID="radio-button-a"
|
||||||
isRequired
|
isRequired
|
||||||
value="I'm a radio button!"
|
value="I'm a radio button!"
|
||||||
modelValue="Model Value 1"
|
|
||||||
screenReaderOnlyText="Model Value 1"
|
screenReaderOnlyText="Model Value 1"
|
||||||
/>
|
/>
|
||||||
</div>
|
|
||||||
<div class="col">
|
|
||||||
<radio
|
<radio
|
||||||
groupName="radio-demo-2"
|
groupName="radio-demo-2"
|
||||||
buttonLabel="I'm also a radio button!"
|
buttonLabel="I'm also a radio button!"
|
||||||
buttonID="radio-button-b"
|
buttonID="radio-button-b"
|
||||||
isRequired
|
isRequired
|
||||||
value="I'm also a radio button!"
|
value="I'm also a radio button!"
|
||||||
modelValue="Model Value 2"
|
|
||||||
screenReaderOnlyText="Model Value 2"
|
screenReaderOnlyText="Model Value 2"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col">
|
||||||
|
<p class="my-3">With Error:</p>
|
||||||
|
<radio
|
||||||
|
groupName="radio-demo-3"
|
||||||
|
buttonLabel="Error!"
|
||||||
|
buttonID="radio-button-c"
|
||||||
|
isRequired
|
||||||
|
value="Error!"
|
||||||
|
screenReaderOnlyText="Model Value 1"
|
||||||
|
hasError
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="row my-4">
|
<div class="row my-4">
|
||||||
<div class="col">
|
<div class="col">
|
||||||
<h4 class="m-0 p-2 bg-light rounded">Buttons</h4>
|
<h4 class="m-0 p-2 bg-light rounded">Buttons</h4>
|
||||||
|
|
@ -61,12 +79,39 @@
|
||||||
</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">
|
||||||
<buttonMain buttonText="Secondary" loaderColor="white" sizeInRem="1" />
|
<buttonMain
|
||||||
|
isPrimary
|
||||||
|
buttonText="Primary Disabled"
|
||||||
|
loaderColor="white"
|
||||||
|
sizeInRem="1"
|
||||||
|
disabled
|
||||||
|
/>
|
||||||
</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">
|
||||||
<buttonBack backButtonAccessibleText="Back button label" />
|
<buttonMain
|
||||||
|
buttonText="Secondary"
|
||||||
|
loaderColor="white"
|
||||||
|
sizeInRem="1"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col my-3 d-flex align-items-center">
|
||||||
|
<buttonMain
|
||||||
|
buttonText="Secondary Disabled"
|
||||||
|
loaderColor="white"
|
||||||
|
sizeInRem="1"
|
||||||
|
disabled
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col my-3 d-flex align-items-center">
|
||||||
|
<buttonBack
|
||||||
|
backButtonAccessibleText="Back button label"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row my-4">
|
<div class="row my-4">
|
||||||
|
|
@ -98,44 +143,6 @@
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row my-4">
|
|
||||||
<div class="col">
|
|
||||||
<h4 class="m-0 p-2 bg-light rounded">List Card</h4>
|
|
||||||
<h6 class="mx-2 my-0">Functioning as Checkbox in Column Layout</h6>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<fieldset>
|
|
||||||
<legend class="sr-only">Functioning as Checkbox</legend>
|
|
||||||
<div class="row g-2">
|
|
||||||
<listCard
|
|
||||||
isMultiSelect
|
|
||||||
buttonImage="https://digitalconsumercms-dev.safelite.com/images/default-source/damage-options/car.svg?sfvrsn=1468d7f1_3"
|
|
||||||
buttonLabel="Windshield"
|
|
||||||
altText=""
|
|
||||||
buttonID="List Card Checkbox 1"
|
|
||||||
groupID="checkbox-demo-1"
|
|
||||||
buttonLabelSubCopy="Description"
|
|
||||||
/>
|
|
||||||
<listCard
|
|
||||||
isMultiSelect
|
|
||||||
buttonImage="https://digitalconsumercms-dev.safelite.com/images/default-source/damage-options/car.svg?sfvrsn=1468d7f1_3"
|
|
||||||
buttonLabel="Windshield"
|
|
||||||
altText=""
|
|
||||||
buttonID="List Card Checkbox 2"
|
|
||||||
groupID="checkbox-demo-1"
|
|
||||||
buttonLabelSubCopy="Description with more than one line"
|
|
||||||
/>
|
|
||||||
<listCard
|
|
||||||
isMultiSelect
|
|
||||||
buttonImage="https://digitalconsumercms-dev.safelite.com/images/default-source/damage-options/car.svg?sfvrsn=1468d7f1_3"
|
|
||||||
buttonLabel="Windshield"
|
|
||||||
altText=""
|
|
||||||
buttonID="List Card Checkbox 3"
|
|
||||||
groupID="checkbox-demo-1"
|
|
||||||
buttonLabelSubCopy=""
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
</fieldset>
|
|
||||||
<div class="row my-4">
|
<div class="row my-4">
|
||||||
<div class="col">
|
<div class="col">
|
||||||
<h4 class="m-0 p-2 bg-light rounded">List Card</h4>
|
<h4 class="m-0 p-2 bg-light rounded">List Card</h4>
|
||||||
|
|
@ -151,7 +158,7 @@
|
||||||
buttonImage="https://digitalconsumercms-dev.safelite.com/images/default-source/damage-options/car.svg?sfvrsn=1468d7f1_3"
|
buttonImage="https://digitalconsumercms-dev.safelite.com/images/default-source/damage-options/car.svg?sfvrsn=1468d7f1_3"
|
||||||
buttonLabel="Windshield"
|
buttonLabel="Windshield"
|
||||||
altText=""
|
altText=""
|
||||||
buttonID="List Card Checkbox"
|
buttonID="List Card Checkbox 1"
|
||||||
groupID="checkbox-demo-1"
|
groupID="checkbox-demo-1"
|
||||||
buttonLabelSubCopy="Description"
|
buttonLabelSubCopy="Description"
|
||||||
/>
|
/>
|
||||||
|
|
@ -168,13 +175,31 @@
|
||||||
buttonImage="https://digitalconsumercms-dev.safelite.com/images/default-source/damage-options/car.svg?sfvrsn=1468d7f1_3"
|
buttonImage="https://digitalconsumercms-dev.safelite.com/images/default-source/damage-options/car.svg?sfvrsn=1468d7f1_3"
|
||||||
buttonLabel="Windshield"
|
buttonLabel="Windshield"
|
||||||
altText=""
|
altText=""
|
||||||
buttonID="List Card Checkbox b"
|
buttonID="List Card Checkbox 2"
|
||||||
groupID="checkbox-demo-1a"
|
groupID="checkbox-demo-1a"
|
||||||
buttonLabelSubCopy=""
|
buttonLabelSubCopy=""
|
||||||
/>
|
/>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="row g-2">
|
||||||
|
<div class="col">
|
||||||
|
<h6 class="mx-2 my-4">Checkbox with Error</h6>
|
||||||
|
<fieldset>
|
||||||
|
<legend class="sr-only">Checkbox with Error</legend>
|
||||||
|
<listCard
|
||||||
|
isMultiSelect
|
||||||
|
buttonImage="https://digitalconsumercms-dev.safelite.com/images/default-source/damage-options/car.svg?sfvrsn=1468d7f1_3"
|
||||||
|
buttonLabel="Windshield"
|
||||||
|
altText=""
|
||||||
|
buttonID="List Card Checkbox 3"
|
||||||
|
groupID="checkbox-demo-1e"
|
||||||
|
buttonLabelSubCopy="Description"
|
||||||
|
hasError
|
||||||
|
/>
|
||||||
|
</fieldset>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="row g-2">
|
<div class="row g-2">
|
||||||
<div class="col">
|
<div class="col">
|
||||||
<h6 class="mx-2 my-4">Functioning as Radio Button</h6>
|
<h6 class="mx-2 my-4">Functioning as Radio Button</h6>
|
||||||
|
|
@ -186,7 +211,7 @@
|
||||||
buttonLabel="Windshield"
|
buttonLabel="Windshield"
|
||||||
altText=""
|
altText=""
|
||||||
buttonID="List Card Radio Button"
|
buttonID="List Card Radio Button"
|
||||||
groupID="radio-demo-2"
|
groupID="radio-demo-2b"
|
||||||
buttonLabelSubCopy="Description"
|
buttonLabelSubCopy="Description"
|
||||||
/>
|
/>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
|
@ -209,6 +234,24 @@
|
||||||
</fieldset>
|
</fieldset>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="row g-2">
|
||||||
|
<div class="col">
|
||||||
|
<h6 class="mx-2 my-4">Radio Button with Error</h6>
|
||||||
|
<fieldset>
|
||||||
|
<legend class="sr-only">Radio Button with Error</legend>
|
||||||
|
<listCard
|
||||||
|
isRadio
|
||||||
|
buttonImage="https://digitalconsumercms-dev.safelite.com/images/default-source/damage-options/car.svg?sfvrsn=1468d7f1_3"
|
||||||
|
buttonLabel="Windshield"
|
||||||
|
altText=""
|
||||||
|
buttonID="List Card Radio Button c"
|
||||||
|
groupID="radio-demo-2b"
|
||||||
|
buttonLabelSubCopy="Description"
|
||||||
|
hasError
|
||||||
|
/>
|
||||||
|
</fieldset>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="row g-2">
|
<div class="row g-2">
|
||||||
<div class="col">
|
<div class="col">
|
||||||
<h6 class="mx-2 my-4">Horizontal as Checkbox</h6>
|
<h6 class="mx-2 my-4">Horizontal as Checkbox</h6>
|
||||||
|
|
@ -245,6 +288,25 @@
|
||||||
</fieldset>
|
</fieldset>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="row g-2">
|
||||||
|
<div class="col">
|
||||||
|
<h6 class="mx-2 my-4">Horizontal with Error</h6>
|
||||||
|
<fieldset>
|
||||||
|
<legend class="sr-only">Horizontal with Error</legend>
|
||||||
|
<listCard
|
||||||
|
isMultiSelect
|
||||||
|
isWide
|
||||||
|
buttonImage="https://digitalconsumercms-dev.safelite.com/images/default-source/damage-options/car.svg?sfvrsn=1468d7f1_3"
|
||||||
|
buttonLabel="Side Window"
|
||||||
|
altText=""
|
||||||
|
buttonID="List Card Horizontal Checkbox d"
|
||||||
|
groupID="checkbox-demo-3d"
|
||||||
|
buttonLabelSubCopy=""
|
||||||
|
hasError
|
||||||
|
/>
|
||||||
|
</fieldset>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="row g-2">
|
<div class="row g-2">
|
||||||
<div class="col">
|
<div class="col">
|
||||||
<h6 class="mx-2 my-4">Horizontal as Radio Button</h6>
|
<h6 class="mx-2 my-4">Horizontal as Radio Button</h6>
|
||||||
|
|
@ -279,6 +341,24 @@
|
||||||
</fieldset>
|
</fieldset>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="row g-2">
|
||||||
|
<div class="col">
|
||||||
|
<h6 class="mx-2 my-4">Horizontal with Error</h6>
|
||||||
|
<fieldset>
|
||||||
|
<legend class="sr-only">Horizontal with Error</legend>
|
||||||
|
<listCard
|
||||||
|
isWide
|
||||||
|
buttonImage="https://digitalconsumercms-dev.safelite.com/images/default-source/damage-options/car.svg?sfvrsn=1468d7f1_3"
|
||||||
|
buttonLabel="Windshield"
|
||||||
|
altText=""
|
||||||
|
buttonID="List Card Horizontal Radio Button e"
|
||||||
|
groupID="radio-demo-4e"
|
||||||
|
buttonLabelSubCopy=""
|
||||||
|
hasError
|
||||||
|
/>
|
||||||
|
</fieldset>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="row my-4">
|
<div class="row my-4">
|
||||||
<div class="col">
|
<div class="col">
|
||||||
<h4 class="m-0 p-2 bg-light rounded">List Button - Single-Line</h4>
|
<h4 class="m-0 p-2 bg-light rounded">List Button - Single-Line</h4>
|
||||||
|
|
@ -333,6 +413,21 @@
|
||||||
sizeInRem="1"
|
sizeInRem="1"
|
||||||
screenReaderOnlyText=" opens new window"
|
screenReaderOnlyText=" opens new window"
|
||||||
/>
|
/>
|
||||||
|
<h6 class="mx-2 my-4 d-flex align-self-start">Checkbox with Error</h6>
|
||||||
|
<listButton
|
||||||
|
isMultiSelect
|
||||||
|
groupName="demo-2"
|
||||||
|
ariaLabelBy="vehicle-year"
|
||||||
|
buttonID="2019b"
|
||||||
|
buttonLabel="2019"
|
||||||
|
isRequired="true"
|
||||||
|
textPosition="text-start"
|
||||||
|
loaderColor="blue"
|
||||||
|
loaderPosition="right"
|
||||||
|
sizeInRem="1"
|
||||||
|
screenReaderOnlyText=" opens new window"
|
||||||
|
hasError
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
|
|
@ -381,6 +476,20 @@
|
||||||
sizeInRem="1"
|
sizeInRem="1"
|
||||||
screenReaderOnlyText=" opens new window"
|
screenReaderOnlyText=" opens new window"
|
||||||
/>
|
/>
|
||||||
|
<h6 class="mx-2 my-4">Radio Button with Error</h6>
|
||||||
|
<listButton
|
||||||
|
groupName="demo-1-checkbox"
|
||||||
|
ariaLabelBy="vehicle-year"
|
||||||
|
buttonID="2016"
|
||||||
|
buttonLabel="2016"
|
||||||
|
isRequired="true"
|
||||||
|
textPosition="text-start"
|
||||||
|
loaderColor="blue"
|
||||||
|
loaderPosition="right"
|
||||||
|
sizeInRem="1"
|
||||||
|
screenReaderOnlyText=" opens new window"
|
||||||
|
hasError
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row my-4">
|
<div class="row my-4">
|
||||||
|
|
@ -652,6 +761,63 @@
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="row px-3">
|
||||||
|
<h6 class="mx-2 my-4 d-flex align-self-start">Checkbox with Error</h6>
|
||||||
|
<!-- The role="radiogroup" and aria-labelledby must be included in the parent component for the group -->
|
||||||
|
<div
|
||||||
|
role="radiogroup"
|
||||||
|
aria-labelledby="demo-4-radio-group"
|
||||||
|
class="d-flex flex-row p-0"
|
||||||
|
>
|
||||||
|
<!-- The h3 and id must be included. The id must match the aria-labelledby of the parent div. -->
|
||||||
|
<h3 class="sr-only" id="demo-4-radio-group">Select Vehicle Year</h3>
|
||||||
|
<listButtonHorizontal
|
||||||
|
isMultiSelect
|
||||||
|
groupName="demo-4b"
|
||||||
|
ariaLabelBy="vehicle-model"
|
||||||
|
buttonID="1b"
|
||||||
|
buttonLabel="1"
|
||||||
|
textPosition="text-center"
|
||||||
|
loaderColor="blue"
|
||||||
|
loaderPosition="right"
|
||||||
|
sizeInRem="1"
|
||||||
|
v-bind:totalInGroup="3"
|
||||||
|
v-bind:positionInGroup="1"
|
||||||
|
screenReaderOnlyText=" opens new window"
|
||||||
|
hasError
|
||||||
|
/>
|
||||||
|
<listButtonHorizontal
|
||||||
|
isMultiSelect
|
||||||
|
groupName="demo-4b"
|
||||||
|
ariaLabelBy="vehicle-model"
|
||||||
|
buttonID="2b"
|
||||||
|
buttonLabel="2"
|
||||||
|
textPosition="text-center"
|
||||||
|
loaderColor="blue"
|
||||||
|
loaderPosition="right"
|
||||||
|
sizeInRem="1"
|
||||||
|
v-bind:totalInGroup="3"
|
||||||
|
v-bind:positionInGroup="2"
|
||||||
|
screenReaderOnlyText=" opens new window"
|
||||||
|
hasError
|
||||||
|
/>
|
||||||
|
<listButtonHorizontal
|
||||||
|
isMultiSelect
|
||||||
|
groupName="demo-4b"
|
||||||
|
ariaLabelBy="vehicle-model"
|
||||||
|
buttonID="3b"
|
||||||
|
buttonLabel="3"
|
||||||
|
textPosition="text-center"
|
||||||
|
loaderColor="blue"
|
||||||
|
loaderPosition="right"
|
||||||
|
sizeInRem="1"
|
||||||
|
v-bind:totalInGroup="3"
|
||||||
|
v-bind:positionInGroup="3"
|
||||||
|
screenReaderOnlyText=" opens new window"
|
||||||
|
hasError
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="row px-3">
|
<div class="row px-3">
|
||||||
<!-- The role="radiogroup" and aria-labelledby must be included in the parent component for the group -->
|
<!-- The role="radiogroup" and aria-labelledby must be included in the parent component for the group -->
|
||||||
<h6 class="mx-2 my-0">Functioning as Radio Buttons</h6>
|
<h6 class="mx-2 my-0">Functioning as Radio Buttons</h6>
|
||||||
|
|
@ -706,6 +872,63 @@
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="row px-3">
|
||||||
|
<h6 class="mx-2 my-4 d-flex align-self-start">Radio Button with Error</h6>
|
||||||
|
<!-- The role="radiogroup" and aria-labelledby must be included in the parent component for the group -->
|
||||||
|
<div
|
||||||
|
role="radiogroup"
|
||||||
|
aria-labelledby="demo-4-checkbox-group"
|
||||||
|
class="d-flex flex-row p-0"
|
||||||
|
>
|
||||||
|
<!-- The h3 and id must be included. The id must match the aria-labelledby of the parent div. -->
|
||||||
|
<h3 class="sr-only" id="demo-4-checkbox-group">Select Vehicle Year</h3>
|
||||||
|
<listButtonHorizontal
|
||||||
|
groupName="demo-4-checkboxc"
|
||||||
|
ariaLabelBy="vehicle-model"
|
||||||
|
buttonID="4c"
|
||||||
|
buttonLabel="4"
|
||||||
|
textPosition="text-center"
|
||||||
|
loaderEnabled="true"
|
||||||
|
loaderColor="blue"
|
||||||
|
loaderPosition="right"
|
||||||
|
sizeInRem="1"
|
||||||
|
v-bind:totalInGroup="3"
|
||||||
|
v-bind:positionInGroup="1"
|
||||||
|
screenReaderOnlyText=" opens new window"
|
||||||
|
hasError
|
||||||
|
/>
|
||||||
|
<listButtonHorizontal
|
||||||
|
groupName="demo-4-checkboxc"
|
||||||
|
ariaLabelBy="vehicle-model"
|
||||||
|
buttonID="5c"
|
||||||
|
buttonLabel="5"
|
||||||
|
textPosition="text-center"
|
||||||
|
loaderEnabled="true"
|
||||||
|
loaderColor="blue"
|
||||||
|
loaderPosition="right"
|
||||||
|
sizeInRem="1"
|
||||||
|
v-bind:totalInGroup="3"
|
||||||
|
v-bind:positionInGroup="2"
|
||||||
|
screenReaderOnlyText=" opens new window"
|
||||||
|
hasError
|
||||||
|
/>
|
||||||
|
<listButtonHorizontal
|
||||||
|
groupName="demo-4-checkboxc"
|
||||||
|
ariaLabelBy="vehicle-model"
|
||||||
|
buttonID="6c"
|
||||||
|
buttonLabel="6"
|
||||||
|
textPosition="text-center"
|
||||||
|
loaderEnabled="true"
|
||||||
|
loaderColor="blue"
|
||||||
|
loaderPosition="right"
|
||||||
|
sizeInRem="1"
|
||||||
|
v-bind:totalInGroup="3"
|
||||||
|
v-bind:positionInGroup="3"
|
||||||
|
screenReaderOnlyText=" opens new window"
|
||||||
|
hasError
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="row my-4">
|
<div class="row my-4">
|
||||||
<div class="col">
|
<div class="col">
|
||||||
<h4 class="m-0 p-2 bg-light rounded">Typography</h4>
|
<h4 class="m-0 p-2 bg-light rounded">Typography</h4>
|
||||||
|
|
@ -822,129 +1045,6 @@
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row my-4">
|
|
||||||
<div class="col">
|
|
||||||
<h4 class="m-0 p-2 bg-light rounded">Site Header</h4>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="row my-3">
|
|
||||||
<div class="col">
|
|
||||||
<funnelHeader
|
|
||||||
imageSrc="https://digitalconsumercms-dev.safelite.com/images/default-source/default-album/safelite-logo.svg?sfvrsn=45e7ed06_3"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="row my-4">
|
|
||||||
<div class="col">
|
|
||||||
<h4 class="m-0 p-2 bg-light rounded">Vehicle Banner</h4>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="row my-3">
|
|
||||||
<div class="col">
|
|
||||||
<vehicleBanner
|
|
||||||
vehicleImageSrc="https://digitalconsumercms-dev.safelite.com/images/default-source/default-album/blurred-image.jpg?sfvrsn=a6ce3034_3"
|
|
||||||
:displayGenericVehicleImage=true
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="row my-4">
|
|
||||||
<div class="col">
|
|
||||||
<h4 class="m-0 p-2 bg-light rounded">Button Question</h4>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="row">
|
|
||||||
<div class="col">
|
|
||||||
<buttonQuestion
|
|
||||||
:answers="checkboxAnswers"
|
|
||||||
:isMultiSelect="true"
|
|
||||||
ariaLabelBy="checkbox"
|
|
||||||
groupName="checkbox-list"
|
|
||||||
questionText="List Button as checkbox"
|
|
||||||
/>
|
|
||||||
<buttonQuestion
|
|
||||||
:answers="radioAnswers"
|
|
||||||
ariaLabelBy="radio"
|
|
||||||
groupName="radio-list"
|
|
||||||
questionText="List Button as radio"
|
|
||||||
/>
|
|
||||||
<buttonQuestion
|
|
||||||
:answers="horizontalCheckboxAnswers"
|
|
||||||
buttonType="listButtonHorizontal"
|
|
||||||
:isMultiSelect="true"
|
|
||||||
isColumn
|
|
||||||
ariaLabelBy="checkbox"
|
|
||||||
groupName="checkbox-list-horizontal"
|
|
||||||
questionText="List Button Horizontal as checkbox"
|
|
||||||
/>
|
|
||||||
<buttonQuestion
|
|
||||||
:answers="horizontalRadioAnswers"
|
|
||||||
buttonType="listButtonHorizontal"
|
|
||||||
isColumn
|
|
||||||
ariaLabelBy="radio"
|
|
||||||
groupName="radio-list-horizontal"
|
|
||||||
questionText="List Button Horizontal as radio"
|
|
||||||
sizeInRem="1"
|
|
||||||
/>
|
|
||||||
<buttonQuestion
|
|
||||||
:answers="listCardCheckBox"
|
|
||||||
buttonType="listCard"
|
|
||||||
isMultiSelect
|
|
||||||
ariaLabelBy="check_card"
|
|
||||||
groupName="check-list-card"
|
|
||||||
questionText="List Card as checkbox"
|
|
||||||
/>
|
|
||||||
<buttonQuestion
|
|
||||||
:answers="listCardRadio"
|
|
||||||
buttonType="listCard"
|
|
||||||
ariaLabelBy="radio_card"
|
|
||||||
groupName="radio-card"
|
|
||||||
questionText="List Card as radio"
|
|
||||||
/>
|
|
||||||
<buttonQuestion
|
|
||||||
isMultiSelect
|
|
||||||
isWide
|
|
||||||
:answers="listCardCheckBoxHorizontal"
|
|
||||||
buttonType="listCard"
|
|
||||||
ariaLabelBy="horizontal_check_card"
|
|
||||||
groupName="horizontal_check-card"
|
|
||||||
questionText="List Card Horizontal as checkbox"
|
|
||||||
/>
|
|
||||||
<buttonQuestion
|
|
||||||
isMultiSelect
|
|
||||||
isWide
|
|
||||||
:answers="listCardCheckBoxHorizontalSubText"
|
|
||||||
buttonType="listCard"
|
|
||||||
ariaLabelBy="horizontal_check_card-st"
|
|
||||||
groupName="horizontal_check-card-st"
|
|
||||||
questionText="With Subtext"
|
|
||||||
/>
|
|
||||||
<buttonQuestion
|
|
||||||
isWide
|
|
||||||
:answers="listRadioHorizontal"
|
|
||||||
buttonType="listCard"
|
|
||||||
ariaLabelBy="horizontal_radio_card"
|
|
||||||
groupName="horizontal_cradio-card"
|
|
||||||
questionText="List Card Horizontal as radio"
|
|
||||||
/>
|
|
||||||
<buttonQuestion
|
|
||||||
isWide
|
|
||||||
:answers="listRadioHorizontalSubText"
|
|
||||||
buttonType="listCard"
|
|
||||||
ariaLabelBy="horizontal_radio_card-st"
|
|
||||||
groupName="horizontal_cradio-card-st"
|
|
||||||
questionText="With Subtext"
|
|
||||||
/>
|
|
||||||
<buttonQuestion
|
|
||||||
isMultiSelect
|
|
||||||
isRow
|
|
||||||
:answers="listCardGroup"
|
|
||||||
buttonType="listCard"
|
|
||||||
ariaLabelBy="horizontal_radio_card-group"
|
|
||||||
groupName="horizontal_cradio-card-group"
|
|
||||||
questionText="In column layout"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|
@ -954,8 +1054,6 @@ import buttonBack from "@/common-components/button-back/button-back";
|
||||||
import listCard from "@/ux-components/list-card/list-card";
|
import listCard from "@/ux-components/list-card/list-card";
|
||||||
import listButton from "@/ux-components/list-button/list-button";
|
import listButton from "@/ux-components/list-button/list-button";
|
||||||
import alert from "@/ux-components/alert/alert";
|
import alert from "@/ux-components/alert/alert";
|
||||||
import vehicleBanner from "@/common-components/vehicle-banner/vehicle-banner";
|
|
||||||
import funnelHeader from "@/common-components/funnel-header/funnel-header";
|
|
||||||
import listButtonHorizontal from "@/ux-components/list-button-horizontal/list-button-horizontal";
|
import listButtonHorizontal from "@/ux-components/list-button-horizontal/list-button-horizontal";
|
||||||
import checkbox from "@/ux-components/checkbox/checkbox";
|
import checkbox from "@/ux-components/checkbox/checkbox";
|
||||||
import radio from "@/ux-components/radio/radio";
|
import radio from "@/ux-components/radio/radio";
|
||||||
|
|
@ -968,11 +1066,9 @@ export default {
|
||||||
listCard,
|
listCard,
|
||||||
listButton,
|
listButton,
|
||||||
alert,
|
alert,
|
||||||
vehicleBanner,
|
|
||||||
listButtonHorizontal,
|
listButtonHorizontal,
|
||||||
checkbox,
|
checkbox,
|
||||||
radio,
|
radio,
|
||||||
funnelHeader,
|
|
||||||
textLink
|
textLink
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,7 @@
|
||||||
input[type=checkbox]:checked + label,
|
input[type=checkbox]:checked + label,
|
||||||
input[type=radio]:checked + label {
|
input[type=radio]:checked + label {
|
||||||
box-shadow: 0 0 0 2.5px transparent !important;
|
box-shadow: 0 0 0 2.5px transparent !important;
|
||||||
|
border: 1px solid $blue;
|
||||||
}
|
}
|
||||||
&.list-button-horizontal {
|
&.list-button-horizontal {
|
||||||
color: $red;
|
color: $red;
|
||||||
|
|
@ -20,6 +21,16 @@
|
||||||
border: 1px solid $red;
|
border: 1px solid $red;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
&.ui-radio,
|
||||||
|
&.ui-checkbox {
|
||||||
|
input[type=radio]+label:before,
|
||||||
|
input[type=checkbox]+label:before {
|
||||||
|
border: 1px solid $red;
|
||||||
|
}
|
||||||
|
input[type=checkbox]:checked + label:before {
|
||||||
|
border: 1px solid $blue;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.form-test-error {
|
.form-test-error {
|
||||||
|
|
|
||||||
|
|
@ -56,6 +56,7 @@ export default {
|
||||||
border-radius: $border-radius-lg;
|
border-radius: $border-radius-lg;
|
||||||
color: $white;
|
color: $white;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
|
font-weight: 500;
|
||||||
&:hover {
|
&:hover {
|
||||||
background: linear-gradient(
|
background: linear-gradient(
|
||||||
270deg,
|
270deg,
|
||||||
|
|
@ -82,7 +83,8 @@ export default {
|
||||||
$gray-200 0%,
|
$gray-200 0%,
|
||||||
$gray-200 100%
|
$gray-200 100%
|
||||||
) !important;
|
) !important;
|
||||||
color: $gray-550 !important;
|
color: $gray-600 !important;
|
||||||
|
font-weight: 400;
|
||||||
height: 48px;
|
height: 48px;
|
||||||
border: none;
|
border: none;
|
||||||
border-radius: $border-radius-lg;
|
border-radius: $border-radius-lg;
|
||||||
|
|
@ -103,6 +105,7 @@ export default {
|
||||||
border: 1px solid $blue;
|
border: 1px solid $blue;
|
||||||
border-radius: $border-radius-lg;
|
border-radius: $border-radius-lg;
|
||||||
color: $blue;
|
color: $blue;
|
||||||
|
font-weight: 500;
|
||||||
transition: all 150ms linear;
|
transition: all 150ms linear;
|
||||||
&:hover {
|
&:hover {
|
||||||
color: $white;
|
color: $white;
|
||||||
|
|
@ -118,10 +121,13 @@ export default {
|
||||||
}
|
}
|
||||||
&:disabled {
|
&:disabled {
|
||||||
background: transparent;
|
background: transparent;
|
||||||
color: $gray !important;
|
color: $gray-550 !important;
|
||||||
|
font-weight: 400;
|
||||||
height: 48px;
|
height: 48px;
|
||||||
border: 1px solid $gray-300;
|
border: 1px solid $gray-550;
|
||||||
border-radius: $border-radius-lg;
|
border-radius: $border-radius-lg;
|
||||||
|
cursor: pointer;
|
||||||
|
pointer-events: all;
|
||||||
}
|
}
|
||||||
&.has-loader {
|
&.has-loader {
|
||||||
color: $white;
|
color: $white;
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
<template>
|
<template>
|
||||||
<!-- Checkbox groups MUST be wrapped in a <fieldset> and <legend> tag -->
|
<!-- Checkbox groups MUST be wrapped in a <fieldset> and <legend> tag -->
|
||||||
<div class="ui-checkbox d-flex">
|
<div class="ui-checkbox d-flex" :class="[hasError ? 'has-error' : '']">
|
||||||
<input
|
<input
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
aria-checked="false"
|
aria-checked="false"
|
||||||
|
|
@ -28,6 +28,7 @@ export default {
|
||||||
checkboxLabel: String,
|
checkboxLabel: String,
|
||||||
screenReaderOnlyText: String,
|
screenReaderOnlyText: String,
|
||||||
isRequired: Boolean,
|
isRequired: Boolean,
|
||||||
|
hasError: Boolean
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
<template>
|
<template>
|
||||||
<div
|
<div
|
||||||
class="list-group list-button-horizontal d-flex flex-column w-100 mb-2"
|
class="list-group list-button-horizontal d-flex flex-column w-100 mb-2"
|
||||||
|
:class="hasError ? 'has-error' : ''"
|
||||||
@mouseup="handleClick(value)"
|
@mouseup="handleClick(value)"
|
||||||
@keyup.space="handleClick(value)"
|
@keyup.space="handleClick(value)"
|
||||||
>
|
>
|
||||||
|
|
@ -71,6 +72,7 @@ export default {
|
||||||
default: "",
|
default: "",
|
||||||
},
|
},
|
||||||
selectedButtonIDs: [Array, String],
|
selectedButtonIDs: [Array, String],
|
||||||
|
hasError: Boolean,
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
<template>
|
<template>
|
||||||
<div
|
<div
|
||||||
class="list-group list-button d-flex flex-column w-100 mb-2"
|
class="list-group list-button d-flex flex-column w-100 mb-2"
|
||||||
|
:class="hasError ? 'has-error' : ''"
|
||||||
@mouseup="handleClick(value)"
|
@mouseup="handleClick(value)"
|
||||||
@keyup.space="handleClick(value)"
|
@keyup.space="handleClick(value)"
|
||||||
>
|
>
|
||||||
|
|
@ -73,6 +74,7 @@ export default {
|
||||||
default: "",
|
default: "",
|
||||||
},
|
},
|
||||||
selectedButtonIDs: [Array, String],
|
selectedButtonIDs: [Array, String],
|
||||||
|
hasError: Boolean,
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
<div :class="'col' + colLength">
|
<div :class="'col' + colLength">
|
||||||
<div
|
<div
|
||||||
class="list-card w-100 rounded-3 d-flex align-items-center h-100"
|
class="list-card w-100 rounded-3 d-flex align-items-center h-100"
|
||||||
:class="[isWide ? 'horizontal' : '', errors.length > 0 ? 'has-error' : '']"
|
:class="[isWide ? 'horizontal' : '', errors.length > 0 ? 'has-error' : '', hasError ? 'has-error' : '']"
|
||||||
>
|
>
|
||||||
<input
|
<input
|
||||||
:type="isMultiSelect ? 'checkbox' : 'radio'"
|
:type="isMultiSelect ? 'checkbox' : 'radio'"
|
||||||
|
|
@ -53,10 +53,8 @@ import { useField } from "vee-validate";
|
||||||
export default {
|
export default {
|
||||||
name: "listCard",
|
name: "listCard",
|
||||||
props: {
|
props: {
|
||||||
//Must choose one of the following four options
|
|
||||||
isMultiSelect: Boolean, //Defines use as checkbox
|
isMultiSelect: Boolean, //Defines use as checkbox
|
||||||
isWide: Boolean,
|
isWide: Boolean,
|
||||||
//end must choose
|
|
||||||
buttonImage: String, //Required: File name of image
|
buttonImage: String, //Required: File name of image
|
||||||
buttonImageId: String,
|
buttonImageId: String,
|
||||||
buttonLabel: String, //Required: Label text
|
buttonLabel: String, //Required: Label text
|
||||||
|
|
@ -73,6 +71,7 @@ export default {
|
||||||
colLength: String,
|
colLength: String,
|
||||||
validationRules: String,
|
validationRules: String,
|
||||||
selectedButtonIDs: [Array, String],
|
selectedButtonIDs: [Array, String],
|
||||||
|
hasError: Boolean,
|
||||||
},
|
},
|
||||||
data(){
|
data(){
|
||||||
return {
|
return {
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
<template>
|
<template>
|
||||||
<!-- Checkbox groups MUST be wrapped in a <fieldset> and <legend> tag and must contain tabindex -->
|
<!-- Checkbox groups MUST be wrapped in a <fieldset> and <legend> tag and must contain tabindex -->
|
||||||
<div class="ui-radio d-flex">
|
<div class="ui-radio d-flex" :class="[hasError ? 'has-error' : '']">
|
||||||
<input
|
<input
|
||||||
type="radio"
|
type="radio"
|
||||||
aria-checked="false"
|
aria-checked="false"
|
||||||
|
|
@ -35,6 +35,7 @@ export default {
|
||||||
default: "",
|
default: "",
|
||||||
},
|
},
|
||||||
screenReaderOnlyText: String,
|
screenReaderOnlyText: String,
|
||||||
|
hasError: Boolean,
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue