@npm_leadtech/legal-lib-components 5.2.16 → 5.2.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/css/styles.css +113 -24
- package/dist/images/svg/arrow-right-24px-outlined.svg +3 -0
- package/dist/src/components/atoms/CardPane/CardPane.scss +2 -20
- package/dist/src/components/atoms/CardPane/CardPaneInfo.js +4 -5
- package/dist/src/components/atoms/CardPane/CardPaneInfo.tsx +3 -14
- package/dist/src/components/atoms/CardPane/CardPaneProps.types.d.ts +0 -1
- package/dist/src/components/atoms/CardPane/CardPaneProps.types.ts +0 -1
- package/dist/src/components/molecules/Article/Article.js +3 -2
- package/dist/src/components/molecules/Article/Article.scss +17 -0
- package/dist/src/components/molecules/Article/Article.tsx +17 -2
- package/dist/src/components/molecules/Article/ArticleProps.types.d.ts +1 -0
- package/dist/src/components/molecules/Article/ArticleProps.types.ts +1 -0
- package/dist/src/components/molecules/TrustworthyWebsites/TrustworthyWebsites.scss +1 -1
- package/dist/src/components/organisms/ArticlesList/ArticlesList.js +2 -2
- package/dist/src/components/organisms/ArticlesList/ArticlesList.tsx +2 -2
- package/dist/src/components/organisms/ArticlesList/ArticlesListProps.types.d.ts +1 -0
- package/dist/src/components/organisms/ArticlesList/ArticlesListProps.types.ts +1 -0
- package/dist/src/components/organisms/GuidelinesContent/GuidelinesContent.scss +8 -2
- package/dist/src/components/sections/AsSeeInSection/AsSeeInSection.js +2 -2
- package/dist/src/components/sections/AsSeeInSection/AsSeeInSection.scss +67 -1
- package/dist/src/components/sections/AsSeeInSection/AsSeeInSection.tsx +24 -1
- package/dist/src/components/sections/AsSeeInSection/AsSeeInSectionProps.types.d.ts +7 -0
- package/dist/src/components/sections/AsSeeInSection/AsSeeInSectionProps.types.ts +7 -0
- package/dist/src/components/sections/BlogSection/BlogSection.js +4 -3
- package/dist/src/components/sections/BlogSection/BlogSection.scss +21 -0
- package/dist/src/components/sections/BlogSection/BlogSection.tsx +9 -5
- package/dist/src/components/sections/BlogSection/BlogSectionProps.types.d.ts +2 -1
- package/dist/src/components/sections/BlogSection/BlogSectionProps.types.ts +2 -1
- package/dist/src/components/sections/PeopleSayAboutUsSection/PeopleSayAboutUsSection.scss +5 -0
- package/dist/src/custom.d.ts +1 -1
- package/package.json +1 -1
package/dist/css/styles.css
CHANGED
|
@@ -1283,7 +1283,6 @@ html[data-theme=lawdistrict] .e-button.--primary-3 {
|
|
|
1283
1283
|
}
|
|
1284
1284
|
.pane-wrapper:nth-child(2) {
|
|
1285
1285
|
text-align: right;
|
|
1286
|
-
padding-right: 0;
|
|
1287
1286
|
}
|
|
1288
1287
|
@media (min-width: 328px) and (max-width: 720px) {
|
|
1289
1288
|
.pane-wrapper:nth-child(2) {
|
|
@@ -1292,21 +1291,9 @@ html[data-theme=lawdistrict] .e-button.--primary-3 {
|
|
|
1292
1291
|
}
|
|
1293
1292
|
.pane-wrapper:nth-child(3) {
|
|
1294
1293
|
margin-top: 30px;
|
|
1295
|
-
padding-right: 0;
|
|
1296
|
-
}
|
|
1297
|
-
.pane-wrapper:nth-child(4) {
|
|
1298
|
-
margin-top: 45px;
|
|
1299
|
-
text-align: right;
|
|
1300
1294
|
}
|
|
1301
|
-
|
|
1302
|
-
|
|
1303
|
-
text-align: left;
|
|
1304
|
-
margin-top: 16px;
|
|
1305
|
-
}
|
|
1306
|
-
}
|
|
1307
|
-
.pane-wrapper:nth-child(4) .pane--title {
|
|
1308
|
-
font-size: 0.75rem;
|
|
1309
|
-
padding: 0;
|
|
1295
|
+
.pane-wrapper:last-child {
|
|
1296
|
+
padding-right: 0;
|
|
1310
1297
|
}
|
|
1311
1298
|
.pane-wrapper span {
|
|
1312
1299
|
display: block;
|
|
@@ -1316,8 +1303,6 @@ html[data-theme=lawdistrict] .e-button.--primary-3 {
|
|
|
1316
1303
|
text-indent: -0.625rem;
|
|
1317
1304
|
}
|
|
1318
1305
|
.pane--title {
|
|
1319
|
-
border: none;
|
|
1320
|
-
background: none;
|
|
1321
1306
|
color: var(--neutral-neutral-2);
|
|
1322
1307
|
font-size: 0.875rem;
|
|
1323
1308
|
line-height: 1.29;
|
|
@@ -1337,9 +1322,6 @@ html[data-theme=lawdistrict] .e-button.--primary-3 {
|
|
|
1337
1322
|
font-size: 0.875rem;
|
|
1338
1323
|
}
|
|
1339
1324
|
}
|
|
1340
|
-
.pane--title.pane--title--button {
|
|
1341
|
-
cursor: pointer;
|
|
1342
|
-
}
|
|
1343
1325
|
.pane--description {
|
|
1344
1326
|
color: var(--neutral-main);
|
|
1345
1327
|
font-size: 1rem;
|
|
@@ -4664,6 +4646,21 @@ html[data-theme=lawdistrict] .document-status.--is-new .icon {
|
|
|
4664
4646
|
margin-top: 0;
|
|
4665
4647
|
}
|
|
4666
4648
|
}
|
|
4649
|
+
.article .information .button-image-container {
|
|
4650
|
+
align-items: center;
|
|
4651
|
+
margin: 1rem 0 2rem 0;
|
|
4652
|
+
display: flex;
|
|
4653
|
+
}
|
|
4654
|
+
.article .information .button-image-container .thinner-letter {
|
|
4655
|
+
font-family: "Inter", sans-serif;
|
|
4656
|
+
font-size: 16px;
|
|
4657
|
+
font-weight: 400;
|
|
4658
|
+
line-height: 22px;
|
|
4659
|
+
letter-spacing: -0.3px;
|
|
4660
|
+
text-align: left;
|
|
4661
|
+
margin: 0;
|
|
4662
|
+
padding: 0 1rem 0 0;
|
|
4663
|
+
}
|
|
4667
4664
|
.base-box-group {
|
|
4668
4665
|
display: block;
|
|
4669
4666
|
}
|
|
@@ -6428,7 +6425,7 @@ html[data-theme=lawdistrict] .document-status.--is-new .icon {
|
|
|
6428
6425
|
}
|
|
6429
6426
|
.trustworthy-websites__image {
|
|
6430
6427
|
margin: 1.5rem;
|
|
6431
|
-
max-width:
|
|
6428
|
+
max-width: 7rem;
|
|
6432
6429
|
}
|
|
6433
6430
|
.type-modules-list {
|
|
6434
6431
|
display: flex;
|
|
@@ -6869,8 +6866,15 @@ html[data-theme=lawdistrict] .document-status.--is-new .icon {
|
|
|
6869
6866
|
}
|
|
6870
6867
|
.guidelines-section-main {
|
|
6871
6868
|
display: flex;
|
|
6872
|
-
flex-direction:
|
|
6869
|
+
flex-direction: column;
|
|
6873
6870
|
flex-wrap: nowrap;
|
|
6871
|
+
padding: 1.5rem;
|
|
6872
|
+
}
|
|
6873
|
+
@media (min-width: 960px) {
|
|
6874
|
+
.guidelines-section-main {
|
|
6875
|
+
flex-direction: row;
|
|
6876
|
+
padding: 0;
|
|
6877
|
+
}
|
|
6874
6878
|
}
|
|
6875
6879
|
.guidelines-section__texts {
|
|
6876
6880
|
flex-basis: 50%;
|
|
@@ -6927,7 +6931,7 @@ html[data-theme=lawdistrict] .document-status.--is-new .icon {
|
|
|
6927
6931
|
}
|
|
6928
6932
|
}
|
|
6929
6933
|
.guidelines-section__image.is-mobile {
|
|
6930
|
-
display:
|
|
6934
|
+
display: none;
|
|
6931
6935
|
}
|
|
6932
6936
|
@media (min-width: 720px) {
|
|
6933
6937
|
.guidelines-section__image.is-mobile {
|
|
@@ -7529,9 +7533,14 @@ html[data-theme=lawdistrict] .document-status.--is-new .icon {
|
|
|
7529
7533
|
flex-direction: column;
|
|
7530
7534
|
box-shadow: 0px 2px 6px 0px rgba(2, 55, 74, 0.25);
|
|
7531
7535
|
background: var(--others-white);
|
|
7532
|
-
transform: translateY(-
|
|
7536
|
+
transform: translateY(-5rem);
|
|
7533
7537
|
padding: 1.5rem 0;
|
|
7534
7538
|
}
|
|
7539
|
+
@media (min-width: 960px) {
|
|
7540
|
+
.as-seen-in-section-box .as-seen-in-section {
|
|
7541
|
+
transform: translateY(-50%);
|
|
7542
|
+
}
|
|
7543
|
+
}
|
|
7535
7544
|
.as-seen-in-section-box .as-seen-in-section__title {
|
|
7536
7545
|
text-align: center;
|
|
7537
7546
|
font-size: 32px;
|
|
@@ -7542,6 +7551,61 @@ html[data-theme=lawdistrict] .document-status.--is-new .icon {
|
|
|
7542
7551
|
letter-spacing: -0.3px;
|
|
7543
7552
|
margin: 1rem 0;
|
|
7544
7553
|
}
|
|
7554
|
+
.contact-us-section {
|
|
7555
|
+
display: flex;
|
|
7556
|
+
flex-direction: column;
|
|
7557
|
+
transform: translateY(-5rem);
|
|
7558
|
+
color: var(--neutral-neutral-1);
|
|
7559
|
+
margin-top: 1rem;
|
|
7560
|
+
}
|
|
7561
|
+
.contact-us-section__title {
|
|
7562
|
+
text-align: center;
|
|
7563
|
+
font-size: 32px;
|
|
7564
|
+
font-family: "Lora", serif;
|
|
7565
|
+
font-style: normal;
|
|
7566
|
+
font-weight: 400;
|
|
7567
|
+
line-height: 42px;
|
|
7568
|
+
letter-spacing: -0.3px;
|
|
7569
|
+
margin: 1rem 0;
|
|
7570
|
+
}
|
|
7571
|
+
.contact-us-section__text {
|
|
7572
|
+
text-align: center;
|
|
7573
|
+
font-style: normal;
|
|
7574
|
+
font-weight: 400;
|
|
7575
|
+
margin: 0 0 2rem 0;
|
|
7576
|
+
}
|
|
7577
|
+
.contact-us-section-blocks {
|
|
7578
|
+
display: flex;
|
|
7579
|
+
justify-content: center;
|
|
7580
|
+
flex-direction: column;
|
|
7581
|
+
gap: 1rem;
|
|
7582
|
+
}
|
|
7583
|
+
@media (min-width: 960px) {
|
|
7584
|
+
.contact-us-section-blocks {
|
|
7585
|
+
flex-direction: row;
|
|
7586
|
+
gap: 2.5rem;
|
|
7587
|
+
}
|
|
7588
|
+
}
|
|
7589
|
+
.contact-us-section-blocks__item {
|
|
7590
|
+
display: flex;
|
|
7591
|
+
flex-direction: column;
|
|
7592
|
+
align-items: center;
|
|
7593
|
+
background-color: white;
|
|
7594
|
+
box-shadow: 0px 2px 6px 0px rgba(2, 55, 74, 0.25);
|
|
7595
|
+
border-radius: 0.25rem;
|
|
7596
|
+
min-width: 200px;
|
|
7597
|
+
padding: 1rem;
|
|
7598
|
+
}
|
|
7599
|
+
.contact-us-section-blocks__item__image {
|
|
7600
|
+
width: 2rem;
|
|
7601
|
+
}
|
|
7602
|
+
.contact-us-section-blocks__item__title {
|
|
7603
|
+
margin-top: 1rem;
|
|
7604
|
+
line-height: 1rem;
|
|
7605
|
+
}
|
|
7606
|
+
.contact-us-section-blocks__item__text {
|
|
7607
|
+
font-size: 14px;
|
|
7608
|
+
}
|
|
7545
7609
|
.benefit-ratafia-section {
|
|
7546
7610
|
display: flex;
|
|
7547
7611
|
justify-content: center;
|
|
@@ -7610,6 +7674,16 @@ html[data-theme=lawdistrict] .document-status.--is-new .icon {
|
|
|
7610
7674
|
max-width: 1200px;
|
|
7611
7675
|
}
|
|
7612
7676
|
}
|
|
7677
|
+
.blog .blog__description {
|
|
7678
|
+
font-family: "Inter", sans-serif;
|
|
7679
|
+
font-size: 16px;
|
|
7680
|
+
font-weight: 400;
|
|
7681
|
+
line-height: 22px;
|
|
7682
|
+
letter-spacing: -0.3px;
|
|
7683
|
+
text-align: left;
|
|
7684
|
+
color: #6d7275;
|
|
7685
|
+
margin: 1rem 0 1.5rem 0;
|
|
7686
|
+
}
|
|
7613
7687
|
.blog .blog__title {
|
|
7614
7688
|
color: var(--primary-main-dark-1);
|
|
7615
7689
|
}
|
|
@@ -7618,6 +7692,15 @@ html[data-theme=lawdistrict] .document-status.--is-new .icon {
|
|
|
7618
7692
|
margin-bottom: 3rem;
|
|
7619
7693
|
}
|
|
7620
7694
|
}
|
|
7695
|
+
.blog .blog__title.category-product-title {
|
|
7696
|
+
margin-bottom: 0;
|
|
7697
|
+
font-family: "Inter", sans-serif;
|
|
7698
|
+
font-size: 28px;
|
|
7699
|
+
font-weight: 700;
|
|
7700
|
+
line-height: 32px;
|
|
7701
|
+
letter-spacing: -0.3px;
|
|
7702
|
+
text-align: left;
|
|
7703
|
+
}
|
|
7621
7704
|
.blog .cta-button {
|
|
7622
7705
|
width: 100%;
|
|
7623
7706
|
margin-top: 3rem;
|
|
@@ -8193,6 +8276,12 @@ html[data-theme=lawdistrict] .document-status.--is-new .icon {
|
|
|
8193
8276
|
width: 100%;
|
|
8194
8277
|
margin: 0 auto;
|
|
8195
8278
|
text-align: center;
|
|
8279
|
+
padding: 1.5rem;
|
|
8280
|
+
}
|
|
8281
|
+
@media (min-width: 960px) {
|
|
8282
|
+
.people-say {
|
|
8283
|
+
padding: 0;
|
|
8284
|
+
}
|
|
8196
8285
|
}
|
|
8197
8286
|
@media (min-width: 1200px) {
|
|
8198
8287
|
.people-say {
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path d="M8.70531 0.705315C8.31578 0.31578 7.68422 0.31578 7.29468 0.705316C6.9054 1.0946 6.90511 1.72568 7.29405 2.11531L12.17 7H0.999999C0.447714 7 0 7.44772 0 8C0 8.55229 0.447715 9 1 9H12.17L7.29405 13.8847C6.90511 14.2743 6.9054 14.9054 7.29468 15.2947C7.68422 15.6842 8.31578 15.6842 8.70532 15.2947L15.2929 8.70711C15.6834 8.31658 15.6834 7.68342 15.2929 7.29289L8.70531 0.705315Z" fill="#078080"/>
|
|
3
|
+
</svg>
|
|
@@ -51,28 +51,16 @@
|
|
|
51
51
|
}
|
|
52
52
|
&:nth-child(2) {
|
|
53
53
|
text-align: right;
|
|
54
|
-
padding-right: 0;
|
|
55
54
|
@media (min-width: #{$xxs}) and (max-width: #{$sm}) {
|
|
56
55
|
text-align: left;
|
|
57
56
|
}
|
|
58
57
|
}
|
|
59
58
|
&:nth-child(3) {
|
|
60
59
|
margin-top: 30px;
|
|
61
|
-
padding-right: 0;
|
|
62
60
|
}
|
|
63
|
-
&:
|
|
64
|
-
|
|
65
|
-
text-align: right;
|
|
66
|
-
@media (min-width: #{$xxs}) and (max-width: #{$sm}) {
|
|
67
|
-
text-align: left;
|
|
68
|
-
margin-top: 16px;
|
|
69
|
-
}
|
|
70
|
-
.pane--title {
|
|
71
|
-
font-size: 0.75rem;
|
|
72
|
-
padding: 0;
|
|
73
|
-
}
|
|
61
|
+
&:last-child {
|
|
62
|
+
padding-right: 0;
|
|
74
63
|
}
|
|
75
|
-
|
|
76
64
|
span {
|
|
77
65
|
display: block;
|
|
78
66
|
&.marker {
|
|
@@ -82,8 +70,6 @@
|
|
|
82
70
|
}
|
|
83
71
|
}
|
|
84
72
|
&--title {
|
|
85
|
-
border: none;
|
|
86
|
-
background: none;
|
|
87
73
|
color: get-color(neutral, neutral-2);
|
|
88
74
|
font-size: 0.875rem;
|
|
89
75
|
line-height: 1.29;
|
|
@@ -96,10 +82,6 @@
|
|
|
96
82
|
@include laptop {
|
|
97
83
|
font-size: 0.875rem;
|
|
98
84
|
}
|
|
99
|
-
|
|
100
|
-
&.pane--title--button {
|
|
101
|
-
cursor: pointer;
|
|
102
|
-
}
|
|
103
85
|
}
|
|
104
86
|
&--description {
|
|
105
87
|
color: get-color(neutral);
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { jsx as _jsx,
|
|
2
|
-
const CardPaneInfo = ({ description, subdescription, id, title
|
|
3
|
-
const paneTitle = (_jsx(_Fragment, { children: handleClick ? (_jsx("button", { onClick: handleClick, className: 'pane--title pane--title--button', children: title })) : (_jsx("div", { className: 'pane--title', children: title })) }));
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
const CardPaneInfo = ({ description, subdescription, id, title }) => {
|
|
4
3
|
if (description === 'Active' || description === 'Inactive') {
|
|
5
4
|
let descriptionClass;
|
|
6
5
|
if (description === 'Active') {
|
|
@@ -9,8 +8,8 @@ const CardPaneInfo = ({ description, subdescription, id, title, handleClick }) =
|
|
|
9
8
|
else if (description === 'Inactive') {
|
|
10
9
|
descriptionClass = 'pane--description--inactive';
|
|
11
10
|
}
|
|
12
|
-
return (_jsxs("div", { className: 'pane-wrapper', children: [
|
|
11
|
+
return (_jsxs("div", { className: 'pane-wrapper', children: [_jsx("div", { className: 'pane--title', children: title }), _jsx("div", { "data-testid": 'description-div', className: descriptionClass, children: _jsx("li", { className: 'position', children: _jsx("div", { className: 'marker', children: description }) }) })] }, id));
|
|
13
12
|
}
|
|
14
|
-
return (_jsxs("div", { className: 'pane-wrapper', children: [
|
|
13
|
+
return (_jsxs("div", { className: 'pane-wrapper', children: [_jsx("div", { className: 'pane--title', children: title }), _jsxs("div", { className: 'pane--description', children: [description, subdescription !== undefined && _jsx("span", { className: 'pane--description--subdescription', children: subdescription })] })] }, id));
|
|
15
14
|
};
|
|
16
15
|
export default CardPaneInfo;
|
|
@@ -4,18 +4,7 @@ import React, { type FC } from 'react'
|
|
|
4
4
|
|
|
5
5
|
import { type CardPaneInfoProps } from './CardPaneProps.types'
|
|
6
6
|
|
|
7
|
-
const CardPaneInfo: FC<CardPaneInfoProps> = ({ description, subdescription, id, title
|
|
8
|
-
const paneTitle = (
|
|
9
|
-
<>
|
|
10
|
-
{handleClick ? (
|
|
11
|
-
<button onClick={handleClick} className='pane--title pane--title--button'>
|
|
12
|
-
{title}
|
|
13
|
-
</button>
|
|
14
|
-
) : (
|
|
15
|
-
<div className='pane--title'>{title}</div>
|
|
16
|
-
)}
|
|
17
|
-
</>
|
|
18
|
-
)
|
|
7
|
+
const CardPaneInfo: FC<CardPaneInfoProps> = ({ description, subdescription, id, title }) => {
|
|
19
8
|
if (description === 'Active' || description === 'Inactive') {
|
|
20
9
|
let descriptionClass
|
|
21
10
|
if (description === 'Active') {
|
|
@@ -25,7 +14,7 @@ const CardPaneInfo: FC<CardPaneInfoProps> = ({ description, subdescription, id,
|
|
|
25
14
|
}
|
|
26
15
|
return (
|
|
27
16
|
<div key={id} className='pane-wrapper'>
|
|
28
|
-
{
|
|
17
|
+
<div className='pane--title'>{title}</div>
|
|
29
18
|
<div data-testid='description-div' className={descriptionClass}>
|
|
30
19
|
<li className='position'>
|
|
31
20
|
<div className='marker'>{description}</div>
|
|
@@ -37,7 +26,7 @@ const CardPaneInfo: FC<CardPaneInfoProps> = ({ description, subdescription, id,
|
|
|
37
26
|
|
|
38
27
|
return (
|
|
39
28
|
<div key={id} className='pane-wrapper'>
|
|
40
|
-
{
|
|
29
|
+
<div className='pane--title'>{title}</div>
|
|
41
30
|
<div className='pane--description'>
|
|
42
31
|
{description}
|
|
43
32
|
{subdescription !== undefined && <span className='pane--description--subdescription'>{subdescription}</span>}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import ArrowRight from '../../../../images/svg/arrow-right-24px-outlined.svg';
|
|
2
3
|
import { Button } from '../../atoms';
|
|
3
4
|
// import './Article.scss'
|
|
4
|
-
const Article = ({ imageUrl, title, articleUrl, summary }) => {
|
|
5
|
-
return (_jsxs("div", { className: 'article', children: [_jsx("img", { src: imageUrl, className: 'image', loading: 'lazy', alt: title }), _jsxs("div", { className: 'information', children: [_jsx("a", { href: articleUrl, target: '_blank', rel: 'noreferrer', children: _jsxs("p", { className: 'title sans-serif --big', children: [title, " "] }) }), _jsx("div", { className: 'summary', children: summary }), _jsx(Button, { color: 'tertiary', label: 'Read more', dataQa: 'article-read-more', link: articleUrl, isExternal: true })] })] }));
|
|
5
|
+
const Article = ({ imageUrl, title, articleUrl, summary, isCategoryProductPage }) => {
|
|
6
|
+
return (_jsxs("div", { className: 'article', children: [_jsx("img", { src: imageUrl, className: 'image', loading: 'lazy', alt: title }), _jsxs("div", { className: 'information', children: [_jsx("a", { href: articleUrl, target: '_blank', rel: 'noreferrer', children: _jsxs("p", { className: 'title sans-serif --big', children: [title, " "] }) }), _jsx("div", { className: 'summary', children: summary }), isCategoryProductPage ? (_jsxs("div", { className: 'button-image-container', children: [_jsx(Button, { givenClass: 'thinner-letter', color: 'tertiary', label: 'Read more', dataQa: 'article-read-more', link: articleUrl, isExternal: true }), _jsx("img", { className: 'article__arrow-right', src: ArrowRight, alt: '' })] })) : (_jsx(Button, { color: 'tertiary', label: 'Read more', dataQa: 'article-read-more', link: articleUrl, isExternal: true }))] })] }));
|
|
6
7
|
};
|
|
7
8
|
export default Article;
|
|
@@ -62,5 +62,22 @@
|
|
|
62
62
|
margin-top: 0;
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
|
+
|
|
66
|
+
.button-image-container {
|
|
67
|
+
align-items: center;
|
|
68
|
+
margin: 1rem 0 2rem 0;
|
|
69
|
+
display: flex;
|
|
70
|
+
|
|
71
|
+
.thinner-letter {
|
|
72
|
+
font-family: $font-sans;
|
|
73
|
+
font-size: 16px;
|
|
74
|
+
font-weight: 400;
|
|
75
|
+
line-height: 22px;
|
|
76
|
+
letter-spacing: -0.3px;
|
|
77
|
+
text-align: left;
|
|
78
|
+
margin: 0;
|
|
79
|
+
padding: 0 1rem 0 0;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
65
82
|
}
|
|
66
83
|
}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import React, { type FC } from 'react'
|
|
2
2
|
|
|
3
|
+
import ArrowRight from '../../../../images/svg/arrow-right-24px-outlined.svg'
|
|
3
4
|
import { type ArticleProps } from './ArticleProps.types'
|
|
4
5
|
import { Button } from '../../atoms'
|
|
5
6
|
// import './Article.scss'
|
|
6
7
|
|
|
7
|
-
const Article: FC<ArticleProps> = ({ imageUrl, title, articleUrl, summary }) => {
|
|
8
|
+
const Article: FC<ArticleProps> = ({ imageUrl, title, articleUrl, summary, isCategoryProductPage }) => {
|
|
8
9
|
return (
|
|
9
10
|
<div className='article'>
|
|
10
11
|
<img src={imageUrl} className='image' loading='lazy' alt={title} />
|
|
@@ -13,7 +14,21 @@ const Article: FC<ArticleProps> = ({ imageUrl, title, articleUrl, summary }) =>
|
|
|
13
14
|
<p className='title sans-serif --big'>{title} </p>
|
|
14
15
|
</a>
|
|
15
16
|
<div className='summary'>{summary}</div>
|
|
16
|
-
|
|
17
|
+
{isCategoryProductPage ? (
|
|
18
|
+
<div className='button-image-container'>
|
|
19
|
+
<Button
|
|
20
|
+
givenClass='thinner-letter'
|
|
21
|
+
color='tertiary'
|
|
22
|
+
label={'Read more'}
|
|
23
|
+
dataQa='article-read-more'
|
|
24
|
+
link={articleUrl}
|
|
25
|
+
isExternal
|
|
26
|
+
/>
|
|
27
|
+
<img className='article__arrow-right' src={ArrowRight} alt=''></img>
|
|
28
|
+
</div>
|
|
29
|
+
) : (
|
|
30
|
+
<Button color='tertiary' label={'Read more'} dataQa='article-read-more' link={articleUrl} isExternal />
|
|
31
|
+
)}
|
|
17
32
|
</div>
|
|
18
33
|
</div>
|
|
19
34
|
)
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { Article } from '../../molecules';
|
|
3
3
|
// import './ArticlesList.scss'
|
|
4
|
-
const ArticlesList = ({ articles = [] }) => {
|
|
4
|
+
const ArticlesList = ({ articles = [], isCategoryProductPage }) => {
|
|
5
5
|
if (articles?.length === 0)
|
|
6
6
|
return null;
|
|
7
|
-
return (_jsx("div", { className: 'articles_wrapper', children: articles.map((article) => (_jsx(Article, { ...article }, `article_${article?.id}`))) }));
|
|
7
|
+
return (_jsx("div", { className: 'articles_wrapper', children: articles.map((article) => (_jsx(Article, { ...article, isCategoryProductPage: isCategoryProductPage }, `article_${article?.id}`))) }));
|
|
8
8
|
};
|
|
9
9
|
export default ArticlesList;
|
|
@@ -5,13 +5,13 @@ import { Article, type ArticleProps } from '../../molecules'
|
|
|
5
5
|
import { type ArticlesListProps } from './ArticlesListProps.types'
|
|
6
6
|
// import './ArticlesList.scss'
|
|
7
7
|
|
|
8
|
-
const ArticlesList: FC<ArticlesListProps> = ({ articles = [] }) => {
|
|
8
|
+
const ArticlesList: FC<ArticlesListProps> = ({ articles = [], isCategoryProductPage }) => {
|
|
9
9
|
if (articles?.length === 0) return null
|
|
10
10
|
|
|
11
11
|
return (
|
|
12
12
|
<div className='articles_wrapper'>
|
|
13
13
|
{articles.map((article: ArticleProps) => (
|
|
14
|
-
<Article key={`article_${article?.id}`} {...article} />
|
|
14
|
+
<Article key={`article_${article?.id}`} {...article} isCategoryProductPage={isCategoryProductPage} />
|
|
15
15
|
))}
|
|
16
16
|
</div>
|
|
17
17
|
)
|
|
@@ -4,8 +4,14 @@
|
|
|
4
4
|
.guidelines-section {
|
|
5
5
|
&-main {
|
|
6
6
|
display: flex;
|
|
7
|
-
flex-direction:
|
|
7
|
+
flex-direction: column;
|
|
8
8
|
flex-wrap: nowrap;
|
|
9
|
+
padding: 1.5rem;
|
|
10
|
+
|
|
11
|
+
@include laptop {
|
|
12
|
+
flex-direction: row;
|
|
13
|
+
padding: 0;
|
|
14
|
+
}
|
|
9
15
|
}
|
|
10
16
|
|
|
11
17
|
&__texts {
|
|
@@ -65,7 +71,7 @@
|
|
|
65
71
|
}
|
|
66
72
|
|
|
67
73
|
&.is-mobile {
|
|
68
|
-
display:
|
|
74
|
+
display: none;
|
|
69
75
|
|
|
70
76
|
@include landscape-tablets {
|
|
71
77
|
display: none;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { AsSeeInContent } from '../../organisms';
|
|
3
3
|
// import './AsSeeInSection.scss'
|
|
4
|
-
const AsSeeInSection = ({ title, contentAsSeeIn }) => {
|
|
4
|
+
const AsSeeInSection = ({ title, contentAsSeeIn, contactSectionTitle, contactSectionText, contactSectionBlocks }) => {
|
|
5
5
|
if (contentAsSeeIn.trustWorthyImages.images.length === 0) {
|
|
6
6
|
return null;
|
|
7
7
|
}
|
|
8
|
-
return (
|
|
8
|
+
return (_jsxs("section", { className: 'as-seen-in-section-box', children: [_jsxs("div", { className: 'as-seen-in-section wrapper', children: [_jsx("h2", { className: 'as-seen-in-section__title', children: title }), _jsx(AsSeeInContent, { trustWorthyImages: contentAsSeeIn.trustWorthyImages, children: contentAsSeeIn.children })] }), Array.isArray(contactSectionBlocks) && contactSectionBlocks.length > 0 && (_jsxs("div", { className: 'contact-us-section', children: [_jsx("h2", { className: 'contact-us-section__title', children: contactSectionTitle }), _jsx("p", { className: 'contact-us-section__text', children: contactSectionText }), Array.isArray(contactSectionBlocks) && (_jsx("div", { className: 'contact-us-section-blocks', children: contactSectionBlocks.map((item, index) => (_jsxs("div", { className: 'contact-us-section-blocks__item', children: [_jsx("div", { className: 'contact-us-section-blocks__item__image', children: item.image }), _jsx("div", { className: 'contact-us-section-blocks__item__title', children: item.title }), _jsx("p", { className: 'contact-us-section-blocks__item__text', children: item.body })] }, index))) }))] }))] }));
|
|
9
9
|
};
|
|
10
10
|
export default AsSeeInSection;
|
|
@@ -14,9 +14,13 @@
|
|
|
14
14
|
flex-direction: column;
|
|
15
15
|
box-shadow: 0px 2px 6px 0px rgba(2, 55, 74, 0.25);
|
|
16
16
|
background: get-color(others, white);
|
|
17
|
-
transform: translateY(-
|
|
17
|
+
transform: translateY(-5rem);
|
|
18
18
|
padding: 1.5rem 0;
|
|
19
19
|
|
|
20
|
+
@include laptop {
|
|
21
|
+
transform: translateY(-50%);
|
|
22
|
+
}
|
|
23
|
+
|
|
20
24
|
&__title {
|
|
21
25
|
text-align: center;
|
|
22
26
|
font-size: 32px;
|
|
@@ -29,3 +33,65 @@
|
|
|
29
33
|
}
|
|
30
34
|
}
|
|
31
35
|
}
|
|
36
|
+
|
|
37
|
+
.contact-us-section {
|
|
38
|
+
display: flex;
|
|
39
|
+
flex-direction: column;
|
|
40
|
+
transform: translateY(-5rem);
|
|
41
|
+
color: var(--neutral-neutral-1);
|
|
42
|
+
margin-top: 1rem;
|
|
43
|
+
|
|
44
|
+
&__title {
|
|
45
|
+
text-align: center;
|
|
46
|
+
font-size: 32px;
|
|
47
|
+
font-family: $font-serif;
|
|
48
|
+
font-style: normal;
|
|
49
|
+
font-weight: 400;
|
|
50
|
+
line-height: 42px;
|
|
51
|
+
letter-spacing: -0.3px;
|
|
52
|
+
margin: 1rem 0;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
&__text {
|
|
56
|
+
text-align: center;
|
|
57
|
+
font-style: normal;
|
|
58
|
+
font-weight: 400;
|
|
59
|
+
margin: 0 0 2rem 0;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
&-blocks {
|
|
63
|
+
display: flex;
|
|
64
|
+
justify-content: center;
|
|
65
|
+
flex-direction: column;
|
|
66
|
+
gap: 1rem;
|
|
67
|
+
|
|
68
|
+
@include laptop {
|
|
69
|
+
flex-direction: row;
|
|
70
|
+
gap: 2.5rem;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
&__item {
|
|
74
|
+
display: flex;
|
|
75
|
+
flex-direction: column;
|
|
76
|
+
align-items: center;
|
|
77
|
+
background-color: white;
|
|
78
|
+
box-shadow: 0px 2px 6px 0px rgba(2, 55, 74, 0.25);
|
|
79
|
+
border-radius: 0.25rem;
|
|
80
|
+
min-width: 200px;
|
|
81
|
+
padding: 1rem;
|
|
82
|
+
|
|
83
|
+
&__image {
|
|
84
|
+
width: 2rem;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
&__title {
|
|
88
|
+
margin-top: 1rem;
|
|
89
|
+
line-height: 1rem;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
&__text {
|
|
93
|
+
font-size: 14px;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
@@ -4,7 +4,13 @@ import { AsSeeInContent } from '../../organisms'
|
|
|
4
4
|
import { type AsSeeInSectionProps } from './AsSeeInSectionProps.types'
|
|
5
5
|
// import './AsSeeInSection.scss'
|
|
6
6
|
|
|
7
|
-
const AsSeeInSection: FC<AsSeeInSectionProps> = ({
|
|
7
|
+
const AsSeeInSection: FC<AsSeeInSectionProps> = ({
|
|
8
|
+
title,
|
|
9
|
+
contentAsSeeIn,
|
|
10
|
+
contactSectionTitle,
|
|
11
|
+
contactSectionText,
|
|
12
|
+
contactSectionBlocks
|
|
13
|
+
}) => {
|
|
8
14
|
if (contentAsSeeIn.trustWorthyImages.images.length === 0) {
|
|
9
15
|
return null
|
|
10
16
|
}
|
|
@@ -15,6 +21,23 @@ const AsSeeInSection: FC<AsSeeInSectionProps> = ({ title, contentAsSeeIn }) => {
|
|
|
15
21
|
<h2 className='as-seen-in-section__title'>{title}</h2>
|
|
16
22
|
<AsSeeInContent trustWorthyImages={contentAsSeeIn.trustWorthyImages}>{contentAsSeeIn.children}</AsSeeInContent>
|
|
17
23
|
</div>
|
|
24
|
+
{Array.isArray(contactSectionBlocks) && contactSectionBlocks.length > 0 && (
|
|
25
|
+
<div className='contact-us-section'>
|
|
26
|
+
<h2 className='contact-us-section__title'>{contactSectionTitle}</h2>
|
|
27
|
+
<p className='contact-us-section__text'>{contactSectionText}</p>
|
|
28
|
+
{Array.isArray(contactSectionBlocks) && (
|
|
29
|
+
<div className='contact-us-section-blocks'>
|
|
30
|
+
{contactSectionBlocks.map((item, index) => (
|
|
31
|
+
<div className='contact-us-section-blocks__item' key={index}>
|
|
32
|
+
<div className='contact-us-section-blocks__item__image'>{item.image}</div>
|
|
33
|
+
<div className='contact-us-section-blocks__item__title'>{item.title}</div>
|
|
34
|
+
<p className='contact-us-section-blocks__item__text'>{item.body}</p>
|
|
35
|
+
</div>
|
|
36
|
+
))}
|
|
37
|
+
</div>
|
|
38
|
+
)}
|
|
39
|
+
</div>
|
|
40
|
+
)}
|
|
18
41
|
</section>
|
|
19
42
|
)
|
|
20
43
|
}
|
|
@@ -2,4 +2,11 @@ import { type AsSeeInContentProps } from '../../organisms/AsSeeInContent';
|
|
|
2
2
|
export interface AsSeeInSectionProps {
|
|
3
3
|
title: string;
|
|
4
4
|
contentAsSeeIn: AsSeeInContentProps;
|
|
5
|
+
contactSectionTitle: string;
|
|
6
|
+
contactSectionText: string;
|
|
7
|
+
contactSectionBlocks?: {
|
|
8
|
+
image: React.ReactNode;
|
|
9
|
+
title: string;
|
|
10
|
+
body: string;
|
|
11
|
+
}[];
|
|
5
12
|
}
|
|
@@ -3,4 +3,11 @@ import { type AsSeeInContentProps } from '../../organisms/AsSeeInContent'
|
|
|
3
3
|
export interface AsSeeInSectionProps {
|
|
4
4
|
title: string
|
|
5
5
|
contentAsSeeIn: AsSeeInContentProps
|
|
6
|
+
contactSectionTitle: string
|
|
7
|
+
contactSectionText: string
|
|
8
|
+
contactSectionBlocks?: {
|
|
9
|
+
image: React.ReactNode
|
|
10
|
+
title: string
|
|
11
|
+
body: string
|
|
12
|
+
}[]
|
|
6
13
|
}
|
|
@@ -2,9 +2,10 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import { ArticlesList } from '../../organisms';
|
|
3
3
|
import { Button } from '../../atoms';
|
|
4
4
|
// import './BlogSection.scss'
|
|
5
|
-
const BlogSection = ({ blogTitle, blogCta, articles }) => {
|
|
5
|
+
const BlogSection = ({ blogTitle, blogCta = null, blogDescription = null, articles }) => {
|
|
6
6
|
if (articles.articles?.length === 0)
|
|
7
|
-
return
|
|
8
|
-
|
|
7
|
+
return;
|
|
8
|
+
const categoryProductTitle = !!blogDescription;
|
|
9
|
+
return (_jsxs("div", { className: 'blog', children: [_jsx("h2", { className: `serif --super-large blog__title ${categoryProductTitle ? 'category-product-title' : ''}`, children: blogTitle }), blogDescription && _jsx("p", { className: 'blog__description', children: blogDescription }), _jsx(ArticlesList, { articles: articles.articles, isCategoryProductPage: categoryProductTitle }), blogCta && _jsx(Button, { dataQa: '', color: 'secondary', label: blogCta, givenClass: 'cta-button', link: '/articles' })] }));
|
|
9
10
|
};
|
|
10
11
|
export default BlogSection;
|
|
@@ -14,12 +14,33 @@
|
|
|
14
14
|
max-width: $lg;
|
|
15
15
|
}
|
|
16
16
|
|
|
17
|
+
.blog__description {
|
|
18
|
+
font-family: $font-sans;
|
|
19
|
+
font-size: 16px;
|
|
20
|
+
font-weight: 400;
|
|
21
|
+
line-height: 22px;
|
|
22
|
+
letter-spacing: -0.3px;
|
|
23
|
+
text-align: left;
|
|
24
|
+
color: #6d7275;
|
|
25
|
+
margin: 1rem 0 1.5rem 0;
|
|
26
|
+
}
|
|
27
|
+
|
|
17
28
|
.blog__title {
|
|
18
29
|
color: get-color(primary, main-dark-1);
|
|
19
30
|
|
|
20
31
|
@include laptop {
|
|
21
32
|
margin-bottom: 3rem;
|
|
22
33
|
}
|
|
34
|
+
|
|
35
|
+
&.category-product-title {
|
|
36
|
+
margin-bottom: 0;
|
|
37
|
+
font-family: $font-sans;
|
|
38
|
+
font-size: 28px;
|
|
39
|
+
font-weight: 700;
|
|
40
|
+
line-height: 32px;
|
|
41
|
+
letter-spacing: -0.3px;
|
|
42
|
+
text-align: left;
|
|
43
|
+
}
|
|
23
44
|
}
|
|
24
45
|
|
|
25
46
|
.cta-button {
|
|
@@ -6,14 +6,18 @@ import { type BlogSectionProps } from './BlogSectionProps.types'
|
|
|
6
6
|
import { Button } from '../../atoms'
|
|
7
7
|
// import './BlogSection.scss'
|
|
8
8
|
|
|
9
|
-
const BlogSection: FC<BlogSectionProps> = ({ blogTitle, blogCta, articles }) => {
|
|
10
|
-
if (articles.articles?.length === 0) return
|
|
9
|
+
const BlogSection: FC<BlogSectionProps> = ({ blogTitle, blogCta = null, blogDescription = null, articles }) => {
|
|
10
|
+
if (articles.articles?.length === 0) return
|
|
11
|
+
const categoryProductTitle = !!blogDescription
|
|
11
12
|
|
|
12
13
|
return (
|
|
13
14
|
<div className={'blog'}>
|
|
14
|
-
<h2 className={
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
<h2 className={`serif --super-large blog__title ${categoryProductTitle ? 'category-product-title' : ''}`}>
|
|
16
|
+
{blogTitle}
|
|
17
|
+
</h2>
|
|
18
|
+
{blogDescription && <p className='blog__description'>{blogDescription}</p>}
|
|
19
|
+
<ArticlesList articles={articles.articles} isCategoryProductPage={categoryProductTitle} />
|
|
20
|
+
{blogCta && <Button dataQa='' color='secondary' label={blogCta} givenClass='cta-button' link={'/articles'} />}
|
|
17
21
|
</div>
|
|
18
22
|
)
|
|
19
23
|
}
|
package/dist/src/custom.d.ts
CHANGED