@npm_leadtech/legal-lib-components 7.63.9 → 7.63.11

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 (65) hide show
  1. package/dist/css/styles.css +18 -0
  2. package/dist/src/components/atoms/Logo/Logo.js +2 -4
  3. package/dist/src/components/atoms/Logo/Logo.tsx +2 -4
  4. package/dist/src/components/atoms/index.d.ts +0 -2
  5. package/dist/src/components/atoms/index.js +0 -2
  6. package/dist/src/components/atoms/index.ts +0 -2
  7. package/dist/src/components/organisms/index.d.ts +0 -1
  8. package/dist/src/components/organisms/index.js +0 -1
  9. package/dist/src/components/organisms/index.ts +0 -1
  10. package/dist/src/components/pages/index.d.ts +0 -1
  11. package/dist/src/components/pages/index.js +0 -1
  12. package/dist/src/components/pages/index.ts +0 -1
  13. package/dist/src/globalStyles/themes.scss +27 -0
  14. package/dist/tsconfig.build.tsbuildinfo +1 -1
  15. package/package.json +1 -2
  16. package/dist/src/components/atoms/FeatureItem/FeatureItem.d.ts +0 -3
  17. package/dist/src/components/atoms/FeatureItem/FeatureItem.js +0 -5
  18. package/dist/src/components/atoms/FeatureItem/FeatureItem.styled.d.ts +0 -1
  19. package/dist/src/components/atoms/FeatureItem/FeatureItem.styled.js +0 -18
  20. package/dist/src/components/atoms/FeatureItem/FeatureItem.styled.ts +0 -19
  21. package/dist/src/components/atoms/FeatureItem/FeatureItem.tsx +0 -12
  22. package/dist/src/components/atoms/FeatureItem/FeatureItemProps.d.ts +0 -9
  23. package/dist/src/components/atoms/FeatureItem/FeatureItemProps.js +0 -1
  24. package/dist/src/components/atoms/FeatureItem/FeatureItemProps.ts +0 -10
  25. package/dist/src/components/atoms/FeatureItem/index.d.ts +0 -2
  26. package/dist/src/components/atoms/FeatureItem/index.js +0 -2
  27. package/dist/src/components/atoms/FeatureItem/index.ts +0 -2
  28. package/dist/src/components/atoms/Logo/svg/legalfinity-logo.svg +0 -15
  29. package/dist/src/components/atoms/Logo/svg/legalfinity-white-logo.svg +0 -15
  30. package/dist/src/components/atoms/PlanCard/PlanCard.d.ts +0 -3
  31. package/dist/src/components/atoms/PlanCard/PlanCard.js +0 -6
  32. package/dist/src/components/atoms/PlanCard/PlanCard.styled.d.ts +0 -8
  33. package/dist/src/components/atoms/PlanCard/PlanCard.styled.js +0 -75
  34. package/dist/src/components/atoms/PlanCard/PlanCard.styled.ts +0 -83
  35. package/dist/src/components/atoms/PlanCard/PlanCard.tsx +0 -42
  36. package/dist/src/components/atoms/PlanCard/PlanCardProps.d.ts +0 -23
  37. package/dist/src/components/atoms/PlanCard/PlanCardProps.js +0 -1
  38. package/dist/src/components/atoms/PlanCard/PlanCardProps.ts +0 -26
  39. package/dist/src/components/atoms/PlanCard/index.d.ts +0 -2
  40. package/dist/src/components/atoms/PlanCard/index.js +0 -2
  41. package/dist/src/components/atoms/PlanCard/index.ts +0 -2
  42. package/dist/src/components/organisms/PricingPageHeader/PricingPageHeader.d.ts +0 -3
  43. package/dist/src/components/organisms/PricingPageHeader/PricingPageHeader.js +0 -7
  44. package/dist/src/components/organisms/PricingPageHeader/PricingPageHeader.styled.d.ts +0 -3
  45. package/dist/src/components/organisms/PricingPageHeader/PricingPageHeader.styled.js +0 -35
  46. package/dist/src/components/organisms/PricingPageHeader/PricingPageHeader.styled.tsx +0 -38
  47. package/dist/src/components/organisms/PricingPageHeader/PricingPageHeader.tsx +0 -21
  48. package/dist/src/components/organisms/PricingPageHeader/PricingPageHeaderProps.d.ts +0 -4
  49. package/dist/src/components/organisms/PricingPageHeader/PricingPageHeaderProps.js +0 -1
  50. package/dist/src/components/organisms/PricingPageHeader/PricingPageHeaderProps.ts +0 -4
  51. package/dist/src/components/organisms/PricingPageHeader/index.d.ts +0 -2
  52. package/dist/src/components/organisms/PricingPageHeader/index.js +0 -2
  53. package/dist/src/components/organisms/PricingPageHeader/index.ts +0 -2
  54. package/dist/src/components/pages/PricingPlansPage/PricingPlansPage.d.ts +0 -3
  55. package/dist/src/components/pages/PricingPlansPage/PricingPlansPage.js +0 -9
  56. package/dist/src/components/pages/PricingPlansPage/PricingPlansPage.styled.d.ts +0 -16
  57. package/dist/src/components/pages/PricingPlansPage/PricingPlansPage.styled.js +0 -88
  58. package/dist/src/components/pages/PricingPlansPage/PricingPlansPage.styled.ts +0 -107
  59. package/dist/src/components/pages/PricingPlansPage/PricingPlansPage.tsx +0 -68
  60. package/dist/src/components/pages/PricingPlansPage/PricingPlansPageProps.d.ts +0 -9
  61. package/dist/src/components/pages/PricingPlansPage/PricingPlansPageProps.js +0 -1
  62. package/dist/src/components/pages/PricingPlansPage/PricingPlansPageProps.ts +0 -10
  63. package/dist/src/components/pages/PricingPlansPage/index.d.ts +0 -2
  64. package/dist/src/components/pages/PricingPlansPage/index.js +0 -2
  65. package/dist/src/components/pages/PricingPlansPage/index.ts +0 -2
