@npm_leadtech/legal-lib-components 5.42.5 → 5.42.7

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 (24) hide show
  1. package/dist/css/styles.css +98 -49
  2. package/dist/src/components/atoms/IconImage/IconImage.d.ts +2 -2
  3. package/dist/src/components/atoms/IconImage/IconImage.js +5 -1
  4. package/dist/src/components/atoms/IconImage/IconImage.tsx +8 -10
  5. package/dist/src/components/atoms/Radio/Radio.scss +59 -53
  6. package/dist/src/components/atoms/Radio/Radio.tsx +1 -1
  7. package/dist/src/components/atoms/Radio/RadioProps.types.d.ts +1 -1
  8. package/dist/src/components/atoms/Radio/RadioProps.types.js +1 -1
  9. package/dist/src/components/atoms/Radio/RadioProps.types.ts +1 -1
  10. package/dist/src/components/organisms/StepsRatafiaContent/StepsRatafiaContent.js +2 -2
  11. package/dist/src/components/organisms/StepsRatafiaContent/StepsRatafiaContent.tsx +2 -1
  12. package/dist/src/components/organisms/StepsRatafiaContent/StepsRatafiaContentProps.types.d.ts +2 -0
  13. package/dist/src/components/organisms/StepsRatafiaContent/StepsRatafiaContentProps.types.ts +2 -0
  14. package/dist/src/components/pages/EsignatureLandingPage/EsignatureLandingPage.js +3 -3
  15. package/dist/src/components/pages/EsignatureLandingPage/EsignatureLandingPage.tsx +7 -5
  16. package/dist/src/components/pages/EsignatureLandingPage/EsignatureLandingPageProps.types.d.ts +3 -2
  17. package/dist/src/components/pages/EsignatureLandingPage/EsignatureLandingPageProps.types.ts +3 -2
  18. package/dist/src/components/sections/StepsRatafiaSection/StepsRatafiaSection.js +7 -2
  19. package/dist/src/components/sections/StepsRatafiaSection/StepsRatafiaSection.styled.js +73 -2
  20. package/dist/src/components/sections/StepsRatafiaSection/StepsRatafiaSection.styled.ts +73 -2
  21. package/dist/src/components/sections/StepsRatafiaSection/StepsRatafiaSection.tsx +16 -6
  22. package/dist/src/components/sections/StepsRatafiaSection/StepsRatafiaSectionProps.types.d.ts +3 -0
  23. package/dist/src/components/sections/StepsRatafiaSection/StepsRatafiaSectionProps.types.ts +3 -0
  24. package/package.json +2 -2
@@ -1783,6 +1783,9 @@ h2.react-datepicker__current-month {
1783
1783
  align-items: center;
1784
1784
  gap: 0.5rem;
1785
1785
  }
1786
+ .e-radio.default .e-radio__inner .radio-item-container .e-radio-label .radio-item-input {
1787
+ visibility: hidden;
1788
+ }
1786
1789
  .e-radio.default .e-radio__inner .radio-item-container .e-radio-label input[type=radio]:after {
1787
1790
  width: 16px;
1788
1791
  height: 16px;
@@ -1814,58 +1817,12 @@ h2.react-datepicker__current-month {
1814
1817
  gap: 0.5rem;
1815
1818
  }
1816
1819
  }
1817
- .e-radio.icons .e-radio__inner {
1818
- width: 100%;
1819
- display: flex;
1820
- flex-wrap: wrap;
1821
- gap: 0.5rem;
1822
- }
1823
- .e-radio.icons .e-radio__inner .radio-item-container {
1824
- width: 100%;
1825
- }
1826
- .e-radio.icons .e-radio__inner .radio-item-container .e-radio-label {
1827
- display: flex;
1828
- padding: 8px 15px;
1829
- align-items: center;
1830
- gap: 16px;
1831
- border-radius: 4px;
1832
- border: 1px solid var(--neutral-neutral-4);
1833
- background: var(--others-white);
1834
- cursor: pointer;
1835
- }
1836
- .e-radio.icons .e-radio__inner .radio-item-container .e-radio-label:hover {
1837
- background: var(--neutral-neutral-5);
1838
- }
1839
- .e-radio.icons .e-radio__inner .radio-item-container .e-radio-label .radio-icon {
1840
- width: 24px;
1841
- height: 24px;
1842
- padding: 1px;
1843
- }
1844
- .e-radio.icons .e-radio__inner .radio-item-container .e-radio-label .radio-item-input {
1845
- position: absolute;
1846
- visibility: hidden;
1847
- }
1848
- .e-radio.icons .e-radio__inner .radio-item-container .e-radio-label .e-radio-label__label {
1849
- font-size: 14px;
1850
- }
1851
- .e-radio.icons .e-radio__inner .radio-item-container.active .e-radio-label {
1852
- border: 2px solid var(--primary-main-dark-2);
1853
- background: var(--neutral-neutral-5);
1854
- }
1855
- .e-radio.icons .e-radio__inner .radio-item-container.active .e-radio-label .e-radio-label__label {
1856
- font-weight: bold;
1857
- }
1858
- @media (min-width: 575px) {
1859
- .e-radio.icons .e-radio__inner .radio-item-container {
1860
- max-width: 960px;
1861
- }
1862
- .e-radio.icons .e-radio__inner .radio-item-container .e-radio-label {
1863
- padding: 16px 15px;
1864
- }
1865
- }
1866
1820
  .e-radio label:first-child:not(.e-radio-label) {
1867
1821
  font-weight: bold;
1868
1822
  }
