@npm_leadtech/legal-lib-components 5.42.11 → 5.43.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 (24) hide show
  1. package/dist/css/styles.css +245 -154
  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 +158 -184
  6. package/dist/src/components/atoms/Radio/Radio.tsx +1 -1
  7. package/dist/src/components/atoms/Radio/RadioProps.types.d.ts +2 -3
  8. package/dist/src/components/atoms/Radio/RadioProps.types.js +2 -3
  9. package/dist/src/components/atoms/Radio/RadioProps.types.ts +2 -3
  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
@@ -8,6 +8,29 @@
8
8
  gap: 1rem;
9
9
  .radio-item-container {
10
10
  .e-radio-label {
11
+ display: flex;
12
+ align-items: center;
13
+ gap: 0.5rem;
14
+
15
+ .radio-item-input {
16
+ visibility: hidden;
17
+ }
18
+
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
+
11
34
  .e-radio-label__label {
12
35
  cursor: pointer;
13
36
  }
@@ -15,11 +38,22 @@
15
38
 
16
39
  &.active {
17
40
  .e-radio-label {
41
+ input[type='radio']:after {
42
+ border: 5px solid var(--primary-main);
43
+ }
18
44
  .e-radio-label__label {
19
45
  color: var(--primary-main);
20
46
  }
21
47
  }
22
48
  }
49
+
50
+ &:hover {
51
+ .e-radio-label {
52
+ input[type='radio']:after {
53
+ background-color: var(--primary-main-light-5);
54
+ }
55
+ }
56
+ }
23
57
  }
24
58
 
25
59
  @include portrait-tablets {
@@ -31,241 +65,169 @@
31
65
  @mixin tabsStyles {
32
66
  .e-radio__inner {
33
67
  display: flex;
34
- .radio-item-container {
35
- align-items: center;
36
- background: var(--neutral-neutral-6);
37
- border: 1px solid var(--neutral-neutral-3);
38
- border-left-width: 0;
39
- border-right-width: 0;
40
- cursor: pointer;
68
+ flex-flow: row nowrap;
69
+ margin-bottom: 2rem;
70
+ width: 10rem;
71
+ margin-top: 1rem;
72
+ border: 1px solid var(--neutral-neutral-3);
73
+ background: var(--neutral-neutral-6);
74
+ border-radius: var(--global-border-radius);
75
+ transition: all 0.3s ease;
76
+
77
+ .e-radio-label {
78
+ width: 100%;
41
79
  display: flex;
42
- height: 42px;
43
- justify-content: center;
44
- width: 80px;
80
+ border-right: 1px solid var(--neutral-neutral-3);
81
+ border-top-left-radius: var(--global-border-radius);
82
+ border-bottom-left-radius: var(--global-border-radius);
45
83
 
46
- &:hover {
47
- background: var(--neutral-neutral-4);
48
- }
49
-
50
- &.active {
51
- background: var(--primary-main);
52
- color: var(--others-white);
53
- .e-radio-label {
54
- .e-radio-label__label {
55
- font-weight: bold;
56
- }
57
- }
84
+ &:last-child {
85
+ border-right: none;
58
86
  }
59
-
60
- .e-radio-label {
61
- .radio-item-input {
62
- position: absolute;
63
- visibility: hidden;
64
- }
65
- .e-radio-label__label {
66
- cursor: pointer;
67
- display: inline-block;
68
- font-size: 14px;
69
- min-width: 80px;
70
- padding: 10px;
71
- text-align: center;
72
- }
73
- }
74
- }
75
- :first-child {
76
- border-radius: 4px 0 0 4px;
77
- border-left-width: 1px;
78
- }
79
- :last-child {
80
- border-radius: 0 4px 4px 0;
81
- border-right-width: 1px;
82
- }
83
- :not(:first-child) {
84
- border-left-width: 1px;
85
87
  }
86
88
  }
87
- }
88
-
89
- @mixin iconStyles {
90
- .e-radio__inner {
91
- display: flex;
92
- flex-wrap: wrap;
93
- gap: 0.5rem;
94
- width: 100%;
95
- .radio-item-container {
96
- width: 100%;
97
- .e-radio-label {
98
- align-items: center;
99
- background: var(--others-white);
100
- border: 1px solid var(--neutral-neutral-4);
101
- border-radius: 4px;
102
- cursor: pointer;
103
- display: flex;
104
- gap: 16px;
105
- padding: 8px 15px;
106
89
 
107
- &:hover {
108
- background: var(--neutral-neutral-5);
109
- }
110
-
111
- .radio-icon {
112
- height: 24px;
113
- padding: 1px;
114
- width: 24px;
115
- }
90
+ input {
91
+ position: absolute;
92
+ left: -9999px;
116
93
 
117
- .radio-item-input {
118
- position: absolute;
119
- visibility: hidden;
120
- }
94
+ + label {
95
+ cursor: pointer;
96
+ font-size: 14px;
97
+ transition: all 0.3s ease;
121
98
 
122
- .e-radio-label__label {
123
- font-size: 14px;
124
- cursor: pointer;
125
- }
99
+ &:hover {
100
+ background: var(--neutral-neutral-4);
126
101
  }
102
+ }
127
103
 
128
- &.active {
129
- .e-radio-label {
130
- background: var(--neutral-neutral-5);
131
- border: 2px solid var(--primary-main-dark-2);
104
+ &:checked + label {
105
+ font-weight: bold;
106
+ color: var(--others-white);
107
+ width: 100%;
108
+ cursor: pointer;
109
+ transition: all 0.3s ease;
110
+ background-color: var(--primary-main);
111
+ text-align: center;
112
+ padding: 10px;
132
113
 
133
- .e-radio-label__label {
134
- font-weight: bold;
135
- }
136
- }
114
+ &:hover {
115
+ background-color: var(--primary-main);
137
116
  }
138
117
  }
139
118
 
140
- @include portrait-tablets {
141
- .radio-item-container {
142
- width: 49%;
143
- .e-radio-label {
144
- padding: 16px 15px;
145
- }
146
- }
119
+ &:not(:checked) + label {
120
+ text-align: center;
121
+ width: 100%;
122
+ color: var(--neutral-neutral-1);
123
+ font-weight: bold;
124
+ padding: 10px;
125
+ }
126
+
127
+ &:hover:not(:checked) + label {
128
+ width: 100%;
147
129
  }
148
130
  }
149
131
  }
150
132
 
151
- @mixin normalRadioStyles {
133
+ @mixin iconStyles {
152
134
  .e-radio__inner {
153
- .radio-item-container {
154
- .e-radio-label {
155
- align-items: center;
156
- display: flex;
157
- gap: 0.5rem;
158
-
159
- input[type='radio']:after {
160
- background-color: var(--others-white);
161
- border: 1px solid var(--neutral-neutral-1);
162
- border-radius: 16px;
163
- content: '';
164
- cursor: pointer;
165
- display: inline-block;
166
- height: 16px;
167
- left: -2px;
168
- position: relative;
169
- top: -5px;
170
- visibility: visible;
171
- width: 16px;
172
- }
173
- }
135
+ display: flex;
136
+ flex-flow: row wrap;
137
+ margin-top: 1.5rem;
138
+ }
174
139
 
175
- &.active {
176
- .e-radio-label {
177
- input[type='radio']:after {
178
- border: 5px solid var(--primary-main);
179
- }
180
- }
181
- }
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
+ }
182
151
 
183
- &:hover {
184
- .e-radio-label {
185
- input[type='radio']:after {
186
- background-color: var(--primary-main-light-5);
187
- }
188
- }
189
- }
190
- }
152
+ .radio-item-container:not(:nth-child(2n + 0)) {
153
+ margin-right: 0.5rem;
191
154
  }
192
- }
193
155
 
194
- @mixin boxStyles {
195
- .e-radio__inner {
196
- display: flex;
197
- flex-direction: column;
198
- gap: 0.5rem;
199
- .radio-item-container {
200
- width: 100%;
156
+ .radio-item-input {
157
+ position: absolute;
158
+ visibility: hidden;
159
+ }
201
160
 
202
- .e-radio-label {
203
- padding: 1rem;
204
- border-radius: 4px;
205
- border: 1px solid var(--neutral-neutral-4, #dbe1e5);
206
- background: var(--neutral-White, #fff);
161
+ .radio-item-container.active {
162
+ border: 2px solid var(--primary-main-dark-1);
163
+ background-color: var(--neutral-neutral-5);
164
+ }
207
165
 
208
- cursor: pointer;
209
- .e-radio-label__label {
210
- font-size: 14px;
211
- cursor: pointer;
212
- }
213
- }
166
+ .radio-item-container:hover {
167
+ background-color: var(--neutral-neutral-5);
168
+ font-weight: bold;
169
+ }
214
170
 
215
- &.active {
216
- .e-radio-label {
217
- border: 2px solid var(--primary-main-dark-2, #032a38);
218
- background: var(--neutral-neutral-5, #f3f7fa);
219
- .e-radio-label__label {
220
- font-weight: bold;
221
- }
222
- }
223
- }
171
+ .e-radio-label {
172
+ display: flex;
173
+ align-items: center;
174
+ padding: 0.25rem 1rem;
175
+ width: 100%;
176
+ }
224
177
 
225
- &:hover {
226
- .e-radio-label {
227
- background: var(--neutral-neutral-5, #f3f7fa);
228
- }
229
- }
230
- }
178
+ .radio-icon {
179
+ display: block;
180
+ margin-right: 1rem;
231
181
  }
232
182
  }
233
183
 
234
184
  .e-radio {
235
185
  .label {
236
186
  color: var(--neutral-neutral-1);
237
- display: block;
238
187
  margin-bottom: 1rem;
188
+ display: block;
239
189
  }
240
190
 
241
191
  &.default {
242
192
  @include defaultStyles;
243
193
  }
244
194
 
245
- &.icons {
246
- @include iconStyles;
247
- }
195
+ // por aqui
248
196
 
249
- &.tabs {
250
- @include tabsStyles;
197
+ label:first-child:not(.e-radio-label) {
198
+ font-weight: bold;
251
199
  }
252
200
 
253
- &.box {
254
- @include boxStyles;
201
+ .radio-item-container {
202
+ width: 100%;
255
203
  }
256
204
 
257
- &.default,
258
- &.box {
259
- @include normalRadioStyles;
205
+ &.--tabs {
206
+ @media (max-width: #{$xs}) {
207
+ @include tabsStyles;
208
+ }
209
+ &:not(.--icons) {
210
+ @media (min-width: #{$xs}) {
211
+ @include tabsStyles;
212
+ }
213
+ }
260
214
  }
261
215
 
262
- label:first-child:not(.e-radio-label) {
263
- font-weight: bold;
216
+ &.--icons {
217
+ @include mobile {
218
+ @include defaultStyles();
219
+ }
220
+ .radio-icon {
221
+ display: none;
222
+ }
223
+ @include portrait-tablets {
224
+ @include iconStyles;
225
+ }
264
226
  }
265
227
 
266
228
  &.--is-invalid,
267
229
  &.--group-invalid {
268
- &.tabs,
230
+ &.--tabs,
269
231
  &.--group-invalid {
270
232
  .e-radio__inner {
271
233
  border: 1px solid var(--error-main);
@@ -285,3 +247,15 @@
285
247
  }
286
248
  }
287
249
  }
250
+
251
+ .e-radio.radio--small.--tabs {
252
+ input + label {
253
+ font-size: 0.875rem;
254
+ padding: 0.75rem;
255
+ }
256
+
257
+ .e-radio__inner {
258
+ margin-top: 0;
259
+ margin-bottom: 0;
260
+ }
261
+ }
@@ -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}>
@@ -19,7 +19,6 @@ export interface RadioProps {
19
19
  }
20
20
  export declare enum RadioFormat {
21
21
  Default = "default",
22
- Tabs = "tabs",
23
- Icons = "icons",
24
- Box = "box"
22
+ Tabs = "--tabs",
23
+ Icons = "--icons"
25
24
  }
@@ -1,7 +1,6 @@
1
1
  export var RadioFormat;
2
2
  (function (RadioFormat) {
3
3
  RadioFormat["Default"] = "default";
4
- RadioFormat["Tabs"] = "tabs";
5
- RadioFormat["Icons"] = "icons";
6
- RadioFormat["Box"] = "box";
4
+ RadioFormat["Tabs"] = "--tabs";
5
+ RadioFormat["Icons"] = "--icons";
7
6
  })(RadioFormat || (RadioFormat = {}));
@@ -16,7 +16,6 @@ export interface RadioProps {
16
16
 
17
17
  export enum RadioFormat {
18
18
  Default = 'default',
19
- Tabs = 'tabs',
20
- Icons = 'icons',
21
- Box = 'box'
19
+ Tabs = '--tabs',
20
+ Icons = '--icons'
22
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;