@npm_leadtech/legal-lib-components 7.30.0 → 7.30.2

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.
Files changed (61) hide show
  1. package/dist/src/components/molecules/LawGeniusInfoCard/LawGeniusInfoCard.d.ts +3 -0
  2. package/dist/src/components/molecules/LawGeniusInfoCard/LawGeniusInfoCard.js +5 -0
  3. package/dist/src/components/molecules/LawGeniusInfoCard/LawGeniusInfoCard.styled.d.ts +1 -0
  4. package/dist/src/components/molecules/LawGeniusInfoCard/LawGeniusInfoCard.styled.js +50 -0
  5. package/dist/src/components/molecules/LawGeniusInfoCard/LawGeniusInfoCard.styled.ts +51 -0
  6. package/dist/src/components/molecules/LawGeniusInfoCard/LawGeniusInfoCard.tsx +20 -0
  7. package/dist/src/components/molecules/LawGeniusInfoCard/LawGeniusInfoCardProps.d.ts +5 -0
  8. package/dist/src/components/molecules/LawGeniusInfoCard/LawGeniusInfoCardProps.js +1 -0
  9. package/dist/src/components/molecules/LawGeniusInfoCard/LawGeniusInfoCardProps.ts +5 -0
  10. package/dist/src/components/molecules/LawGeniusInfoCard/index.d.ts +2 -0
  11. package/dist/src/components/molecules/LawGeniusInfoCard/index.js +2 -0
  12. package/dist/src/components/molecules/LawGeniusInfoCard/index.ts +2 -0
  13. package/dist/src/components/organisms/TryOurFreeLegalBlogsContent/TryOurFreeLegalBlogsContent.js +3 -1
  14. package/dist/src/components/organisms/TryOurFreeLegalBlogsContent/TryOurFreeLegalBlogsContent.styled.js +4 -2
  15. package/dist/src/components/organisms/TryOurFreeLegalBlogsContent/TryOurFreeLegalBlogsContent.styled.ts +4 -2
  16. package/dist/src/components/organisms/TryOurFreeLegalBlogsContent/TryOurFreeLegalBlogsContent.tsx +4 -1
  17. package/dist/src/components/organisms/TryOurFreeLegalBlogsContent/TryOurFreeLegalBlogsContentProps.types.d.ts +3 -1
  18. package/dist/src/components/organisms/TryOurFreeLegalBlogsContent/TryOurFreeLegalBlogsContentProps.types.js +2 -0
  19. package/dist/src/components/organisms/TryOurFreeLegalBlogsContent/TryOurFreeLegalBlogsContentProps.types.ts +3 -1
  20. package/dist/src/components/pages/HowItWorksPage/HowItWorksPage.d.ts +3 -0
  21. package/dist/src/components/pages/HowItWorksPage/HowItWorksPage.js +5 -0
  22. package/dist/src/components/pages/HowItWorksPage/HowItWorksPage.tsx +26 -0
  23. package/dist/src/components/pages/HowItWorksPage/HowItWorksPageProps.d.ts +10 -0
  24. package/dist/src/components/pages/HowItWorksPage/HowItWorksPageProps.js +1 -0
  25. package/dist/src/components/pages/HowItWorksPage/HowItWorksPageProps.ts +16 -0
  26. package/dist/src/components/pages/HowItWorksPage/index.d.ts +2 -0
  27. package/dist/src/components/pages/HowItWorksPage/index.js +2 -0
  28. package/dist/src/components/pages/HowItWorksPage/index.ts +2 -0
  29. package/dist/src/components/sections/LawGeniusCardsSection/LawGeniusCardsSection.d.ts +4 -0
  30. package/dist/src/components/sections/LawGeniusCardsSection/LawGeniusCardsSection.js +12 -0
  31. package/dist/src/components/sections/LawGeniusCardsSection/LawGeniusCardsSection.styled.d.ts +1 -0
  32. package/dist/src/components/sections/LawGeniusCardsSection/LawGeniusCardsSection.styled.js +94 -0
  33. package/dist/src/components/sections/LawGeniusCardsSection/LawGeniusCardsSection.styled.ts +95 -0
  34. package/dist/src/components/sections/LawGeniusCardsSection/LawGeniusCardsSection.tsx +69 -0
  35. package/dist/src/components/sections/LawGeniusCardsSection/LawGeniusCardsSectionProps.types.d.ts +15 -0
  36. package/dist/src/components/sections/LawGeniusCardsSection/LawGeniusCardsSectionProps.types.js +1 -0
  37. package/dist/src/components/sections/LawGeniusCardsSection/LawGeniusCardsSectionProps.types.ts +16 -0
  38. package/dist/src/components/sections/LawGeniusCardsSection/index.d.ts +2 -0
  39. package/dist/src/components/sections/LawGeniusCardsSection/index.js +1 -0
  40. package/dist/src/components/sections/LawGeniusCardsSection/index.ts +2 -0
  41. package/dist/src/components/sections/TryNowSection/TryNowSection.d.ts +3 -0
  42. package/dist/src/components/sections/TryNowSection/TryNowSection.js +6 -0
  43. package/dist/src/components/sections/TryNowSection/TryNowSection.styled.d.ts +1 -0
  44. package/dist/src/components/sections/TryNowSection/TryNowSection.styled.js +186 -0
  45. package/dist/src/components/sections/TryNowSection/TryNowSection.styled.ts +187 -0
  46. package/dist/src/components/sections/TryNowSection/TryNowSection.tsx +28 -0
  47. package/dist/src/components/sections/TryNowSection/TryNowSectionProps.d.ts +8 -0
  48. package/dist/src/components/sections/TryNowSection/TryNowSectionProps.js +1 -0
  49. package/dist/src/components/sections/TryNowSection/TryNowSectionProps.ts +9 -0
  50. package/dist/src/components/sections/TryNowSection/index.d.ts +2 -0
  51. package/dist/src/components/sections/TryNowSection/index.js +1 -0
  52. package/dist/src/components/sections/TryNowSection/index.ts +2 -0
  53. package/dist/src/components/sections/TryOurFreeLegalBlogsSection/TryOurFreeLegalBlogsSection.js +9 -1
  54. package/dist/src/components/sections/TryOurFreeLegalBlogsSection/TryOurFreeLegalBlogsSection.styled.js +30 -0
  55. package/dist/src/components/sections/TryOurFreeLegalBlogsSection/TryOurFreeLegalBlogsSection.styled.ts +30 -0
  56. package/dist/src/components/sections/TryOurFreeLegalBlogsSection/TryOurFreeLegalBlogsSection.tsx +11 -1
  57. package/dist/src/components/sections/index.d.ts +3 -0
  58. package/dist/src/components/sections/index.js +3 -0
  59. package/dist/src/components/sections/index.ts +3 -0
  60. package/dist/tsconfig.build.tsbuildinfo +1 -1
  61. package/package.json +2 -1
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ import { LawGeniusInfoCardProps } from './LawGeniusInfoCardProps';
3
+ export declare const LawGeniusInfoCard: React.FC<LawGeniusInfoCardProps>;
@@ -0,0 +1,5 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { LawGeniusInfoCardStyled } from './LawGeniusInfoCard.styled';
3
+ export const LawGeniusInfoCard = ({ icon, title = '', text = '' }) => {
4
+ return (_jsx(LawGeniusInfoCardStyled, { className: 'info-card', children: _jsx("div", { className: 'info-card-wrapper', children: _jsxs("div", { className: 'content', children: [_jsxs("p", { className: 'title', children: [_jsx("div", { className: 'info-icon', children: icon }), title] }), _jsx("p", { className: 'text', children: text })] }) }) }));
5
+ };
@@ -0,0 +1 @@
1
+ export declare const LawGeniusInfoCardStyled: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
@@ -0,0 +1,50 @@
1
+ import styled from 'styled-components';
2
+ export const LawGeniusInfoCardStyled = styled.div `
3
+ width: 100%;
4
+ background-color: var(--others-white);
5
+ border-radius: var(--s-border-radius);
6
+ margin-top: 1rem;
7
+ margin-bottom: 1rem;
8
+ display: flex;
9
+ align-items: center;
10
+ padding: 1rem 1.5rem;
11
+
12
+ .info-card-wrapper {
13
+ display: flex;
14
+ }
15
+
16
+ @media not all and (min-resolution: 0.001dpcm) {
17
+ @supports (-webkit-appearance: none) {
18
+ letter-spacing: -1px;
19
+ }
20
+ }
21
+
22
+ .info-icon {
23
+ margin-top: 0.1rem;
24
+ margin-right: 0.5rem;
25
+
26
+ path {
27
+ fill: var(--primary-main-dark-1);
28
+ }
29
+ }
30
+
31
+ .title {
32
+ display: flex;
33
+ color: var(--primary-main-dark-1);
34
+ font-size: 1rem;
35
+ font-weight: bold;
36
+
37
+ &.email {
38
+ text-decoration: underline;
39
+ }
40
+
41
+ a {
42
+ color: var(--primary-main-dark-1);
43
+ }
44
+ }
45
+
46
+ .text {
47
+ font-size: 0.875rem;
48
+ color: var(--neutral-neutral-2);
49
+ }
50
+ `;
@@ -0,0 +1,51 @@
1
+ import styled from 'styled-components'
2
+
3
+ export const LawGeniusInfoCardStyled = styled.div`
4
+ width: 100%;
5
+ background-color: var(--others-white);
6
+ border-radius: var(--s-border-radius);
7
+ margin-top: 1rem;
8
+ margin-bottom: 1rem;
9
+ display: flex;
10
+ align-items: center;
11
+ padding: 1rem 1.5rem;
12
+
13
+ .info-card-wrapper {
14
+ display: flex;
15
+ }
16
+
17
+ @media not all and (min-resolution: 0.001dpcm) {
18
+ @supports (-webkit-appearance: none) {
19
+ letter-spacing: -1px;
20
+ }
21
+ }
22
+
23
+ .info-icon {
24
+ margin-top: 0.1rem;
25
+ margin-right: 0.5rem;
26
+
27
+ path {
28
+ fill: var(--primary-main-dark-1);
29
+ }
30
+ }
31
+
32
+ .title {
33
+ display: flex;
34
+ color: var(--primary-main-dark-1);
35
+ font-size: 1rem;
36
+ font-weight: bold;
37
+
38
+ &.email {
39
+ text-decoration: underline;
40
+ }
41
+
42
+ a {
43
+ color: var(--primary-main-dark-1);
44
+ }
45
+ }
46
+
47
+ .text {
48
+ font-size: 0.875rem;
49
+ color: var(--neutral-neutral-2);
50
+ }
51
+ `
@@ -0,0 +1,20 @@
1
+ import React from 'react'
2
+
3
+ import { LawGeniusInfoCardProps } from './LawGeniusInfoCardProps'
4
+ import { LawGeniusInfoCardStyled } from './LawGeniusInfoCard.styled'
5
+
6
+ export const LawGeniusInfoCard: React.FC<LawGeniusInfoCardProps> = ({ icon, title = '', text = '' }) => {
7
+ return (
8
+ <LawGeniusInfoCardStyled className='info-card'>
9
+ <div className='info-card-wrapper'>
10
+ <div className='content'>
11
+ <p className='title'>
12
+ <div className='info-icon'>{icon}</div>
13
+ {title}
14
+ </p>
15
+ <p className='text'>{text}</p>
16
+ </div>
17
+ </div>
18
+ </LawGeniusInfoCardStyled>
19
+ )
20
+ }
@@ -0,0 +1,5 @@
1
+ export interface LawGeniusInfoCardProps {
2
+ title: string;
3
+ text: string;
4
+ icon: React.ReactNode;
5
+ }
@@ -0,0 +1,5 @@
1
+ export interface LawGeniusInfoCardProps {
2
+ title: string
3
+ text: string
4
+ icon: React.ReactNode
5
+ }
@@ -0,0 +1,2 @@
1
+ export * from './LawGeniusInfoCard';
2
+ export * from './LawGeniusInfoCardProps';
@@ -0,0 +1,2 @@
1
+ export * from './LawGeniusInfoCard';
2
+ export * from './LawGeniusInfoCardProps';
@@ -0,0 +1,2 @@
1
+ export * from './LawGeniusInfoCard'
2
+ export * from './LawGeniusInfoCardProps'
@@ -7,7 +7,9 @@ const TryOurFreeLegalBlogsContent = ({ title, image, children, type = TryOurFree
7
7
  const classTry = classNames({
8
8
  'try-our-free-legal-blogs-section-content': true,
9
9
  'try-our-free-legal-blogs-section-content--our-mission': TryOurFreeLegalBlogsContentType.ourMission === type,
10
- 'try-our-free-legal-blogs-section-content--our-mission-first-image': TryOurFreeLegalBlogsContentType.ourMissionFirstImage === type
10
+ 'try-our-free-legal-blogs-section-content--our-mission-first-image': TryOurFreeLegalBlogsContentType.ourMissionFirstImage === type,
11
+ 'try-our-free-legal-blogs-section-content--how-it-works': TryOurFreeLegalBlogsContentType.howItWorks === type,
12
+ 'try-our-free-legal-blogs-section-content--how-it-works-first-image': TryOurFreeLegalBlogsContentType.howItWorksFirstImage === type
11
13
  });
12
14
  return (_jsxs(TryOurFreeLegalBlogsContentStyled, { className: classTry, children: [_jsxs("div", { className: 'try-our-free-legal-blogs-section__texts', children: [_jsx("h2", { className: 'try-our-free-legal-blogs-section__texts__title', children: title }), _jsx(RichTextInner, { customClass: 'try-our-free-legal-blogs-section__texts__body', children: children })] }), _jsx("div", { className: 'try-our-free-legal-blogs-section__image', children: image })] }));
13
15
  };
@@ -7,7 +7,8 @@ export const TryOurFreeLegalBlogsContentStyled = styled.div `
7
7
  flex-direction: row;
8
8
  }
9
9
 
10
- &.try-our-free-legal-blogs-section-content--our-mission {
10
+ &.try-our-free-legal-blogs-section-content--our-mission,
11
+ &.try-our-free-legal-blogs-section-content--how-it-works {
11
12
  margin-top: 1.5rem;
12
13
  margin-bottom: 1.5rem;
13
14
  align-items: center;
@@ -30,7 +31,8 @@ export const TryOurFreeLegalBlogsContentStyled = styled.div `
30
31
  }
