@prosistemas/sca-web-kit 1.0.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 (93) hide show
  1. package/README.md +33 -0
  2. package/assets/icons/newsletter-success.svg +85 -0
  3. package/assets/icons/not-found.svg +36 -0
  4. package/assets/logos/sca/sca-s-gradient.svg +9 -0
  5. package/dist/components/layout/footer/footer.d.ts +1 -0
  6. package/dist/components/layout/footer/footer.js +11 -0
  7. package/dist/components/layout/footer/footer.module.scss +198 -0
  8. package/dist/components/shared/autoplayer/autoplayer-row/autoplayer-row.d.ts +8 -0
  9. package/dist/components/shared/autoplayer/autoplayer-row/autoplayer-row.js +11 -0
  10. package/dist/components/shared/autoplayer/autoplayer-row/autoplayer-row.module.scss +43 -0
  11. package/dist/components/shared/autoplayer/autoplayer.d.ts +1 -0
  12. package/dist/components/shared/autoplayer/autoplayer.js +16 -0
  13. package/dist/components/shared/autoplayer/autoplayer.module.scss +20 -0
  14. package/dist/components/shared/footer-banner/footer-banner.d.ts +1 -0
  15. package/dist/components/shared/footer-banner/footer-banner.js +9 -0
  16. package/dist/components/shared/footer-banner/footer-banner.module.scss +103 -0
  17. package/dist/components/shared/footer-banner-autoplayer/footer-banner-autoplayer.d.ts +3 -0
  18. package/dist/components/shared/footer-banner-autoplayer/footer-banner-autoplayer.js +10 -0
  19. package/dist/components/shared/footer-banner-autoplayer/footer-banner-autoplayer.module.scss +108 -0
  20. package/dist/components/shared/index-header/index-header.d.ts +2 -0
  21. package/dist/components/shared/index-header/index-header.js +35 -0
  22. package/dist/components/shared/index-header/index-header.module.scss +17 -0
  23. package/dist/components/shared/index-header/indexed-section-button/indexed-section-button.d.ts +6 -0
  24. package/dist/components/shared/index-header/indexed-section-button/indexed-section-button.js +8 -0
  25. package/dist/components/shared/index-header/indexed-section-button/indexed-section-button.module.scss +38 -0
  26. package/dist/components/shared/info-header/info-header.d.ts +18 -0
  27. package/dist/components/shared/info-header/info-header.js +14 -0
  28. package/dist/components/shared/info-header/info-header.module.scss +10 -0
  29. package/dist/components/shared/newsletter-modal/newsletter-modal.d.ts +4 -0
  30. package/dist/components/shared/newsletter-modal/newsletter-modal.js +10 -0
  31. package/dist/components/shared/newsletter-modal/newsletter-modal.module.scss +47 -0
  32. package/dist/components/shared/newsletter-modal-dialog/newsletter-modal-dialog.d.ts +5 -0
  33. package/dist/components/shared/newsletter-modal-dialog/newsletter-modal-dialog.js +11 -0
  34. package/dist/components/shared/newsletter-modal-dialog/newsletter-modal-dialog.module.scss +15 -0
  35. package/dist/components/shared/newsletter-strip/newsletter-strip.d.ts +7 -0
  36. package/dist/components/shared/newsletter-strip/newsletter-strip.js +10 -0
  37. package/dist/components/shared/newsletter-strip/newsletter-strip.module.scss +128 -0
  38. package/dist/components/shared/phone/phone.d.ts +6 -0
  39. package/dist/components/shared/phone/phone.js +16 -0
  40. package/dist/components/shared/phone/phone.module.scss +322 -0
  41. package/dist/components/shared/success-cases/success-cases-swiper/success-case-card/success-case-card.d.ts +10 -0
  42. package/dist/components/shared/success-cases/success-cases-swiper/success-case-card/success-case-card.js +9 -0
  43. package/dist/components/shared/success-cases/success-cases-swiper/success-case-card/success-case-card.module.scss +154 -0
  44. package/dist/components/shared/success-cases/success-cases-swiper/success-cases-swiper.d.ts +3 -0
  45. package/dist/components/shared/success-cases/success-cases-swiper/success-cases-swiper.js +15 -0
  46. package/dist/components/shared/success-cases/success-cases-swiper/success-cases-swiper.module.scss +81 -0
  47. package/dist/components/shared/success-cases/success-cases.d.ts +5 -0
  48. package/dist/components/shared/success-cases/success-cases.js +9 -0
  49. package/dist/components/shared/success-cases/success-cases.module.scss +60 -0
  50. package/dist/components/shared/support-sticky-button/support-sticky-button.d.ts +1 -0
  51. package/dist/components/shared/support-sticky-button/support-sticky-button.js +7 -0
  52. package/dist/components/shared/support-sticky-button/support-sticky-button.module.scss +63 -0
  53. package/dist/components/ui/accordion/accordion.d.ts +4 -0
  54. package/dist/components/ui/accordion/accordion.js +7 -0
  55. package/dist/components/ui/accordion/accordion.module.scss +114 -0
  56. package/dist/components/ui/button/button.d.ts +34 -0
  57. package/dist/components/ui/button/button.js +31 -0
  58. package/dist/components/ui/button/button.module.scss +22 -0
  59. package/dist/components/ui/decal/decal.d.ts +6 -0
  60. package/dist/components/ui/decal/decal.js +9 -0
  61. package/dist/components/ui/decal/decal.module.scss +7 -0
  62. package/dist/components/ui/icon-with-background/icon-with-background.d.ts +13 -0
  63. package/dist/components/ui/icon-with-background/icon-with-background.js +22 -0
  64. package/dist/components/ui/icon-with-background/icon-with-background.module.scss +18 -0
  65. package/dist/components/ui/progress-bar/progress-bar.d.ts +5 -0
  66. package/dist/components/ui/progress-bar/progress-bar.js +9 -0
  67. package/dist/components/ui/progress-bar/progress-bar.module.scss +12 -0
  68. package/dist/components/ui/pulse-effect/pulse-effect.d.ts +1 -0
  69. package/dist/components/ui/pulse-effect/pulse-effect.js +5 -0
  70. package/dist/components/ui/pulse-effect/pulse-effect.module.scss +63 -0
  71. package/dist/components/ui/stacks/stacks.d.ts +1 -0
  72. package/dist/components/ui/stacks/stacks.js +5 -0
  73. package/dist/components/ui/stacks/stacks.module.scss +32 -0
  74. package/dist/components/ui/subtitle/subtitle.d.ts +5 -0
  75. package/dist/components/ui/subtitle/subtitle.js +7 -0
  76. package/dist/components/ui/subtitle/subtitle.module.scss +8 -0
  77. package/dist/components/ui/tag-label/tag-label.d.ts +18 -0
  78. package/dist/components/ui/tag-label/tag-label.js +15 -0
  79. package/dist/components/ui/tag-label/tag-label.module.scss +17 -0
  80. package/dist/components/ui/three-dots/three-dots.d.ts +3 -0
  81. package/dist/components/ui/three-dots/three-dots.js +5 -0
  82. package/dist/components/ui/three-dots/three-dots.module.scss +28 -0
  83. package/dist/components/ui/title/title.d.ts +8 -0
  84. package/dist/components/ui/title/title.js +10 -0
  85. package/dist/components/ui/title/title.module.scss +8 -0
  86. package/dist/fonts.d.ts +2 -0
  87. package/dist/fonts.js +9 -0
  88. package/dist/index.d.ts +26 -0
  89. package/dist/index.js +29 -0
  90. package/dist/styles/variables.scss +50 -0
  91. package/dist/types/index.d.ts +7 -0
  92. package/dist/types/index.js +1 -0
  93. package/package.json +39 -0
