@npm_leadtech/legal-lib-components 5.38.0 → 5.39.0

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 (52) hide show
  1. package/dist/css/styles.css +1 -5
  2. package/dist/src/components/atoms/AddButton/AddButton.styled.js +0 -1
  3. package/dist/src/components/atoms/AddButton/AddButton.styled.ts +0 -1
  4. package/dist/src/components/atoms/Radio/Radio.scss +0 -2
  5. package/dist/src/components/atoms/RemoveButton/RemoveButton.styled.js +0 -1
  6. package/dist/src/components/atoms/RemoveButton/RemoveButton.styled.ts +0 -1
  7. package/dist/src/components/atoms/TextArea/TextArea.js +1 -1
  8. package/dist/src/components/atoms/TextArea/TextArea.styled.js +2 -2
  9. package/dist/src/components/atoms/TextArea/TextArea.styled.ts +2 -2
  10. package/dist/src/components/atoms/TextArea/TextArea.tsx +3 -3
  11. package/dist/src/components/molecules/AccordionItem/AccordionItem.styled.js +2 -3
  12. package/dist/src/components/molecules/AccordionItem/AccordionItem.styled.ts +2 -3
  13. package/dist/src/components/molecules/Article/Article.js +2 -2
  14. package/dist/src/components/molecules/Article/Article.tsx +3 -3
  15. package/dist/src/components/molecules/Article/ArticleProps.types.d.ts +1 -0
  16. package/dist/src/components/molecules/Article/ArticleProps.types.ts +1 -0
  17. package/dist/src/components/molecules/ContinueEditingBanner/ContinueEditingBanner.js +2 -2
  18. package/dist/src/components/molecules/ContinueEditingBanner/ContinueEditingBanner.tsx +3 -2
  19. package/dist/src/components/molecules/ContinueEditingBanner/ContinueEditingBannerProps.types.d.ts +1 -0
  20. package/dist/src/components/molecules/ContinueEditingBanner/ContinueEditingBannerProps.types.ts +1 -0
  21. package/dist/src/components/molecules/CountDownMessage/CountDownMessage.js +4 -4
  22. package/dist/src/components/molecules/CountDownMessage/CountDownMessage.tsx +8 -6
  23. package/dist/src/components/molecules/RatafiaSubscriptionCard/RatafiaSubscriptionCard.js +2 -2
  24. package/dist/src/components/molecules/RatafiaSubscriptionCard/RatafiaSubscriptionCard.tsx +4 -3
  25. package/dist/src/components/molecules/RatafiaSubscriptionCard/RatafiaSubscriptionCardProps.types.d.ts +1 -1
  26. package/dist/src/components/molecules/RatafiaSubscriptionCard/RatafiaSubscriptionCardProps.types.ts +1 -1
  27. package/dist/src/components/molecules/TextInput/TextInput.js +1 -1
  28. package/dist/src/components/molecules/TextInput/TextInput.scss +1 -1
  29. package/dist/src/components/molecules/TextInput/TextInput.tsx +1 -1
  30. package/dist/src/components/molecules/TextInput/TextInputLabel.js +1 -1
  31. package/dist/src/components/molecules/TextInput/TextInputLabel.tsx +1 -1
  32. package/dist/src/components/organisms/CardFunctionality/CardFunctionality.js +3 -1
  33. package/dist/src/components/organisms/CardFunctionality/CardFunctionality.styled.js +5 -0
  34. package/dist/src/components/organisms/CardFunctionality/CardFunctionality.styled.ts +5 -0
  35. package/dist/src/components/organisms/CardFunctionality/CardFunctionality.tsx +9 -1
  36. package/dist/src/components/organisms/CardFunctionality/CardFunctionalityProps.d.ts +1 -0
  37. package/dist/src/components/organisms/CardFunctionality/CardFunctionalityProps.ts +1 -0
  38. package/dist/src/components/organisms/ContactJumbotron/ContactJumbotron.js +2 -2
  39. package/dist/src/components/organisms/ContactJumbotron/ContactJumbotron.tsx +2 -1
  40. package/dist/src/components/organisms/ContactJumbotron/ContactJumbotronProps.types.d.ts +1 -0
  41. package/dist/src/components/organisms/ContactJumbotron/ContactJumbotronProps.types.ts +1 -0
  42. package/dist/src/components/organisms/CookiePolicyBar/CookiePolicyBar.js +2 -2
  43. package/dist/src/components/organisms/CookiePolicyBar/CookiePolicyBar.tsx +2 -2
  44. package/dist/src/components/organisms/CookiePolicyBar/CookiePolicyBarProps.d.ts +1 -0
  45. package/dist/src/components/organisms/CookiePolicyBar/CookiePolicyBarProps.ts +1 -0
  46. package/dist/src/components/pages/ErrorRatafiaPage/ErrorRatafiaPage.styled.js +1 -0
  47. package/dist/src/components/pages/ErrorRatafiaPage/ErrorRatafiaPage.styled.ts +1 -0
  48. package/dist/src/components/sections/FunctionalityCardsSection/FunctionalityCardsSection.js +0 -1
  49. package/dist/src/components/sections/FunctionalityCardsSection/FunctionalityCardsSection.styled.js +1 -3
  50. package/dist/src/components/sections/FunctionalityCardsSection/FunctionalityCardsSection.styled.ts +1 -3
  51. package/dist/src/components/sections/FunctionalityCardsSection/FunctionalityCardsSection.tsx +0 -1
  52. package/package.json +1 -1
@@ -1780,8 +1780,6 @@ h2.react-datepicker__current-month {
1780
1780
  flex-flow: row wrap;
1781
1781
  width: 100%;
1782
1782
  margin-left: 1.5rem;
1783
- margin-top: 2rem;
1784
- margin-bottom: 1rem;
1785
1783
  }