@@ -1,3 +0,0 @@
1
- import { PlanCardProps } from './PlanCardProps';
2
- import React from 'react';
3
- export declare const PlanCard: React.FC<PlanCardProps>;
@@ -1,6 +0,0 @@
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
- };
@@ -1,8 +0,0 @@
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;
@@ -1,75 +0,0 @@
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
- `;
@@ -1,83 +0,0 @@
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
- `
@@ -1,42 +0,0 @@
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
- }
@@ -1,23 +0,0 @@
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 {};
@@ -1 +0,0 @@
1
- export {};
@@ -1,26 +0,0 @@
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
- }
@@ -1,2 +0,0 @@
1
- export * from './PlanCard';
2
- export * from './PlanCardProps';
@@ -1,2 +0,0 @@
1
- export * from './PlanCard';
2
- export * from './PlanCardProps';
@@ -1,2 +0,0 @@
1
- export * from './PlanCard'
2
- export * from './PlanCardProps'
@@ -1,3 +0,0 @@
1
- import { PricingHeaderProps } from './PricingPageHeaderProps';
2
- import React from 'react';
3
- export declare const PricingPageHeader: React.FC<PricingHeaderProps>;
@@ -1,7 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { PhoneButtonStyled, PhoneNumberStyled, PricingHeaderStyled } from './PricingPageHeader.styled';
3
- import { Logo } from '../../atoms';
4
- import { PhoneIcon } from '../../../../images/componentsSvg/PhoneIcon';
5
- export const PricingPageHeader = ({ siteName = 'Legalfinity', phoneNumber }) => {
6
- return (_jsxs(PricingHeaderStyled, { children: [_jsx(Logo, { siteName: siteName, width: '150', height: '26' }), _jsxs(PhoneNumberStyled, { children: [_jsx(PhoneIcon, { width: 16, height: 16, fill: '#6d7275' }), _jsx("strong", { children: phoneNumber })] }), _jsxs(PhoneButtonStyled, { href: `tel:${phoneNumber}`, target: '__self', children: [_jsx(PhoneIcon, { width: 24, height: 24, fill: 'currentColor' }), _jsx("strong", { children: 'Call Us' })] })] }));
7
- };
@@ -1,3 +0,0 @@
1
- export declare const PricingHeaderStyled: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLElement>, HTMLElement>, never>> & string;
2
- export declare const PhoneButtonStyled: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>, never>> & string;
3
- export declare const PhoneNumberStyled: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
@@ -1,35 +0,0 @@
1
- import { size } from '../../../globalStyles/breakpoints';
2
- import styled from 'styled-components';
3
- export const PricingHeaderStyled = styled.header `
4
- display: flex;
5
- justify-content: space-between;
6
- align-items: center;
7
- padding: 1rem 1.5rem;
8
- `;
9
- export const PhoneButtonStyled = styled.a `
10
- display: none;
11
- align-items: center;
12
- gap: 0.25rem;
13
- height: 2.5rem;
14
- border-radius: 0.25rem;
15
- padding: 0.25rem 0.5rem;
16
- text-decoration: none;
17
- cursor: pointer;
18
- border: 1px solid var(--neutral-neutral-4);
19
- font-size: 14px;
20
- color: var(--primary-main);
21
- @media (max-width: ${size.tab}) {
22
- display: flex;
23
- }
24
- `;
25
- export const PhoneNumberStyled = styled.div `
26
- display: flex;
27
- align-items: center;
28
- gap: 0.5rem;
29
- color: var(--neutral-neutral-2);
30
- height: 2.5rem;
31
-
32
- @media (max-width: ${size.tab}) {
33
- display: none;
34
- }
35
- `;
@@ -1,38 +0,0 @@
1
- import { size } from '../../../globalStyles/breakpoints'
2
- import styled from 'styled-components'
3
-
4
- export const PricingHeaderStyled = styled.header`
5
- display: flex;
6
- justify-content: space-between;
7
- align-items: center;
8
- padding: 1rem 1.5rem;
9
- `
10
-
11
- export const PhoneButtonStyled = styled.a`
12
- display: none;
13
- align-items: center;
14
- gap: 0.25rem;
15
- height: 2.5rem;
16
- border-radius: 0.25rem;
17
- padding: 0.25rem 0.5rem;
18
- text-decoration: none;
19
- cursor: pointer;
20
- border: 1px solid var(--neutral-neutral-4);
21
- font-size: 14px;
22
- color: var(--primary-main);
23
- @media (max-width: ${size.tab}) {
24
- display: flex;
25
- }
26
- `
27
-
28
- export const PhoneNumberStyled = styled.div`
29
- display: flex;
30
- align-items: center;
31
- gap: 0.5rem;
32
- color: var(--neutral-neutral-2);
33
- height: 2.5rem;
34
-
35
- @media (max-width: ${size.tab}) {
36
- display: none;
37
- }
38
- `
@@ -1,21 +0,0 @@
1
- import { PhoneButtonStyled, PhoneNumberStyled, PricingHeaderStyled } from './PricingPageHeader.styled'
2
- import { Logo } from '../../atoms'
3
- import { PhoneIcon } from '../../../../images/componentsSvg/PhoneIcon'
4
- import { PricingHeaderProps } from './PricingPageHeaderProps'
5
- import React from 'react'
6
-
7
- export const PricingPageHeader: React.FC<PricingHeaderProps> = ({ siteName = 'Legalfinity', phoneNumber }) => {
8
- return (
9
- <PricingHeaderStyled>
10
- <Logo siteName={siteName} width='150' height='26' />
11
- <PhoneNumberStyled>
12
- <PhoneIcon width={16} height={16} fill='#6d7275' />
13
- <strong>{phoneNumber}</strong>
14
- </PhoneNumberStyled>
15
- <PhoneButtonStyled href={`tel:${phoneNumber}`} target='__self'>
16
- <PhoneIcon width={24} height={24} fill='currentColor' />
17
- <strong>{'Call Us'}</strong>
18
- </PhoneButtonStyled>
19
- </PricingHeaderStyled>
20
- )
21
- }
@@ -1,4 +0,0 @@
1
- export interface PricingHeaderProps {
2
- siteName?: string;
3
- phoneNumber?: string;
4
- }
@@ -1,4 +0,0 @@
1
- export interface PricingHeaderProps {
2
- siteName?: string
3
- phoneNumber?: string
4
- }
@@ -1,2 +0,0 @@
1
- export * from './PricingPageHeader';
2
- export * from './PricingPageHeaderProps';
@@ -1,2 +0,0 @@
1
- export * from './PricingPageHeader';
2
- export * from './PricingPageHeaderProps';
@@ -1,2 +0,0 @@
1
- export * from './PricingPageHeader'
2
- export * from './PricingPageHeaderProps'
@@ -1,3 +0,0 @@
1
- import { PricingPlansPageProps } from './PricingPlansPageProps';
2
- import React from 'react';
3
- export declare const PricingPlansPage: React.FC<PricingPlansPageProps>;
@@ -1,9 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { FeatureItem, PlanCard } from '../../atoms';
3
- import { FeaturesGrid, FeaturesSection, PlanSelector, PlanWrapper, PlansWrapper, PricingContainerStyled, SelectorButton } from './PricingPlansPage.styled';
4
- import { PricingPageHeader } from '../../organisms';
5
- import React from 'react';
6
- export const PricingPlansPage = ({ subscriptionPlans, features, onPlanSelect, headerDivider, siteName = 'Legalfinity', phoneNumber }) => {
7
- const [activePlanIndex, setActivePlanIndex] = React.useState(0);
8
- return (_jsxs(_Fragment, { children: [_jsx(PricingPageHeader, { siteName: siteName, phoneNumber: phoneNumber }), headerDivider, subscriptionPlans?.length > 0 && (_jsxs(PricingContainerStyled, { children: [_jsx(PlanSelector, { children: subscriptionPlans.map((plan, index) => (_jsx(SelectorButton, { isActive: index === activePlanIndex, onClick: () => setActivePlanIndex(index), dataQa: `selector-${plan.subscription_type?.name.replaceAll(' ', '')}`, children: plan?.subscription_type?.name }, `selector-${plan?.pricingLabel}`))) }), _jsx(PlansWrapper, { children: subscriptionPlans.map((plan, index) => (_jsx(PlanWrapper, { isHighlighted: plan.highlightPlan, isActive: index === activePlanIndex, className: `pricing-plan__element-container ${plan?.highlightPlan ? 'highlight' : ''} ${index === activePlanIndex ? 'active' : ''}`, children: _jsx(PlanCard, { onSelect: onPlanSelect ?? (() => { }), plan: plan }) }, plan.pricingLabel))) }), features && features.length > 0 && (_jsx(FeaturesSection, { children: _jsx(FeaturesGrid, { children: features.map((feature) => (_jsx(FeatureItem, { feature: feature }, feature.description))) }) }))] }))] }));
9
- };
@@ -1,16 +0,0 @@
1
- type PlanWrapperProps = {
2
- isActive: boolean;
3
- isHighlighted?: boolean;
4
- };
5
- type SelectorButton = {
6
- isActive: boolean;
7
- dataQa: string;
8
- };
9
- export declare const PricingContainerStyled: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLElement>, HTMLElement>, never>> & string;
10
- export declare const PlanSelector: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
11
- export declare const SelectorButton: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, SelectorButton>> & string;
12
- export declare const PlansWrapper: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
13
- export declare const PlanWrapper: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, PlanWrapperProps>> & string;
14
- export declare const FeaturesSection: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
15
- export declare const FeaturesGrid: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLUListElement>, HTMLUListElement>, never>> & string;
16
- export {};
@@ -1,88 +0,0 @@
1
- import styled, { css } from 'styled-components';
2
- import { size } from '../../../globalStyles/breakpoints';
3
- export const PricingContainerStyled = styled.section `
4
- margin: 0 auto 0 auto;
5
- display: flex;
6
- flex-direction: column;
7
- justify-content: center;
8
- align-items: center;
9
- max-width: 996px;
10
- gap: 1.5rem;
11
- margin-bottom: 3rem;
12
- padding: 0 1.5rem;
13
- `;
14
- export const PlanSelector = styled.div `
15
- display: flex;
16
- justify-content: center;
17
- gap: 0.5rem;
18
- border-radius: 1rem;
19
- padding: 0.5rem;
20
-
21
- @media (min-width: ${size.tab}) {
22
- display: none;
23
- }
24
- `;
25
- export const SelectorButton = styled.button `
26
- padding: 0.5rem;
27
- border-radius: 0.5rem;
28
- border: none;
29
- outline: inherit;
30
- flex: 1;
31
- font-size: 12px;
32
- font-weight: 700;
33
- background-color: var(--neutral-neutral-4);
34
- color: var(--neutral-neutral-1);
35
- cursor: pointer;
36
- transition: background-color 0.3s;
37
-
38
- ${({ isActive }) => isActive &&
39
- css `
40
- background-color: var(--primary-main);
41
- color: white;
42
- `}
43
- `;
44
- export const PlansWrapper = styled.div `
45
- display: flex;
46
- height: 100%;
47
- gap: 1rem;
48
- width: 100%;
49
- max-width: 327px;
50
-
51
- @media (min-width: ${size.tab}) {
52
- max-width: none;
53
- gap: 20px;
54
- }
55
- `;
56
- export const PlanWrapper = styled.div `
57
- max-width: 327px;
58
- border-radius: 1rem;
59
- flex: 1;
60
- display: ${({ isActive }) => (isActive ? 'block' : 'none')};
61
- background-color: white;
62
-
63
- ${({ isHighlighted }) => isHighlighted &&
64
- css `
65
- border: 2px solid var(--primary-main);
66
- `}
67
-
68
- @media (min-width: ${size.tab}) {
69
- display: block;
70
- max-width: none;
71
- }
72
- `;
73
- export const FeaturesSection = styled.div `
74
- width: 100%;
75
- `;
76
- export const FeaturesGrid = styled.ul `
77
- display: grid;
78
- grid-template-columns: repeat(2, 1fr);
79
- gap: 0.5rem;
80
- list-style: none;
81
- padding: 0;
82
- margin: 0;
83
-
84
- @media (min-width: ${size.tab}) {
85
- display: flex;
86
- justify-content: center;
87
- }
88
- `;
@@ -1,107 +0,0 @@
1
- import styled, { css } from 'styled-components'
2
- import { size } from '../../../globalStyles/breakpoints'
3
-
4
- type PlanWrapperProps = {
5
- isActive: boolean
6
- isHighlighted?: boolean
7
- }
8
-
9
- type SelectorButton = {
10
- isActive: boolean
11
- dataQa: string
12
- }
13
-
14
- export const PricingContainerStyled = styled.section`
15
- margin: 0 auto 0 auto;
16
- display: flex;
17
- flex-direction: column;
18
- justify-content: center;
19
- align-items: center;
20
- max-width: 996px;
21
- gap: 1.5rem;
22
- margin-bottom: 3rem;
23
- padding: 0 1.5rem;
24
- `
25
-
26
- export const PlanSelector = styled.div`
27
- display: flex;
28
- justify-content: center;
29
- gap: 0.5rem;
30
- border-radius: 1rem;
31
- padding: 0.5rem;
32
-
33
- @media (min-width: ${size.tab}) {
34
- display: none;
35
- }
36
- `
37
-
38
- export const SelectorButton = styled.button<SelectorButton>`
39
- padding: 0.5rem;
40
- border-radius: 0.5rem;
41
- border: none;
42
- outline: inherit;
43
- flex: 1;
44
- font-size: 12px;
45
- font-weight: 700;
46
- background-color: var(--neutral-neutral-4);
47
- color: var(--neutral-neutral-1);
48
- cursor: pointer;
49
- transition: background-color 0.3s;
50
-
51
- ${({ isActive }) =>
52
- isActive &&
53
- css`
54
- background-color: var(--primary-main);
55
- color: white;
56
- `}
57
- `
58
-
59
- export const PlansWrapper = styled.div`
60
- display: flex;
61
- height: 100%;
62
- gap: 1rem;
63
- width: 100%;
64
- max-width: 327px;
65
-
66
- @media (min-width: ${size.tab}) {
67
- max-width: none;
68
- gap: 20px;
69
- }
70
- `
71
-
72
- export const PlanWrapper = styled.div<PlanWrapperProps>`
73
- max-width: 327px;
74
- border-radius: 1rem;
75
- flex: 1;
76
- display: ${({ isActive }) => (isActive ? 'block' : 'none')};
77
- background-color: white;
78
-
79
- ${({ isHighlighted }) =>
80
- isHighlighted &&
81
- css`
82
- border: 2px solid var(--primary-main);
83
- `}
84
-
85
- @media (min-width: ${size.tab}) {
86
- display: block;
87
- max-width: none;
88
- }
89
- `
90
-
91
- export const FeaturesSection = styled.div`
92
- width: 100%;
93
- `
94
-
95
- export const FeaturesGrid = styled.ul`
96
- display: grid;
97
- grid-template-columns: repeat(2, 1fr);
98
- gap: 0.5rem;
99
- list-style: none;
100
- padding: 0;
101
- margin: 0;
102
-
103
- @media (min-width: ${size.tab}) {
104
- display: flex;
105
- justify-content: center;
106
- }
107
- `