+
+
diff --git a/src/common-components/textbox-question/textbox-question.spec.js b/src/common-components/textbox-question/textbox-question.spec.js1
similarity index 100%
rename from src/common-components/textbox-question/textbox-question.spec.js
rename to src/common-components/textbox-question/textbox-question.spec.js1
diff --git a/src/common-components/textbox-question/textbox-question.vue b/src/common-components/textbox-question/textbox-question.vue
index feb65ffd9..f4a7d2afc 100644
--- a/src/common-components/textbox-question/textbox-question.vue
+++ b/src/common-components/textbox-question/textbox-question.vue
@@ -1,76 +1,165 @@
-
-
-
-
- There has been an error!
-
-
+
+
+
+
+ {{ errorMessage }}
+
+
diff --git a/src/constants/application-config.js b/src/constants/application-config.js
index d4a3be8d2..d427b1d72 100644
--- a/src/constants/application-config.js
+++ b/src/constants/application-config.js
@@ -1,7 +1,8 @@
const applicationConfig = {
CONSUMER_APIGATEWAY_URL: process.env.VUE_APP_CONSUMER_API_GATEWAY,
- HERITAGE_FUNNEL: process.env.VUE_APP_HERITAGE_FUNNEL,
- SESSION_TIMEOUT_CONFIG: 30
+ GOOGLE_PLACES_API_KEY: process.env.VUE_APP_GOOGLE_PLACES_API_KEY,
+ ANALYTICS_SESSION_TIMEOUT: 30,
+ SAVED_SESSION_TIMEOUT: 45
};
diff --git a/src/constants/error-messages.js b/src/constants/error-messages.js
index ba2b0e585..2b3382dc9 100644
--- a/src/constants/error-messages.js
+++ b/src/constants/error-messages.js
@@ -7,6 +7,14 @@ const errorMessages = {
WINDSHIELD_CHIP_COUNT_REQUIRED: "Please select chip(s)",
WINSHIELD_REPLACE_OPTIONS_REQUIRED: "Please select windshield part",
REPLACE_OPTIONS_REQUIRED: "Please select rear window type",
+ STREET_ADDRESS_REQUIRED: "Please enter your street address",
+ CITY_REQUIRED: "Please enter your city",
+ STATE_REQUIRED: "Please enter your state",
+ ZIP_REQUIRED: "Please enter your ZIP",
+ FIRST_NAME_REQUIRED: "Please enter your first name",
+ LAST_NAME_REQUIRED: "Please enter your last name",
+ EMAIL_ADDRESS_REQUIRED: "Please enter your email address",
+ EMAIL_ADDRESS_FORMAT: "Please enter a valid email address",
};
export { errorMessages };
\ No newline at end of file
diff --git a/src/constants/query-strings.js b/src/constants/query-strings.js
new file mode 100644
index 000000000..6655f9378
--- /dev/null
+++ b/src/constants/query-strings.js
@@ -0,0 +1,7 @@
+const queryStrings = {
+ FMG_PAGE: 'fmgPage',
+ START_TYPE: 'start_type'
+ };
+
+ export { queryStrings };
+
\ No newline at end of file
diff --git a/src/constants/widget-names.js b/src/constants/widget-names.js
deleted file mode 100644
index d9782f90b..000000000
--- a/src/constants/widget-names.js
+++ /dev/null
@@ -1,8 +0,0 @@
-const widgetNames = {
- FUNNEL_SUB_HEADER_WIDGET: "FunnelSubHeaderWidget",
- RADIO_QUESTION_WIDGET: "RadioQuestionWidget",
- VEHICLE_BANNER_WIDGET: "VehicleBannerWidget",
- FUNNEL_HEADER_WIDGET: "FunnelHeaderWidget",
-};
-
-export { widgetNames };
diff --git a/src/helpers/cms-content-helper.js b/src/helpers/cms-content-helper.js
index a20446ef8..3bd5319b5 100644
--- a/src/helpers/cms-content-helper.js
+++ b/src/helpers/cms-content-helper.js
@@ -1,5 +1,4 @@
import { storeActions } from "@/constants/store-actions.js";
-import { widgetNames } from "@/constants/widget-names.js";
import store from "@/store";
export function fetchCmsContentForPage(fmgPage) {
diff --git a/src/helpers/heritage-integration-helper.js b/src/helpers/heritage-integration-helper.js
index a98d4624f..64a42d0a5 100644
--- a/src/helpers/heritage-integration-helper.js
+++ b/src/helpers/heritage-integration-helper.js
@@ -1,13 +1,18 @@
import { storeActions } from "@/constants/store-actions.js";
import { cookieNames } from "@/constants/cookie-names";
+import { queryStrings } from "@/constants/query-strings";
import { externalUrls } from "@/router/router-constants/externalUrl-values";
import { applicationConfig } from "@/constants/application-config";
import { lazyLoadComponent } from "@/router/dynamic-routing/component-loader.js";
-
import store from "@/store";
import router from "@/router";
import baseMixin from "../mixins/base-mixin";
+/*
+ Will call API to save existing order, or create new one depending where it's called from.
+ This will also set Referral information in the store after saving, and then
+ update the cookie.
+*/
export async function saveOrder() {
console.log("saving order...");
const savedOrderInfo = await baseMixin.methods.dispatchNonBlockingStoreAction(storeActions.SAVE_ORDER);
@@ -23,6 +28,12 @@ export async function saveOrder() {
updateOrCreateConceptCookie();
}
+/*
+ Will call API and hydrate state with data from API if present. If there is no order present
+ method will return null. If the cookie dictates the state should be reset
+ it will reset the state and go back to the start of the funnel.
+
+*/
export async function loadOrderIfPresent() {
console.log("attempting to load referral....");
const conceptCookie = getConceptCookie();
@@ -47,7 +58,27 @@ export async function loadOrderIfPresent() {
return (await loadOrder(conceptCookie.ReferralNumber, conceptCookie.ReferralDate, conceptCookie.ReferralCorrelationId)).data;
}
-export async function getPageToRouteExistingOrderTo() {
+/*
+ If the user has visited the concept funnel before this method will determine the bets place to
+ drop them so they don't start at the beginning again. This method will return 'heritage' if
+ the user has an existing order and they come back in from the Safelite.com CTA.
+*/
+export async function getPageToRouteExistingOrderTo(toRoute = {}, existingHeritageOrder = false) {
+
+ // If the user is coming in via the Safelite.Com CTA
+ if (toRoute.query[queryStrings.START_TYPE] === 'fmg') {
+ console.log("Start type is FMG... trying to figure out where to send them...");
+
+ // If they have an existing order, return 'heritage' for the page name.
+ if (existingHeritageOrder) {
+ console.log("Existing heritage order found, returning 'heritage' for page redirect...");
+ return 'heritage';
+ }
+ }
+
+ // If this is a non-CTA navigation, determine where to send the user based on page prerequisites.
+ // This also works if a user has a 'fmg' start_type query string but no current order.
+ // That shouldn't happen, but it's possible.
const vehicleMakeComponent = (await lazyLoadComponent('vehicle-make')()).default;
const vehicleModelComponent = (await lazyLoadComponent('vehicle-model')()).default;
const vehicleStyleComponent = (await lazyLoadComponent('vehicle-style')()).default;
@@ -61,19 +92,30 @@ export async function getPageToRouteExistingOrderTo() {
return "vehicle-model";
} else if (!vehicleDamageComponent.methods.arePagePrerequisitesValid()) {
return "vehicle-style";
- }else {
- return "vehicle-damage";
+ } else if (!store.getters.damage.isRepair || !store.getters.vehicle.carId) {
+ return 'vehicle-damage'
+ } else {
+ if (store.getters.vehicle.vin) {
+ return "vin-lookup";
+ } else {
+ return "estimate"
+ }
}
+
}
+/*
+ Will update the cookie if present, or create a new one if not.
+*/
export function updateOrCreateConceptCookie() {
console.log("Updating cookie...", {
LastTouched: new Date().toUTCString(),
+ SavedQuoteTimeoutDate: store.getters.applicationUser.savedSessionTimeout,
DidHeritageFunnelUpdateLast: false,
ShouldResetState: false,
- ReferralNumber: store.state.order.referralNumber,
- ReferralDate: store.state.order.referralDate,
- ReferralCorrelationId: store.state.order.referralCorrelationId,
+ ReferralNumber: store.getters.order.referralNumber,
+ ReferralDate: store.getters.order.referralDate,
+ ReferralCorrelationId: store.getters.order.referralCorrelationId,
});
// Create the cookie
@@ -82,21 +124,25 @@ export function updateOrCreateConceptCookie() {
// Set up cookie with all the props.
setConceptCookieProperties({
LastTouched: new Date().toUTCString(),
+ SavedQuoteTimeoutDate: store.getters.applicationUser.savedSessionTimeout,
DidHeritageFunnelUpdateLast: false,
ShouldResetState: false,
- ReferralNumber: store.state.order.referralNumber,
- ReferralDate: store.state.order.referralDate,
- ReferralCorrelationId: store.state.order.referralCorrelationId,
+ ReferralNumber: store.getters.order.referralNumber,
+ ReferralDate: store.getters.order.referralDate,
+ ReferralCorrelationId: store.getters.order.referralCorrelationId,
});
}
-export function isConceptSessionStillActive() {
+/*
+ Method to determine if our analytics session has timed out or not.
+ Amount used for timeout is configurable in application-config.js
+*/
+export function isAnalyticsSessionStillActive() {
if (getConceptCookie() !== null) {
const lastTouchedValue = getConceptCookie().LastTouched;
- const timeoutAmount = applicationConfig.SESSION_TIMEOUT_CONFIG;
+ const timeoutAmount = applicationConfig.ANALYTICS_SESSION_TIMEOUT;
const isMoreThanHalfHourAgo = ((new Date() - new Date(lastTouchedValue)) / 60000) > timeoutAmount;
- console.log("has session expired -->", isMoreThanHalfHourAgo);
if (isMoreThanHalfHourAgo) {
return false;
@@ -106,6 +152,31 @@ export function isConceptSessionStillActive() {
}
}
+/*
+ Method to determine if the users 'saved' session is still active.
+ When user state is created, there is a date that is saved into state
+ this method checks against that date.
+
+ Note: That time for saved session timeout is configurable in application-config.js
+*/
+export function isSavedSessionStillActive() {
+ if (getConceptCookie() !== null) {
+ const savedSessionTimeStamp = new Date(getConceptCookie().SavedQuoteTimeoutDate);
+ const isSavedSessionTimedOut = (new Date(new Date().toUTCString()) > savedSessionTimeStamp);
+
+ console.log("Saved Session Timed Out? --->", isSavedSessionTimedOut);
+
+ if (isSavedSessionTimedOut) {
+ return false;
+ }
+
+ return true;
+ }
+}
+
+/*
+ Used to navigate to the heritage funnel with the correct query string and url.
+*/
export async function navigateToHeritageFunnel() {
// Create the order (or save existing order) when navigating to Heritage Funnel.
@@ -114,7 +185,7 @@ export async function navigateToHeritageFunnel() {
router.navigateToExternalUrl(
externalUrls.HERITAGE_FUNNEL,
{
- corid: store.state.order.referralCorrelationId,
+ corid: store.getters.order.referralCorrelationId,
src: "concept-funnel",
cns: "all",
experiments: "RemoveServiceAreaPage=ServAreaRemoval_V7=ServAreaNoRemove_V7_TEST=true,ConceptFunnel=ConceptFunnel_V1=ConceptFunnel_TEST=true"
@@ -122,6 +193,10 @@ export async function navigateToHeritageFunnel() {
);
}
+/*
+ Gets the current instance of the concept funnel cookie.
+ Returns null if cookie isn't valid JSON.
+*/
export function getConceptCookie() {
const cookieJson = document.cookie
?.split("; ")
@@ -135,28 +210,40 @@ export function getConceptCookie() {
}
}
+/*
+Function to get the date for the saved session timeout.
+*/
-
-
-// --------- PRIVATE FUNCTIONS ---------
-async function loadOrder(referralNumber, referralDate, referralCorrelationId) {
- console.log("loading order...", referralNumber, referralDate, referralCorrelationId);
- try {
-
- const response = await baseMixin.methods.dispatchNonBlockingStoreAction(storeActions.LOAD_ORDER,
- {
- referralNumber: referralNumber.toString(),
- referralDate: referralDate,
- referralCorrelationId: referralCorrelationId
- }, false);
-
- return response;
-
- } catch (e) {
- console.log("error loading order:", e);
- }
+export function getDateForSavedSessionTimeout() {
+ const currentDate = new Date(new Date().toUTCString())
+ currentDate.setDate(currentDate.getDate() + applicationConfig.SAVED_SESSION_TIMEOUT)
+ return currentDate.toUTCString();
}
+//-------------------------------------\\\
+// --------- PRIVATE FUNCTIONS --------- \\\
+//----------------------------------------\\\
+
+/*
+ Calls API to load order given the referral number, referralDate, and referralCorrelationId
+ and returns the response.
+*/
+async function loadOrder(referralNumber, referralDate, referralCorrelationId) {
+ console.log("loading order...", referralNumber, referralDate, referralCorrelationId);
+ const response = await baseMixin.methods.dispatchNonBlockingStoreAction(storeActions.LOAD_ORDER,
+ {
+ referralNumber: referralNumber.toString(),
+ referralDate: referralDate,
+ referralCorrelationId: referralCorrelationId
+ }, false);
+
+ return response;
+}
+
+/*
+ Used to set properties on the concept funnel cookie.
+ Takes an object with properties to set. Will overwrite existing properties.
+*/
function setConceptCookieProperties(properties) {
if (typeof properties == "object") {
let cookie = getConceptCookie();
@@ -173,6 +260,9 @@ function setConceptCookieProperties(properties) {
}
}
+/*
+ Removes concept cookie from browser.
+*/
function deleteConceptCookie() {
// If this cookie is ever created from the concept funnel, will need to add another
// line with the path=/fmg/
diff --git a/src/helpers/validation-rules.js b/src/helpers/validation-rules.js
index 1ac4ce818..9b2e14d58 100644
--- a/src/helpers/validation-rules.js
+++ b/src/helpers/validation-rules.js
@@ -5,4 +5,21 @@ export function required(errorMessage) {
}
return true;
};
+}
+
+export function regex(expression, errorMessage) {
+ return (value) => {
+ // Field is empty, should pass
+ if (!value || !value.length) {
+ return true;
+ }
+
+ // Check if email
+ if (!expression.test(value)) {
+ return errorMessage;
+ }
+
+ return true;
+ }
+
}
\ No newline at end of file
diff --git a/src/layouts/address-lookup/address-lookup.spec.js1 b/src/layouts/address-lookup/address-lookup.spec.js1
new file mode 100644
index 000000000..e69de29bb
diff --git a/src/layouts/address-lookup/address-lookup.vue b/src/layouts/address-lookup/address-lookup.vue
new file mode 100644
index 000000000..2086cd032
--- /dev/null
+++ b/src/layouts/address-lookup/address-lookup.vue
@@ -0,0 +1,116 @@
+
+
+
+
+
diff --git a/src/layouts/address-lookup/customer-questions/address-questions/address-questions.spec.js1 b/src/layouts/address-lookup/customer-questions/address-questions/address-questions.spec.js1
new file mode 100644
index 000000000..e69de29bb
diff --git a/src/layouts/address-lookup/customer-questions/address-questions/address-questions.vue b/src/layouts/address-lookup/customer-questions/address-questions/address-questions.vue
new file mode 100644
index 000000000..0954caf34
--- /dev/null
+++ b/src/layouts/address-lookup/customer-questions/address-questions/address-questions.vue
@@ -0,0 +1,279 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/layouts/address-lookup/customer-questions/customer-questions.spec.js1 b/src/layouts/address-lookup/customer-questions/customer-questions.spec.js1
new file mode 100644
index 000000000..e69de29bb
diff --git a/src/layouts/address-lookup/customer-questions/customer-questions.vue b/src/layouts/address-lookup/customer-questions/customer-questions.vue
new file mode 100644
index 000000000..7fa324f91
--- /dev/null
+++ b/src/layouts/address-lookup/customer-questions/customer-questions.vue
@@ -0,0 +1,95 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/layouts/component-test/component-test.vue b/src/layouts/component-test/component-test.vue
index 5ff4141fd..106a0c776 100644
--- a/src/layouts/component-test/component-test.vue
+++ b/src/layouts/component-test/component-test.vue
@@ -1129,6 +1129,16 @@
/>
+
+
+
+
+
@@ -1144,7 +1154,7 @@
import textLink from "@/ux-components/text-link/text-link";
import textboxQuestion from "@/common-components/textbox-question/textbox-question";
import dropdownQuestion from "@/common-components/dropdown-question/dropdown-question";
- import vinInformation from "@/common-components/vin-information/vin-information";
+ import vinInformation from "@/layouts/vin-lookup/vin-information/vin-information";
export default {
name: "App",
components: {
diff --git a/src/layouts/vehicle-damage/vehicle-damage.spec.js b/src/layouts/vehicle-damage/vehicle-damage.spec.js
index 348da20ad..e6ce4e85d 100644
--- a/src/layouts/vehicle-damage/vehicle-damage.spec.js
+++ b/src/layouts/vehicle-damage/vehicle-damage.spec.js
@@ -782,41 +782,6 @@ describe("vehicle-damage.vue", () => {
});
});
-describe("vehicle-damage.vue", () => {
- test("when onInvalidSubmit is triggered with errors focus will be put on the first element with an error", async () => {
-
- //Arrange
- const { wrapper } = setupMocks({});
- const mockedValidationPayload = {
- values: {},
- errors: {
- driverSideOptions: 'Please select window',
- passengerSideOptions: 'Please select window'
- },
- results: {},
- }
- const newObj = document.createElement('input');
- newObj.setAttribute("id", "testInput");
- newObj.setAttribute("data-focus-target", "driverSideOptions");
- document.body.appendChild(newObj);
- const testInputElement = document.getElementById("testInput");
-
- //Act
- vehicleDamage.beforeRouteEnter.call(
- wrapper.vm,
- { query: { fmgPage: "vehicle-damage" } },
- undefined,
- (c) => c(wrapper.vm)
- );
- wrapper.vm.onInvalidSubmit(mockedValidationPayload);
- await nextTick();
- const focusedEl = document.activeElement;
-
- //Assert
- expect(testInputElement).toBe(focusedEl);
- });
-});
-
// THE FOLLOWING TEST IS NOT NECESSARILY REQUIRED FOR COVERAGE
// BUT KEEP FOR AN EXAMPLE OF A VALIDATION TEST
//
diff --git a/src/layouts/vehicle-damage/vehicle-damage.vue b/src/layouts/vehicle-damage/vehicle-damage.vue
index 4268a7f92..ae6ba756e 100644
--- a/src/layouts/vehicle-damage/vehicle-damage.vue
+++ b/src/layouts/vehicle-damage/vehicle-damage.vue
@@ -1,15 +1,14 @@
-
+
+
diff --git a/src/ux-components/button-main/button-main.vue b/src/ux-components/button-main/button-main.vue
index c1f65dac1..60497df84 100644
--- a/src/ux-components/button-main/button-main.vue
+++ b/src/ux-components/button-main/button-main.vue
@@ -55,12 +55,8 @@ export default {
color: $white;
justify-content: center;
font-weight: 500;
- &:hover {
- background: linear-gradient(
- 270deg,
- rgba(6, 87, 124, 1) 0%,
- rgba(6, 87, 124, 1) 100%
- );
+ @media (hover: hover) {
+ background: linear-gradient(270deg, $blue-500 0%, $blue-700 100%);
}
&:focus, // Mouse, touch, stylus focus
&:focus-visible {
diff --git a/src/ux-components/list-button-horizontal/list-button-horizontal.vue b/src/ux-components/list-button-horizontal/list-button-horizontal.vue
index 8ef069c2b..68aceec51 100644
--- a/src/ux-components/list-button-horizontal/list-button-horizontal.vue
+++ b/src/ux-components/list-button-horizontal/list-button-horizontal.vue
@@ -109,11 +109,15 @@ export default {
const fieldOptions = {
type: inputType,
checkedValue: props.value,
+ potentialInitialValue: props.selectedValues,
};
- if (Array.isArray(props.selectedValues) && props.selectedValues.length == 1) {
- fieldOptions['initialValue'] = fieldOptions.checkedValue;
+ // Set initialValue for validation setup if pre-selected
+ // NOTE: props.selectedValues could be an array of strings, or an array of integers...
+ if (props.selectedValues && (props.selectedValues.includes(props.value) || props.selectedValues.includes(parseInt(props.value)))) {
+ fieldOptions['initialValue'] = fieldOptions.potentialInitialValue;
}
+
const {
checked,
handleChange,
@@ -124,6 +128,7 @@ export default {
checked,
handleChange,
errors,
+ fieldOptions, // only need to expose this for unit test purposes
};
},
};
diff --git a/src/ux-components/list-button/list-button.spec.js b/src/ux-components/list-button/list-button.spec.js
index 18707e45f..7cc885b49 100644
--- a/src/ux-components/list-button/list-button.spec.js
+++ b/src/ux-components/list-button/list-button.spec.js
@@ -166,11 +166,15 @@ describe("list-button.vue", () => {
isRequired: true,
isWide: false,
modelValue: ["List Card Checkbox"],
+ buttonID: 'list-card-id'
},
});
+
wrapper.vm.handleCheckChange();
+
// Assert
- expect(wrapper.emitted()["isCheckedChanged"][0]).toEqual([{value: "List Card Checkbox", checkValue: Boolean}]);
+ expect(wrapper.emitted()["isCheckedChanged"][0]).toEqual([{value: "List Card Checkbox", checkValue: Boolean, buttonId: 'list-card-id'}]);
+
});
it("Should set checkValue data if selectedButtonIDs has value(s)", async () => {
@@ -192,4 +196,5 @@ describe("list-button.vue", () => {
// Assert
expect(wrapper.componentVM.checkValue).toEqual("Car-Front");
});
+
});
diff --git a/src/ux-components/list-button/list-button.vue b/src/ux-components/list-button/list-button.vue
index 3a8e65fc0..caef528de 100644
--- a/src/ux-components/list-button/list-button.vue
+++ b/src/ux-components/list-button/list-button.vue
@@ -100,7 +100,13 @@ export default {
handleCheckChange(newValue, oldValue){
const isInitialization = typeof(oldValue) === 'function';
if (!isInitialization) {
- this.$emit('isCheckedChanged', { checkValue: this.checkValue, value: this.value.toString() });
+ const emitEvent = {
+ checkValue: this.checkValue,
+ value: this.value.toString(),
+ buttonId: this.buttonID.toString(),
+ };
+ this.$emit('isCheckedChanged', emitEvent);
+ this.$emit("update:modelValue", emitEvent);
}
},
},
@@ -109,14 +115,19 @@ export default {
},
setup(props) {
const inputType = props.isMultiSelect ? "checkbox" : "radio";
+
const fieldOptions = {
type: inputType,
checkedValue: props.value,
+ potentialInitialValue: props.selectedValues,
};
- if (Array.isArray(props.selectedValues) && props.selectedValues.length == 1) {
- fieldOptions['initialValue'] = fieldOptions.checkedValue;
+ // Set initialValue for validation setup if pre-selected
+ // NOTE: props.selectedValues could be an array of strings, or an array of integers...
+ if (props.selectedValues && (props.selectedValues.includes(props.value) || props.selectedValues.includes(parseInt(props.value)))) {
+ fieldOptions['initialValue'] = fieldOptions.potentialInitialValue;
}
+
const {
checked,
handleChange,
@@ -127,6 +138,7 @@ export default {
checked,
handleChange,
errors,
+ fieldOptions, // only need to expose this for unit test purposes
};
},
};
diff --git a/src/ux-components/list-card/list-card.spec.js b/src/ux-components/list-card/list-card.spec.js
index 743392ee8..11f24abbb 100644
--- a/src/ux-components/list-card/list-card.spec.js
+++ b/src/ux-components/list-card/list-card.spec.js
@@ -232,5 +232,20 @@ describe("list-card.vue", () => {
expect(wrapper.componentVM.checkValue).toEqual("Car-Front");
});
+ it("Should set an initial value for validation if selectedValues include the value", async () => {
+ // Arrange
+ const wrapper = shallowMount(listCard, {
+ propsData: {
+ value: "Windshield",
+ groupName: "radio 1",
+ modelValue: ["Windshield"],
+ selectedValues: ["Windshield"],
+ },
+ });
+
+ // Assert
+ expect(wrapper.vm.fieldOptions.initialValue).toEqual([ 'Windshield' ]);
+ });
+
});
diff --git a/src/ux-components/list-card/list-card.vue b/src/ux-components/list-card/list-card.vue
index 8e88c4b68..a9755904e 100644
--- a/src/ux-components/list-card/list-card.vue
+++ b/src/ux-components/list-card/list-card.vue
@@ -58,6 +58,7 @@