1786
1784
  .e-radio.--regular .e-radio__inner label {
1787
1785
  margin-bottom: 0.25rem;
@@ -1873,8 +1871,6 @@ h2.react-datepicker__current-month {
1873
1871
  flex-flow: row wrap;
1874
1872
  width: 100%;
1875
1873
  margin-left: 1.5rem;
1876
- margin-top: 2rem;
1877
- margin-bottom: 1rem;
1878
1874
  }
1879
1875
  .e-radio.--regular:not(.--icons) .e-radio__inner label {
1880
1876
  margin-bottom: 0.25rem;
@@ -2286,7 +2282,7 @@ h2.react-datepicker__current-month {
2286
2282
  display: none;
2287
2283
  }
2288
2284
  .e-text__inner {
2289
- margin-bottom: 0.6rem;
2285
+ margin-bottom: 0.5rem;
2290
2286
  }
2291
2287
  .e-text__children {
2292
2288
  margin-top: 0.5rem;
@@ -17,7 +17,6 @@ export const AddButtonStyled = styled.div `
17
17
  .e-addButton {
18
18
  &__inner {
19
19
  display: inline-block;
20
- margin-top: 1rem;
21
20
  color: var(--primary-main);
22
21
  border-radius: var(--global-border-radius);
23
22
  transition: all 0.3s ease;
@@ -18,7 +18,6 @@ export const AddButtonStyled = styled.div`
18
18
  .e-addButton {
19
19
  &__inner {
20
20
  display: inline-block;
21
- margin-top: 1rem;
22
21
  color: var(--primary-main);
23
22
  border-radius: var(--global-border-radius);
24
23
  transition: all 0.3s ease;
@@ -7,8 +7,6 @@
7
7
  flex-flow: row wrap;
8
8
  width: 100%;
9
9
  margin-left: 1.5rem;
10
- margin-top: 2rem;
11
- margin-bottom: 1rem;
12
10
 
13
11
  label {
14
12
  margin-bottom: 0.25rem;
@@ -5,7 +5,6 @@ export const RemoveButtonStyled = styled.section `
5
5
  .e-removeButton {
6
6
  &__inner {
7
7
  display: inline-block;
8
- margin-top: 1rem;
9
8
  color: var(--error-main);
10
9
 
11
10
  border-radius: var(--global-border-radius);
@@ -6,7 +6,6 @@ export const RemoveButtonStyled = styled.section`
6
6
  .e-removeButton {
7
7
  &__inner {
8
8
  display: inline-block;
9
- margin-top: 1rem;
10
9
  color: var(--error-main);
11
10
 
12
11
  border-radius: var(--global-border-radius);
@@ -4,6 +4,6 @@ import error from '../../../../images/svg/info-error_24px_outlined.svg';
4
4
  const TextArea = ({ customClass = '', disabled, errorMessage, label, name, onChange, placeholder, tooltip, validate = false, value, dataQa }) => {
5
5
  const classNames = `${validate ? 'e-textarea' : 'e-textarea --is-invalid'}
6
6
  ${customClass}`;
7
- return (_jsxs(TextAreaStyled, { className: classNames, children: [tooltip !== undefined && _jsx("p", { className: 'tooltip-form sans-serif --small', children: tooltip }), errorMessage !== undefined && !validate && (_jsxs("span", { className: 'e-text--error sans-serif --small', children: [_jsx("img", { src: error, alt: errorMessage }), errorMessage] })), _jsx("textarea", { id: name, name: name, placeholder: placeholder, onChange: onChange, value: value, disabled: disabled, "data-qa": dataQa }), label !== undefined && (_jsx("div", { className: 'e-textarea__inner', children: _jsx("div", { className: 'inputLabel', children: label }) }))] }));
7
+ return (_jsxs(TextAreaStyled, { className: classNames, children: [Boolean(tooltip) && _jsx("p", { className: 'tooltip-form sans-serif --small', children: tooltip }), Boolean(errorMessage) && !validate && (_jsxs("span", { className: 'e-text--error sans-serif --small', children: [_jsx("img", { src: error, alt: errorMessage }), errorMessage] })), _jsx("textarea", { id: name, name: name, placeholder: placeholder, onChange: onChange, value: value, disabled: disabled, "data-qa": dataQa }), Boolean(label) && (_jsx("div", { className: 'e-textarea__inner', children: _jsx("div", { className: 'inputLabel', children: label }) }))] }));
8
8
  };
9
9
  export default TextArea;
@@ -92,8 +92,8 @@ export const TextAreaStyled = styled.div `
92
92
  bottom: 0;
93
93
  }
94
94
 
95
- &__inner {
96
- margin-bottom: 0;
95
+ .e-textarea__inner {
96
+ margin-bottom: 0.5rem;
97
97
  }
98
98
 
99
99
  .inputLabel {
@@ -93,8 +93,8 @@ export const TextAreaStyled = styled.div`
93
93
  bottom: 0;
94
94
  }
95
95
 
96
- &__inner {
97
- margin-bottom: 0;
96
+ .e-textarea__inner {
97
+ margin-bottom: 0.5rem;
98
98
  }
99
99
 
100
100
  .inputLabel {
@@ -22,8 +22,8 @@ const TextArea: FC<TextAreaProps> = ({
22
22
 
23
23
  return (
24
24
  <TextAreaStyled className={classNames}>
25
- {tooltip !== undefined && <p className='tooltip-form sans-serif --small'>{tooltip}</p>}
26
- {errorMessage !== undefined && !validate && (
25
+ {Boolean(tooltip) && <p className='tooltip-form sans-serif --small'>{tooltip}</p>}
26
+ {Boolean(errorMessage) && !validate && (
27
27
  <span className='e-text--error sans-serif --small'>
28
28
  <img src={error} alt={errorMessage} />
29
29
  {errorMessage}
@@ -38,7 +38,7 @@ const TextArea: FC<TextAreaProps> = ({
38
38
  disabled={disabled}
39
39
  data-qa={dataQa}
40
40
  />
41
- {label !== undefined && (
41
+ {Boolean(label) && (
42
42
  <div className={'e-textarea__inner'}>
43
43
  <div className='inputLabel'>{label}</div>
44
44
  </div>
@@ -29,7 +29,7 @@ export const AccordionItemStyled = styled.div `
29
29
  font-size: 16px;
30
30
  font-style: normal;
31
31
  font-weight: 400;
32
- line-height: 22px;
32
+ line-height: 20px;
33
33
  letter-spacing: -0.3px;
34
34
 
35
35
  &.--success {
@@ -48,10 +48,9 @@ export const AccordionItemStyled = styled.div `
48
48
  .accordion__title {
49
49
  color: var(--primary-main-dark-1);
50
50
  font-family: Inter;
51
- font-size: 18px;
51
+ font-size: 16px;
52
52
  font-style: normal;
53
53
  font-weight: 700;
54
- line-height: 24px;
55
54
  letter-spacing: -0.3px;
56
55
 
57
56
  &.--locked {
@@ -30,7 +30,7 @@ export const AccordionItemStyled = styled.div`
30
30
  font-size: 16px;
31
31
  font-style: normal;
32
32
  font-weight: 400;
33
- line-height: 22px;
33
+ line-height: 20px;
34
34
  letter-spacing: -0.3px;
35
35
 
36
36
  &.--success {
@@ -49,10 +49,9 @@ export const AccordionItemStyled = styled.div`
49
49
  .accordion__title {
50
50
  color: var(--primary-main-dark-1);
51
51
  font-family: Inter;
52
- font-size: 18px;
52
+ font-size: 16px;
53
53
  font-style: normal;
54
54
  font-weight: 700;
55
- line-height: 24px;
56
55
  letter-spacing: -0.3px;
57
56
 
58
57
  &.--locked {
@@ -2,7 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import ArrowRight from '../../../../images/svg/arrow-right-24px-outlined.svg';
3
3
  import { ArticleStyled } from './Article.styled';
4
4
  import { Button } from '../../atoms';
5
- const Article = ({ imageUrl, title, articleUrl, summary, isCategoryProductPage }) => {
6
- return (_jsxs(ArticleStyled, { className: 'article', children: [_jsx("img", { src: imageUrl, className: isCategoryProductPage ? 'image image-category' : 'image', loading: 'lazy', alt: title }), _jsxs("div", { className: isCategoryProductPage ? 'information information-category' : 'information', children: [_jsx("a", { href: articleUrl, target: '_blank', rel: 'noreferrer', children: _jsxs("p", { className: 'title sans-serif --big', children: [title, " "] }) }), _jsx("div", { className: 'summary', children: summary }), isCategoryProductPage ? (_jsxs("div", { className: 'button-image-container', children: [_jsx(Button, { givenClass: 'thinner-letter', color: 'tertiary', label: 'Read more', dataQa: 'article-read-more', link: articleUrl, isExternal: true }), _jsx("img", { className: 'article__arrow-right', src: ArrowRight, alt: '' })] })) : (_jsx(Button, { color: 'tertiary', label: 'Read more', dataQa: 'article-read-more', link: articleUrl, isExternal: true }))] })] }));
5
+ const Article = ({ imageUrl, title, articleUrl, summary, isCategoryProductPage, readMoreText }) => {
6
+ return (_jsxs(ArticleStyled, { className: 'article', children: [_jsx("img", { src: imageUrl, className: isCategoryProductPage ? 'image image-category' : 'image', loading: 'lazy', alt: title }), _jsxs("div", { className: isCategoryProductPage ? 'information information-category' : 'information', children: [_jsx("a", { href: articleUrl, target: '_blank', rel: 'noreferrer', children: _jsxs("p", { className: 'title sans-serif --big', children: [title, " "] }) }), _jsx("div", { className: 'summary', children: summary }), isCategoryProductPage ? (_jsxs("div", { className: 'button-image-container', children: [_jsx(Button, { givenClass: 'thinner-letter', color: 'tertiary', label: readMoreText, dataQa: 'article-read-more', link: articleUrl, isExternal: true }), _jsx("img", { className: 'article__arrow-right', src: ArrowRight, alt: '' })] })) : (_jsx(Button, { color: 'tertiary', label: readMoreText, dataQa: 'article-read-more', link: articleUrl, isExternal: true }))] })] }));
7
7
  };
8
8
  export default Article;
@@ -5,7 +5,7 @@ import { type ArticleProps } from './ArticleProps.types'
5
5
  import { ArticleStyled } from './Article.styled'
6
6
  import { Button } from '../../atoms'
7
7
 
8
- const Article: FC<ArticleProps> = ({ imageUrl, title, articleUrl, summary, isCategoryProductPage }) => {
8
+ const Article: FC<ArticleProps> = ({ imageUrl, title, articleUrl, summary, isCategoryProductPage, readMoreText }) => {
9
9
  return (
10
10
  <ArticleStyled className='article'>
11
11
  <img
@@ -24,7 +24,7 @@ const Article: FC<ArticleProps> = ({ imageUrl, title, articleUrl, summary, isCat
24
24
  <Button
25
25
  givenClass='thinner-letter'
26
26
  color='tertiary'
27
- label={'Read more'}
27
+ label={readMoreText}
28
28
  dataQa='article-read-more'
29
29
  link={articleUrl}
30
30
  isExternal
@@ -32,7 +32,7 @@ const Article: FC<ArticleProps> = ({ imageUrl, title, articleUrl, summary, isCat
32
32
  <img className='article__arrow-right' src={ArrowRight} alt=''></img>
33
33
  </div>
34
34
  ) : (
35
- <Button color='tertiary' label={'Read more'} dataQa='article-read-more' link={articleUrl} isExternal />
35
+ <Button color='tertiary' label={readMoreText} dataQa='article-read-more' link={articleUrl} isExternal />
36
36
  )}
37
37
  </div>
38
38
  </ArticleStyled>
@@ -5,4 +5,5 @@ export interface ArticleProps {
5
5
  summary: string;
6
6
  id: string;
7
7
  isCategoryProductPage: boolean;
8
+ readMoreText: string;
8
9
  }
@@ -5,4 +5,5 @@ export interface ArticleProps {
5
5
  summary: string
6
6
  id: string
7
7
  isCategoryProductPage: boolean
8
+ readMoreText: string
8
9
  }
@@ -2,11 +2,11 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Button } from '../../atoms/Button';
3
3
  import { ContinueEditingBannerStyled } from './ContinueEditingBanner.styled';
4
4
  // import './ContinueEditingBanner.scss'
5
- export const ContinueEditingBanner = ({ latestApplicationInProgress, editFormClicked, tagLine, title, token }) => {
5
+ export const ContinueEditingBanner = ({ latestApplicationInProgress, editFormClicked, tagLine, title, token, buttonLabel }) => {
6
6
  if (latestApplicationInProgress == null || token.length === 0) {
7
7
  return null;
8
8
  }
9
- return (_jsx(ContinueEditingBannerStyled, { className: 'continue-banner', children: _jsxs("div", { className: 'continue-banner__wrapper wrapper', children: [_jsx("span", { className: 'continue-banner__title', children: title }), _jsx("span", { className: 'continue-banner__tagline', children: tagLine }), _jsx(Button, { label: 'Complete It Today', dataQa: 'continue-editing-banner-button', noLink: true, onClick: () => {
9
+ return (_jsx(ContinueEditingBannerStyled, { className: 'continue-banner', children: _jsxs("div", { className: 'continue-banner__wrapper wrapper', children: [_jsx("span", { className: 'continue-banner__title', children: title }), _jsx("span", { className: 'continue-banner__tagline', children: tagLine }), _jsx(Button, { label: buttonLabel, dataQa: 'continue-editing-banner-button', noLink: true, onClick: () => {
10
10
  if (editFormClicked != null) {
11
11
  editFormClicked(latestApplicationInProgress);
12
12
  }
@@ -10,7 +10,8 @@ export const ContinueEditingBanner: React.FC<ContinueEditingBannerProps> = ({
10
10
  editFormClicked,
11
11
  tagLine,
12
12
  title,
13
- token
13
+ token,
14
+ buttonLabel
14
15
  }) => {
15
16
  if (latestApplicationInProgress == null || token.length === 0) {
16
17
  return null
@@ -22,7 +23,7 @@ export const ContinueEditingBanner: React.FC<ContinueEditingBannerProps> = ({
22
23
  <span className='continue-banner__title'>{title}</span>
23
24
  <span className='continue-banner__tagline'>{tagLine}</span>
24
25
  <Button
25
- label='Complete It Today'
26
+ label={buttonLabel}
26
27
  dataQa='continue-editing-banner-button'
27
28
  noLink
28
29
  onClick={() => {
@@ -16,5 +16,6 @@ export interface ContinueEditingBannerProps {
16
16
  token: string;
17
17
  tagLine: string;
18
18
  title: string;
19
+ buttonLabel: string;
19
20
  }
20
21
  export {};
@@ -18,4 +18,5 @@ export interface ContinueEditingBannerProps {
18
18
  token: string
19
19
  tagLine: string
20
20
  title: string
21
+ buttonLabel: string
21
22
  }
@@ -18,18 +18,18 @@ const CountDownMessage = ({ noImg = false, text, time, centered = false }) => {
18
18
  };
19
19
  useEffect(() => {
20
20
  window.removeEventListener('scroll', handleScroll);
21
- if (isMobile || isTablet) {
21
+ if (isTablet) {
22
22
  window.addEventListener('scroll', handleScroll);
23
23
  }
24
24
  return () => {
25
25
  window.removeEventListener('scroll', handleScroll);
26
26
  };
27
- }, [isMobile, isTablet]);
27
+ }, [isTablet]);
28
28
  const messageInformationHtml = _jsx(MessageInformation, { noImg: noImg, text: text, time: time, centered: centered });
29
29
  const classCountDownMessageFixed = classNames({
30
30
  'count-down-message-fixed': true,
31
- 'count-down-message-fixed--show': scrollSuperateCountDown
31
+ 'count-down-message-fixed--show': scrollSuperateCountDown || isMobile
32
32
  });
33
- return (_jsxs(_Fragment, { children: [_jsx(CountDownMessageStyled, { className: `count-down-message ${noImg && 'extra-margin'}`, ref: countDownRef, children: messageInformationHtml }), _jsx(CountDownMessageStyled, { className: classCountDownMessageFixed, children: messageInformationHtml })] }));
33
+ return (_jsxs(_Fragment, { children: [!isMobile && (_jsx(CountDownMessageStyled, { className: `count-down-message ${noImg && 'extra-margin'}`, ref: countDownRef, children: messageInformationHtml })), _jsx(CountDownMessageStyled, { className: classCountDownMessageFixed, children: messageInformationHtml })] }));
34
34
  };
35
35
  export default CountDownMessage;
@@ -24,27 +24,29 @@ const CountDownMessage: FC<CountDownMessageProps> = ({ noImg = false, text, time
24
24
  useEffect(() => {
25
25
  window.removeEventListener('scroll', handleScroll)
26
26
 
27
- if (isMobile || isTablet) {
27
+ if (isTablet) {
28
28
  window.addEventListener('scroll', handleScroll)
29
29
  }
30
30
 
31
31
  return () => {
32
32
  window.removeEventListener('scroll', handleScroll)
33
33
  }
34
- }, [isMobile, isTablet])
34
+ }, [isTablet])
35
35
 
36
36
  const messageInformationHtml = <MessageInformation noImg={noImg} text={text} time={time} centered={centered} />
37
37
 
38
38
  const classCountDownMessageFixed = classNames({
39
39
  'count-down-message-fixed': true,
40
- 'count-down-message-fixed--show': scrollSuperateCountDown
40
+ 'count-down-message-fixed--show': scrollSuperateCountDown || isMobile
41
41
  })
42
42
 
43
43
  return (
44
44
  <>
45
- <CountDownMessageStyled className={`count-down-message ${noImg && 'extra-margin'}`} ref={countDownRef}>
46
- {messageInformationHtml}
47
- </CountDownMessageStyled>
45
+ {!isMobile && (
46
+ <CountDownMessageStyled className={`count-down-message ${noImg && 'extra-margin'}`} ref={countDownRef}>
47
+ {messageInformationHtml}
48
+ </CountDownMessageStyled>
49
+ )}
48
50
 
49
51
  <CountDownMessageStyled className={classCountDownMessageFixed}>{messageInformationHtml}</CountDownMessageStyled>
50
52
  </>
@@ -2,11 +2,11 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Button, IconSvgURLWithThemeColor, RichTextStrapi } from '../../atoms';
3
3
  import { RatafiaSubscriptionCardStyled } from './RatafiaSubscriptionCard.styled';
4
4
  import { stringSlugify } from '../../../utils/stringSlugify';
5
- const RatafiaSubscriptionCard = ({ cardStyle, iconTitle, title, priceText, mainFeatures, AIFeatures, buttonText, linkText }) => {
5
+ const RatafiaSubscriptionCard = ({ cardStyle = 'primary', iconTitle, title, priceText, mainFeatures, AIFeatures, buttonText, handleClick }) => {
6
6
  if (!title)
7
7
  return null;
8
8
  const buttonStyle = cardStyle === 'Secondary' ? 'primary3' : 'primary';
9
9
  const renderFeatures = (features, className) => features.map((feature) => (_jsxs("div", { className: `ratafia-card__feature ${className ?? ''}`, children: [feature.image?.url && _jsx(IconSvgURLWithThemeColor, { url: feature.image.url, height: '16', width: '16' }), _jsx(RichTextStrapi, { html: feature.title })] }, feature.title)));
10
- return (_jsxs(RatafiaSubscriptionCardStyled, { className: `ratafia-card ${cardStyle ? stringSlugify(cardStyle) : 'primary'}`, children: [_jsxs("div", { className: 'ratafia-card__header', children: [title && (_jsxs("div", { className: 'ratafia-card__title', children: [iconTitle?.url && _jsx(IconSvgURLWithThemeColor, { url: iconTitle.url, height: '26', width: '26' }), _jsx(RichTextStrapi, { html: title })] })), priceText && _jsx("div", { className: 'ratafia-card__price-text', children: priceText })] }), _jsx("hr", {}), _jsxs("div", { className: 'ratafia-card__body', children: [mainFeatures && renderFeatures(mainFeatures, 'main-feature'), AIFeatures && renderFeatures(AIFeatures, 'ratafia-feature')] }), buttonText && (_jsx("div", { className: 'ratafia-card__footer', children: _jsx(Button, { dataQa: 'ratafia-card-button', givenClass: 'ratafia-card__button', color: buttonStyle, label: buttonText, link: linkText ?? '#' }) }))] }));
10
+ return (_jsxs(RatafiaSubscriptionCardStyled, { className: `ratafia-card ${cardStyle ? stringSlugify(cardStyle) : 'primary'}`, children: [_jsxs("div", { className: 'ratafia-card__header', children: [title && (_jsxs("div", { className: 'ratafia-card__title', children: [iconTitle?.url && _jsx(IconSvgURLWithThemeColor, { url: iconTitle.url, height: '26', width: '26' }), _jsx(RichTextStrapi, { html: title })] })), priceText && _jsx("div", { className: 'ratafia-card__price-text', children: priceText })] }), _jsx("hr", {}), _jsxs("div", { className: 'ratafia-card__body', children: [mainFeatures && renderFeatures(mainFeatures, 'main-feature'), AIFeatures && renderFeatures(AIFeatures, 'ratafia-feature')] }), buttonText && (_jsx("div", { className: 'ratafia-card__footer', children: _jsx(Button, { dataQa: 'ratafia-card-button', givenClass: 'ratafia-card__button', color: buttonStyle, label: buttonText, noLink: true, onClick: handleClick }) }))] }));
11
11
  };
12
12
  export default RatafiaSubscriptionCard;
@@ -6,14 +6,14 @@ import { RatafiaSubscriptionCardStyled } from './RatafiaSubscriptionCard.styled'
6
6
  import { stringSlugify } from '../../../utils/stringSlugify'
7
7
 
8
8
  const RatafiaSubscriptionCard: FC<RatafiaSubscriptionCardProps> = ({
9
- cardStyle,
9
+ cardStyle = 'primary',
10
10
  iconTitle,
11
11
  title,
12
12
  priceText,
13
13
  mainFeatures,
14
14
  AIFeatures,
15
15
  buttonText,
16
- linkText
16
+ handleClick
17
17
  }) => {
18
18
  if (!title) return null
19
19
  const buttonStyle = cardStyle === 'Secondary' ? 'primary3' : 'primary'
@@ -48,7 +48,8 @@ const RatafiaSubscriptionCard: FC<RatafiaSubscriptionCardProps> = ({
48
48
  givenClass='ratafia-card__button'
49
49
  color={buttonStyle}
50
50
  label={buttonText}
51
- link={linkText ?? '#'}
51
+ noLink
52
+ onClick={handleClick}
52
53
  />
53
54
  </div>
54
55
  )}
@@ -6,7 +6,7 @@ export interface RatafiaSubscriptionCardProps {
6
6
  mainFeatures?: BenefitProps[];
7
7
  AIFeatures?: BenefitProps[];
8
8
  buttonText?: string;
9
- linkText?: string;
9
+ handleClick?: () => void;
10
10
  }
11
11
  interface IconTitleProps {
12
12
  name?: string;
@@ -6,7 +6,7 @@ export interface RatafiaSubscriptionCardProps {
6
6
  mainFeatures?: BenefitProps[]
7
7
  AIFeatures?: BenefitProps[]
8
8
  buttonText?: string
9
- linkText?: string
9
+ handleClick?: () => void
10
10
  }
11
11
 
12
12
  interface IconTitleProps {
@@ -32,7 +32,7 @@ const TextInput = React.forwardRef(({ label, value, validate = true, isValidGrou
32
32
  }
33
33
  return (_jsx(Input, { name: name ?? '', type: type, placeholder: placeholder ?? '', className: 'e-text-input', onChange: handleChange, onClick: onClick ?? (() => { }), value: value, "data-qa": name, disabled: disabled ?? false, maxLength: maxLength, onBlur: onBlur ?? (() => { }), ref: ref, onKeyDown: handleKeyDown, onKeyUp: handleKeyUp }));
34
34
  };
35
- return (_jsxs("div", { className: classnames, children: [children !== null && _jsx("div", { className: 'e-text__children', children: children }), _jsx(TextInputTooltip, { tooltip: tooltip }), _jsx(TextInputMessage, { errorMessage: errorMessage, validate: validate }), renderInput(), _jsx(TextInputLabel, { label: label, htmlFor: name, notes: notes, dialogMenuTip: dialogMenuTip })] }));
35
+ return (_jsxs("div", { className: classnames, children: [Boolean(children) && _jsx("div", { className: 'e-text__children', children: children }), _jsx(TextInputTooltip, { tooltip: tooltip }), _jsx(TextInputMessage, { errorMessage: errorMessage, validate: validate }), renderInput(), _jsx(TextInputLabel, { label: label, htmlFor: name, notes: notes, dialogMenuTip: dialogMenuTip })] }));
36
36
  });
37
37
  export default TextInput;
38
38
  TextInput.displayName = 'TextInput';
@@ -77,7 +77,7 @@
77
77
  }
78
78
 
79
79
  &__inner {
80
- margin-bottom: 0.6rem;
80
+ margin-bottom: 0.5rem;
81
81
  }
82
82
 
83
83
  &__children {
@@ -97,7 +97,7 @@ const TextInput = React.forwardRef<HTMLInputElement, TextInputProps>(
97
97
 
98
98
  return (
99
99
  <div className={classnames}>
100
- {children !== null && <div className='e-text__children'>{children}</div>}
100
+ {Boolean(children) && <div className='e-text__children'>{children}</div>}
101
101
  <TextInputTooltip tooltip={tooltip} />
102
102
  <TextInputMessage errorMessage={errorMessage} validate={validate} />
103
103
  {renderInput()}
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { DialogMenuIcon } from '../../atoms';
3
3
  export const TextInputLabel = ({ label, htmlFor, notes, dialogMenuTip = '' }) => {
4
- if (label === undefined && notes === undefined)
4
+ if (!label && !notes)
5
5
  return null;
6
6
  return (_jsxs("div", { className: 'e-text__inner', children: [_jsxs("label", { htmlFor: htmlFor, className: dialogMenuTip.length > 0 ? 'form-group__label-icon' : 'form-group__label', children: [label, dialogMenuTip.length > 0 ? _jsx(DialogMenuIcon, { content: dialogMenuTip }) : null] }), _jsx("p", { className: 'e-text__inner__notes', children: notes })] }));
7
7
  };
@@ -12,7 +12,7 @@ interface TextInputLabelProps {
12
12
  }
13
13
 
14
14
  export const TextInputLabel: FC<TextInputLabelProps> = ({ label, htmlFor, notes, dialogMenuTip = '' }) => {
15
- if (label === undefined && notes === undefined) return null
15
+ if (!label && !notes) return null
16
16
 
17
17
  return (
18
18
  <div className='e-text__inner'>
@@ -1,6 +1,8 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Button, Tag } from '../../atoms';
3
3
  import { CardFunctionalityStyled } from './CardFunctionality.styled';
4
- export const CardFunctionality = ({ icon, title, text, tags, cta }) => {
4
+ export const CardFunctionality = ({ icon, title, text, tags, cta, isHidden = false }) => {
5
+ if (isHidden)
6
+ return null;
5
7
  return (_jsxs(CardFunctionalityStyled, { children: [_jsxs("div", { className: 'content-tags', children: [_jsxs("div", { className: 'content', children: [_jsxs("div", { className: 'header', children: [_jsx("div", { className: 'icon', children: icon }), _jsx("p", { className: 'title', children: title })] }), _jsx("div", { title: text, className: 'text', children: text })] }), _jsx("div", { className: 'tags', children: tags.map((tag) => (_jsx(Tag, { ...tag }, tag.id))) })] }), _jsx(Button, { ...cta, givenClass: 'cta-card' })] }));
6
8
  };
@@ -1,3 +1,4 @@
1
+ import { device } from '../../../globalStyles/breakpoints';
1
2
  import styled from 'styled-components';
2
3
  export const CardFunctionalityStyled = styled.article `
3
4
  border-radius: var(--global-border-radius);
@@ -6,6 +7,10 @@ export const CardFunctionalityStyled = styled.article `
6
7
  flex-direction: column;
7
8
  gap: var(--global-gap);
8
9
  padding: 1em;
10
+ width: 100%;
11
+ @media ${device.laptop} {
12
+ width: 50%;
13
+ }
9
14
 
10
15
  .content-tags {
11
16
  display: flex;
@@ -1,3 +1,4 @@
1
+ import { device } from '../../../globalStyles/breakpoints'
1
2
  import styled from 'styled-components'
2
3
 
3
4
  export const CardFunctionalityStyled = styled.article`
@@ -7,6 +8,10 @@ export const CardFunctionalityStyled = styled.article`
7
8
  flex-direction: column;
8
9
  gap: var(--global-gap);
9
10
  padding: 1em;
11
+ width: 100%;
12
+ @media ${device.laptop} {
13
+ width: 50%;
14
+ }
10
15
 
11
16
  .content-tags {
12
17
  display: flex;
@@ -4,7 +4,15 @@ import { Button, Tag } from '../../atoms'
4
4
  import { type CardFunctionalityProps } from './CardFunctionalityProps'
5
5
  import { CardFunctionalityStyled } from './CardFunctionality.styled'
6
6
 
7
- export const CardFunctionality: React.FC<CardFunctionalityProps> = ({ icon, title, text, tags, cta }) => {
7
+ export const CardFunctionality: React.FC<CardFunctionalityProps> = ({
8
+ icon,
9
+ title,
10
+ text,
11
+ tags,
12
+ cta,
13
+ isHidden = false
14
+ }) => {
15
+ if (isHidden) return null
8
16
  return (
9
17
  <CardFunctionalityStyled>
10
18
  <div className='content-tags'>
@@ -6,4 +6,5 @@ export interface CardFunctionalityProps {
6
6
  tags: TagProps[];
7
7
  cta: ButtonProps;
8
8
  id: string;
9
+ isHidden: boolean;
9
10
  }
@@ -7,4 +7,5 @@ export interface CardFunctionalityProps {
7
7
  tags: TagProps[]
8
8
  cta: ButtonProps
9
9
  id: string
10
+ isHidden: boolean
10
11
  }
@@ -2,6 +2,6 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { EmailContactBox, PhoneContactBoxDesktop } from '../../molecules';
3
3
  import { Button } from '../../atoms';
4
4
  import { ContactJumbotronStyled } from './ContactJumbotron.styled';
5
- export const ContactJumbotron = ({ phoneBoxDesktopProps, emailContactBoxProps, faqsTitle, children, isJonSnow = false }) => {
6
- return (_jsxs(ContactJumbotronStyled, { children: [!isJonSnow && _jsx(PhoneContactBoxDesktop, { ...phoneBoxDesktopProps }), _jsx("h2", { className: 'contact__text__title sans-serif', children: faqsTitle }), _jsx("div", { className: 'contact__text__subtitle sans-serif', children: children }), !isJonSnow && (_jsx(Button, { givenClass: 'faq-button', color: 'secondary', label: 'Visit FAQ Page', link: '/faqs/', dataQa: 'visitFaq' })), _jsx(EmailContactBox, { ...emailContactBoxProps })] }));
5
+ export const ContactJumbotron = ({ phoneBoxDesktopProps, emailContactBoxProps, faqsTitle, visitFaqPageLabel, children, isJonSnow = false }) => {
6
+ return (_jsxs(ContactJumbotronStyled, { children: [!isJonSnow && _jsx(PhoneContactBoxDesktop, { ...phoneBoxDesktopProps }), _jsx("h2", { className: 'contact__text__title sans-serif', children: faqsTitle }), _jsx("div", { className: 'contact__text__subtitle sans-serif', children: children }), !isJonSnow && (_jsx(Button, { givenClass: 'faq-button', color: 'secondary', label: visitFaqPageLabel, link: '/faqs/', dataQa: 'visitFaq' })), _jsx(EmailContactBox, { ...emailContactBoxProps })] }));
7
7
  };
@@ -9,6 +9,7 @@ export const ContactJumbotron: React.FC<ContactJumbotronProps> = ({
9
9
  phoneBoxDesktopProps,
10
10
  emailContactBoxProps,
11
11
  faqsTitle,
12
+ visitFaqPageLabel,
12
13
  children,
13
14
  isJonSnow = false
14
15
  }) => {
@@ -21,7 +22,7 @@ export const ContactJumbotron: React.FC<ContactJumbotronProps> = ({
21
22
  <Button
22
23
  givenClass='faq-button'
23
24
  color='secondary'
24
- label={'Visit FAQ Page'}
25
+ label={visitFaqPageLabel}
25
26
  link={'/faqs/'}
26
27
  dataQa={'visitFaq'}
27
28
  />
@@ -4,6 +4,7 @@ export interface ContactJumbotronProps {
4
4
  phoneBoxDesktopProps: PhoneContactBoxDesktopProps;
5
5
  emailContactBoxProps: EmailContactBoxProps;
6
6
  faqsTitle: string;
7
+ visitFaqPageLabel: string;
7
8
  children: React.ReactNode;
8
9
  isJonSnow?: boolean;
9
10
  }
@@ -6,6 +6,7 @@ export interface ContactJumbotronProps {
6
6
  phoneBoxDesktopProps: PhoneContactBoxDesktopProps
7
7
  emailContactBoxProps: EmailContactBoxProps
8
8
  faqsTitle: string
9
+ visitFaqPageLabel: string
9
10
  children: React.ReactNode
10
11
  isJonSnow?: boolean
11
12
  }
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Button, RichTextStrapi } from '../../atoms';
3
3
  import { CookiePolicyBarStyled } from './CookiePolicyBar.styled';
4
- export const CookiePolicyBar = ({ clickFunc, text }) => {
5
- return (_jsxs(CookiePolicyBarStyled, { children: [_jsx(RichTextStrapi, { html: text, className: 'cookie-policy-bar__text sans-serif --extra-small' }), _jsx(Button, { dataQa: '', givenClass: 'accept-cookies-button', noLink: true, color: 'primary3', label: 'Accept Cookies', onClick: clickFunc })] }));
4
+ export const CookiePolicyBar = ({ clickFunc, text, buttonText }) => {
5
+ return (_jsxs(CookiePolicyBarStyled, { children: [_jsx(RichTextStrapi, { html: text, className: 'cookie-policy-bar__text sans-serif --extra-small' }), _jsx(Button, { dataQa: '', givenClass: 'accept-cookies-button', noLink: true, color: 'primary3', label: buttonText, onClick: clickFunc })] }));
6
6
  };
@@ -4,7 +4,7 @@ import { Button, RichTextStrapi } from '../../atoms'
4
4
  import { type CookiePolicyBarProps } from './CookiePolicyBarProps'
5
5
  import { CookiePolicyBarStyled } from './CookiePolicyBar.styled'
6
6
 
7
- export const CookiePolicyBar: FC<CookiePolicyBarProps> = ({ clickFunc, text }) => {
7
+ export const CookiePolicyBar: FC<CookiePolicyBarProps> = ({ clickFunc, text, buttonText }) => {
8
8
  return (
9
9
  <CookiePolicyBarStyled>
10
10
  <RichTextStrapi html={text} className='cookie-policy-bar__text sans-serif --extra-small' />
@@ -13,7 +13,7 @@ export const CookiePolicyBar: FC<CookiePolicyBarProps> = ({ clickFunc, text }) =
13
13
  givenClass='accept-cookies-button'
14
14
  noLink
15
15
  color='primary3'
16
- label={'Accept Cookies'}
16
+ label={buttonText}
17
17
  onClick={clickFunc}
18
18
  />
19
19
  </CookiePolicyBarStyled>
@@ -1,4 +1,5 @@
1
1
  export interface CookiePolicyBarProps {
2
2
  clickFunc: () => void;
3
3
  text: string;
4
+ buttonText: string;
4
5
  }
@@ -1,4 +1,5 @@
1
1
  export interface CookiePolicyBarProps {
2
2
  clickFunc: () => void
3
3
  text: string
4
+ buttonText: string
4
5
  }
@@ -14,6 +14,7 @@ export const ErrorRatafiaPageStyled = styled.div `
14
14
  &__button {
15
15
  display: block;
16
16
  width: 100%;
17
+ height: auto;
17
18
  &:first-child {
18
19
  margin-bottom: 1rem;
19
20
  }
@@ -15,6 +15,7 @@ export const ErrorRatafiaPageStyled = styled.div`
15
15
  &__button {
16
16
  display: block;
17
17
  width: 100%;
18
+ height: auto;
18
19
  &:first-child {
19
20
  margin-bottom: 1rem;
20
21
  }
@@ -1,7 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { CardFunctionality } from '../../organisms';
3
3
  import { FunctionalityCardsSectionStyled } from './FunctionalityCardsSection.styled';
4
- // import './FunctionalityCardsSection.scss'
5
4
  export const FunctionalityCardsSection = ({ cards = [] }) => {
6
5
  if (cards.length === 0)
7
6
  return null;
@@ -3,12 +3,10 @@ import styled from 'styled-components';
3
3
  export const FunctionalityCardsSectionStyled = styled.section `
4
4
  display: flex;
5
5
  flex-direction: column;
6
- gap: $global-gap;
7
- margin-bottom: 2rem;
6
+ gap: var(--global-gap);
8
7
  width: 100%;
9
8
 
10
9
  @media ${device.laptop} {
11
10
  flex-direction: row;
12
- width: 50%;
13
11
  }
14
12
  `;
@@ -4,12 +4,10 @@ import styled from 'styled-components'
4
4
  export const FunctionalityCardsSectionStyled = styled.section`
5
5
  display: flex;
6
6
  flex-direction: column;
7
- gap: $global-gap;
8
- margin-bottom: 2rem;
7
+ gap: var(--global-gap);
9
8
  width: 100%;
10
9
 
11
10
  @media ${device.laptop} {
12
11
  flex-direction: row;
13
- width: 50%;
14
12
  }
15
13
  `
@@ -3,7 +3,6 @@ import React from 'react'
3
3
  import { CardFunctionality } from '../../organisms'
4
4
  import { type FunctionalityCardsSectionProps } from './FunctionalityCardsSectionProps'
5
5
  import { FunctionalityCardsSectionStyled } from './FunctionalityCardsSection.styled'
6
- // import './FunctionalityCardsSection.scss'
7
6
 
8
7
  export const FunctionalityCardsSection: React.FC<FunctionalityCardsSectionProps> = ({ cards = [] }) => {
9
8
  if (cards.length === 0) return null
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@npm_leadtech/legal-lib-components",
3
- "version": "5.38.0",
3
+ "version": "5.39.0",
4
4
  "license": "ISC",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",