31
32
  }
32
33
 
33
- &.try-our-free-legal-blogs-section-content--our-mission-first-image {
34
+ &.try-our-free-legal-blogs-section-content--our-mission-first-image,
35
+ &.try-our-free-legal-blogs-section-content--how-it-works-first-image {
34
36
  margin-top: 1.5rem;
35
37
  margin-bottom: 1.5rem;
36
38
  align-items: center;
@@ -8,7 +8,8 @@ export const TryOurFreeLegalBlogsContentStyled = styled.div`
8
8
  flex-direction: row;
9
9
  }
10
10
 
11
- &.try-our-free-legal-blogs-section-content--our-mission {
11
+ &.try-our-free-legal-blogs-section-content--our-mission,
12
+ &.try-our-free-legal-blogs-section-content--how-it-works {
12
13
  margin-top: 1.5rem;
13
14
  margin-bottom: 1.5rem;
14
15
  align-items: center;
@@ -31,7 +32,8 @@ export const TryOurFreeLegalBlogsContentStyled = styled.div`
31
32
  }
32
33
  }
33
34
 
34
- &.try-our-free-legal-blogs-section-content--our-mission-first-image {
35
+ &.try-our-free-legal-blogs-section-content--our-mission-first-image,
36
+ &.try-our-free-legal-blogs-section-content--how-it-works-first-image {
35
37
  margin-top: 1.5rem;
36
38
  margin-bottom: 1.5rem;
37
39
  align-items: center;
@@ -18,7 +18,10 @@ const TryOurFreeLegalBlogsContent: FC<TryOurFreeLegalBlogsContentProps> = ({
18
18
  'try-our-free-legal-blogs-section-content': true,
19
19
  'try-our-free-legal-blogs-section-content--our-mission': TryOurFreeLegalBlogsContentType.ourMission === type,
20
20
  'try-our-free-legal-blogs-section-content--our-mission-first-image':
21
- TryOurFreeLegalBlogsContentType.ourMissionFirstImage === type
21
+ TryOurFreeLegalBlogsContentType.ourMissionFirstImage === type,
22
+ 'try-our-free-legal-blogs-section-content--how-it-works': TryOurFreeLegalBlogsContentType.howItWorks === type,
23
+ 'try-our-free-legal-blogs-section-content--how-it-works-first-image':
24
+ TryOurFreeLegalBlogsContentType.howItWorksFirstImage === type
22
25
  })
23
26
  return (
24
27
  <TryOurFreeLegalBlogsContentStyled className={classTry}>
@@ -1,7 +1,9 @@
1
1
  export declare enum TryOurFreeLegalBlogsContentType {
2
2
  default = "Default",
3
3
  ourMission = "Our Mission",
4
- ourMissionFirstImage = "Our Mission First Image"
4
+ ourMissionFirstImage = "Our Mission First Image",
5
+ howItWorks = "How It Works",
6
+ howItWorksFirstImage = "How It Works First Image"
5
7
  }
6
8
  export interface TryOurFreeLegalBlogsContentProps {
7
9
  title: string;
@@ -3,4 +3,6 @@ export var TryOurFreeLegalBlogsContentType;
3
3
  TryOurFreeLegalBlogsContentType["default"] = "Default";
4
4
  TryOurFreeLegalBlogsContentType["ourMission"] = "Our Mission";
5
5
  TryOurFreeLegalBlogsContentType["ourMissionFirstImage"] = "Our Mission First Image";
6
+ TryOurFreeLegalBlogsContentType["howItWorks"] = "How It Works";
7
+ TryOurFreeLegalBlogsContentType["howItWorksFirstImage"] = "How It Works First Image";
6
8
  })(TryOurFreeLegalBlogsContentType || (TryOurFreeLegalBlogsContentType = {}));
@@ -1,7 +1,9 @@
1
1
  export enum TryOurFreeLegalBlogsContentType {
2
2
  default = 'Default',
3
3
  ourMission = 'Our Mission',
4
- ourMissionFirstImage = 'Our Mission First Image'
4
+ ourMissionFirstImage = 'Our Mission First Image',
5
+ howItWorks = 'How It Works',
6
+ howItWorksFirstImage = 'How It Works First Image'
5
7
  }
6
8
 
7
9
  export interface TryOurFreeLegalBlogsContentProps {
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ import { type HowItWorksPageProps } from './HowItWorksPageProps';
3
+ export declare const HowItWorksPage: React.FC<HowItWorksPageProps>;
@@ -0,0 +1,5 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { HeroSection, LawGeniusCardsSection, TryNowSection, TryOurFreeLegalBlogsSection } from '../../sections';
3
+ export const HowItWorksPage = ({ aboutUsSectionProps, howItWorksStep1Props, howItWorksStep2Props, howItWorksStep3Props, howItWorksStep4Props, lawGeniusCardsSectionProps, tryNowSectionProps }) => {
4
+ return (_jsxs(_Fragment, { children: [aboutUsSectionProps != null && _jsx(HeroSection, { ...aboutUsSectionProps }), howItWorksStep1Props != null && _jsx(TryOurFreeLegalBlogsSection, { ...howItWorksStep1Props }), howItWorksStep2Props != null && _jsx(TryOurFreeLegalBlogsSection, { ...howItWorksStep2Props }), howItWorksStep3Props != null && _jsx(TryOurFreeLegalBlogsSection, { ...howItWorksStep3Props }), howItWorksStep4Props != null && _jsx(TryOurFreeLegalBlogsSection, { ...howItWorksStep4Props }), lawGeniusCardsSectionProps != null && _jsx(LawGeniusCardsSection, { ...lawGeniusCardsSectionProps }), tryNowSectionProps != null && _jsx(TryNowSection, { ...tryNowSectionProps })] }));
5
+ };
@@ -0,0 +1,26 @@
1
+ import React from 'react'
2
+
3
+ import { HeroSection, LawGeniusCardsSection, TryNowSection, TryOurFreeLegalBlogsSection } from '../../sections'
4
+ import { type HowItWorksPageProps } from './HowItWorksPageProps'
5
+
6
+ export const HowItWorksPage: React.FC<HowItWorksPageProps> = ({
7
+ aboutUsSectionProps,
8
+ howItWorksStep1Props,
9
+ howItWorksStep2Props,
10
+ howItWorksStep3Props,
11
+ howItWorksStep4Props,
12
+ lawGeniusCardsSectionProps,
13
+ tryNowSectionProps
14
+ }) => {
15
+ return (
16
+ <>
17
+ {aboutUsSectionProps != null && <HeroSection {...aboutUsSectionProps} />}
18
+ {howItWorksStep1Props != null && <TryOurFreeLegalBlogsSection {...howItWorksStep1Props} />}
19
+ {howItWorksStep2Props != null && <TryOurFreeLegalBlogsSection {...howItWorksStep2Props} />}
20
+ {howItWorksStep3Props != null && <TryOurFreeLegalBlogsSection {...howItWorksStep3Props} />}
21
+ {howItWorksStep4Props != null && <TryOurFreeLegalBlogsSection {...howItWorksStep4Props} />}
22
+ {lawGeniusCardsSectionProps != null && <LawGeniusCardsSection {...lawGeniusCardsSectionProps} />}
23
+ {tryNowSectionProps != null && <TryNowSection {...tryNowSectionProps} />}
24
+ </>
25
+ )
26
+ }
@@ -0,0 +1,10 @@
1
+ import type { HeroSectionProps, LawGeniusCardsSectionProps, TryNowSectionProps, TryOurFreeLegalBlogsSectionProps } from '../../sections';
2
+ export interface HowItWorksPageProps {
3
+ aboutUsSectionProps?: HeroSectionProps;
4
+ howItWorksStep1Props?: TryOurFreeLegalBlogsSectionProps;
5
+ howItWorksStep2Props?: TryOurFreeLegalBlogsSectionProps;
6
+ howItWorksStep3Props?: TryOurFreeLegalBlogsSectionProps;
7
+ howItWorksStep4Props?: TryOurFreeLegalBlogsSectionProps;
8
+ lawGeniusCardsSectionProps?: LawGeniusCardsSectionProps;
9
+ tryNowSectionProps?: TryNowSectionProps;
10
+ }
@@ -0,0 +1,16 @@
1
+ import type {
2
+ HeroSectionProps,
3
+ LawGeniusCardsSectionProps,
4
+ TryNowSectionProps,
5
+ TryOurFreeLegalBlogsSectionProps
6
+ } from '../../sections'
7
+
8
+ export interface HowItWorksPageProps {
9
+ aboutUsSectionProps?: HeroSectionProps
10
+ howItWorksStep1Props?: TryOurFreeLegalBlogsSectionProps
11
+ howItWorksStep2Props?: TryOurFreeLegalBlogsSectionProps
12
+ howItWorksStep3Props?: TryOurFreeLegalBlogsSectionProps
13
+ howItWorksStep4Props?: TryOurFreeLegalBlogsSectionProps
14
+ lawGeniusCardsSectionProps?: LawGeniusCardsSectionProps
15
+ tryNowSectionProps?: TryNowSectionProps
16
+ }
@@ -0,0 +1,2 @@
1
+ export * from './HowItWorksPage';
2
+ export * from './HowItWorksPageProps';
@@ -0,0 +1,2 @@
1
+ export * from './HowItWorksPage';
2
+ export * from './HowItWorksPageProps';
@@ -0,0 +1,2 @@
1
+ export * from './HowItWorksPage'
2
+ export * from './HowItWorksPageProps'
@@ -0,0 +1,4 @@
1
+ import { type FC } from 'react';
2
+ import { type LawGeniusCardsSectionProps } from './LawGeniusCardsSectionProps.types';
3
+ declare const LawGeniusCardsSection: FC<LawGeniusCardsSectionProps>;
4
+ export default LawGeniusCardsSection;
@@ -0,0 +1,12 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Button } from '../../atoms';
3
+ import { LawGeniusCardsSectionStyled } from './LawGeniusCardsSection.styled';
4
+ import { LawGeniusInfoCard } from '../../molecules/LawGeniusInfoCard';
5
+ import { useIsMobileOrTable } from '../../../hooks';
6
+ const LawGeniusCardsSection = ({ title, contentTop, contentBottom, card1, card2, card3, ctaLabel, ctaLink = '#', handleOnClick, ctaDataQa = 'ai-section-cta', image }) => {
7
+ const { isMobile } = useIsMobileOrTable();
8
+ if (contentTop == undefined)
9
+ return null;
10
+ return (_jsx(LawGeniusCardsSectionStyled, { className: 'layout-ratafia-section', children: _jsxs("div", { className: 'layout-ratafia-section__wrapper background-ratafia-animation', children: [_jsxs("div", { className: 'layout-ratafia-section__topContent', children: [title && (_jsx("h2", { className: 'layout-ratafia-section__wrapper__info__paragraph__title sans-serif --super-large --bold-weight', children: title })), _jsx("div", { className: 'layout-ratafia-section__wrapper__info__paragraph__content sans-serif --super-medium', children: contentTop })] }), _jsxs("div", { className: 'layout-ratafia-section__wrapperContent', children: [_jsxs("div", { className: 'layout-ratafia-section__wrapper__info', children: [_jsxs("div", { className: 'layout-ratafia-section__wrapper__info cards', children: [_jsx(LawGeniusInfoCard, { title: card1?.title ?? '', text: card1?.text ?? '', icon: card1?.icon }), _jsx(LawGeniusInfoCard, { title: card2?.title ?? '', text: card2?.text ?? '', icon: card2?.icon }), _jsx(LawGeniusInfoCard, { title: card3?.title ?? '', text: card3?.text ?? '', icon: card3?.icon })] }), _jsx("div", { className: 'layout-ratafia-section__wrapper__info__paragraph__content sans-serif --super-medium bottomContent', children: contentBottom }), ctaLabel && (_jsx("div", { className: 'layout-ratafia-section__wrapper__info__button', children: _jsx(Button, { givenClass: 'mid-banner-ratafia-content__cta', dataQa: ctaDataQa, link: ctaLink, onClick: handleOnClick, color: 'primary', label: ctaLabel, fluid: isMobile }) }))] }), image !== null && _jsx("div", { className: 'layout-ratafia-section__wrapper__image', children: image })] })] }) }));
11
+ };
12
+ export default LawGeniusCardsSection;
@@ -0,0 +1 @@
1
+ export declare const LawGeniusCardsSectionStyled: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLElement>, HTMLElement>, never>> & string;
@@ -0,0 +1,94 @@
1
+ import { device } from '../../../globalStyles/breakpoints';
2
+ import styled from 'styled-components';
3
+ export const LawGeniusCardsSectionStyled = styled.section `
4
+ display: flex;
5
+ justify-content: center;
6
+ align-content: center;
7
+ width: 100%;
8
+ background-color: var(--neutral-neutral-6);
9
+ padding: 2rem 1.5rem;
10
+
11
+ @media ${device.laptop} {
12
+ padding: 3rem 2rem;
13
+ }
14
+
15
+ @media ${device['desktop-xl']} {
16
+ padding: 3rem 0;
17
+ }
18
+
19
+ .layout-ratafia-section {
20
+ &__topContent {
21
+ display: flex;
22
+ flex-direction: column;
23
+ color: var(--others-white);
24
+ }
25
+ &__wrapper {
26
+ display: flex;
27
+ flex-direction: column;
28
+ justify-content: center;
29
+ align-items: center;
30
+ align-self: stretch;
31
+ padding: 1.5rem;
32
+ gap: 2rem;
33
+ border-radius: var(--l-border-radius);
34
+ max-width: 1200px;
35
+
36
+ @media ${device['landscape-tablets']} {
37
+ padding: 2.5rem;
38
+ }
39
+
40
+ @media ${device.laptop} {
41
+ gap: 2rem;
42
+ padding: 4rem;
43
+ }
44
+
45
+ &__info {
46
+ display: flex;
47
+ flex-direction: column;
48
+ justify-content: center;
49
+ align-items: flex-start;
50
+ align-self: stretch;
51
+ gap: 1.5rem;
52
+
53
+ .bottomContent {
54
+ p {
55
+ color: var(--others-white);
56
+ }
57
+ }
58
+
59
+ &__paragraph {
60
+ display: flex;
61
+ flex-direction: column;
62
+ gap: var(--global-gap);
63
+ color: var(--others-white);
64
+
65
+ p:not(:last-child) {
66
+ margin-bottom: 1.5rem;
67
+ }
68
+ }
69
+
70
+ &__button {
71
+ display: flex;
72
+ width: 100%;
73
+ }
74
+
75
+ &.cards {
76
+ gap: 1rem;
77
+ }
78
+ }
79
+
80
+ &__image {
81
+ display: flex;
82
+ flex: 425px 0 0;
83
+ img {
84
+ object-fit: cover;
85
+ }
86
+ }
87
+ }
88
+ &__wrapperContent {
89
+ display: flex;
90
+ flex-direction: row;
91
+ gap: 2rem;
92
+ }
93
+ }
94
+ `;
@@ -0,0 +1,95 @@
1
+ import { device } from '../../../globalStyles/breakpoints'
2
+ import styled from 'styled-components'
3
+
4
+ export const LawGeniusCardsSectionStyled = styled.section`
5
+ display: flex;
6
+ justify-content: center;
7
+ align-content: center;
8
+ width: 100%;
9
+ background-color: var(--neutral-neutral-6);
10
+ padding: 2rem 1.5rem;
11
+
12
+ @media ${device.laptop} {
13
+ padding: 3rem 2rem;
14
+ }
15
+
16
+ @media ${device['desktop-xl']} {
17
+ padding: 3rem 0;
18
+ }
19
+
20
+ .layout-ratafia-section {
21
+ &__topContent {
22
+ display: flex;
23
+ flex-direction: column;
24
+ color: var(--others-white);
25
+ }
26
+ &__wrapper {
27
+ display: flex;
28
+ flex-direction: column;
29
+ justify-content: center;
30
+ align-items: center;
31
+ align-self: stretch;
32
+ padding: 1.5rem;
33
+ gap: 2rem;
34
+ border-radius: var(--l-border-radius);
35
+ max-width: 1200px;
36
+
37
+ @media ${device['landscape-tablets']} {
38
+ padding: 2.5rem;
39
+ }
40
+
41
+ @media ${device.laptop} {
42
+ gap: 2rem;
43
+ padding: 4rem;
44
+ }
45
+
46
+ &__info {
47
+ display: flex;
48
+ flex-direction: column;
49
+ justify-content: center;
50
+ align-items: flex-start;
51
+ align-self: stretch;
52
+ gap: 1.5rem;
53
+
54
+ .bottomContent {
55
+ p {
56
+ color: var(--others-white);
57
+ }
58
+ }
59
+
60
+ &__paragraph {
61
+ display: flex;
62
+ flex-direction: column;
63
+ gap: var(--global-gap);
64
+ color: var(--others-white);
65
+
66
+ p:not(:last-child) {
67
+ margin-bottom: 1.5rem;
68
+ }
69
+ }
70
+
71
+ &__button {
72
+ display: flex;
73
+ width: 100%;
74
+ }
75
+
76
+ &.cards {
77
+ gap: 1rem;
78
+ }
79
+ }
80
+
81
+ &__image {
82
+ display: flex;
83
+ flex: 425px 0 0;
84
+ img {
85
+ object-fit: cover;
86
+ }
87
+ }
88
+ }
89
+ &__wrapperContent {
90
+ display: flex;
91
+ flex-direction: row;
92
+ gap: 2rem;
93
+ }
94
+ }
95
+ `
@@ -0,0 +1,69 @@
1
+ import React, { type FC } from 'react'
2
+
3
+ import { Button } from '../../atoms'
4
+ import { type LawGeniusCardsSectionProps } from './LawGeniusCardsSectionProps.types'
5
+ import { LawGeniusCardsSectionStyled } from './LawGeniusCardsSection.styled'
6
+ import { LawGeniusInfoCard } from '../../molecules/LawGeniusInfoCard'
7
+ import { useIsMobileOrTable } from '../../../hooks'
8
+
9
+ const LawGeniusCardsSection: FC<LawGeniusCardsSectionProps> = ({
10
+ title,
11
+ contentTop,
12
+ contentBottom,
13
+ card1,
14
+ card2,
15
+ card3,
16
+ ctaLabel,
17
+ ctaLink = '#',
18
+ handleOnClick,
19
+ ctaDataQa = 'ai-section-cta',
20
+ image
21
+ }) => {
22
+ const { isMobile } = useIsMobileOrTable()
23
+ if (contentTop == undefined) return null
24
+
25
+ return (
26
+ <LawGeniusCardsSectionStyled className='layout-ratafia-section'>
27
+ <div className='layout-ratafia-section__wrapper background-ratafia-animation'>
28
+ <div className='layout-ratafia-section__topContent'>
29
+ {title && (
30
+ <h2 className='layout-ratafia-section__wrapper__info__paragraph__title sans-serif --super-large --bold-weight'>
31
+ {title}
32
+ </h2>
33
+ )}
34
+ <div className='layout-ratafia-section__wrapper__info__paragraph__content sans-serif --super-medium'>
35
+ {contentTop}
36
+ </div>
37
+ </div>
38
+ <div className='layout-ratafia-section__wrapperContent'>
39
+ <div className='layout-ratafia-section__wrapper__info'>
40
+ <div className='layout-ratafia-section__wrapper__info cards'>
41
+ <LawGeniusInfoCard title={card1?.title ?? ''} text={card1?.text ?? ''} icon={card1?.icon} />
42
+ <LawGeniusInfoCard title={card2?.title ?? ''} text={card2?.text ?? ''} icon={card2?.icon} />
43
+ <LawGeniusInfoCard title={card3?.title ?? ''} text={card3?.text ?? ''} icon={card3?.icon} />
44
+ </div>
45
+ <div className='layout-ratafia-section__wrapper__info__paragraph__content sans-serif --super-medium bottomContent'>
46
+ {contentBottom}
47
+ </div>
48
+ {ctaLabel && (
49
+ <div className='layout-ratafia-section__wrapper__info__button'>
50
+ <Button
51
+ givenClass='mid-banner-ratafia-content__cta'
52
+ dataQa={ctaDataQa}
53
+ link={ctaLink}
54
+ onClick={handleOnClick}
55
+ color='primary'
56
+ label={ctaLabel}
57
+ fluid={isMobile}
58
+ />
59
+ </div>
60
+ )}
61
+ </div>
62
+ {image !== null && <div className='layout-ratafia-section__wrapper__image'>{image}</div>}
63
+ </div>
64
+ </div>
65
+ </LawGeniusCardsSectionStyled>
66
+ )
67
+ }
68
+
69
+ export default LawGeniusCardsSection
@@ -0,0 +1,15 @@
1
+ import { LawGeniusInfoCardProps } from 'src/components/molecules/LawGeniusInfoCard';
2
+ import { MouseEventHandler } from 'react';
3
+ export interface LawGeniusCardsSectionProps {
4
+ title?: string;
5
+ contentTop: React.ReactNode;
6
+ contentBottom: React.ReactNode;
7
+ card1?: LawGeniusInfoCardProps;
8
+ card2?: LawGeniusInfoCardProps;
9
+ card3?: LawGeniusInfoCardProps;
10
+ ctaLabel?: string;
11
+ ctaLink?: string;
12
+ handleOnClick?: MouseEventHandler;
13
+ ctaDataQa?: string;
14
+ image?: React.ReactNode;
15
+ }