Merge pull request #703 from Safelite/CSR-735-text-block-component
CSR-735 create text-block component.
This commit is contained in:
commit
b22d9a51ff
5 changed files with 61 additions and 5 deletions
1
src/common-components/text-block/text-block.spec.js
Normal file
1
src/common-components/text-block/text-block.spec.js
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
test.todo("some test to be written in the future");
|
||||||
37
src/common-components/text-block/text-block.vue
Normal file
37
src/common-components/text-block/text-block.vue
Normal file
|
|
@ -0,0 +1,37 @@
|
||||||
|
<template>
|
||||||
|
<div class="text-block d-flex w-100 mt-4" :class="[justifyText, typeStyle, fontWeight]" v-html="this.TextBlockCopy"></div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name: 'textBlock',
|
||||||
|
props: {
|
||||||
|
justifyText: String,// left, right, center
|
||||||
|
typeStyle: String, // h1-h6, body, small, label, caption (see Figma or Confluence documentation)
|
||||||
|
fontWeight: String,// bold=500, default is 400
|
||||||
|
cmsWidgetName: String,
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
TextBlockCopy(){
|
||||||
|
return this.getCmsContent(this.cmsWidgetName, "Text");
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.text-block {
|
||||||
|
&.left {
|
||||||
|
justify-content: flex-start;
|
||||||
|
}
|
||||||
|
&.right {
|
||||||
|
justify-content: flex-end;
|
||||||
|
}
|
||||||
|
&.center {
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
&.bold {
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
@ -12,6 +12,12 @@
|
||||||
<funnelSubHeader cmsWidgetName="FunnelSubHeaderWidget" />
|
<funnelSubHeader cmsWidgetName="FunnelSubHeaderWidget" />
|
||||||
<div class="fade-on-route-transition sub-container make-tall">
|
<div class="fade-on-route-transition sub-container make-tall">
|
||||||
<radioServicePackage/>
|
<radioServicePackage/>
|
||||||
|
<textBlock
|
||||||
|
cmsWidgetName="footerTest"
|
||||||
|
justifyText="left"
|
||||||
|
typeStyle="small"
|
||||||
|
fontWeight=""
|
||||||
|
/>
|
||||||
<funnel-footer
|
<funnel-footer
|
||||||
cmsWidgetName="FunnelFooterWidget"
|
cmsWidgetName="FunnelFooterWidget"
|
||||||
:isForwardActionDisabled="!meta.valid"
|
:isForwardActionDisabled="!meta.valid"
|
||||||
|
|
@ -36,6 +42,7 @@ import funnelSubHeader from "@/common-components/funnel-sub-header/funnel-sub-he
|
||||||
import radioServicePackage from "@/ux-components/radio-service-package/radio-service-package";
|
import radioServicePackage from "@/ux-components/radio-service-package/radio-service-package";
|
||||||
import modal from "@/common-components/modal/modal.vue";
|
import modal from "@/common-components/modal/modal.vue";
|
||||||
import cashOrInsuranceQuestion from "./cash-or-insurance-question/cash-or-insurance-question";
|
import cashOrInsuranceQuestion from "./cash-or-insurance-question/cash-or-insurance-question";
|
||||||
|
import textBlock from "@/common-components/text-block/text-block";
|
||||||
|
|
||||||
import { fetchCmsContentForPage } from "@/helpers/cms-content-helper";
|
import { fetchCmsContentForPage } from "@/helpers/cms-content-helper";
|
||||||
import { Form } from "vee-validate";
|
import { Form } from "vee-validate";
|
||||||
|
|
@ -81,6 +88,7 @@ export default {
|
||||||
Form,
|
Form,
|
||||||
radioServicePackage,
|
radioServicePackage,
|
||||||
modal,
|
modal,
|
||||||
|
textBlock,
|
||||||
},
|
},
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -232,7 +232,7 @@ function navigateToUrl(url, optionalQuery = {}) {
|
||||||
for (const queryKey in optionalQuery) {
|
for (const queryKey in optionalQuery) {
|
||||||
externalUrl.searchParams.append(queryKey, optionalQuery[queryKey]);
|
externalUrl.searchParams.append(queryKey, optionalQuery[queryKey]);
|
||||||
}
|
}
|
||||||
|
|
||||||
window.location.assign(externalUrl);
|
window.location.assign(externalUrl);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
//Typography
|
//Typography
|
||||||
p {
|
p,
|
||||||
font-size: 16px;
|
body {
|
||||||
|
font-size: 1rem;
|
||||||
line-height: 1.625;
|
line-height: 1.625;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
}
|
}
|
||||||
|
|
@ -33,12 +34,21 @@ h6,.h6 {
|
||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
}
|
}
|
||||||
|
|
||||||
label {
|
.small {
|
||||||
|
font-size: .875rem;
|
||||||
|
line-height: 1.7;
|
||||||
|
font-weight: 400;
|
||||||
|
}
|
||||||
|
|
||||||
|
label,
|
||||||
|
.label {
|
||||||
|
font-size: 1rem;
|
||||||
line-height: 1.5;
|
line-height: 1.5;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
}
|
}
|
||||||
|
|
||||||
caption {
|
caption,
|
||||||
|
.caption {
|
||||||
font-size: .75rem;
|
font-size: .75rem;
|
||||||
line-height: 1.7;
|
line-height: 1.7;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue