@npm_leadtech/legal-lib-components 5.40.1 → 5.42.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 (49) hide show
  1. package/dist/css/styles.css +95 -203
  2. package/dist/src/components/atoms/Radio/Radio.d.ts +2 -2
  3. package/dist/src/components/atoms/Radio/Radio.js +16 -15
  4. package/dist/src/components/atoms/Radio/Radio.scss +105 -183
  5. package/dist/src/components/atoms/Radio/Radio.tsx +38 -34
  6. package/dist/src/components/atoms/Radio/RadioProps.types.d.ts +9 -3
  7. package/dist/src/components/atoms/Radio/RadioProps.types.js +6 -1
  8. package/dist/src/components/atoms/Radio/RadioProps.types.ts +10 -3
  9. package/dist/src/components/atoms/Radio/index.d.ts +1 -1
  10. package/dist/src/components/atoms/Radio/index.js +1 -0
  11. package/dist/src/components/atoms/Radio/index.ts +1 -1
  12. package/dist/src/components/molecules/Feedback/Feedback.js +1 -1
  13. package/dist/src/components/molecules/Feedback/Feedback.tsx +2 -2
  14. package/dist/src/components/molecules/Feedback/FeedbackProps.types.d.ts +2 -2
  15. package/dist/src/components/molecules/Feedback/FeedbackProps.types.ts +2 -2
  16. package/dist/src/components/molecules/RatafiaSubscriptionCard/RatafiaSubscriptionCard.js +2 -2
  17. package/dist/src/components/molecules/RatafiaSubscriptionCard/RatafiaSubscriptionCard.tsx +6 -4
  18. package/dist/src/components/molecules/RatafiaSubscriptionCard/RatafiaSubscriptionCardProps.types.d.ts +3 -1
  19. package/dist/src/components/molecules/RatafiaSubscriptionCard/RatafiaSubscriptionCardProps.types.ts +3 -1
  20. package/dist/src/components/organisms/JumbotronRatafiaContent/JumbotronRatafiaContent.js +1 -1
  21. package/dist/src/components/organisms/JumbotronRatafiaContent/JumbotronRatafiaContent.styled.js +21 -19
  22. package/dist/src/components/organisms/JumbotronRatafiaContent/JumbotronRatafiaContent.styled.ts +21 -19
  23. package/dist/src/components/organisms/JumbotronRatafiaContent/JumbotronRatafiaContent.tsx +1 -1
  24. package/dist/src/components/organisms/JumbotronRatafiaContent/JumbotronRatafiaContentProps.types.d.ts +2 -1
  25. package/dist/src/components/organisms/JumbotronRatafiaContent/JumbotronRatafiaContentProps.types.ts +2 -1
  26. package/dist/src/components/organisms/index.d.ts +0 -1
  27. package/dist/src/components/organisms/index.js +0 -1
  28. package/dist/src/components/organisms/index.ts +0 -1
  29. package/dist/src/components/pages/EsignatureLandingPage/EsignatureLandingPage.js +2 -2
  30. package/dist/src/components/pages/EsignatureLandingPage/EsignatureLandingPage.tsx +4 -4
  31. package/dist/src/components/pages/EsignatureLandingPage/EsignatureLandingPageProps.types.d.ts +1 -1
  32. package/dist/src/components/pages/EsignatureLandingPage/EsignatureLandingPageProps.types.ts +1 -1
  33. package/dist/src/components/sections/JumbotronRatafiaSection/JumbotronRatafiaSection.d.ts +4 -0
  34. package/dist/src/components/sections/JumbotronRatafiaSection/JumbotronRatafiaSection.js +7 -2
  35. package/dist/src/components/sections/JumbotronRatafiaSection/JumbotronRatafiaSection.tsx +7 -3
  36. package/dist/tsconfig.build.tsbuildinfo +1 -1
  37. package/package.json +1 -1
  38. package/dist/src/components/organisms/JumbotronEsignatureContent/JumbotronEsignatureContent.d.ts +0 -4
  39. package/dist/src/components/organisms/JumbotronEsignatureContent/JumbotronEsignatureContent.js +0 -7
  40. package/dist/src/components/organisms/JumbotronEsignatureContent/JumbotronEsignatureContent.styled.d.ts +0 -1
  41. package/dist/src/components/organisms/JumbotronEsignatureContent/JumbotronEsignatureContent.styled.js +0 -28
  42. package/dist/src/components/organisms/JumbotronEsignatureContent/JumbotronEsignatureContent.styled.ts +0 -29
  43. package/dist/src/components/organisms/JumbotronEsignatureContent/JumbotronEsignatureContent.tsx +0 -19
  44. package/dist/src/components/organisms/JumbotronEsignatureContent/JumbotronEsignatureContentProps.types.d.ts +0 -7
  45. package/dist/src/components/organisms/JumbotronEsignatureContent/JumbotronEsignatureContentProps.types.js +0 -1
  46. package/dist/src/components/organisms/JumbotronEsignatureContent/JumbotronEsignatureContentProps.types.ts +0 -8
  47. package/dist/src/components/organisms/JumbotronEsignatureContent/index.d.ts +0 -2
  48. package/dist/src/components/organisms/JumbotronEsignatureContent/index.js +0 -1
  49. package/dist/src/components/organisms/JumbotronEsignatureContent/index.ts +0 -2
