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" />
|
||||
<div class="fade-on-route-transition sub-container make-tall">
|
||||
<radioServicePackage/>
|
||||
<textBlock
|
||||
cmsWidgetName="footerTest"
|
||||
justifyText="left"
|
||||
typeStyle="small"
|
||||
fontWeight=""
|
||||
/>
|
||||
<funnel-footer
|
||||
cmsWidgetName="FunnelFooterWidget"
|
||||
: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 modal from "@/common-components/modal/modal.vue";
|
||||
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 { Form } from "vee-validate";
|
||||
|
|
@ -81,6 +88,7 @@ export default {
|
|||
Form,
|
||||
radioServicePackage,
|
||||
modal,
|
||||
textBlock,
|
||||
},
|
||||
|
||||
};
|
||||
|
|
|
|||
|
|
@ -232,7 +232,7 @@ function navigateToUrl(url, optionalQuery = {}) {
|
|||
for (const queryKey in optionalQuery) {
|
||||
externalUrl.searchParams.append(queryKey, optionalQuery[queryKey]);
|
||||
}
|
||||
|
||||
|
||||
window.location.assign(externalUrl);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
//Typography
|
||||
p {
|
||||
font-size: 16px;
|
||||
p,
|
||||
body {
|
||||
font-size: 1rem;
|
||||
line-height: 1.625;
|
||||
font-weight: 400;
|
||||
}
|
||||
|
|
@ -33,12 +34,21 @@ h6,.h6 {
|
|||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
label {
|
||||
.small {
|
||||
font-size: .875rem;
|
||||
line-height: 1.7;
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
label,
|
||||
.label {
|
||||
font-size: 1rem;
|
||||
line-height: 1.5;
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
caption {
|
||||
caption,
|
||||
.caption {
|
||||
font-size: .75rem;
|
||||
line-height: 1.7;
|
||||
font-weight: 400;
|
||||
|
|
|
|||
Loading…
Reference in a new issue