@@ -0,0 +1,322 @@
1
+ .phone-wrapper {
2
+ width: 223px;
3
+ height: 433px;
4
+ position: absolute;
5
+ right: 250px;
6
+
7
+ display: flex;
8
+ justify-content: center;
9
+ align-items: center;
10
+
11
+ .buttons-left {
12
+ display: flex;
13
+ flex-direction: column;
14
+ align-items: flex-start;
15
+ justify-content: flex-start;
16
+ height: 60%;
17
+
18
+ .action,
19
+ .volume {
20
+ background: linear-gradient(235deg, rgba(255, 255, 255, 0.40) 29.48%, rgba(255, 255, 255, 0.49) 96.53%);
21
+ border-radius: 5px 0 0 5px;
22
+ width: 3px;
23
+ }
24
+
25
+ .action {
26
+ height: 25px;
27
+ margin-bottom: 15px;
28
+ }
29
+
30
+ .volume {
31
+ height: 40px;
32
+ margin-bottom: 7px;
33
+ }
34
+ }
35
+
36
+ .buttons-right {
37
+ display: flex;
38
+ flex-direction: column;
39
+ align-items: flex-start;
40
+ justify-content: flex-start;
41
+ height: 50%;
42
+
43
+ .action {
44
+ background: linear-gradient(235deg, rgba(255, 255, 255, 0.40) 29.48%, rgba(255, 255, 255, 0.49) 96.53%);
45
+ border-radius: 0 5px 5px 0;
46
+ width: 3px;
47
+ height: 50px;
48
+ }
49
+ }
50
+
51
+ .phone {
52
+ width: 215px;
53
+ height: 433px;
54
+
55
+ border-radius: 24px;
56
+ border: 1px solid rgba(239, 239, 239, 0.28);
57
+ background: linear-gradient(235deg, rgba(255, 255, 255, 0.40) 29.48%, rgba(255, 255, 255, 0.00) 96.53%);
58
+ backdrop-filter: blur(12px);
59
+
60
+ display: flex;
61
+ justify-content: center;
62
+ align-items: center;
63
+
64
+ .screen {
65
+ width: 195px;
66
+ height: 416px;
67
+ border-radius: 18px;
68
+ background: #2261EB;
69
+
70
+ .screen-shine {
71
+ width: 195px;
72
+ height: 416px;
73
+
74
+ border-radius: 18px;
75
+ background: linear-gradient(155deg, rgba(255, 255, 255, 0.25) 0.68%, rgba(255, 255, 255, 0.00) 38.68%);
76
+ background-blend-mode: screen;
77
+
78
+ display: flex;
79
+ flex-direction: column;
80
+ align-items: center;
81
+
82
+
83
+ .system-topbar {
84
+ width: 100%;
85
+ height: 16px;
86
+
87
+ display: flex;
88
+ flex-wrap: nowrap;
89
+ justify-content: center;
90
+ align-items: center;
91
+
92
+ .status {
93
+ margin-top: 5px;
94
+ }
95
+
96
+ .camera {
97
+ height: 16px;
98
+ width: 80px;
99
+ position: absolute;
100
+ border-radius: 0 0 10px 10px;
101
+ background: linear-gradient(155deg, rgba(255, 255, 255, 0.25) 0.68%, rgba(255, 255, 255, 0.175) 38.68%);
102
+
103
+ display: flex;
104
+ justify-content: center;
105
+ align-items: center;
106
+ gap: 3px;
107
+
108
+ .aperture,
109
+ .sound {
110
+ opacity: 0.7;
111
+ }
112
+
113
+ .sound {
114
+ width: 30px;
115
+ height: 4px;
116
+ background: black;
117
+ border-radius: 3px;
118
+ margin-left: 5px;
119
+ }
120
+
121
+ .aperture {
122
+ width: 4px;
123
+ height: 4px;
124
+ background: black;
125
+ border-radius: 100%;
126
+ }
127
+ }
128
+ }
129
+
130
+ .app-topbar {
131
+ width: 100%;
132
+ height: 50px;
133
+ padding: 0 8px;
134
+ display: flex;
135
+ justify-content: space-between;
136
+ align-items: center;
137
+
138
+ .left,
139
+ .right {
140
+ display: flex;
141
+ flex-wrap: nowrap;
142
+ align-items: center;
143
+ gap: 7px;
144
+ font-size: 9px;
145
+ font-weight: 600;
146
+ color: var(--neutral100);
147
+ }
148
+ }
149
+
150
+ .app-background {
151
+ width: 180px;
152
+ height: 325px;
153
+ background: white;
154
+ border-radius: 16px;
155
+ padding: 16px;
156
+
157
+ display: flex;
158
+ flex-direction: column;
159
+
160
+ .exercise {
161
+ color: var(--neutral600);
162
+ font-weight: 600;
163
+ font-size: 10px;
164
+ }
165
+
166
+ .gif-wrapper {
167
+ display: flex;
168
+ flex-wrap: nowrap;
169
+ align-items: center;
170
+ height: 150px;
171
+ width: 100%;
172
+
173
+ .series {
174
+ width: 18px;
175
+ height: 80px;
176
+ display: flex;
177
+ flex-direction: column;
178
+ align-items: center;
179
+ /* background-color: red; */
180
+
181
+ .series-ball,
182
+ .green-ball {
183
+ width: 18px;
184
+ height: 18px;
185
+ border-radius: 50%;
186
+
187
+ display: flex;
188
+ flex-wrap: nowrap;
189
+ justify-content: center;
190
+ align-items: center;
191
+
192
+ font-size: 10px;
193
+ }
194
+
195
+ .series-ball {
196
+ border: var(--neutral200) solid 1px;
197
+ color: var(--neutral200);
198
+ transition: border 0.5s, color 0.5s;
199
+ }
200
+
201
+ .green-ball {
202
+ background: var(--auxiliary-green);
203
+ color: white;
204
+ transition: border 0.5s, color 0.5s, background 0.5s;
205
+ }
206
+
207
+ .series-line {
208
+ width: 1px;
209
+ height: 12px;
210
+ background: var(--neutral200);
211
+ }
212
+ }
213
+ }
214
+
215
+ .series-rest-wrapper {
216
+ display: flex;
217
+ flex-wrap: nowrap;
218
+ justify-content: space-between;
219
+
220
+ font-size: 10px;
221
+ color: var(--neutral600);
222
+ }
223
+
224
+ .progress-bar,
225
+ .progress {
226
+ height: 7px;
227
+ border-radius: 7px;
228
+ }
229
+
230
+ .progress-bar {
231
+ width: 100%;
232
+ margin-top: 12px;
233
+ background-color: var(--neutral200);
234
+
235
+ .progress {
236
+ background-color: var(--light500);
237
+ animation: expandWidth 3s ease-in-out infinite;
238
+ }
239
+ }
240
+
241
+ .rest-weight-wrapper {
242
+ margin-top: 30px;
243
+ display: flex;
244
+ flex-wrap: nowrap;
245
+ justify-content: space-between;
246
+ align-items: center;
247
+ color: var(--neutral600);
248
+ font-size: 6px;
249
+
250
+ .separator {
251
+ height: 25px;
252
+ width: 1px;
253
+ background: var(--light500);
254
+ }
255
+
256
+ .rest,
257
+ .weight {
258
+ display: flex;
259
+ flex-direction: column;
260
+ align-items: center;
261
+ width: 100%;
262
+ }
263
+
264
+ .title {
265
+ font-size: 9px;
266
+ font-weight: 600;
267
+ }
268
+ }
269
+
270
+ .exercise-buttons {
271
+ margin-top: 10px;
272
+ height: 30px;
273
+ width: 100%;
274
+ /* background-color: red; */
275
+
276
+ display: flex;
277
+ flex-wrap: nowrap;
278
+ justify-content: flex-end;
279
+ align-items: center;
280
+ gap: 5px;
281
+
282
+ .muscles,
283
+ .amplify {
284
+ display: flex;
285
+ flex-wrap: nowrap;
286
+ justify-content: center;
287
+ align-items: center;
288
+ gap: 3px;
289
+
290
+ width: 55px;
291
+ height: 23px;
292
+ border-radius: 3px;
293
+ border: 1px solid var(--neutral200);
294
+ color: var(--neutral600);
295
+ font-weight: 600;
296
+ font-size: 6px;
297
+ }
298
+ }
299
+ }
300
+
301
+ .home-indicator {
302
+ width: 48px;
303
+ height: 3px;
304
+ border-radius: 3px;
305
+ background: var(--light500);
306
+ opacity: 0.9;
307
+ margin-top: 18px;
308
+ }
309
+ }
310
+ }
311
+ }
312
+ }
313
+
314
+ @keyframes expandWidth {
315
+ from {
316
+ width: 0%;
317
+ }
318
+
319
+ to {
320
+ width: 100%;
321
+ }
322
+ }
@@ -0,0 +1,10 @@
1
+ export default function SuccessCaseCard({ review, customerPictureSrc, customerName, customerGymName, location, dateSince, className, dark, }: {
2
+ review: string;
3
+ customerPictureSrc: string;
4
+ customerName: string;
5
+ customerGymName: string;
6
+ location: string;
7
+ dateSince: string;
8
+ className?: string;
9
+ dark?: boolean;
10
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,9 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import styles from './success-case-card.module.scss';
3
+ import { QuotesIcon, CalendarDotsIcon, MapPinIcon } from '@phosphor-icons/react/dist/ssr';
4
+ import * as Avatar from '@radix-ui/react-avatar';
5
+ export default function SuccessCaseCard({ review, customerPictureSrc, customerName, customerGymName, location, dateSince, className, dark = false, }) {
6
+ return (_jsxs("div", { className: `${styles['success-case-card']} ${className}`, style: {
7
+ background: dark ? 'white' : '',
8
+ }, children: [_jsx(QuotesIcon, { size: 32, weight: 'fill', color: 'var(--light200)' }), _jsx("div", { className: styles['review-wrapper'], children: _jsx("p", { className: styles['review'], children: review }) }), _jsx("div", { className: styles['success-card-bottom-wrapper'], children: _jsx("div", { className: `${styles['success-card-bottom']}`, children: _jsxs("div", { className: styles['customer'], children: [_jsxs("div", { className: styles['customer-left'], children: [_jsx("div", { className: styles['outer-circle'], children: _jsx("div", { className: styles['inner-circle'], children: _jsx(Avatar.Root, { children: _jsx(Avatar.Image, { className: styles['customer-picture'], src: customerPictureSrc, alt: 'Foto de um dos clientes do Sistema SCA', width: 45, height: 45 }) }) }) }), _jsxs("div", { className: styles['name-gym-wrapper'], children: [_jsx("p", { className: styles['customer-name'], children: customerName }), _jsx("p", { className: styles['customer-gym-name'], children: customerGymName })] })] }), _jsx("div", { className: styles['customer-right'], children: _jsxs("div", { className: styles['customer-info-details'], children: [_jsxs("div", { className: styles['customer-location'], children: [_jsx(MapPinIcon, { size: 18, color: 'var(--auxiliary-orange)' }), _jsx("p", { children: location })] }), _jsxs("div", { className: styles['customer-since'], children: [_jsx(CalendarDotsIcon, { size: 18, color: 'var(--auxiliary-orange)' }), _jsx("p", { children: dateSince })] })] }) })] }) }) })] }));
9
+ }
@@ -0,0 +1,154 @@
1
+ .success-case-card {
2
+ display: flex;
3
+ flex-direction: column;
4
+ justify-content: space-between;
5
+
6
+ position: absolute;
7
+ transition: opacity 0.3s;
8
+
9
+ width: 100%;
10
+ height: 100%;
11
+
12
+ border: 2px solid var(--light500);
13
+ border-radius: 16px;
14
+ padding: 32px;
15
+
16
+ @media (max-width: 425px) {
17
+ padding: 16px;
18
+ }
19
+
20
+ .review-wrapper {
21
+ position: relative;
22
+
23
+ .review {
24
+ position: absolute;
25
+ top: 50%;
26
+ transform: translateY(-50%);
27
+
28
+
29
+ color: var(--neutral600);
30
+ font-size: 18px;
31
+ font-weight: 400;
32
+ }
33
+ }
34
+
35
+ .success-card-bottom-wrapper {
36
+ position: relative;
37
+ height: 75px;
38
+
39
+ .success-card-bottom {
40
+ display: flex;
41
+ justify-content: space-between;
42
+
43
+ position: absolute;
44
+ bottom: 0;
45
+ width: 100%;
46
+
47
+ .customer {
48
+ width: 100%;
49
+ display: flex;
50
+ justify-content: space-between;
51
+ align-items: center;
52
+
53
+ @media (max-width: 768px) {
54
+ flex-direction: column;
55
+ align-items: flex-start;
56
+ gap: 16px;
57
+ }
58
+
59
+
60
+ .customer-left {
61
+ display: flex;
62
+ align-items: center;
63
+ gap: 16px;
64
+
65
+ .outer-circle,
66
+ .inner-circle,
67
+ .customer-picture {
68
+ display: flex;
69
+ align-items: center;
70
+ justify-content: center;
71
+ border-radius: 50%;
72
+ }
73
+
74
+ .outer-circle {
75
+ background: var(--light100);
76
+ min-width: 75px;
77
+ height: 75px;
78
+
79
+ .inner-circle {
80
+ background: var(--light200);
81
+ width: 60px;
82
+ height: 60px;
83
+
84
+ .customer-picture {
85
+ width: 45px;
86
+ height: 45px;
87
+ object-fit: cover;
88
+ }
89
+ }
90
+ }
91
+
92
+ .name-gym-wrapper {
93
+ display: flex;
94
+ flex-direction: column;
95
+ justify-content: space-between;
96
+ height: 45px;
97
+
98
+ .customer-name {
99
+ color: var(--neutral700);
100
+ font-size: 18px;
101
+ font-weight: 600;
102
+ }
103
+
104
+ .customer-gym-name {
105
+ color: var(--neutral500);
106
+ font-size: 14px;
107
+ font-weight: 500;
108
+ }
109
+ }
110
+ }
111
+
112
+
113
+ .customer-right {
114
+ display: flex;
115
+ align-items: flex-end;
116
+ height: 45px;
117
+
118
+ @media (max-width: 768px) {
119
+ height: fit-content;
120
+ }
121
+
122
+ .customer-info-details {
123
+ display: flex;
124
+ gap: 32px;
125
+
126
+ @media (max-width: 1580px) {
127
+ gap: 16px;
128
+ }
129
+
130
+
131
+ .customer-location,
132
+ .customer-since {
133
+ display: flex;
134
+ align-items: center;
135
+ gap: 8px;
136
+
137
+ color: var(--neutral600);
138
+ font-size: 14px;
139
+ font-weight: 400;
140
+ }
141
+ }
142
+ }
143
+
144
+ .customer-info {
145
+ width: 100%;
146
+ display: flex;
147
+ flex-direction: column;
148
+ gap: 8px;
149
+ }
150
+ }
151
+ }
152
+ }
153
+
154
+ }
@@ -0,0 +1,3 @@
1
+ export default function SuccessCasesSwiper({ dark, }: {
2
+ dark?: boolean;
3
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,15 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import styles from './success-cases-swiper.module.scss';
4
+ import { useState } from 'react';
5
+ import SuccessCaseCard from './success-case-card/success-case-card';
6
+ import Button from '../../../ui/button/button';
7
+ import { CaretRightIcon } from '@phosphor-icons/react';
8
+ import Image from 'next/image';
9
+ export default function SuccessCasesSwiper({ dark = false, }) {
10
+ const [index, setIndex] = useState(0);
11
+ function handleClick() {
12
+ setIndex(prev => (prev + 1) % 3);
13
+ }
14
+ return (_jsxs("div", { className: styles['success-cases-swiper'], children: [_jsxs("div", { className: styles['success-cases-left'], children: [_jsx(SuccessCaseCard, { review: 'Dahora demais', customerPictureSrc: 'https://t2.tudocdn.net/125246?w=1920', customerName: 'Luigi Erucci', customerGymName: 'Academia Power Guido', location: 'Alterosa, MG', dateSince: 'Desde 2003', className: `${index == 0 ? styles['show'] : styles['hide']} `, dark: dark }), _jsx(SuccessCaseCard, { review: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut ullamcorper maximus ipsum, vitae congue sem imperdiet vitae. Praesent pellentesque imperdiet erat in efficitur.', customerPictureSrc: 'https://media.tenor.com/77Wibhy_QxcAAAAe/xirtual-thinking-hideo-kojima.png', customerName: 'Hideo Kojima', customerGymName: 'KOJIMA PRODUCTIONS', location: 'Tokyo, JP', dateSince: 'Desde 2016', className: `${index == 1 ? styles['show'] : styles['hide']} `, dark: dark }), _jsx(SuccessCaseCard, { review: 'Suspendisse eget commodo orci, et mattis libero. Aenean nec ligula fermentum, hendrerit odio eget, convallis tortor. Nam posuere, libero ac ultricies porttitor, purus arcu lobortis sapien, sit amet consectetur massa enim a augue.', customerPictureSrc: 'https://desktop.sistemasca.com/img/clientes/zxfwm66zrh.jpg', customerName: 'Cliente Teste', customerGymName: 'Academia Teste', location: 'Teste, TST', dateSince: 'Desde 191 b.C', className: `${index == 2 ? styles['show'] : styles['hide']} `, dark: dark }), _jsx(Button, { icon: CaretRightIcon, onClick: handleClick, className: styles['success-case-button'], ariaLabel: 'Bot\u00E3o para ver o pr\u00F3ximo case de sucesso', round: true })] }), _jsxs("div", { className: styles['success-cases-right'], children: [_jsx(Image, { src: '/gym/stock-gym.webp', alt: 'Foto de uma academia', width: 690, height: 280, className: `${styles['success-case-picture']} ${index == 0 ? styles['show'] : styles['hide']}` }), _jsx(Image, { src: '/gym/stock-gym-02.webp', alt: 'Foto de uma academia', width: 690, height: 280, className: `${styles['success-case-picture']} ${index == 1 ? styles['show'] : styles['hide']}` }), _jsx(Image, { src: '/gym/stock-gym-03.webp', alt: 'Foto de uma academia', width: 690, height: 280, className: `${styles['success-case-picture']} ${index == 2 ? styles['show'] : styles['hide']}` })] })] }));
15
+ }
@@ -0,0 +1,81 @@
1
+ .hide {
2
+ opacity: 0;
3
+ }
4
+
5
+ .show {
6
+ opacity: 1;
7
+ }
8
+
9
+ .success-cases-swiper {
10
+ width: 100%;
11
+ height: 380px;
12
+
13
+ position: relative;
14
+ display: flex;
15
+ gap: 32px;
16
+
17
+ @media (max-width: 1330px) {
18
+ flex-direction: column;
19
+ height: calc(380px * 2);
20
+ }
21
+
22
+ @media (max-width: 768px) {
23
+ height: calc(380px * 2);
24
+ }
25
+
26
+ .success-cases-left,
27
+ .success-cases-right {
28
+
29
+ .success-case-card,
30
+ .success-case-picture {
31
+ border-radius: 16px;
32
+ }
33
+ }
34
+
35
+ .success-cases-left {
36
+ width: 100%;
37
+ height: 100%;
38
+ position: relative;
39
+
40
+ .success-case-button {
41
+ display: flex;
42
+ align-items: center;
43
+ justify-content: center;
44
+ border-radius: 50%;
45
+
46
+ position: absolute;
47
+ top: calc(50% - 16px);
48
+ right: -16px;
49
+ }
50
+ }
51
+
52
+ .success-cases-right {
53
+ position: relative;
54
+ width: 80%;
55
+ height: 100%;
56
+
57
+ @media (max-width: 1330px) {
58
+ width: 100%;
59
+ }
60
+
61
+ @media (max-width: 768px) {
62
+ height: 65%;
63
+ }
64
+
65
+ @media (max-width: 375px) {
66
+ height: 45%;
67
+ }
68
+
69
+ .success-case-picture {
70
+ position: absolute;
71
+ top: 0;
72
+ left: 0;
73
+
74
+ width: 100%;
75
+ height: 100%;
76
+
77
+ object-fit: cover;
78
+ transition: opacity 0.3s;
79
+ }
80
+ }
81
+ }
@@ -0,0 +1,5 @@
1
+ export default function SuccessCases({ buttonHref, buttonInternalHref, buttonTarget, }: {
2
+ buttonHref?: string;
3
+ buttonInternalHref?: string;
4
+ buttonTarget?: React.HTMLAttributeAnchorTarget;
5
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,9 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import styles from './success-cases.module.scss';
3
+ import SuccessCasesSwiper from './success-cases-swiper/success-cases-swiper';
4
+ import InfoHeader from '../info-header/info-header';
5
+ import Button from '../../ui/button/button';
6
+ import Stacks from '../../ui/stacks/stacks';
7
+ export default function SuccessCases({ buttonHref, buttonInternalHref, buttonTarget, }) {
8
+ return (_jsxs("div", { className: styles['success-cases'], children: [_jsx(Stacks, {}), _jsxs("div", { className: styles['success-cases-wrapper'], children: [_jsxs("div", { className: styles['success-cases-title'], children: [_jsx(InfoHeader, { className: styles['title'], tagLabel: 'CASES DE SUCESSO', title: 'Essas pessoas confiam no nosso trabalho' }), _jsx(Button, { label: 'Leia outros cases de sucesso', className: styles['success-cases-button'], href: buttonHref, internalHref: buttonInternalHref, target: buttonTarget })] }), _jsx(SuccessCasesSwiper, {})] })] }));
9
+ }
@@ -0,0 +1,60 @@
1
+ .success-cases {
2
+ display: flex;
3
+ flex-direction: column;
4
+ width: 100%;
5
+ height: 100%;
6
+ cursor: default;
7
+
8
+ .title {
9
+ align-items: flex-start;
10
+
11
+ @media (max-width: 1330px) {
12
+ align-items: center;
13
+ gap: 16px;
14
+ }
15
+ }
16
+
17
+ .success-cases-wrapper {
18
+ display: flex;
19
+ flex-direction: column;
20
+ gap: 32px;
21
+
22
+ padding: 0 64px;
23
+
24
+ @media (max-width: 1330px) {
25
+ padding: 0 32px;
26
+ }
27
+
28
+ @media (max-width: 768px) {
29
+ padding: 0 8px;
30
+ }
31
+
32
+ .success-cases-title {
33
+ display: flex;
34
+ justify-content: space-between;
35
+ align-items: flex-end;
36
+
37
+ @media (max-width: 1330px) {
38
+ justify-content: center;
39
+ }
40
+
41
+ .success-cases-button {
42
+ height: fit-content;
43
+ padding: 16px 42px;
44
+ background: white;
45
+ color: var(--auxiliary-orange);
46
+ border: 1px solid var(--auxiliary-orange);
47
+
48
+ @media (max-width: 1330px) {
49
+ display: none;
50
+ }
51
+ }
52
+
53
+ .success-cases-button:hover {
54
+ background: var(--auxiliary-orange);
55
+ color: white;
56
+ }
57
+ }
58
+
59
+ }
60
+ }
@@ -0,0 +1 @@
1
+ export default function SupportStickyButton(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,7 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import Image from 'next/image';
3
+ import styles from './support-sticky-button.module.scss';
4
+ import { CaretUpIcon } from '@phosphor-icons/react/dist/ssr';
5
+ export default function SupportStickyButton() {
6
+ return (_jsxs("div", { className: styles['support-sticky-button'], children: [_jsxs("div", { className: styles['left'], children: [_jsx("div", { className: styles['person-wrapper'], children: _jsx(Image, { src: '/people/person_04.webp', width: 64, height: 64, alt: 'Imagem de uma pessoa', className: styles['person'] }) }), _jsx("p", { className: styles['text'], children: "Posso ajudar?" })] }), _jsx("div", { className: styles['right'], children: _jsx(CaretUpIcon, { size: 16, weight: 'bold', color: 'var(--neutral100)' }) })] }));
7
+ }