@@ -1,110 +1,63 @@
1
1
  @import '../../../globalStyles/variables.scss';
2
2
  @import '../../../globalStyles/mediaqueries.scss';
3
3
 
4
- @mixin regularStyles {
4
+ @mixin defaultStyles {
5
5
  .e-radio__inner {
6
6
  display: flex;
7
- flex-flow: row wrap;
8
- width: 100%;
9
- margin-left: 1.5rem;
10
-
11
- label {
12
- margin-bottom: 0.25rem;
13
- flex-basis: 100%;
14
- display: flex;
15
- align-items: center;
16
- color: var(--neutral-main);
17
- font-size: 16px;
18
- position: relative;
19
- cursor: pointer;
20
- width: 100%;
21
- }
22
- }
7
+ flex-direction: column;
8
+ gap: 1rem;
9
+ .radio-item-container {
10
+ .e-radio-label {
11
+ display: flex;
12
+ align-items: center;
13
+ gap: 0.5rem;
23
14
 
24
- input {
25
- position: absolute;
26
- left: -9999px;
15
+ .radio-item-input {
16
+ visibility: hidden;
17
+ }
27
18
 
28
- &:not(:checked):hover + label {
29
- &:before {
30
- background-color: var(--primary-main-light-5);
31
- }
32
- }
19
+ input[type='radio']:after {
20
+ width: 16px;
21
+ height: 16px;
22
+ border-radius: 16px;
23
+ top: -4px;
24
+ left: -2px;
25
+ position: relative;
26
+ background-color: var(--others-white);
27
+ content: '';
28
+ display: inline-block;
29
+ visibility: visible;
30
+ border: 1px solid var(--neutral-neutral-1);
31
+ cursor: pointer;
32
+ }
33
33
 
34
- &:checked:hover + label {
35
- &:before {
36
- background-color: var(--primary-main);
34
+ .e-radio-label__label {
35
+ cursor: pointer;
36
+ }
37
37
  }
38
- }
39
38
 
40
- &:checked + label {
41
- color: var(--primary-main);
42
- text-shadow:
43
- -0.02ex 0 get-color(primary),
44
- 0.02ex 0 var(--primary-main);
45
-
46
- &:before {
47
- content: '';
48
- position: absolute;
49
- top: 2px;
50
- left: -23px;
51
- height: 1.25rem;
52
- width: 1.25rem;
53
- background-color: var(--primary-main);
54
- border: 1px solid var(--primary-main);
55
- border-radius: 50%;
56
- box-sizing: border-box;
39
+ &.active {
40
+ .e-radio-label {
41
+ input[type='radio']:after {
42
+ border: 5px solid var(--primary-main);
43
+ }
44
+ .e-radio-label__label {
45
+ color: var(--primary-main);
46
+ }
47
+ }
57
48
  }
58
49
 
59
- &:after {
60
- content: '';
61
- position: absolute;
62
- top: 0.5rem;
63
- left: -17px;
64
- display: block;
65
- height: 0.5rem;
66
- width: 0.5rem;
67
- background: currentColor;
68
- border-radius: 50%;
69
- opacity: 1;
70
- transform: scale(1);
71
- color: #fff;
72
- transition: all 0.1s;
50
+ &:hover {
51
+ .e-radio-label {
52
+ input[type='radio']:after {
53
+ background-color: var(--primary-main-light-5);
54
+ }
55
+ }
73
56
  }
74
57
  }
75
58
 
76
- + label {
77
- cursor: pointer;
78
- font-size: 16px;
79
-
80
- &:before {
81
- content: '';
82
- position: absolute;
83
- left: -23px;
84
- top: 2px;
85
- height: 1.25rem;
86
- width: 1.25rem;
87
- border-radius: 50%;
88
- background-color: transparent;
89
- border: 1px solid var(--neutral-main);
90
- box-sizing: border-box;
91
- }
92
-
93
- &:after {
94
- position: absolute;
95
- top: 0.5rem;
96
- left: -17px;
97
- display: block;
98
- height: 0.5rem;
99
- width: 0.5rem;
100
- opacity: 0;
101
- transform: scale(0);
102
- color: var(--others-white);
103
- transition: all 0.1s;
104
- content: '';
105
- bottom: 0.5rem;
106
- border-radius: 50%;
107
- }
59
+ @include portrait-tablets {
60
+ gap: 0.5rem;
108
61
  }
109
62
  }
110
63
  }
@@ -178,62 +131,69 @@
178
131
  }
179
132
 
180
133
  @mixin iconStyles {
181
- .radio-icon {
182
- display: none;
134
+ .e-radio__inner {
135
+ display: flex;
136
+ flex-flow: row wrap;
137
+ margin-top: 1.5rem;
183
138
  }
184
- @include portrait-tablets {
185
- .e-radio__inner {
186
- display: flex;
187
- flex-flow: row wrap;
188
- margin-top: 1.5rem;
189
- }
190
139
 
191
- .radio-item-container {
192
- display: flex;
193
- width: 47%;
194
- border: 1px solid black;
195
- min-width: 80px;
196
- min-height: 3.5rem;
197
- margin-bottom: 0.5rem;
198
- border-radius: var(--global-border-radius);
199
- border-color: var(--neutral-neutral-4);
200
- cursor: pointer;
201
- }
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
+ }
202
151
 
203
- .radio-item-container:not(:nth-child(2n + 0)) {
204
- margin-right: 0.5rem;
205
- }
152
+ .radio-item-container:not(:nth-child(2n + 0)) {
153
+ margin-right: 0.5rem;
154
+ }
206
155
 
207
- .radio-item-input {
208
- position: absolute;
209
- visibility: hidden;
210
- }
156
+ .radio-item-input {
157
+ position: absolute;
158
+ visibility: hidden;
159
+ }
211
160
 
212
- .radio-item-container.active {
213
- border: 2px solid var(--primary-main-dark-1);
214
- background-color: var(--neutral-neutral-5);
215
- }
161
+ .radio-item-container.active {
162
+ border: 2px solid var(--primary-main-dark-1);
163
+ background-color: var(--neutral-neutral-5);
164
+ }
216
165
 
217
- .radio-item-container:hover {
218
- background-color: var(--neutral-neutral-5);
219
- font-weight: bold;
220
- }
166
+ .radio-item-container:hover {
167
+ background-color: var(--neutral-neutral-5);
168
+ font-weight: bold;
169
+ }
221
170
 
222
- .e-radio-label {
223
- display: flex;
224
- align-items: center;
225
- padding: 0.25rem 1rem;
226
- width: 100%;
227
- }
171
+ .e-radio-label {
172
+ display: flex;
173
+ align-items: center;
174
+ padding: 0.25rem 1rem;
175
+ width: 100%;
176
+ }
228
177
 
229
- .radio-icon {
230
- display: block;
231
- margin-right: 1rem;
232
- }
178
+ .radio-icon {
179
+ display: block;
180
+ margin-right: 1rem;
233
181
  }
234
182
  }
235
183
 
236
184
  .e-radio {
185
+ .label {
186
+ color: var(--neutral-neutral-1);
187
+ margin-bottom: 1rem;
188
+ display: block;
189
+ }
190
+
191
+ &.default {
192
+ @include defaultStyles;
193
+ }
194
+
195
+ // por aqui
196
+
237
197
  label:first-child:not(.e-radio-label) {
238
198
  font-weight: bold;
239
199
  }
@@ -242,17 +202,6 @@
242
202
  width: 100%;
243
203
  }
244
204
 
245
- &.--regular {
246
- @media (max-width: #{$xs}) {
247
- @include regularStyles;
248
- }
249
- &:not(.--icons) {
250
- @media (min-width: #{$xs}) {
251
- @include regularStyles;
252
- }
253
- }
254
- }
255
-
256
205
  &.--tabs {
257
206
  @media (max-width: #{$xs}) {
258
207
  @include tabsStyles;
@@ -265,21 +214,19 @@
265
214
  }
266
215
 
267
216
  &.--icons {
268
- @include iconStyles;
217
+ @include mobile {
218
+ @include defaultStyles();
219
+ }
220
+ .radio-icon {
221
+ display: none;
222
+ }
223
+ @include portrait-tablets {
224
+ @include iconStyles;
225
+ }
269
226
  }
270
227
 
271
228
  &.--is-invalid,
272
229
  &.--group-invalid {
273
- &.--regular {
274
- input {
275
- & + label {
276
- &:before {
277
- border-color: var(--error-main);
278
- }
279
- }
280
- }
281
- }
282
-
283
230
  &.--tabs,
284
231
  &.--group-invalid {
285
232
  .e-radio__inner {
@@ -301,10 +248,6 @@
301
248
  }
302
249
  }
303
250
 
304
- .radio-group__label {
305
- color: var(--neutral-neutral-1);
306
- }
307
-
308
251
  .e-radio.radio--small.--tabs {
309
252
  input + label {
310
253
  font-size: 0.875rem;
@@ -316,24 +259,3 @@
316
259
  margin-bottom: 0;
317
260
  }
318
261
  }
319
-
320
- .e-radio.radio--narrow.--regular {
321
- .e-radio__inner {
322
- margin-top: 0.5rem;
323
- }
324
- }
325
-
326
- .e-radio.--regular.radio--regular--bare {
327
- .e-radio__inner {
328
- display: inline-block;
329
- margin-right: auto;
330
- text-align: left;
331
- width: auto;
332
- }
333
-
334
- .e-radio-label,
335
- .e-radio-label__label {
336
- display: block;
337
- margin-bottom: 0.75rem;
338
- }
339
- }
@@ -1,35 +1,39 @@
1
- import React, { type FC } from 'react'
1
+ import React from 'react'
2
2
 
3
+ import { RadioFormat, type RadioProps } from './RadioProps.types'
3
4
  import IconImage from '../IconImage/IconImage'
4
- import { type RadioProps } from './RadioProps.types'
5
5
  // import './Radio.scss'
6
6
 
7
- const Radio: FC<RadioProps> = (props) => {
8
- const optionalClassNames = {
9
- small: 'radio--small',
10
- narrow: 'radio--narrow',
11
- regularBare: 'radio--regular--bare'
12
- }
13
-
14
- const additionalClassNames = Object.keys(optionalClassNames)
15
- .filter((attribute) => props[attribute])
16
- .map((key) => optionalClassNames[key])
17
- .join(' ')
18
-
19
- const classNames = `e-radio ${props.class} ${!props.validate ? '--is-invalid' : ''} ${
20
- !props.isValidGroup ? '--group-invalid' : ''
21
- } ${additionalClassNames}`
22
- const TooltipObject = props.tooltip ? <p className='tooltip-form sans-serif --small'>{props.tooltip}</p> : ''
23
-
7
+ const Radio: React.FC<RadioProps> = ({
8
+ class: className,
9
+ format = RadioFormat.Default,
10
+ validate = false,
11
+ isValidGroup = false,
12
+ tooltip,
13
+ name,
14
+ label,
15
+ items,
16
+ value,
17
+ disabled = false,
18
+ help,
19
+ onChange
20
+ }) => {
21
+ const [classNameValue] = React.useState<string>(() => {
22
+ let value = `e-radio ${format}`
23
+ if (className) value += ` ${className}`
24
+ if (!validate) value += ' --is-invalid'
25
+ if (!isValidGroup) value += ' --group-invalid'
26
+ return value
27
+ })
24
28
  return (
25
- <div className={classNames}>
26
- <label htmlFor={props.name} className='radio-group__label'>
27
- {props.label}
29
+ <div className={classNameValue}>
30
+ <label htmlFor={name} className='sans-serif --medium --bold-weight label'>
31
+ {label}
28
32
  </label>
29
33
  <div className={'e-radio__inner'}>
30
- {props.items?.map((radio) => {
34
+ {items.map((radio) => {
31
35
  return (
32
- <div className={`radio-item-container ${radio.value === props.value ? 'active' : ''}`} key={radio.value}>
36
+ <div className={`radio-item-container ${radio.value === value ? 'active' : ''}`} key={radio.value}>
33
37
  <label className='e-radio-label' key={radio.value}>
34
38
  {radio.iconName !== undefined && radio.iconName !== '' && (
35
39
  <IconImage givenClass='radio-icon' iconName={radio.iconName} />
@@ -37,27 +41,27 @@ const Radio: FC<RadioProps> = (props) => {
37
41
  <input
38
42
  type='radio'
39
43
  className='radio-item-input'
40
- id={`${props.name}_${radio.value}`}
41
- name={props.name}
42
- onChange={props.onChange}
44
+ id={`${name}_${radio.value}`}
45
+ name={name}
46
+ onChange={onChange}
43
47
  value={radio.value}
44
- checked={radio.value === props.value}
45
- disabled={props.disabled}
48
+ checked={radio.value === value}
49
+ disabled={disabled}
46
50
  />
47
51
  <label
48
- className='e-radio-label__label'
49
- htmlFor={`${props.name}_${radio.value}`}
50
- data-qa={`${props.name}_${radio.value}`}
52
+ className='e-radio-label__label sans-serif --medium'
53
+ htmlFor={`${name}_${radio.value}`}
54
+ data-qa={`${name}_${radio.value}`}
51
55
  >
52
56
  {radio.label}
53
57
  </label>
54
- <div>{props.help}</div>
58
+ {help && <div>{help}</div>}
55
59
  </label>
56
60
  </div>
57
61
  )
58
62
  })}
59
63
  </div>
60
- {TooltipObject}
64
+ {tooltip ?? <p className='tooltip-form sans-serif --small'>{tooltip}</p>}
61
65
  </div>
62
66
  )
63
67
  }
@@ -1,18 +1,24 @@
1
1
  export interface RadioProps {
2
2
  id?: string;
3
- name?: string;
3
+ name: string;
4
4
  class?: string;
5
+ format?: RadioFormat;
5
6
  value?: string;
6
7
  tooltip?: string;
7
- label?: string;
8
+ label: string;
8
9
  help?: string;
9
10
  validate?: boolean;
10
11
  isValidGroup?: boolean;
11
12
  disabled?: boolean;
12
- items?: {
13
+ items: {
13
14
  value: string;
14
15
  label: string;
15
16
  iconName?: string;
16
17
  }[];
17
18
  onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;
18
19
  }
20
+ export declare enum RadioFormat {
21
+ Default = "default",
22
+ Tabs = "--tabs",
23
+ Icons = "--icons"
24
+ }
@@ -1 +1,6 @@
1
- export {};
1
+ export var RadioFormat;
2
+ (function (RadioFormat) {
3
+ RadioFormat["Default"] = "default";
4
+ RadioFormat["Tabs"] = "--tabs";
5
+ RadioFormat["Icons"] = "--icons";
6
+ })(RadioFormat || (RadioFormat = {}));
@@ -1,14 +1,21 @@
1
1
  export interface RadioProps {
2
2
  id?: string
3
- name?: string
3
+ name: string
4
4
  class?: string
5
+ format?: RadioFormat
5
6
  value?: string
6
7
  tooltip?: string
7
- label?: string
8
+ label: string
8
9
  help?: string
9
10
  validate?: boolean
10
11
  isValidGroup?: boolean
11
12
  disabled?: boolean
12
- items?: { value: string; label: string; iconName?: string }[]
13
+ items: { value: string; label: string; iconName?: string }[]
13
14
  onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void
14
15
  }
16
+
17
+ export enum RadioFormat {
18
+ Default = 'default',
19
+ Tabs = '--tabs',
20
+ Icons = '--icons'
21
+ }
@@ -1,2 +1,2 @@
1
1
  export { default as Radio } from './Radio';
2
- export { type RadioProps } from './RadioProps.types';
2
+ export * from './RadioProps.types';
@@ -1 +1,2 @@
1
1
  export { default as Radio } from './Radio';
2
+ export * from './RadioProps.types';
@@ -1,2 +1,2 @@
1
1
  export { default as Radio } from './Radio'
2
- export { type RadioProps } from './RadioProps.types'
2
+ export * from './RadioProps.types'
@@ -14,7 +14,7 @@ const themes = {
14
14
  icon: _jsx(Done24pxOutline, {})
15
15
  }
16
16
  };
17
- const Feedback = ({ theme = 'success', title, text, button, cancel, large, fluid, imgSrc = '', dataQa = '' }) => {
17
+ const Feedback = ({ theme = 'success', title, text, button, cancel, large = false, fluid = false, imgSrc = '', dataQa = '' }) => {
18
18
  const currentTheme = themes[theme] ?? {};
19
19
  if (Object.keys(currentTheme).length === 0 && imgSrc.length === 0) {
20
20
  return null;
@@ -28,8 +28,8 @@ const Feedback: FC<FeedbackProps> = ({
28
28
  text,
29
29
  button,
30
30
  cancel,
31
- large,
32
- fluid,
31
+ large = false,
32
+ fluid = false,
33
33
  imgSrc = '',
34
34
  dataQa = ''
35
35
  }) => {
@@ -4,8 +4,8 @@ export interface FeedbackProps {
4
4
  title?: string;
5
5
  text?: string;
6
6
  imgSrc?: string;
7
- large: boolean;
8
- fluid: boolean;
7
+ large?: boolean;
8
+ fluid?: boolean;
9
9
  dataQa?: string;
10
10
  button?: ButtonProps;
11
11
  cancel?: {
@@ -5,8 +5,8 @@ export interface FeedbackProps {
5
5
  title?: string
6
6
  text?: string
7
7
  imgSrc?: string
8
- large: boolean
9
- fluid: boolean
8
+ large?: boolean
9
+ fluid?: boolean
10
10
  dataQa?: string
11
11
  button?: ButtonProps
12
12
  cancel?: {
@@ -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, dataQa, 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: `${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,15 @@ 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
+ dataQa,
17
+ handleClick
17
18
  }) => {
18
19
  if (!title) return null
19
20
  const buttonStyle = cardStyle === 'Secondary' ? 'primary3' : 'primary'
@@ -44,11 +45,12 @@ const RatafiaSubscriptionCard: FC<RatafiaSubscriptionCardProps> = ({
44
45
  {buttonText && (
45
46
  <div className='ratafia-card__footer'>
46
47
  <Button
47
- dataQa='ratafia-card-button'
48
+ dataQa={`${dataQa ?? 'ratafia-card-button'}`}
48
49
  givenClass='ratafia-card__button'
49
50
  color={buttonStyle}
50
51
  label={buttonText}
51
- link={linkText ?? '#'}
52
+ noLink
53
+ onClick={handleClick}
52
54
  />
53
55
  </div>
54
56
  )}
@@ -1,4 +1,5 @@
1
1
  export interface RatafiaSubscriptionCardProps {
2
+ subscriptionTypeName?: string;
2
3
  cardStyle?: CardStyleType;
3
4
  iconTitle?: IconTitleProps;
4
5
  title?: string;
@@ -6,7 +7,8 @@ export interface RatafiaSubscriptionCardProps {
6
7
  mainFeatures?: BenefitProps[];
7
8
  AIFeatures?: BenefitProps[];
8
9
  buttonText?: string;
9
- linkText?: string;
10
+ dataQa?: string;
11
+ handleClick?: () => void;
10
12
  }
11
13
  interface IconTitleProps {
12
14
  name?: string;
@@ -1,4 +1,5 @@
1
1
  export interface RatafiaSubscriptionCardProps {
2
+ subscriptionTypeName?: string
2
3
  cardStyle?: CardStyleType
3
4
  iconTitle?: IconTitleProps
4
5
  title?: string
@@ -6,7 +7,8 @@ export interface RatafiaSubscriptionCardProps {
6
7
  mainFeatures?: BenefitProps[]
7
8
  AIFeatures?: BenefitProps[]
8
9
  buttonText?: string
9
- linkText?: string
10
+ dataQa?: string
11
+ handleClick?: () => void
10
12
  }
11
13
 
12
14
  interface IconTitleProps {
@@ -2,6 +2,6 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { JumbotronRatafiaStyled } from './JumbotronRatafiaContent.styled';
3
3
  import { TagsRatafiaList } from '../../molecules';
4
4
  const JumbotronRatafiaContent = ({ title, body, tags, type }) => {
5
- return (_jsxs(JumbotronRatafiaStyled, { children: [_jsx("div", { className: `jumbotron-${type}-content__title`, children: title }), _jsx("span", { className: `sans-serif --medium jumbotron-${type}-content__description`, itemProp: 'text', children: body }), _jsx(TagsRatafiaList, { tags: tags, type: type })] }));
5
+ return (_jsxs(JumbotronRatafiaStyled, { className: `jumbotron-${type}-content`, children: [_jsx("div", { className: `jumbotron-${type}-content__title`, children: title }), _jsx("span", { className: `sans-serif --medium jumbotron-${type}-content__description`, itemProp: 'text', children: body }), _jsx(TagsRatafiaList, { tags: tags, type: type })] }));
6
6
  };
7
7
  export default JumbotronRatafiaContent;