@npm_leadtech/legal-lib-components 7.63.8 → 7.63.10
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/src/components/atoms/FeatureItem/FeatureItem.d.ts +3 -0
- package/dist/src/components/atoms/FeatureItem/FeatureItem.js +5 -0
- package/dist/src/components/atoms/FeatureItem/FeatureItem.styled.d.ts +1 -0
- package/dist/src/components/atoms/FeatureItem/FeatureItem.styled.js +18 -0
- package/dist/src/components/atoms/FeatureItem/FeatureItem.styled.ts +19 -0
- package/dist/src/components/atoms/FeatureItem/FeatureItem.tsx +12 -0
- package/dist/src/components/atoms/FeatureItem/FeatureItemProps.d.ts +9 -0
- package/dist/src/components/atoms/FeatureItem/FeatureItemProps.js +1 -0
- package/dist/src/components/atoms/FeatureItem/FeatureItemProps.ts +10 -0
- package/dist/src/components/atoms/FeatureItem/index.d.ts +2 -0
- package/dist/src/components/atoms/FeatureItem/index.js +2 -0
- package/dist/src/components/atoms/FeatureItem/index.ts +2 -0
- package/dist/src/components/atoms/Logo/Logo.js +4 -2
- package/dist/src/components/atoms/Logo/Logo.tsx +4 -2
- package/dist/src/components/atoms/Logo/svg/legalfinity-logo.svg +15 -0
- package/dist/src/components/atoms/Logo/svg/legalfinity-white-logo.svg +15 -0
- package/dist/src/components/atoms/PlanCard/PlanCard.d.ts +3 -0
- package/dist/src/components/atoms/PlanCard/PlanCard.js +6 -0
- package/dist/src/components/atoms/PlanCard/PlanCard.styled.d.ts +8 -0
- package/dist/src/components/atoms/PlanCard/PlanCard.styled.js +75 -0
- package/dist/src/components/atoms/PlanCard/PlanCard.styled.ts +83 -0
- package/dist/src/components/atoms/PlanCard/PlanCard.tsx +42 -0
- package/dist/src/components/atoms/PlanCard/PlanCardProps.d.ts +23 -0
- package/dist/src/components/atoms/PlanCard/PlanCardProps.js +1 -0
- package/dist/src/components/atoms/PlanCard/PlanCardProps.ts +26 -0
- package/dist/src/components/atoms/PlanCard/index.d.ts +2 -0
- package/dist/src/components/atoms/PlanCard/index.js +2 -0
- package/dist/src/components/atoms/PlanCard/index.ts +2 -0
- package/dist/src/components/atoms/index.d.ts +2 -0
- package/dist/src/components/atoms/index.js +2 -0
- package/dist/src/components/atoms/index.ts +2 -0
- package/dist/src/components/molecules/AccordionItem/AccordionItem.styled.js +1 -6
- package/dist/src/components/molecules/AccordionItem/AccordionItem.styled.ts +1 -6
- package/dist/src/components/molecules/BoxForm/BoxForm.styled.js +8 -2
- package/dist/src/components/molecules/BoxForm/BoxForm.styled.ts +8 -2
- package/dist/src/components/molecules/StickyPlanBar/StickyPlanBar.d.ts +3 -0
- package/dist/src/components/molecules/StickyPlanBar/StickyPlanBar.js +5 -0
- package/dist/src/components/molecules/StickyPlanBar/StickyPlanBar.styled.d.ts +3 -0
- package/dist/src/components/molecules/StickyPlanBar/StickyPlanBar.styled.js +69 -0
- package/dist/src/components/molecules/StickyPlanBar/StickyPlanBar.styled.ts +72 -0
- package/dist/src/components/molecules/StickyPlanBar/StickyPlanBar.tsx +23 -0
- package/dist/src/components/molecules/StickyPlanBar/StickyPlanBarProps.d.ts +6 -0
- package/dist/src/components/molecules/StickyPlanBar/StickyPlanBarProps.js +1 -0
- package/dist/src/components/molecules/StickyPlanBar/StickyPlanBarProps.ts +7 -0
- package/dist/src/components/molecules/StickyPlanBar/index.d.ts +2 -0
- package/dist/src/components/molecules/StickyPlanBar/index.js +2 -0
- package/dist/src/components/molecules/StickyPlanBar/index.ts +2 -0
- package/dist/src/components/molecules/index.d.ts +1 -0
- package/dist/src/components/molecules/index.js +1 -0
- package/dist/src/components/molecules/index.ts +1 -0
- package/dist/src/components/organisms/PricingPageHeader/PricingPageHeader.d.ts +3 -0
- package/dist/src/components/organisms/PricingPageHeader/PricingPageHeader.js +7 -0
- package/dist/src/components/organisms/PricingPageHeader/PricingPageHeader.styled.d.ts +3 -0
- package/dist/src/components/organisms/PricingPageHeader/PricingPageHeader.styled.js +35 -0
- package/dist/src/components/organisms/PricingPageHeader/PricingPageHeader.styled.tsx +38 -0
- package/dist/src/components/organisms/PricingPageHeader/PricingPageHeader.tsx +21 -0
- package/dist/src/components/organisms/PricingPageHeader/PricingPageHeaderProps.d.ts +4 -0
- package/dist/src/components/organisms/PricingPageHeader/PricingPageHeaderProps.js +1 -0
- package/dist/src/components/organisms/PricingPageHeader/PricingPageHeaderProps.ts +4 -0
- package/dist/src/components/organisms/PricingPageHeader/index.d.ts +2 -0
- package/dist/src/components/organisms/PricingPageHeader/index.js +2 -0
- package/dist/src/components/organisms/PricingPageHeader/index.ts +2 -0
- package/dist/src/components/organisms/index.d.ts +1 -0
- package/dist/src/components/organisms/index.js +1 -0
- package/dist/src/components/organisms/index.ts +1 -0
- package/dist/src/components/pages/PricingPlansPage/PricingPlansPage.d.ts +3 -0
- package/dist/src/components/pages/PricingPlansPage/PricingPlansPage.js +58 -0
- package/dist/src/components/pages/PricingPlansPage/PricingPlansPage.styled.d.ts +16 -0
- package/dist/src/components/pages/PricingPlansPage/PricingPlansPage.styled.js +88 -0
- package/dist/src/components/pages/PricingPlansPage/PricingPlansPage.styled.ts +107 -0
- package/dist/src/components/pages/PricingPlansPage/PricingPlansPage.tsx +128 -0
- package/dist/src/components/pages/PricingPlansPage/PricingPlansPageProps.d.ts +9 -0
- package/dist/src/components/pages/PricingPlansPage/PricingPlansPageProps.js +1 -0
- package/dist/src/components/pages/PricingPlansPage/PricingPlansPageProps.ts +10 -0
- package/dist/src/components/pages/PricingPlansPage/index.d.ts +2 -0
- package/dist/src/components/pages/PricingPlansPage/index.js +2 -0
- package/dist/src/components/pages/PricingPlansPage/index.ts +2 -0
- package/dist/src/components/pages/index.d.ts +1 -0
- package/dist/src/components/pages/index.js +1 -0
- package/dist/src/components/pages/index.ts +1 -0
- package/dist/src/utils/throttle.d.ts +1 -0
- package/dist/src/utils/throttle.js +10 -0
- package/dist/src/utils/throttle.ts +11 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +2 -1
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { FeatureCard } from './FeatureItem.styled';
|
|
3
|
+
export const FeatureItem = ({ feature }) => {
|
|
4
|
+
return (_jsxs(FeatureCard, { children: [_jsx("img", { className: 'feature-icon', src: feature?.icon?.url, alt: 'Feature Icon', width: 16, height: 16 }), _jsx("span", { className: 'feature-description', children: feature?.description })] }));
|
|
5
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const FeatureCard: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").LiHTMLAttributes<HTMLLIElement>, HTMLLIElement>, never>> & string;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import styled from 'styled-components';
|
|
2
|
+
export const FeatureCard = styled.li `
|
|
3
|
+
display: flex;
|
|
4
|
+
flex-direction: column;
|
|
5
|
+
flex: 1;
|
|
6
|
+
padding: 1rem 0.5rem 1rem 1rem;
|
|
7
|
+
border-radius: 1rem;
|
|
8
|
+
background-color: white;
|
|
9
|
+
|
|
10
|
+
.feature-icon {
|
|
11
|
+
margin-bottom: 0.5rem;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.feature-description {
|
|
15
|
+
font-size: 14px;
|
|
16
|
+
font-weight: 400;
|
|
17
|
+
}
|
|
18
|
+
`;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import styled from 'styled-components'
|
|
2
|
+
|
|
3
|
+
export const FeatureCard = styled.li`
|
|
4
|
+
display: flex;
|
|
5
|
+
flex-direction: column;
|
|
6
|
+
flex: 1;
|
|
7
|
+
padding: 1rem 0.5rem 1rem 1rem;
|
|
8
|
+
border-radius: 1rem;
|
|
9
|
+
background-color: white;
|
|
10
|
+
|
|
11
|
+
.feature-icon {
|
|
12
|
+
margin-bottom: 0.5rem;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.feature-description {
|
|
16
|
+
font-size: 14px;
|
|
17
|
+
font-weight: 400;
|
|
18
|
+
}
|
|
19
|
+
`
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { FeatureCard } from './FeatureItem.styled'
|
|
2
|
+
import { FeatureItemProps } from './FeatureItemProps'
|
|
3
|
+
import React from 'react'
|
|
4
|
+
|
|
5
|
+
export const FeatureItem: React.FC<FeatureItemProps> = ({ feature }) => {
|
|
6
|
+
return (
|
|
7
|
+
<FeatureCard>
|
|
8
|
+
<img className='feature-icon' src={feature?.icon?.url} alt='Feature Icon' width={16} height={16} />
|
|
9
|
+
<span className='feature-description'>{feature?.description}</span>
|
|
10
|
+
</FeatureCard>
|
|
11
|
+
)
|
|
12
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -11,6 +11,8 @@ import lawdistricts from './svg/lawdistricts-logo.svg';
|
|
|
11
11
|
import lawdistrictsWhite from './svg/lawdistricts-white-logo.svg';
|
|
12
12
|
import lawsdistrict from './svg/lawsdistrict-logo.svg';
|
|
13
13
|
import lawsdistrictWhite from './svg/lawsdistrict-white-logo.svg';
|
|
14
|
+
import legalfinity from './svg/legalfinity-logo.svg';
|
|
15
|
+
import legalfinityWhite from './svg/legalfinity-white-logo.svg';
|
|
14
16
|
import uslawdistrict from './svg/uslawdistrict-logo.svg';
|
|
15
17
|
import uslawdistrictWhite from './svg/uslawdistrict-white-logo.svg';
|
|
16
18
|
const LOGOS = {
|
|
@@ -19,8 +21,8 @@ const LOGOS = {
|
|
|
19
21
|
white: lawdistrictWhite
|
|
20
22
|
},
|
|
21
23
|
legalfinity: {
|
|
22
|
-
default:
|
|
23
|
-
white:
|
|
24
|
+
default: legalfinity,
|
|
25
|
+
white: legalfinityWhite
|
|
24
26
|
},
|
|
25
27
|
districtlaws: {
|
|
26
28
|
default: districtlaws,
|
|
@@ -16,6 +16,8 @@ import lawdistricts from './svg/lawdistricts-logo.svg'
|
|
|
16
16
|
import lawdistrictsWhite from './svg/lawdistricts-white-logo.svg'
|
|
17
17
|
import lawsdistrict from './svg/lawsdistrict-logo.svg'
|
|
18
18
|
import lawsdistrictWhite from './svg/lawsdistrict-white-logo.svg'
|
|
19
|
+
import legalfinity from './svg/legalfinity-logo.svg'
|
|
20
|
+
import legalfinityWhite from './svg/legalfinity-white-logo.svg'
|
|
19
21
|
import uslawdistrict from './svg/uslawdistrict-logo.svg'
|
|
20
22
|
import uslawdistrictWhite from './svg/uslawdistrict-white-logo.svg'
|
|
21
23
|
|
|
@@ -25,8 +27,8 @@ const LOGOS: Record<string, any> = {
|
|
|
25
27
|
white: lawdistrictWhite
|
|
26
28
|
},
|
|
27
29
|
legalfinity: {
|
|
28
|
-
default:
|
|
29
|
-
white:
|
|
30
|
+
default: legalfinity,
|
|
31
|
+
white: legalfinityWhite
|
|
30
32
|
},
|
|
31
33
|
districtlaws: {
|
|
32
34
|
default: districtlaws,
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
<svg width="924" height="76" viewBox="0 0 924 76" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path d="M880.879 74.3887V44.5078L884.531 54.7467L856.07 4.66569C855.205 3.14322 856.305 1.25353 858.056 1.25353H871.108L894.401 42.3137H884.629L908.021 1.25353H923.714L893.315 54.7467L896.868 44.5078V72.1049C896.868 73.3662 895.846 74.3887 894.584 74.3887H880.879Z" fill="black"/>
|
|
3
|
+
<path d="M802.932 74.3887V15.0447H780.824V3.53731C780.824 2.27601 781.846 1.25353 783.108 1.25353H841.03V15.0447H818.922V72.1049C818.922 73.3662 817.899 74.3887 816.638 74.3887H802.932Z" fill="black"/>
|
|
4
|
+
<path d="M740.814 74.3887V3.53732C740.814 2.27602 741.837 1.25353 743.098 1.25353H756.804V72.1049C756.804 73.3662 755.781 74.3887 754.52 74.3887H740.814Z" fill="black"/>
|
|
5
|
+
<path d="M645.681 74.3887V3.53732C645.681 2.27602 646.704 1.25353 647.965 1.25353H658.907L699.67 53.9108H693.254V1.25353H709.046V72.1049C709.046 73.3662 708.024 74.3887 706.762 74.3887H695.919L655.058 21.7314H661.473V74.3887H645.681Z" fill="black"/>
|
|
6
|
+
<path d="M597.873 74.3887V3.53732C597.873 2.27602 598.896 1.25353 600.157 1.25353H613.863V72.1049C613.863 73.3662 612.84 74.3887 611.579 74.3887H597.873Z" fill="black"/>
|
|
7
|
+
<path d="M535.404 14.8358V72.1049C535.404 73.3662 534.381 74.3887 533.12 74.3887H519.414V16.3249L532.426 1.25353H569.343C570.604 1.25353 571.626 2.27602 571.626 3.53732V14.8358H535.404ZM538.832 40.0687C539.172 39.5038 539.739 39.113 540.387 38.9968L564.696 34.6452C566.096 34.3946 567.382 35.4709 567.382 36.8933V47.7466H534.219L538.832 40.0687Z" fill="black"/>
|
|
8
|
+
<path d="M444.426 74.3887V3.53732C444.426 2.27602 445.448 1.25353 446.71 1.25353H460.415V60.5975H495.059V72.1049C495.059 73.3662 494.036 74.3887 492.775 74.3887H444.426Z" fill="black"/>
|
|
9
|
+
<path d="M344.357 74.3887L374.563 2.65106C374.92 1.80421 375.749 1.25353 376.668 1.25353H390.943L420.496 71.2162C421.132 72.7219 420.027 74.3887 418.393 74.3887H405.058L379.79 9.82079H386.107L360.741 74.3887H344.357ZM359.754 58.7169L363.999 45.866H399.53L403.873 58.7169H359.754Z" fill="black"/>
|
|
10
|
+
<path d="M295.23 75.6426C289.769 75.6426 284.735 74.7371 280.129 72.9262C275.589 71.0456 271.608 68.3988 268.187 64.9858C264.831 61.5728 262.199 57.5678 260.291 52.9707C258.448 48.3737 257.527 43.3239 257.527 37.8213C257.527 32.3188 258.448 27.269 260.291 22.6719C262.199 18.0748 264.864 14.0698 268.285 10.6568C271.707 7.24386 275.721 4.63189 280.327 2.82092C284.933 0.940307 289.999 0 295.527 0C301.646 0 307.14 1.07961 312.009 3.23884C316.944 5.39807 321.09 8.53243 324.446 12.6419L314.181 22.6719C311.68 19.8858 308.95 17.831 305.989 16.5076C303.028 15.1146 299.804 14.4181 296.316 14.4181C292.96 14.4181 289.901 14.9753 287.137 16.0897C284.373 17.2042 281.972 18.8062 279.932 20.8958C277.958 22.9853 276.412 25.458 275.293 28.3137C274.24 31.1695 273.714 34.3387 273.714 37.8213C273.714 41.2343 274.24 44.3687 275.293 47.2244C276.412 50.0802 277.958 52.5876 279.932 54.7469C281.972 56.8365 284.341 58.4385 287.038 59.5529C289.802 60.6673 292.829 61.2246 296.119 61.2246C299.277 61.2246 302.337 60.7022 305.298 59.6574C308.325 58.5429 311.253 56.6971 314.082 54.12L323.162 66.344C319.412 69.3391 315.036 71.6376 310.035 73.2396C305.1 74.8416 300.165 75.6426 295.23 75.6426ZM308.555 64.15V36.672H323.162V66.344L308.555 64.15Z" fill="black"/>
|
|
11
|
+
<path d="M194.938 30.7166H228.2V41.5971C228.2 42.8584 227.177 43.8809 225.916 43.8809H194.938V30.7166ZM196.123 60.8064H233.727V72.1049C233.727 73.3662 232.705 74.3887 231.443 74.3887H180.232V3.53732C180.232 2.27602 181.255 1.25353 182.516 1.25353H232.444V12.552C232.444 13.8133 231.422 14.8358 230.16 14.8358H196.123V60.8064Z" fill="black"/>
|
|
12
|
+
<path d="M116.915 74.3883L105.244 62.034V3.53732C105.244 2.27602 106.266 1.25353 107.527 1.25353H121.233V60.5975H155.876V72.1049C155.876 73.3662 154.854 74.3887 153.593 74.3887L116.915 74.3883Z" fill="black"/>
|
|
13
|
+
<path d="M13.6011 39.4476L57.9441 39.9575C63.4177 40.3864 74.3373 44.3478 74.2273 56.7622C74.1172 69.1767 63.1264 73.2481 57.6447 73.732L0 73.7319L13.6011 39.4476Z" fill="#1039F5"/>
|
|
14
|
+
<path d="M61.0774 35.3714L16.7252 35.2555C11.2472 34.8783 0.291265 31.0459 0.291265 18.7341C0.291265 6.42226 11.2472 2.28814 16.7252 1.76006L74.376 1.2534L61.0774 35.3714Z" fill="#1039F5"/>
|
|
15
|
+
</svg>
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
<svg width="924" height="76" viewBox="0 0 924 76" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path d="M880.879 74.3887V44.5078L884.531 54.7467L856.07 4.66569C855.205 3.14322 856.305 1.25353 858.056 1.25353H871.108L894.401 42.3137H884.629L908.021 1.25353H923.714L893.315 54.7467L896.868 44.5078V72.1049C896.868 73.3662 895.846 74.3887 894.584 74.3887H880.879Z" fill="white"/>
|
|
3
|
+
<path d="M802.932 74.3887V15.0447H780.824V3.53731C780.824 2.27601 781.846 1.25353 783.108 1.25353H841.03V15.0447H818.922V72.1049C818.922 73.3662 817.899 74.3887 816.638 74.3887H802.932Z" fill="white"/>
|
|
4
|
+
<path d="M740.814 74.3887V3.53732C740.814 2.27602 741.837 1.25353 743.098 1.25353H756.804V72.1049C756.804 73.3662 755.781 74.3887 754.52 74.3887H740.814Z" fill="white"/>
|
|
5
|
+
<path d="M645.681 74.3887V3.53732C645.681 2.27602 646.704 1.25353 647.965 1.25353H658.907L699.67 53.9108H693.254V1.25353H709.046V72.1049C709.046 73.3662 708.024 74.3887 706.762 74.3887H695.919L655.058 21.7314H661.473V74.3887H645.681Z" fill="white"/>
|
|
6
|
+
<path d="M597.873 74.3887V3.53732C597.873 2.27602 598.896 1.25353 600.157 1.25353H613.863V72.1049C613.863 73.3662 612.84 74.3887 611.579 74.3887H597.873Z" fill="white"/>
|
|
7
|
+
<path d="M535.404 14.8358V72.1049C535.404 73.3662 534.381 74.3887 533.12 74.3887H519.414V16.3249L532.427 1.25353H569.343C570.604 1.25353 571.626 2.27602 571.626 3.53732V14.8358H535.404ZM538.832 40.0687C539.172 39.5038 539.739 39.113 540.387 38.9968L564.696 34.6452C566.096 34.3946 567.382 35.4709 567.382 36.8933V47.7466H534.219L538.832 40.0687Z" fill="white"/>
|
|
8
|
+
<path d="M444.426 74.3887V3.53732C444.426 2.27602 445.448 1.25353 446.71 1.25353H460.415V60.5975H495.059V72.1049C495.059 73.3662 494.036 74.3887 492.775 74.3887H444.426Z" fill="white"/>
|
|
9
|
+
<path d="M344.357 74.3887L374.563 2.65106C374.92 1.80421 375.749 1.25353 376.668 1.25353H390.943L420.496 71.2162C421.132 72.7219 420.027 74.3887 418.393 74.3887H405.058L379.79 9.82079H386.107L360.741 74.3887H344.357ZM359.754 58.7169L363.999 45.866H399.53L403.873 58.7169H359.754Z" fill="white"/>
|
|
10
|
+
<path d="M295.23 75.6426C289.769 75.6426 284.735 74.7371 280.129 72.9262C275.589 71.0456 271.608 68.3988 268.187 64.9858C264.831 61.5728 262.199 57.5678 260.291 52.9707C258.448 48.3737 257.527 43.3239 257.527 37.8213C257.527 32.3188 258.448 27.269 260.291 22.6719C262.199 18.0748 264.864 14.0698 268.285 10.6568C271.707 7.24386 275.721 4.63189 280.327 2.82092C284.933 0.940307 289.999 0 295.527 0C301.646 0 307.14 1.07961 312.009 3.23884C316.944 5.39807 321.09 8.53243 324.445 12.6419L314.181 22.6719C311.68 19.8858 308.95 17.831 305.989 16.5076C303.028 15.1146 299.804 14.4181 296.316 14.4181C292.96 14.4181 289.901 14.9753 287.137 16.0897C284.373 17.2042 281.972 18.8062 279.932 20.8958C277.958 22.9853 276.412 25.458 275.293 28.3137C274.24 31.1695 273.714 34.3387 273.714 37.8213C273.714 41.2343 274.24 44.3686 275.293 47.2244C276.412 50.0802 277.958 52.5876 279.932 54.7469C281.972 56.8364 284.341 58.4385 287.038 59.5529C289.802 60.6673 292.829 61.2246 296.119 61.2246C299.277 61.2246 302.337 60.7022 305.298 59.6574C308.325 58.5429 311.253 56.6971 314.082 54.12L323.162 66.344C319.412 69.3391 315.036 71.6376 310.035 73.2396C305.1 74.8416 300.165 75.6426 295.23 75.6426ZM308.555 64.15V36.672H323.162V66.344L308.555 64.15Z" fill="white"/>
|
|
11
|
+
<path d="M194.938 30.7166H228.2V41.5971C228.2 42.8584 227.177 43.8809 225.916 43.8809H194.938V30.7166ZM196.123 60.8064H233.727V72.1049C233.727 73.3662 232.705 74.3887 231.443 74.3887H180.232V3.53732C180.232 2.27602 181.255 1.25353 182.516 1.25353H232.444V12.552C232.444 13.8133 231.422 14.8358 230.16 14.8358H196.123V60.8064Z" fill="white"/>
|
|
12
|
+
<path d="M116.915 74.3883L105.244 62.034V3.53732C105.244 2.27602 106.266 1.25353 107.527 1.25353H121.233V60.5975H155.876V72.1049C155.876 73.3662 154.854 74.3887 153.593 74.3887L116.915 74.3883Z" fill="white"/>
|
|
13
|
+
<path d="M13.6011 39.4476L57.9441 39.9575C63.4177 40.3864 74.3373 44.3478 74.2273 56.7622C74.1172 69.1767 63.1264 73.2481 57.6447 73.732L0 73.7319L13.6011 39.4476Z" fill="#1039F5"/>
|
|
14
|
+
<path d="M61.0774 35.3714L16.7252 35.2555C11.2472 34.8783 0.291265 31.0459 0.291265 18.7341C0.291265 6.42226 11.2472 2.28814 16.7252 1.76006L74.376 1.2534L61.0774 35.3714Z" fill="#1039F5"/>
|
|
15
|
+
</svg>
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Benefit, BenefitsList, Divider, PlanCardContainer, PlanTitle, Price, PriceLabel, PricingInfo } from './PlanCard.styled';
|
|
3
|
+
import { Button } from '../Button';
|
|
4
|
+
export const PlanCard = ({ plan, onSelect }) => {
|
|
5
|
+
return (_jsxs(PlanCardContainer, { children: [_jsx(PlanTitle, { className: plan?.highlightPlan ? 'highlight' : 'asdfasdf', children: plan?.subscription_type?.name }), _jsxs(PricingInfo, { children: [_jsx(Price, { children: plan?.pricing }), _jsx(PriceLabel, { children: plan?.pricingLabel })] }), _jsx(Button, { label: plan?.buttonText ?? '', dataQa: `${plan?.subscription_type?.name.replaceAll(' ', '')}-button`, noLink: true, onClick: () => onSelect?.(plan?.subscription_type?.sku ?? ''), givenClass: 'pricing-plan__button', color: plan?.highlightPlan ? 'primary' : 'transparent' }), _jsx(Divider, {}), _jsx(BenefitsList, { children: plan?.benefits?.map((item) => (_jsxs(Benefit, { className: item?.type == 'default' ? 'default' : 'ai-benefit', children: [item?.icon, _jsx("p", { className: 'benefit-text', dangerouslySetInnerHTML: { __html: item?.benefit } })] }, item?.benefit))) })] }));
|
|
6
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare const PlanCardContainer: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
|
|
2
|
+
export declare const PlanTitle: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, never>> & string;
|
|
3
|
+
export declare const PricingInfo: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
|
|
4
|
+
export declare const Price: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLHeadingElement>, HTMLHeadingElement>, never>> & string;
|
|
5
|
+
export declare const PriceLabel: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, never>> & string;
|
|
6
|
+
export declare const Divider: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLHRElement>, HTMLHRElement>, never>> & string;
|
|
7
|
+
export declare const BenefitsList: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLUListElement>, HTMLUListElement>, never>> & string;
|
|
8
|
+
export declare const Benefit: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").LiHTMLAttributes<HTMLLIElement>, HTMLLIElement>, never>> & string;
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import styled from 'styled-components';
|
|
2
|
+
export const PlanCardContainer = styled.div `
|
|
3
|
+
text-align: center;
|
|
4
|
+
gap: 2rem;
|
|
5
|
+
display: flex;
|
|
6
|
+
flex-direction: column;
|
|
7
|
+
align-items: center;
|
|
8
|
+
justify-content: center;
|
|
9
|
+
box-sizing: border-box;
|
|
10
|
+
padding: 1.5rem;
|
|
11
|
+
|
|
12
|
+
.pricing-plan__button {
|
|
13
|
+
width: 100%;
|
|
14
|
+
}
|
|
15
|
+
`;
|
|
16
|
+
export const PlanTitle = styled.span `
|
|
17
|
+
border-radius: 8px;
|
|
18
|
+
padding: 0.5rem 1rem;
|
|
19
|
+
background-color: var(--neutral-neutral-4);
|
|
20
|
+
font-size: large;
|
|
21
|
+
font-weight: 700;
|
|
22
|
+
&.highlight {
|
|
23
|
+
background-color: var(--primary-main-light-4);
|
|
24
|
+
}
|
|
25
|
+
`;
|
|
26
|
+
export const PricingInfo = styled.div `
|
|
27
|
+
display: flex;
|
|
28
|
+
flex-direction: column;
|
|
29
|
+
align-items: center;
|
|
30
|
+
`;
|
|
31
|
+
export const Price = styled.h4 `
|
|
32
|
+
font-size: 36px;
|
|
33
|
+
font-weight: 700;
|
|
34
|
+
margin: 0 0 -0.5rem 0;
|
|
35
|
+
`;
|
|
36
|
+
export const PriceLabel = styled.span `
|
|
37
|
+
font-size: 14px;
|
|
38
|
+
`;
|
|
39
|
+
export const Divider = styled.hr `
|
|
40
|
+
border: 1px solid var(--neutral-neutral-4);
|
|
41
|
+
width: 100%;
|
|
42
|
+
`;
|
|
43
|
+
export const BenefitsList = styled.ul `
|
|
44
|
+
list-style: none;
|
|
45
|
+
padding: 0;
|
|
46
|
+
margin: 0;
|
|
47
|
+
display: flex;
|
|
48
|
+
flex-direction: column;
|
|
49
|
+
gap: 0.5rem;
|
|
50
|
+
`;
|
|
51
|
+
export const Benefit = styled.li `
|
|
52
|
+
display: flex;
|
|
53
|
+
align-items: start;
|
|
54
|
+
box-sizing: border-box;
|
|
55
|
+
padding: 0 1rem;
|
|
56
|
+
|
|
57
|
+
&.ai-benefit {
|
|
58
|
+
background-color: var(--primary-main-light-5);
|
|
59
|
+
padding: 1rem;
|
|
60
|
+
border-radius: 0.5rem;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
.benefit-text {
|
|
64
|
+
text-align: left;
|
|
65
|
+
font-size: 14px;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
svg {
|
|
69
|
+
flex-shrink: 0;
|
|
70
|
+
width: 16px;
|
|
71
|
+
height: 16px;
|
|
72
|
+
margin-top: 0.3rem;
|
|
73
|
+
margin-right: 0.5rem;
|
|
74
|
+
}
|
|
75
|
+
`;
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import styled from 'styled-components'
|
|
2
|
+
|
|
3
|
+
export const PlanCardContainer = styled.div`
|
|
4
|
+
text-align: center;
|
|
5
|
+
gap: 2rem;
|
|
6
|
+
display: flex;
|
|
7
|
+
flex-direction: column;
|
|
8
|
+
align-items: center;
|
|
9
|
+
justify-content: center;
|
|
10
|
+
box-sizing: border-box;
|
|
11
|
+
padding: 1.5rem;
|
|
12
|
+
|
|
13
|
+
.pricing-plan__button {
|
|
14
|
+
width: 100%;
|
|
15
|
+
}
|
|
16
|
+
`
|
|
17
|
+
|
|
18
|
+
export const PlanTitle = styled.span`
|
|
19
|
+
border-radius: 8px;
|
|
20
|
+
padding: 0.5rem 1rem;
|
|
21
|
+
background-color: var(--neutral-neutral-4);
|
|
22
|
+
font-size: large;
|
|
23
|
+
font-weight: 700;
|
|
24
|
+
&.highlight {
|
|
25
|
+
background-color: var(--primary-main-light-4);
|
|
26
|
+
}
|
|
27
|
+
`
|
|
28
|
+
|
|
29
|
+
export const PricingInfo = styled.div`
|
|
30
|
+
display: flex;
|
|
31
|
+
flex-direction: column;
|
|
32
|
+
align-items: center;
|
|
33
|
+
`
|
|
34
|
+
|
|
35
|
+
export const Price = styled.h4`
|
|
36
|
+
font-size: 36px;
|
|
37
|
+
font-weight: 700;
|
|
38
|
+
margin: 0 0 -0.5rem 0;
|
|
39
|
+
`
|
|
40
|
+
|
|
41
|
+
export const PriceLabel = styled.span`
|
|
42
|
+
font-size: 14px;
|
|
43
|
+
`
|
|
44
|
+
|
|
45
|
+
export const Divider = styled.hr`
|
|
46
|
+
border: 1px solid var(--neutral-neutral-4);
|
|
47
|
+
width: 100%;
|
|
48
|
+
`
|
|
49
|
+
|
|
50
|
+
export const BenefitsList = styled.ul`
|
|
51
|
+
list-style: none;
|
|
52
|
+
padding: 0;
|
|
53
|
+
margin: 0;
|
|
54
|
+
display: flex;
|
|
55
|
+
flex-direction: column;
|
|
56
|
+
gap: 0.5rem;
|
|
57
|
+
`
|
|
58
|
+
|
|
59
|
+
export const Benefit = styled.li`
|
|
60
|
+
display: flex;
|
|
61
|
+
align-items: start;
|
|
62
|
+
box-sizing: border-box;
|
|
63
|
+
padding: 0 1rem;
|
|
64
|
+
|
|
65
|
+
&.ai-benefit {
|
|
66
|
+
background-color: var(--primary-main-light-5);
|
|
67
|
+
padding: 1rem;
|
|
68
|
+
border-radius: 0.5rem;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
.benefit-text {
|
|
72
|
+
text-align: left;
|
|
73
|
+
font-size: 14px;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
svg {
|
|
77
|
+
flex-shrink: 0;
|
|
78
|
+
width: 16px;
|
|
79
|
+
height: 16px;
|
|
80
|
+
margin-top: 0.3rem;
|
|
81
|
+
margin-right: 0.5rem;
|
|
82
|
+
}
|
|
83
|
+
`
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Benefit,
|
|
3
|
+
BenefitsList,
|
|
4
|
+
Divider,
|
|
5
|
+
PlanCardContainer,
|
|
6
|
+
PlanTitle,
|
|
7
|
+
Price,
|
|
8
|
+
PriceLabel,
|
|
9
|
+
PricingInfo
|
|
10
|
+
} from './PlanCard.styled'
|
|
11
|
+
import { Button } from '../Button'
|
|
12
|
+
import { PlanCardProps } from './PlanCardProps'
|
|
13
|
+
import React from 'react'
|
|
14
|
+
|
|
15
|
+
export const PlanCard: React.FC<PlanCardProps> = ({ plan, onSelect }) => {
|
|
16
|
+
return (
|
|
17
|
+
<PlanCardContainer>
|
|
18
|
+
<PlanTitle className={plan?.highlightPlan ? 'highlight' : 'asdfasdf'}>{plan?.subscription_type?.name}</PlanTitle>
|
|
19
|
+
<PricingInfo>
|
|
20
|
+
<Price>{plan?.pricing}</Price>
|
|
21
|
+
<PriceLabel>{plan?.pricingLabel}</PriceLabel>
|
|
22
|
+
</PricingInfo>
|
|
23
|
+
<Button
|
|
24
|
+
label={plan?.buttonText ?? ''}
|
|
25
|
+
dataQa={`${plan?.subscription_type?.name.replaceAll(' ', '')}-button`}
|
|
26
|
+
noLink
|
|
27
|
+
onClick={() => onSelect?.(plan?.subscription_type?.sku ?? '')}
|
|
28
|
+
givenClass='pricing-plan__button'
|
|
29
|
+
color={plan?.highlightPlan ? 'primary' : 'transparent'}
|
|
30
|
+
/>
|
|
31
|
+
<Divider />
|
|
32
|
+
<BenefitsList>
|
|
33
|
+
{plan?.benefits?.map((item) => (
|
|
34
|
+
<Benefit key={item?.benefit} className={item?.type == 'default' ? 'default' : 'ai-benefit'}>
|
|
35
|
+
{item?.icon}
|
|
36
|
+
<p className='benefit-text' dangerouslySetInnerHTML={{ __html: item?.benefit }}></p>
|
|
37
|
+
</Benefit>
|
|
38
|
+
))}
|
|
39
|
+
</BenefitsList>
|
|
40
|
+
</PlanCardContainer>
|
|
41
|
+
)
|
|
42
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export interface PlanCardProps {
|
|
3
|
+
plan: SubscriptionPlan;
|
|
4
|
+
onSelect?: (sku: string) => void;
|
|
5
|
+
}
|
|
6
|
+
export interface SubscriptionPlan {
|
|
7
|
+
benefits?: Benefit[];
|
|
8
|
+
pricing?: string;
|
|
9
|
+
pricingLabel?: string;
|
|
10
|
+
buttonText?: string;
|
|
11
|
+
highlightPlan?: boolean;
|
|
12
|
+
subscription_type?: SubscriptionType;
|
|
13
|
+
}
|
|
14
|
+
interface Benefit {
|
|
15
|
+
type: 'default' | 'lawgenius';
|
|
16
|
+
benefit: string;
|
|
17
|
+
icon: ReactNode;
|
|
18
|
+
}
|
|
19
|
+
interface SubscriptionType {
|
|
20
|
+
name: string;
|
|
21
|
+
sku: string;
|
|
22
|
+
}
|
|
23
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { ReactNode } from 'react'
|
|
2
|
+
|
|
3
|
+
export interface PlanCardProps {
|
|
4
|
+
plan: SubscriptionPlan
|
|
5
|
+
onSelect?: (sku: string) => void
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export interface SubscriptionPlan {
|
|
9
|
+
benefits?: Benefit[]
|
|
10
|
+
pricing?: string
|
|
11
|
+
pricingLabel?: string
|
|
12
|
+
buttonText?: string
|
|
13
|
+
highlightPlan?: boolean
|
|
14
|
+
subscription_type?: SubscriptionType
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
interface Benefit {
|
|
18
|
+
type: 'default' | 'lawgenius'
|
|
19
|
+
benefit: string
|
|
20
|
+
icon: ReactNode
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
interface SubscriptionType {
|
|
24
|
+
name: string
|
|
25
|
+
sku: string
|
|
26
|
+
}
|
|
@@ -33,7 +33,7 @@ export const AccordionItemStyled = styled.div `
|
|
|
33
33
|
letter-spacing: -0.3px;
|
|
34
34
|
|
|
35
35
|
&.--success {
|
|
36
|
-
background:
|
|
36
|
+
background: #eff7f5;
|
|
37
37
|
}
|
|
38
38
|
|
|
39
39
|
&.--locked {
|
|
@@ -55,10 +55,6 @@ export const AccordionItemStyled = styled.div `
|
|
|
55
55
|
|
|
56
56
|
&.--locked {
|
|
57
57
|
color: var(--neutral-neutral-2);
|
|
58
|
-
|
|
59
|
-
html[data-theme='legalfinity'] & {
|
|
60
|
-
color: var(--primary-main-dark-1);
|
|
61
|
-
}
|
|
62
58
|
}
|
|
63
59
|
}
|
|
64
60
|
|
|
@@ -68,6 +64,5 @@ export const AccordionItemStyled = styled.div `
|
|
|
68
64
|
border-right: 1px solid var(--neutral-neutral-4);
|
|
69
65
|
border-left: 1px solid var(--neutral-neutral-4);
|
|
70
66
|
border-bottom: none;
|
|
71
|
-
color: black;
|
|
72
67
|
}
|
|
73
68
|
`;
|
|
@@ -34,7 +34,7 @@ export const AccordionItemStyled = styled.div`
|
|
|
34
34
|
letter-spacing: -0.3px;
|
|
35
35
|
|
|
36
36
|
&.--success {
|
|
37
|
-
background:
|
|
37
|
+
background: #eff7f5;
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
&.--locked {
|
|
@@ -56,10 +56,6 @@ export const AccordionItemStyled = styled.div`
|
|
|
56
56
|
|
|
57
57
|
&.--locked {
|
|
58
58
|
color: var(--neutral-neutral-2);
|
|
59
|
-
|
|
60
|
-
html[data-theme='legalfinity'] & {
|
|
61
|
-
color: var(--primary-main-dark-1);
|
|
62
|
-
}
|
|
63
59
|
}
|
|
64
60
|
}
|
|
65
61
|
|
|
@@ -69,6 +65,5 @@ export const AccordionItemStyled = styled.div`
|
|
|
69
65
|
border-right: 1px solid var(--neutral-neutral-4);
|
|
70
66
|
border-left: 1px solid var(--neutral-neutral-4);
|
|
71
67
|
border-bottom: none;
|
|
72
|
-
color: black;
|
|
73
68
|
}
|
|
74
69
|
`
|
|
@@ -78,6 +78,13 @@ export const BoxFormStyled = styled.div `
|
|
|
78
78
|
display: flex;
|
|
79
79
|
justify-content: space-between;
|
|
80
80
|
padding: 1.5rem 0 1rem 0;
|
|
81
|
+
flex-wrap: wrap;
|
|
82
|
+
gap: 1rem;
|
|
83
|
+
|
|
84
|
+
.e-button {
|
|
85
|
+
flex: 1;
|
|
86
|
+
text-wrap: nowrap;
|
|
87
|
+
}
|
|
81
88
|
|
|
82
89
|
@media ${device['portrait-tablets']} {
|
|
83
90
|
.e-button {
|
|
@@ -91,8 +98,7 @@ export const BoxFormStyled = styled.div `
|
|
|
91
98
|
}
|
|
92
99
|
|
|
93
100
|
.box--form__footer__text {
|
|
94
|
-
margin-right:
|
|
95
|
-
width: 60%;
|
|
101
|
+
margin-right: 1rem;
|
|
96
102
|
|
|
97
103
|
@media ${device['portrait-tablets']} {
|
|
98
104
|
white-space: nowrap;
|
|
@@ -79,6 +79,13 @@ export const BoxFormStyled = styled.div`
|
|
|
79
79
|
display: flex;
|
|
80
80
|
justify-content: space-between;
|
|
81
81
|
padding: 1.5rem 0 1rem 0;
|
|
82
|
+
flex-wrap: wrap;
|
|
83
|
+
gap: 1rem;
|
|
84
|
+
|
|
85
|
+
.e-button {
|
|
86
|
+
flex: 1;
|
|
87
|
+
text-wrap: nowrap;
|
|
88
|
+
}
|
|
82
89
|
|
|
83
90
|
@media ${device['portrait-tablets']} {
|
|
84
91
|
.e-button {
|
|
@@ -92,8 +99,7 @@ export const BoxFormStyled = styled.div`
|
|
|
92
99
|
}
|
|
93
100
|
|
|
94
101
|
.box--form__footer__text {
|
|
95
|
-
margin-right:
|
|
96
|
-
width: 60%;
|
|
102
|
+
margin-right: 1rem;
|
|
97
103
|
|
|
98
104
|
@media ${device['portrait-tablets']} {
|
|
99
105
|
white-space: nowrap;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { StickyPlanBarStyled, StickyPlanContent, StickySelectButton } from './StickyPlanBar.styled';
|
|
3
|
+
export const StickyPlanBar = ({ activePlan, showStickyBar, onPlanSelect }) => {
|
|
4
|
+
return (_jsxs(StickyPlanBarStyled, { className: `sticky-plan-bar ${showStickyBar ? 'visible' : ''}`, children: [_jsxs(StickyPlanContent, { className: 'sticky-plan-info', children: [_jsx("span", { className: 'sticky-plan-name', children: activePlan.subscription_type?.name }), _jsxs("div", { className: 'sticky-plan-pricing', children: [_jsx("span", { className: 'sticky-plan-price', children: activePlan.pricing }), _jsx("span", { className: 'sticky-plan-priceLabel', children: activePlan.pricingLabel })] })] }), _jsx(StickySelectButton, { className: 'sticky-select-button', onClick: () => (onPlanSelect ? onPlanSelect(activePlan?.subscription_type?.sku ?? '') : undefined), children: "Select" })] }));
|
|
5
|
+
};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export declare const StickyPlanBarStyled: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
|
|
2
|
+
export declare const StickyPlanContent: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
|
|
3
|
+
export declare const StickySelectButton: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, never>> & string;
|