1823
+ .e-radio .radio-item-container {
1824
+ width: 100%;
1825
+ }
1869
1826
  @media (max-width: 575px) {
1870
1827
  .e-radio.--tabs .e-radio__inner {
1871
1828
  display: flex;
@@ -1982,6 +1939,98 @@ h2.react-datepicker__current-month {
1982
1939
  width: 100%;
1983
1940
  }
1984
1941
  }
1942
+ @media (max-width: 575px) {
1943
+ .e-radio.--icons .e-radio__inner {
1944
+ display: flex;
1945
+ flex-direction: column;
1946
+ gap: 1rem;
1947
+ }
1948
+ .e-radio.--icons .e-radio__inner .radio-item-container .e-radio-label {
1949
+ display: flex;
1950
+ align-items: center;
1951
+ gap: 0.5rem;
1952
+ }
1953
+ .e-radio.--icons .e-radio__inner .radio-item-container .e-radio-label .radio-item-input {
1954
+ visibility: hidden;
1955
+ }
1956
+ .e-radio.--icons .e-radio__inner .radio-item-container .e-radio-label input[type=radio]:after {
1957
+ width: 16px;
1958
+ height: 16px;
1959
+ border-radius: 16px;
1960
+ top: -4px;
1961
+ left: -2px;
1962
+ position: relative;
1963
+ background-color: var(--others-white);
1964
+ content: "";
1965
+ display: inline-block;
1966
+ visibility: visible;
1967
+ border: 1px solid var(--neutral-neutral-1);
1968
+ cursor: pointer;
1969
+ }
1970
+ .e-radio.--icons .e-radio__inner .radio-item-container .e-radio-label .e-radio-label__label {
1971
+ cursor: pointer;
1972
+ }
1973
+ .e-radio.--icons .e-radio__inner .radio-item-container.active .e-radio-label input[type=radio]:after {
1974
+ border: 5px solid var(--primary-main);
1975
+ }
1976
+ .e-radio.--icons .e-radio__inner .radio-item-container.active .e-radio-label .e-radio-label__label {
1977
+ color: var(--primary-main);
1978
+ }
1979
+ .e-radio.--icons .e-radio__inner .radio-item-container:hover .e-radio-label input[type=radio]:after {
1980
+ background-color: var(--primary-main-light-5);
1981
+ }
1982
+ }
1983
+ @media (max-width: 575px) and (min-width: 575px) {
1984
+ .e-radio.--icons .e-radio__inner {
1985
+ gap: 0.5rem;
1986
+ }
1987
+ }
1988
+ .e-radio.--icons .radio-icon {
1989
+ display: none;
1990
+ }
1991
+ @media (min-width: 575px) {
1992
+ .e-radio.--icons .e-radio__inner {
1993
+ display: flex;
1994
+ flex-flow: row wrap;
1995
+ margin-top: 1.5rem;
1996
+ }
1997
+ .e-radio.--icons .radio-item-container {
1998
+ display: flex;
1999
+ width: 47%;
2000
+ border: 1px solid black;
2001
+ min-width: 80px;
2002
+ min-height: 3.5rem;
2003
+ margin-bottom: 0.5rem;
2004
+ border-radius: var(--global-border-radius);
2005
+ border-color: var(--neutral-neutral-4);
2006
+ cursor: pointer;
2007
+ }
2008
+ .e-radio.--icons .radio-item-container:not(:nth-child(2n+0)) {
2009
+ margin-right: 0.5rem;
2010
+ }
2011
+ .e-radio.--icons .radio-item-input {
2012
+ position: absolute;
2013
+ visibility: hidden;
2014
+ }
2015
+ .e-radio.--icons .radio-item-container.active {
2016
+ border: 2px solid var(--primary-main-dark-1);
2017
+ background-color: var(--neutral-neutral-5);
2018
+ }
2019
+ .e-radio.--icons .radio-item-container:hover {
2020
+ background-color: var(--neutral-neutral-5);
2021
+ font-weight: bold;
2022
+ }
2023
+ .e-radio.--icons .e-radio-label {
2024
+ display: flex;
2025
+ align-items: center;
2026
+ padding: 0.25rem 1rem;
2027
+ width: 100%;
2028
+ }
2029
+ .e-radio.--icons .radio-icon {
2030
+ display: block;
2031
+ margin-right: 1rem;
2032
+ }
2033
+ }
1985
2034
  .e-radio.--is-invalid.--tabs .e-radio__inner,
1986
2035
  .e-radio.--is-invalid.--group-invalid .e-radio__inner,
1987
2036
  .e-radio.--group-invalid.--tabs .e-radio__inner,
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import { type FC } from 'react';
2
2
  import { type IconImageProps } from './IconImageProps.types';
3
- declare const IconImage: React.FC<IconImageProps>;
3
+ declare const IconImage: FC<IconImageProps>;
4
4
  export default IconImage;
@@ -1,5 +1,9 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  const IconImage = ({ iconName, baseSrcUrl = undefined, givenClass, iconFormat = 'svg' }) => {
3
- return (_jsx("img", { className: givenClass, src: `${baseSrcUrl ?? process.env.ASSETS_URL + '/'}${iconName}.${iconFormat}`, alt: '', role: 'img' }));
3
+ if (baseSrcUrl === undefined) {
4
+ baseSrcUrl = `${process.env.ASSETS_URL}/`;
5
+ }
6
+ const iconUrl = `${baseSrcUrl}${iconName}.${iconFormat}`;
7
+ return _jsx("img", { className: givenClass, src: iconUrl, alt: '', role: 'img' });
4
8
  };
5
9
  export default IconImage;
@@ -1,16 +1,14 @@
1
- import React from 'react'
1
+ import React, { type FC } from 'react'
2
2
 
3
3
  import { type IconImageProps } from './IconImageProps.types'
4
4
 
5
- const IconImage: React.FC<IconImageProps> = ({ iconName, baseSrcUrl = undefined, givenClass, iconFormat = 'svg' }) => {
6
- return (
7
- <img
8
- className={givenClass}
9
- src={`${baseSrcUrl ?? process.env.ASSETS_URL + '/'}${iconName}.${iconFormat}`}
10
- alt=''
11
- role='img'
12
- />
13
- )
5
+ const IconImage: FC<IconImageProps> = ({ iconName, baseSrcUrl = undefined, givenClass, iconFormat = 'svg' }) => {
6
+ if (baseSrcUrl === undefined) {
7
+ baseSrcUrl = `${process.env.ASSETS_URL}/`
8
+ }
9
+ const iconUrl = `${baseSrcUrl}${iconName}.${iconFormat}`
10
+
11
+ return <img className={givenClass} src={iconUrl} alt='' role='img' />
14
12
  }
15
13
 
16
14
  export default IconImage
@@ -12,6 +12,10 @@
12
12
  align-items: center;
13
13
  gap: 0.5rem;
14
14
 
15
+ .radio-item-input {
16
+ visibility: hidden;
17
+ }
18
+
15
19
  input[type='radio']:after {
16
20
  width: 16px;
17
21
  height: 16px;
@@ -128,62 +132,52 @@
128
132
 
129
133
  @mixin iconStyles {
130
134
  .e-radio__inner {
131
- width: 100%;
132
135
  display: flex;
133
- flex-wrap: wrap;
134
- gap: 0.5rem;
135
- .radio-item-container {
136
- width: 100%;
137
- .e-radio-label {
138
- display: flex;
139
- padding: 8px 15px;
140
- align-items: center;
141
- gap: 16px;
142
- border-radius: 4px;
143
- border: 1px solid var(--neutral-neutral-4);
144
- background: var(--others-white);
145
- cursor: pointer;
146
-
147
- &:hover {
148
- background: var(--neutral-neutral-5);
149
- }
136
+ flex-flow: row wrap;
137
+ margin-top: 1.5rem;
138
+ }
150
139
 
151
- .radio-icon {
152
- width: 24px;
153
- height: 24px;
154
- padding: 1px;
155
- }
140
+ .radio-item-container {
141
+ display: flex;
142
+ width: 47%;
143
+ border: 1px solid black;
144
+ min-width: 80px;
145
+ min-height: 3.5rem;
146
+ margin-bottom: 0.5rem;
147
+ border-radius: var(--global-border-radius);
148
+ border-color: var(--neutral-neutral-4);
149
+ cursor: pointer;
150
+ }
156
151
 
157
- .radio-item-input {
158
- position: absolute;
159
- visibility: hidden;
160
- }
152
+ .radio-item-container:not(:nth-child(2n + 0)) {
153
+ margin-right: 0.5rem;
154
+ }
161
155
 
162
- .e-radio-label__label {
163
- font-size: 14px;
164
- }
165
- }
156
+ .radio-item-input {
157
+ position: absolute;
158
+ visibility: hidden;
159
+ }
166
160
 
167
- &.active {
168
- .e-radio-label {
169
- border: 2px solid var(--primary-main-dark-2);
170
- background: var(--neutral-neutral-5);
161
+ .radio-item-container.active {
162
+ border: 2px solid var(--primary-main-dark-1);
163
+ background-color: var(--neutral-neutral-5);
164
+ }
171
165
 
172
- .e-radio-label__label {
173
- font-weight: bold;
174
- }
175
- }
176
- }
177
- }
166
+ .radio-item-container:hover {
167
+ background-color: var(--neutral-neutral-5);
168
+ font-weight: bold;
169
+ }
178
170
 
179
- @include portrait-tablets {
180
- .radio-item-container {
181
- max-width: $md;
182
- .e-radio-label {
183
- padding: 16px 15px;
184
- }
185
- }
186
- }
171
+ .e-radio-label {
172
+ display: flex;
173
+ align-items: center;
174
+ padding: 0.25rem 1rem;
175
+ width: 100%;
176
+ }
177
+
178
+ .radio-icon {
179
+ display: block;
180
+ margin-right: 1rem;
187
181
  }
188
182
  }
189
183
 
@@ -198,16 +192,16 @@
198
192
  @include defaultStyles;
199
193
  }
200
194
 
201
- &.icons {
202
- @include iconStyles;
203
- }
204
-
205
195
  // por aqui
206
196
 
207
197
  label:first-child:not(.e-radio-label) {
208
198
  font-weight: bold;
209
199
  }
210
200
 
201
+ .radio-item-container {
202
+ width: 100%;
203
+ }
204
+
211
205
  &.--tabs {
212
206
  @media (max-width: #{$xs}) {
213
207
  @include tabsStyles;
@@ -219,6 +213,18 @@
219
213
  }
220
214
  }
221
215
 
216
+ &.--icons {
217
+ @include mobile {
218
+ @include defaultStyles();
219
+ }
220
+ .radio-icon {
221
+ display: none;
222
+ }
223
+ @include portrait-tablets {
224
+ @include iconStyles;
225
+ }
226
+ }
227
+
222
228
  &.--is-invalid,
223
229
  &.--group-invalid {
224
230
  &.--tabs,
@@ -30,7 +30,7 @@ const Radio: React.FC<RadioProps> = ({
30
30
  <label htmlFor={name} className='sans-serif --medium --bold-weight label'>
31
31
  {label}
32
32
  </label>
33
- <div className='e-radio__inner'>
33
+ <div className={'e-radio__inner'}>
34
34
  {items.map((radio) => {
35
35
  return (
36
36
  <div className={`radio-item-container ${radio.value === value ? 'active' : ''}`} key={radio.value}>
@@ -20,5 +20,5 @@ export interface RadioProps {
20
20
  export declare enum RadioFormat {
21
21
  Default = "default",
22
22
  Tabs = "--tabs",
23
- Icons = "icons"
23
+ Icons = "--icons"
24
24
  }
@@ -2,5 +2,5 @@ export var RadioFormat;
2
2
  (function (RadioFormat) {
3
3
  RadioFormat["Default"] = "default";
4
4
  RadioFormat["Tabs"] = "--tabs";
5
- RadioFormat["Icons"] = "icons";
5
+ RadioFormat["Icons"] = "--icons";
6
6
  })(RadioFormat || (RadioFormat = {}));
@@ -17,5 +17,5 @@ export interface RadioProps {
17
17
  export enum RadioFormat {
18
18
  Default = 'default',
19
19
  Tabs = '--tabs',
20
- Icons = 'icons'
20
+ Icons = '--icons'
21
21
  }
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { StepRatafiaCardList } from '../../molecules';
3
3
  import { StepsRatafiaContentStyled } from './StepsRatafiaContent.styled';
4
- const StepsRatafiaContent = ({ title, steps }) => {
5
- return (_jsxs(StepsRatafiaContentStyled, { children: [_jsx("h2", { className: 'sans-serif --super-large --bold-weight steps-ratafia-content__title', children: title }), _jsx(StepRatafiaCardList, { steps: steps })] }));
4
+ const StepsRatafiaContent = ({ title, steps, description }) => {
5
+ return (_jsxs(StepsRatafiaContentStyled, { children: [_jsx("h2", { className: 'sans-serif --super-large --bold-weight steps-ratafia-content__title', children: title }), _jsx("div", { children: description }), _jsx(StepRatafiaCardList, { steps: steps })] }));
6
6
  };
7
7
  export default StepsRatafiaContent;
@@ -4,10 +4,11 @@ import { StepRatafiaCardList } from '../../molecules'
4
4
  import { type StepsRatafiaContentProps } from './StepsRatafiaContentProps.types'
5
5
  import { StepsRatafiaContentStyled } from './StepsRatafiaContent.styled'
6
6
 
7
- const StepsRatafiaContent: FC<StepsRatafiaContentProps> = ({ title, steps }) => {
7
+ const StepsRatafiaContent: FC<StepsRatafiaContentProps> = ({ title, steps, description }) => {
8
8
  return (
9
9
  <StepsRatafiaContentStyled>
10
10
  <h2 className='sans-serif --super-large --bold-weight steps-ratafia-content__title'>{title}</h2>
11
+ <div>{description}</div>
11
12
  <StepRatafiaCardList steps={steps} />
12
13
  </StepsRatafiaContentStyled>
13
14
  )
@@ -1,5 +1,7 @@
1
+ import React from 'react';
1
2
  import { type StepRatafiaCardProps } from '../../atoms';
2
3
  export interface StepsRatafiaContentProps {
3
4
  title: string;
4
5
  steps: StepRatafiaCardProps[];
6
+ description?: React.ReactNode;
5
7
  }
@@ -1,6 +1,8 @@
1
+ import React from 'react'
1
2
  import { type StepRatafiaCardProps } from '../../atoms'
2
3
 
3
4
  export interface StepsRatafiaContentProps {
4
5
  title: string
5
6
  steps: StepRatafiaCardProps[]
7
+ description?: React.ReactNode
6
8
  }
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { FaqSection, JumbotronRatafiaSection } from '../../sections';
3
- export const EsignatureLandingPage = ({ jumbotronEsignatureSectionProps, trustPilotBox, faqGroupProps }) => {
4
- return (_jsxs(_Fragment, { children: [_jsx(JumbotronRatafiaSection, { content: jumbotronEsignatureSectionProps.content, alternativeStyles: jumbotronEsignatureSectionProps.alternativeStyles, children: jumbotronEsignatureSectionProps.children }), trustPilotBox ?? trustPilotBox, _jsx(FaqSection, { groups: faqGroupProps, givenClass: 'faq-ratafia-section' })] }));
2
+ import { FaqSection, JumbotronRatafiaSection, StepsRatafiaSection } from '../../sections';
3
+ export const EsignatureLandingPage = ({ jumbotronSectionProps, stepsSectionProps, trustPilotBox, faqGroupProps }) => {
4
+ return (_jsxs(_Fragment, { children: [_jsx(JumbotronRatafiaSection, { content: jumbotronSectionProps.content, alternativeStyles: jumbotronSectionProps.alternativeStyles, children: jumbotronSectionProps.children }), _jsx(StepsRatafiaSection, { ...stepsSectionProps }), trustPilotBox ?? trustPilotBox, _jsx(FaqSection, { groups: faqGroupProps, givenClass: 'faq-ratafia-section' })] }));
5
5
  };
@@ -1,21 +1,23 @@
1
1
  import React from 'react'
2
2
 
3
- import { FaqSection, JumbotronRatafiaSection } from '../../sections'
3
+ import { FaqSection, JumbotronRatafiaSection, StepsRatafiaSection } from '../../sections'
4
4
  import { type EsignatureLandingPageProps } from './EsignatureLandingPageProps.types'
5
5
 
6
6
  export const EsignatureLandingPage: React.FC<EsignatureLandingPageProps> = ({
7
- jumbotronEsignatureSectionProps,
7
+ jumbotronSectionProps,
8
+ stepsSectionProps,
8
9
  trustPilotBox,
9
10
  faqGroupProps
10
11
  }) => {
11
12
  return (
12
13
  <>
13
14
  <JumbotronRatafiaSection
14
- content={jumbotronEsignatureSectionProps.content}
15
- alternativeStyles={jumbotronEsignatureSectionProps.alternativeStyles}
15
+ content={jumbotronSectionProps.content}
16
+ alternativeStyles={jumbotronSectionProps.alternativeStyles}
16
17
  >
17
- {jumbotronEsignatureSectionProps.children}
18
+ {jumbotronSectionProps.children}
18
19
  </JumbotronRatafiaSection>
20
+ <StepsRatafiaSection {...stepsSectionProps} />
19
21
  {trustPilotBox ?? trustPilotBox}
20
22
  <FaqSection groups={faqGroupProps} givenClass='faq-ratafia-section' />
21
23
  </>
@@ -1,7 +1,8 @@
1
+ import { JumbotronRatafiaSectionProps, StepsRatafiaSectionProps } from '../../sections';
1
2
  import type { FaqGroupProps } from '../../organisms';
2
- import { JumbotronRatafiaSectionProps } from '../../sections';
3
3
  export interface EsignatureLandingPageProps {
4
- jumbotronEsignatureSectionProps: JumbotronRatafiaSectionProps;
4
+ jumbotronSectionProps: JumbotronRatafiaSectionProps;
5
+ stepsSectionProps: StepsRatafiaSectionProps;
5
6
  faqGroupProps: FaqGroupProps[];
6
7
  trustPilotBox?: React.ReactNode;
7
8
  }
@@ -1,8 +1,9 @@
1
+ import { JumbotronRatafiaSectionProps, StepsRatafiaSectionProps } from '../../sections'
1
2
  import type { FaqGroupProps } from '../../organisms'
2
- import { JumbotronRatafiaSectionProps } from '../../sections'
3
3
 
4
4
  export interface EsignatureLandingPageProps {
5
- jumbotronEsignatureSectionProps: JumbotronRatafiaSectionProps
5
+ jumbotronSectionProps: JumbotronRatafiaSectionProps
6
+ stepsSectionProps: StepsRatafiaSectionProps
6
7
  faqGroupProps: FaqGroupProps[]
7
8
  trustPilotBox?: React.ReactNode
8
9
  }
@@ -2,7 +2,12 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { StepsRatafiaContent } from '../../organisms';
3
3
  import { StepsRatafiaSectionStyled } from './StepsRatafiaSection.styled';
4
4
  import { Video } from '../../atoms';
5
- const StepsRatafiaSection = ({ title, steps, videoUrl }) => {
6
- return (_jsx(StepsRatafiaSectionStyled, { className: 'steps-ratafia-section', children: _jsxs("div", { className: 'steps-ratafia-section__wrapper', children: [_jsx("div", { className: 'steps-ratafia-section__wrapper__video', children: _jsx(Video, { videoSrcURL: videoUrl, autoPlay: true, loop: true }) }), _jsx("div", { className: 'steps-ratafia-section__wrapper__content', children: _jsx(StepsRatafiaContent, { title: title, steps: steps }) })] }) }));
5
+ import classNames from 'classnames';
6
+ const StepsRatafiaSection = ({ title, steps, videoUrl, mainImage, description }) => {
7
+ const isEsignatureLanding = !videoUrl;
8
+ const classnames = classNames({
9
+ '--is-esignature': isEsignatureLanding
10
+ });
11
+ return (_jsx(StepsRatafiaSectionStyled, { className: 'steps-ratafia-section', children: _jsxs("div", { className: `steps-ratafia-section__wrapper ${classnames}`, children: [!isEsignatureLanding ? (_jsx("div", { className: 'steps-ratafia-section__wrapper__video', children: _jsx(Video, { videoSrcURL: videoUrl, autoPlay: true, loop: true }) })) : (_jsx("div", { className: 'steps-ratafia-section__wrapper__image', children: mainImage })), _jsx("div", { className: 'steps-ratafia-section__wrapper__content', children: _jsx(StepsRatafiaContent, { title: title, steps: steps, description: description }) })] }) }));
7
12
  };
8
13
  export default StepsRatafiaSection;
@@ -18,10 +18,8 @@ export const StepsRatafiaSectionStyled = styled.section `
18
18
  justify-content: center;
19
19
  align-items: center;
20
20
  align-self: stretch;
21
-
22
21
  gap: 3rem;
23
22
  padding: 2rem 1.5rem 3rem 1.5rem;
24
-
25
23
  max-width: 1200px;
26
24
 
27
25
  @media ${device.desktop} {
@@ -33,6 +31,21 @@ export const StepsRatafiaSectionStyled = styled.section `
33
31
  align-items: center;
34
32
  }
35
33
 
34
+ &__image {
35
+ display: flex;
36
+ justify-content: center;
37
+ align-items: center;
38
+ max-width: 1024px;
39
+ @media ${device['desktop-xl']} {
40
+ max-width: 720px;
41
+ }
42
+ img {
43
+ border-radius: 8px;
44
+ box-shadow: 0 0.125rem 0.375rem 0 rgba(2, 55, 74, 0.25);
45
+ width: 100%;
46
+ }
47
+ }
48
+
36
49
  &__video {
37
50
  display: flex;
38
51
  justify-content: center;
@@ -50,6 +63,64 @@ export const StepsRatafiaSectionStyled = styled.section `
50
63
  &__content {
51
64
  flex: 1;
52
65
  }
66
+
67
+ &.--is-esignature {
68
+ flex-direction: column;
69
+
70
+ @media ${device.desktop} {
71
+ padding: 3rem 0 3rem 0;
72
+ }
73
+ @media ${device['desktop-xl']} {
74
+ flex-direction: row;
75
+ justify-content: center;
76
+ align-items: center;
77
+ }
78
+ }
79
+ }
80
+ }
81
+
82
+ .--is-esignature {
83
+ .steps-ratafia-section {
84
+ &__wrapper {
85
+ &__content {
86
+ width: 100%;
87
+ }
88
+ }
89
+ }
90
+
91
+ .step-ratafia-card-list {
92
+ flex-direction: column;
93
+ @media ${device['laptop']} {
94
+ flex-direction: row;
95
+ }
96
+ @media ${device['desktop-xl']} {
97
+ flex-direction: column;
98
+ justify-content: center;
99
+ align-items: center;
100
+ }
101
+ }
102
+
103
+ .step-ratafia-card {
104
+ width: 100%;
105
+ @media ${device['laptop']} {
106
+ width: 33%;
107
+ }
108
+ @media ${device['desktop-xl']} {
109
+ width: 100%;
110
+ }
111
+ }
112
+
113
+ .steps-esignature-section {
114
+ &__wrapper {
115
+ &__content {
116
+ width: 100%;
117
+ &.step-ratafia-card {
118
+ @media ${device['laptop']} {
119
+ width: 100%;
120
+ }
121
+ }
122
+ }
123
+ }
53
124
  }
54
125
  }
55
126
  `;
@@ -19,10 +19,8 @@ export const StepsRatafiaSectionStyled = styled.section`
19
19
  justify-content: center;
20
20
  align-items: center;
21
21
  align-self: stretch;
22
-
23
22
  gap: 3rem;
24
23
  padding: 2rem 1.5rem 3rem 1.5rem;
25
-
26
24
  max-width: 1200px;
27
25
 
28
26
  @media ${device.desktop} {
@@ -34,6 +32,21 @@ export const StepsRatafiaSectionStyled = styled.section`
34
32
  align-items: center;
35
33
  }
36
34
 
35
+ &__image {
36
+ display: flex;
37
+ justify-content: center;
38
+ align-items: center;
39
+ max-width: 1024px;
40
+ @media ${device['desktop-xl']} {
41
+ max-width: 720px;
42
+ }
43
+ img {
44
+ border-radius: 8px;
45
+ box-shadow: 0 0.125rem 0.375rem 0 rgba(2, 55, 74, 0.25);
46
+ width: 100%;
47
+ }
48
+ }
49
+
37
50
  &__video {
38
51
  display: flex;
39
52
  justify-content: center;
@@ -51,6 +64,64 @@ export const StepsRatafiaSectionStyled = styled.section`
51
64
  &__content {
52
65
  flex: 1;
53
66
  }
67
+
68
+ &.--is-esignature {
69
+ flex-direction: column;
70
+
71
+ @media ${device.desktop} {
72
+ padding: 3rem 0 3rem 0;
73
+ }
74
+ @media ${device['desktop-xl']} {
75
+ flex-direction: row;
76
+ justify-content: center;
77
+ align-items: center;
78
+ }
79
+ }
80
+ }
81
+ }
82
+
83
+ .--is-esignature {
84
+ .steps-ratafia-section {
85
+ &__wrapper {
86
+ &__content {
87
+ width: 100%;
88
+ }
89
+ }
90
+ }
91
+
92
+ .step-ratafia-card-list {
93
+ flex-direction: column;
94
+ @media ${device['laptop']} {
95
+ flex-direction: row;
96
+ }
97
+ @media ${device['desktop-xl']} {
98
+ flex-direction: column;
99
+ justify-content: center;
100
+ align-items: center;
101
+ }
102
+ }
103
+
104
+ .step-ratafia-card {
105
+ width: 100%;
106
+ @media ${device['laptop']} {
107
+ width: 33%;
108
+ }
109
+ @media ${device['desktop-xl']} {
110
+ width: 100%;
111
+ }
112
+ }
113
+
114
+ .steps-esignature-section {
115
+ &__wrapper {
116
+ &__content {
117
+ width: 100%;
118
+ &.step-ratafia-card {
119
+ @media ${device['laptop']} {
120
+ width: 100%;
121
+ }
122
+ }
123
+ }
124
+ }
54
125
  }
55
126
  }
56
127
  `
@@ -4,16 +4,26 @@ import { StepsRatafiaContent } from '../../organisms'
4
4
  import { type StepsRatafiaSectionProps } from './StepsRatafiaSectionProps.types'
5
5
  import { StepsRatafiaSectionStyled } from './StepsRatafiaSection.styled'
6
6
  import { Video } from '../../atoms'
7
+ import classNames from 'classnames'
8
+
9
+ const StepsRatafiaSection: FC<StepsRatafiaSectionProps> = ({ title, steps, videoUrl, mainImage, description }) => {
10
+ const isEsignatureLanding = !videoUrl
11
+ const classnames = classNames({
12
+ '--is-esignature': isEsignatureLanding
13
+ })
7
14
 
8
- const StepsRatafiaSection: FC<StepsRatafiaSectionProps> = ({ title, steps, videoUrl }) => {
9
15
  return (
10
16
  <StepsRatafiaSectionStyled className='steps-ratafia-section'>
11
- <div className='steps-ratafia-section__wrapper'>
12
- <div className='steps-ratafia-section__wrapper__video'>
13
- <Video videoSrcURL={videoUrl} autoPlay loop />
14
- </div>
17
+ <div className={`steps-ratafia-section__wrapper ${classnames}`}>
18
+ {!isEsignatureLanding ? (
19
+ <div className='steps-ratafia-section__wrapper__video'>
20
+ <Video videoSrcURL={videoUrl} autoPlay loop />
21
+ </div>
22
+ ) : (
23
+ <div className='steps-ratafia-section__wrapper__image'>{mainImage}</div>
24
+ )}
15
25
  <div className='steps-ratafia-section__wrapper__content'>
16
- <StepsRatafiaContent title={title} steps={steps} />
26
+ <StepsRatafiaContent title={title} steps={steps} description={description} />
17
27
  </div>
18
28
  </div>
19
29
  </StepsRatafiaSectionStyled>
@@ -1,6 +1,9 @@
1
+ import React from 'react';
1
2
  import type { StepRatafiaCardProps } from '../../atoms';
2
3
  export interface StepsRatafiaSectionProps {
3
4
  title: string;
4
5
  steps: StepRatafiaCardProps[];
5
6
  videoUrl: string;
7
+ mainImage?: React.ReactNode;
8
+ description?: React.ReactNode;
6
9
  }
@@ -1,7 +1,10 @@
1
+ import React from 'react'
1
2
  import type { StepRatafiaCardProps } from '../../atoms'
2
3
 
3
4
  export interface StepsRatafiaSectionProps {
4
5
  title: string
5
6
  steps: StepRatafiaCardProps[]
6
7
  videoUrl: string
8
+ mainImage?: React.ReactNode
9
+ description?: React.ReactNode
7
10
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@npm_leadtech/legal-lib-components",
3
- "version": "5.42.5",
3
+ "version": "5.42.7",
4
4
  "license": "ISC",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -56,7 +56,7 @@
56
56
  "@types/eslint__js": "^8.42.3",
57
57
  "@types/jest": "^29.5.13",
58
58
  "@types/node": "^22.7.5",
59
- "@types/react": "18.3.11",
59
+ "@types/react": "^19.0.12",
60
60
  "@types/react-datepicker": "^7.0.0",
61
61
  "@types/react-dom": "18.3.0",
62
62
  "@types/react-router-dom": "5.3.3",