@prosistemas/sca-web-kit 2.2.0 → 2.2.2

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/components/layout/topnav/mobile-nav/mobile-nav.d.ts +1 -0
  2. package/dist/components/layout/topnav/mobile-nav/mobile-nav.js +11 -0
  3. package/dist/components/layout/topnav/mobile-nav/mobile-nav.module.scss +128 -0
  4. package/dist/components/layout/topnav/mobile-nav/nav-accordion/nav-accordion-link/nav-accordion-link.d.ts +4 -0
  5. package/dist/components/layout/topnav/mobile-nav/nav-accordion/nav-accordion-link/nav-accordion-link.js +5 -0
  6. package/dist/components/layout/topnav/mobile-nav/nav-accordion/nav-accordion-link/nav-accordion-link.module.scss +5 -0
  7. package/dist/components/layout/topnav/mobile-nav/nav-accordion/nav-accordion.d.ts +4 -0
  8. package/dist/components/layout/topnav/mobile-nav/nav-accordion/nav-accordion.js +7 -0
  9. package/dist/components/layout/topnav/mobile-nav/nav-accordion/nav-accordion.module.scss +125 -0
  10. package/dist/components/layout/topnav/navlinks/card/card.d.ts +6 -0
  11. package/dist/components/layout/topnav/navlinks/card/card.js +7 -0
  12. package/dist/components/layout/topnav/navlinks/card/card.module.scss +34 -0
  13. package/dist/components/layout/topnav/navlinks/dropdown-menu-trigger/dropdown-menu-trigger.d.ts +6 -0
  14. package/dist/components/layout/topnav/navlinks/dropdown-menu-trigger/dropdown-menu-trigger.js +13 -0
  15. package/dist/components/layout/topnav/navlinks/dropdown-menu-trigger/dropdown-menu-trigger.module.scss +33 -0
  16. package/dist/components/layout/topnav/navlinks/more/more.d.ts +5 -0
  17. package/dist/components/layout/topnav/navlinks/more/more.js +14 -0
  18. package/dist/components/layout/topnav/navlinks/more/more.module.scss +60 -0
  19. package/dist/components/layout/topnav/navlinks/navlinks.d.ts +1 -0
  20. package/dist/components/layout/topnav/navlinks/navlinks.js +29 -0
  21. package/dist/components/layout/topnav/navlinks/resources/resources-card/resources-card.d.ts +6 -0
  22. package/dist/components/layout/topnav/navlinks/resources/resources-card/resources-card.js +6 -0
  23. package/dist/components/layout/topnav/navlinks/resources/resources-card/resources-card.module.scss +26 -0
  24. package/dist/components/layout/topnav/navlinks/resources/resources.d.ts +5 -0
  25. package/dist/components/layout/topnav/navlinks/resources/resources.js +63 -0
  26. package/dist/components/layout/topnav/navlinks/resources/resources.module.scss +132 -0
  27. package/dist/components/layout/topnav/navlinks/segments/segments.d.ts +5 -0
  28. package/dist/components/layout/topnav/navlinks/segments/segments.js +13 -0
  29. package/dist/components/layout/topnav/navlinks/segments/segments.module.scss +62 -0
  30. package/dist/components/layout/topnav/navtrailing/navtrailing.d.ts +1 -0
  31. package/dist/components/layout/topnav/navtrailing/navtrailing.js +8 -0
  32. package/dist/components/layout/topnav/navtrailing/navtrailing.module.scss +51 -0
  33. package/dist/components/layout/topnav/topnav.d.ts +1 -0
  34. package/dist/components/layout/topnav/topnav.js +10 -0
  35. package/dist/components/layout/topnav/topnav.module.scss +56 -0
  36. package/dist/components/shared/feature-card/feature-card.d.ts +13 -0
  37. package/dist/components/shared/feature-card/feature-card.js +9 -0
  38. package/dist/components/shared/feature-card/feature-card.module.scss +15 -0
  39. package/dist/components/shared/footer-banner/footer-banner.js +1 -1
  40. package/dist/components/shared/newsletter-strip/newsletter-strip.d.ts +3 -3
  41. package/dist/components/shared/newsletter-strip/newsletter-strip.js +2 -7
  42. package/dist/components/shared/success-cases/success-cases.d.ts +1 -5
  43. package/dist/components/shared/success-cases/success-cases.js +2 -2
  44. package/dist/components/ui/button/default-button.module.scss +22 -0
  45. package/dist/components/ui/span-label/span-label.d.ts +5 -0
  46. package/dist/components/ui/span-label/span-label.js +15 -0
  47. package/dist/components/ui/span-label/span-label.module.scss +11 -0
  48. package/dist/index.js.map +1 -0
  49. package/package.json +5 -7
@@ -0,0 +1,132 @@
1
+ .dropdown-content {
2
+ z-index: 2;
3
+ border-radius: 16px;
4
+ box-shadow: 0px 28px 58px 0px rgba(3, 0, 70, 0.3);
5
+ background: var(--neutral100);
6
+ color: var(--neutral600);
7
+
8
+ width: 901px;
9
+ padding: 16px;
10
+
11
+ display: flex;
12
+ justify-content: space-between;
13
+ align-items: flex-start;
14
+
15
+ .links {
16
+ display: flex;
17
+ flex-direction: column;
18
+ align-items: flex-start;
19
+ gap: 8px;
20
+
21
+ .dropdown-item-link {
22
+ .dropdown-item {
23
+ display: flex;
24
+ align-items: center;
25
+ justify-content: space-between;
26
+ gap: 6px;
27
+
28
+ padding: 16px;
29
+ font-size: 14px;
30
+ border-radius: 16px;
31
+ font-variation-settings: 'wght' 400;
32
+ transition: background 0.3s, font-variation-settings 0.3s;
33
+
34
+ cursor: pointer;
35
+ border: none;
36
+ outline: none;
37
+
38
+ .dropdown-icon {
39
+ color: transparent;
40
+ transition: color 0.3s;
41
+ }
42
+ }
43
+
44
+ .dropdown-item:hover {
45
+ background-color: #fff;
46
+ font-variation-settings: 'wght' 500;
47
+ }
48
+
49
+ .dropdown-item:hover .dropdown-icon {
50
+ color: var(--primary);
51
+ }
52
+ }
53
+ }
54
+
55
+ .cards-wrapper {
56
+ display: flex;
57
+ flex-direction: column;
58
+ justify-content: space-between;
59
+ width: 584px;
60
+ height: 455px;
61
+ flex-shrink: 0;
62
+ padding: 24px;
63
+ border-radius: 12px;
64
+ background: #fff;
65
+
66
+ .cards {
67
+ display: flex;
68
+ flex-wrap: nowrap;
69
+ justify-content: space-between;
70
+
71
+ .left-section,
72
+ .right-section {
73
+ height: 310px;
74
+ display: flex;
75
+ flex-direction: column;
76
+ justify-content: space-between;
77
+ }
78
+
79
+ .left-section {
80
+ width: 248px;
81
+ }
82
+
83
+ .right-section {
84
+ width: 234px;
85
+ }
86
+ }
87
+
88
+ .button-wrapper {
89
+ width: 100%;
90
+
91
+ .button {
92
+ width: 100%;
93
+ }
94
+ }
95
+ }
96
+ }
97
+
98
+ .dropdown-content[data-state='closed'] {
99
+ animation: fadeSlideOut 0.3s forwards;
100
+ transform: translateY(-15px);
101
+ opacity: 0;
102
+ }
103
+
104
+ .dropdown-content[data-state='open'] {
105
+ animation: fadeSlideIn 0.3s;
106
+ transform: translateY(0);
107
+ opacity: 1;
108
+ }
109
+
110
+ @keyframes fadeSlideIn {
111
+ 0% {
112
+ opacity: 0;
113
+ transform: translateY(-15px);
114
+ }
115
+
116
+ 100% {
117
+ opacity: 1;
118
+ transform: translateY(0);
119
+ }
120
+ }
121
+
122
+ @keyframes fadeSlideOut {
123
+ 0% {
124
+ opacity: 1;
125
+ transform: translateY(0);
126
+ }
127
+
128
+ 100% {
129
+ opacity: 0;
130
+ transform: translateY(-15px);
131
+ }
132
+ }
@@ -0,0 +1,5 @@
1
+ export default function Segments({ open, setOpen, handleOpen, }: {
2
+ open: boolean;
3
+ setOpen: React.Dispatch<React.SetStateAction<boolean>>;
4
+ handleOpen: () => void;
5
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,13 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import * as DropdownMenu from '@radix-ui/react-dropdown-menu';
4
+ import DropdownMenuTrigger from '../dropdown-menu-trigger/dropdown-menu-trigger';
5
+ import styles from './segments.module.scss';
6
+ import Card from '../card/card';
7
+ import { Barbell, Lockers, PersonArmsSpread, PersonSimpleSwim, PersonSimpleTaiChi } from '@phosphor-icons/react';
8
+ export default function Segments({ open, setOpen, handleOpen, }) {
9
+ const handleMouseExit = () => {
10
+ setOpen(false);
11
+ };
12
+ return (_jsxs(DropdownMenu.Root, { open: open, onOpenChange: setOpen, modal: false, children: [_jsx(DropdownMenuTrigger, { label: "Segmentos", open: open, setOpen: setOpen, handleMouseEnter: handleOpen }), _jsxs(DropdownMenu.Content, { onMouseLeave: handleMouseExit, className: styles['dropdown-content'], sideOffset: 44, children: [_jsxs("div", { className: styles['left'], children: [_jsx(Card, { label: "Academia", icon: Lockers }), _jsx(Card, { label: "Studio", icon: PersonArmsSpread }), _jsx(Card, { label: "Pilates", icon: PersonSimpleTaiChi })] }), _jsxs("div", { className: styles['right'], children: [_jsx(Card, { label: "Nata\u00E7\u00E3o", icon: PersonSimpleSwim }), _jsx(Card, { label: "Box Cross", icon: Barbell })] })] })] }));
13
+ }
@@ -0,0 +1,62 @@
1
+ .dropdown-content {
2
+ /* Pra garantir que n vai ficar por baixo do carrossel ;) */
3
+ z-index: 2;
4
+ /* min-width: 450px; */
5
+ padding: 24px;
6
+ border-radius: 16px;
7
+ box-shadow: 0px 28px 58px 0px rgba(3, 0, 70, 0.3);
8
+ background: var(--neutral100);
9
+ color: var(--neutral600);
10
+
11
+ display: flex;
12
+ justify-content: center;
13
+ flex-wrap: nowrap;
14
+ gap: 16px;
15
+ }
16
+
17
+ @keyframes fadeSlideIn {
18
+ 0% {
19
+ opacity: 0;
20
+ transform: translateY(-15px);
21
+ }
22
+
23
+ 100% {
24
+ opacity: 1;
25
+ transform: translateY(0);
26
+ }
27
+ }
28
+
29
+ @keyframes fadeSlideOut {
30
+ 0% {
31
+ opacity: 1;
32
+ transform: translateY(0);
33
+ }
34
+
35
+ 100% {
36
+ opacity: 0;
37
+ transform: translateY(-15px);
38
+ }
39
+ }
40
+
41
+ .dropdown-content[data-state='closed'] {
42
+ animation: fadeSlideOut 0.3s forwards;
43
+ transform: translateY(-15px);
44
+ opacity: 0;
45
+ }
46
+
47
+ .dropdown-content[data-state='open'] {
48
+ animation: fadeSlideIn 0.3s;
49
+ transform: translateY(0);
50
+ opacity: 1;
51
+ }
52
+
53
+ .left .right {
54
+ display: inline-flex;
55
+ flex-direction: column;
56
+ align-items: flex-start;
57
+ gap: 4px;
58
+ }
59
+
60
+ .left {
61
+ width: 150;
62
+ }
@@ -0,0 +1 @@
1
+ export default function NavTrailing(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,8 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import styles from './navtrailing.module.scss';
4
+ import Button from '../../../ui/button/button';
5
+ import { UserCircleIcon } from '@phosphor-icons/react';
6
+ export default function NavTrailing() {
7
+ return (_jsxs("div", { className: styles['navtrailing'], children: [_jsxs("a", { href: 'https://app.sistemasca.com/login', target: '_blank', className: styles['login-wrapper'], children: [_jsx(UserCircleIcon, { size: 26, className: `${styles['icon']}` }), _jsx("p", { children: "Acessar conta" })] }), _jsx("a", { href: 'https://app.sistemasca.com/cadastro', target: '_blank', children: _jsx(Button, { label: "Teste agora", className: styles['outline-button'] }) })] }));
8
+ }
@@ -0,0 +1,51 @@
1
+ .navtrailing {
2
+ display: flex;
3
+ align-items: center;
4
+ justify-content: space-between;
5
+ gap: 40px;
6
+
7
+ @media (max-width: 1330px) {
8
+ gap: 20px;
9
+ }
10
+
11
+ @media (max-width: 900px) {
12
+ display: none;
13
+ }
14
+
15
+ .login-wrapper {
16
+ display: flex;
17
+ align-items: center;
18
+ justify-content: center;
19
+ gap: 8px;
20
+
21
+ transition: color 0.3s;
22
+
23
+ .icon {
24
+ transition: color 0.3s;
25
+
26
+ @media (max-width: 1024px) {
27
+ display: none;
28
+ }
29
+ }
30
+ }
31
+
32
+ .login-wrapper:hover {
33
+ color: var(--auxiliary-orange);
34
+ }
35
+
36
+ .outline-button {
37
+ background-color: transparent;
38
+ border: solid 1px #fff;
39
+ transition: background-color 0.3s, border 0.3s;
40
+
41
+ @media (max-width: 1024px) {
42
+ font-size: 12px;
43
+ padding: 12px;
44
+ }
45
+ }
46
+
47
+ .outline-button:hover {
48
+ border: solid 1px transparent;
49
+ background-color: var(--auxiliary-orange);
50
+ }
51
+ }
@@ -0,0 +1 @@
1
+ export default function TopNav(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,10 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import styles from './topnav.module.scss';
3
+ import Link from 'next/link';
4
+ import Image from 'next/image';
5
+ import NavLinks from './navlinks/navlinks';
6
+ import MobileNav from './mobile-nav/mobile-nav'; /* Renderizado apenas na versão mobile (<= 768px) */
7
+ import NavTrailing from './navtrailing/navtrailing';
8
+ export default function TopNav() {
9
+ return (_jsxs("header", { className: styles.navbar, children: [_jsx(Link, { href: "/", children: _jsx(Image, { src: "/logos/sca/sca-white.svg", width: 100, height: 50, alt: "Logo do Sistema SCA", className: styles['sca-logo'] }) }), _jsx(NavLinks, {}), _jsx(NavTrailing, {}), _jsx(MobileNav, {})] }));
10
+ }
@@ -0,0 +1,56 @@
1
+ .navbar {
2
+ height: 112px;
3
+ width: 100%;
4
+ padding: 0 112px;
5
+
6
+ display: flex;
7
+ align-items: center;
8
+ justify-content: space-between;
9
+
10
+ color: white;
11
+ font-size: 14px;
12
+ font-weight: 500;
13
+
14
+ @media (max-width: 1330px) {
15
+ padding: 0 64px;
16
+ }
17
+
18
+ @media (max-width: 768px) {
19
+ padding: 0 24px;
20
+ }
21
+
22
+ .sca-logo {
23
+ @media (max-width: 1024px) {
24
+ width: 50px;
25
+ }
26
+ }
27
+ }
28
+
29
+ .navlinks {
30
+ display: flex;
31
+ align-items: center;
32
+ justify-content: space-between;
33
+ gap: 40px;
34
+
35
+ @media (max-width: 1330px) {
36
+ gap: 20px;
37
+ }
38
+
39
+ @media (max-width: 1024px) {
40
+ font-size: 12px;
41
+ }
42
+
43
+ @media (max-width: 900px) {
44
+ display: none;
45
+ }
46
+ }
47
+
48
+ .plans-link,
49
+ .blog-link {
50
+ transition: color 0.3s;
51
+ }
52
+
53
+ .plans-link:hover,
54
+ .blog-link:hover {
55
+ color: var(--auxiliary-orange);
56
+ }
@@ -0,0 +1,13 @@
1
+ interface InfoHeaderProps {
2
+ spanLabel?: string;
3
+ title: string;
4
+ subtitle?: string;
5
+ iconSubtitle?: string;
6
+ buttonLabel?: string;
7
+ className?: string;
8
+ titleClassName?: string;
9
+ subtitleClassName?: string;
10
+ dark?: boolean;
11
+ }
12
+ export default function InfoHeader({ spanLabel, title, subtitle, buttonLabel, className, titleClassName, subtitleClassName, dark, }: InfoHeaderProps): import("react/jsx-runtime").JSX.Element;
13
+ export { };
@@ -0,0 +1,9 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import styles from './feature-card.module.scss';
3
+ import SpanLabel from '../../ui/span-label/span-label';
4
+ import Subtitle from '../../ui/subtitle/subtitle';
5
+ import Button from '../../ui/button/button';
6
+ import Title from '../../ui/title/title';
7
+ export default function FeatureCard({ spanLabel, title, subtitle, buttonLabel, className = '', titleClassName = '', subtitleClassName = '', dark = false, }) {
8
+ return (_jsxs("div", { className: `${styles['feature-card']} ${className}`, children: [spanLabel && _jsx(SpanLabel, { label: spanLabel, dark: dark }), _jsx(Title, { className: titleClassName, text: title, dark: dark }), subtitle && (_jsx(Subtitle, { text: subtitle, className: subtitleClassName, dark: dark })), buttonLabel && (_jsx(Button, { label: buttonLabel, className: styles['button'] }))] }));
9
+ }
@@ -0,0 +1,15 @@
1
+ .feature-card {
2
+ display: flex;
3
+ flex-direction: column;
4
+ justify-content: center;
5
+ align-items: center;
6
+ text-align: center;
7
+
8
+ z-index: 1;
9
+ gap: 32px;
10
+
11
+ .button {
12
+ width: fit-content;
13
+ padding: 16px 42px;
14
+ }
15
+ }
@@ -5,5 +5,5 @@ import Image from 'next/image';
5
5
  import InfoHeader from '../info-header/info-header';
6
6
  import { BrowsersIcon, CreditCardIcon, TimerIcon } from '@phosphor-icons/react/dist/ssr';
7
7
  export default function FooterBanner() {
8
- return (_jsxs("div", { className: styles['footer-banner'], children: [_jsx(InfoHeader, { tagLabel: 'ILIMITADO', title: 'Não importa quantos alunos e alunas você vai ter, o preço não muda.', buttonLabel: 'Conhe\u00E7a agora!', buttonHref: 'https://app.sistemasca.com/cadastro', buttonTarget: '_blank', className: styles['footer-banner-info-header'], dark: true }), _jsxs("div", { className: styles['image-person-wrapper'], children: [_jsx(Image, { src: '/gym/stock-gym-blurred.webp', alt: 'Foto borrada de uma academia', className: styles['image'], fill: true }), _jsx(Image, { src: '/people/person_03.webp', alt: 'Foto de uma pessoa', className: styles['person'], width: 420, height: 420 })] }), _jsxs("div", { className: styles['bullet-list-wrapper'], children: [_jsx("p", { className: `${styles['title']} ${montserrat.className}`, children: "Teste gr\u00E1tis o SCA!" }), _jsxs("div", { className: styles['bullet-list'], children: [_jsxs("div", { className: styles['list-item'], children: [_jsx(CreditCardIcon, { size: 40, color: 'var(--neutral000)', weight: 'thin' }), _jsx("p", { className: styles['text'], children: "Voc\u00EA n\u00E3o precisa adicionar cart\u00E3o de cr\u00E9dito." })] }), _jsx("div", { className: styles['separator'] }), _jsxs("div", { className: styles['list-item'], children: [_jsx(BrowsersIcon, { size: 40, color: 'var(--neutral000)', weight: 'thin' }), _jsx("p", { className: styles['text'], children: "Tenha acesso a todas das funcionalidades." })] }), _jsx("div", { className: styles['separator'] }), _jsxs("div", { className: styles['list-item'], children: [_jsx(TimerIcon, { size: 40, color: 'var(--neutral000)', weight: 'thin' }), _jsx("p", { className: styles['text'], children: "Cadastre-se em segundos." })] })] })] })] }));
8
+ return (_jsxs("div", { className: styles['footer-banner'], children: [_jsx(InfoHeader, { tagLabel: 'ILIMITADO', title: 'Não importa quantos alunos e alunas você vai ter, o preço não muda.', buttonLabel: 'Conhe\u00E7a agora!', className: styles['footer-banner-info-header'], dark: true }), _jsxs("div", { className: styles['image-person-wrapper'], children: [_jsx(Image, { src: '/gym/stock-gym-blurred.webp', alt: 'Foto borrada de uma academia', className: styles['image'], fill: true }), _jsx(Image, { src: '/people/person_03.webp', alt: 'Foto de uma pessoa', className: styles['person'], width: 420, height: 420 })] }), _jsxs("div", { className: styles['bullet-list-wrapper'], children: [_jsx("p", { className: `${styles['title']} ${montserrat.className}`, children: "Teste gr\u00E1tis o SCA!" }), _jsxs("div", { className: styles['bullet-list'], children: [_jsxs("div", { className: styles['list-item'], children: [_jsx(CreditCardIcon, { size: 40, color: 'var(--neutral000)', weight: 'thin' }), _jsx("p", { className: styles['text'], children: "Voc\u00EA n\u00E3o precisa adicionar cart\u00E3o de cr\u00E9dito." })] }), _jsx("div", { className: styles['separator'] }), _jsxs("div", { className: styles['list-item'], children: [_jsx(BrowsersIcon, { size: 40, color: 'var(--neutral000)', weight: 'thin' }), _jsx("p", { className: styles['text'], children: "Tenha acesso a todas das funcionalidades." })] }), _jsx("div", { className: styles['separator'] }), _jsxs("div", { className: styles['list-item'], children: [_jsx(TimerIcon, { size: 40, color: 'var(--neutral000)', weight: 'thin' }), _jsx("p", { className: styles['text'], children: "Cadastre-se em segundos." })] })] })] })] }));
9
9
  }
@@ -1,11 +1,11 @@
1
- export default function NewsletterStrip({ buttonLabel, onButtonClick, onFormSubmit, buttonLoading, buttonDisabled, emailValue, emailOnChange, nameValue, nameOnChange, }: {
1
+ export default function NewsletterStrip({ buttonLabel, onButtonClick, onFormSubmit, buttonLoading, buttonDisabled, emailValue, onEmailChange, nameValue, onNameChange, }: {
2
2
  buttonLabel?: string;
3
3
  onButtonClick?: () => void;
4
4
  onFormSubmit?: (e: React.FormEvent<HTMLFormElement>) => void;
5
5
  buttonLoading?: boolean;
6
6
  buttonDisabled?: boolean;
7
7
  emailValue?: string;
8
- emailOnChange?: React.ChangeEventHandler;
8
+ onEmailChange?: React.ChangeEventHandler<HTMLInputElement>;
9
9
  nameValue?: string;
10
- nameOnChange?: React.ChangeEventHandler;
10
+ onNameChange?: React.ChangeEventHandler<HTMLInputElement>;
11
11
  }): import("react/jsx-runtime").JSX.Element;
@@ -5,11 +5,6 @@ import scaGradientLogo from '@prosistemas/sca-web-kit/assets/logos/sca/sca-s-gra
5
5
  import InfoHeader from '../info-header/info-header';
6
6
  import Button from '../../ui/button/button';
7
7
  import { EnvelopeIcon } from '@phosphor-icons/react/dist/ssr';
8
- export default function NewsletterStrip({ buttonLabel, onButtonClick, onFormSubmit, buttonLoading = false, buttonDisabled = false, emailValue, emailOnChange, nameValue, nameOnChange,
9
- // email,
10
- // setEmailAction,
11
- // name,
12
- // setNameAction,
13
- }) {
14
- return (_jsxs("div", { className: styles['newsletter-strip'], children: [_jsxs("div", { className: styles['left'], children: [_jsx(EnvelopeIcon, { color: 'white', weight: 'light', size: 48, className: styles['icon'] }), _jsx(InfoHeader, { title: 'Os melhores conte\u00FAdos de tecnologia e fitness', subtitle: 'Assine e receba novidades toda semana em sua caixa de entrada.', className: styles['feature-card'], titleClassName: styles['feature-card-title'], dark: true })] }), _jsxs("form", { className: styles['right'], onSubmit: onFormSubmit, children: [_jsx("input", { className: `${styles['name']} ${inter.className}`, id: "name", type: "text", name: "text", placeholder: "Insira seu nome", value: nameValue, onChange: nameOnChange, required: true }), _jsx("input", { className: `${styles['email']} ${inter.className}`, id: "email", type: "email", name: "email", placeholder: "Insira seu e-mail", value: emailValue, onChange: emailOnChange, required: true }), _jsx(Button, { className: styles['button'], onClick: onButtonClick, label: buttonLabel ?? "Assinar", loading: buttonLoading, disabled: buttonDisabled, type: 'submit' }), _jsx("div", { className: styles['blue-hue'] }), _jsx("img", { src: scaGradientLogo, alt: 'Logo do SCA', width: 243, height: 318, className: styles['background-logo'] })] })] }));
8
+ export default function NewsletterStrip({ buttonLabel, onButtonClick, onFormSubmit, buttonLoading = false, buttonDisabled = false, emailValue, onEmailChange, nameValue, onNameChange, }) {
9
+ return (_jsxs("div", { className: styles['newsletter-strip'], children: [_jsxs("div", { className: styles['left'], children: [_jsx(EnvelopeIcon, { color: 'white', weight: 'light', size: 48, className: styles['icon'] }), _jsx(InfoHeader, { title: 'Os melhores conte\u00FAdos de tecnologia e fitness', subtitle: 'Assine e receba novidades toda semana em sua caixa de entrada.', className: styles['feature-card'], titleClassName: styles['feature-card-title'], dark: true })] }), _jsxs("form", { className: styles['right'], onSubmit: onFormSubmit, children: [_jsx("input", { className: `${styles['name']} ${inter.className}`, id: "name", type: "text", name: "text", placeholder: "Insira seu nome", value: nameValue, onChange: onNameChange, required: true }), _jsx("input", { className: `${styles['email']} ${inter.className}`, id: "email", type: "email", name: "email", placeholder: "Insira seu e-mail", value: emailValue, onChange: onEmailChange, required: true }), _jsx(Button, { className: styles['button'], onClick: onButtonClick, label: buttonLabel ?? "Assinar", loading: buttonLoading, disabled: buttonDisabled, type: 'submit' }), _jsx("div", { className: styles['blue-hue'] }), _jsx("img", { src: scaGradientLogo, alt: 'Logo do SCA', width: 243, height: 318, className: styles['background-logo'] })] })] }));
15
10
  }
@@ -1,5 +1 @@
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;
1
+ export default function SuccessCases(): import("react/jsx-runtime").JSX.Element;
@@ -4,6 +4,6 @@ import SuccessCasesSwiper from './success-cases-swiper/success-cases-swiper';
4
4
  import InfoHeader from '../info-header/info-header';
5
5
  import Button from '../../ui/button/button';
6
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, {})] })] }));
7
+ export default function SuccessCases() {
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'] })] }), _jsx(SuccessCasesSwiper, {})] })] }));
9
9
  }
@@ -0,0 +1,22 @@
1
+ .button {
2
+ border: none;
3
+ outline: none;
4
+ border-radius: 8px;
5
+ background: var(--auxiliary-orange);
6
+ cursor: pointer;
7
+ padding: 16px;
8
+ color: #fff;
9
+ font-size: 16px;
10
+ font-variation-settings: 'wght' 600;
11
+ transition: background 0.3s, border 0.3s, opacity 0.3s;
12
+
13
+ .icon {
14
+ width: 16;
15
+ height: 16px;
16
+ position: absolute;
17
+ }
18
+ }
19
+
20
+ .button:hover {
21
+ background: var(--auxiliary-red);
22
+ }
@@ -0,0 +1,5 @@
1
+ export default function SpanLabel({ label, className, dark, }: {
2
+ label: string;
3
+ className?: string;
4
+ dark?: boolean;
5
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,15 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import styles from './span-label.module.scss';
3
+ import { montserrat } from '../../../fonts';
4
+ export default function SpanLabel({ label, className = '', dark = false, }) {
5
+ const spanDarkStyle = !dark ? {} : {
6
+ border: '1px solid var(--dark900)',
7
+ background: 'var(--dark800)',
8
+ color: 'white',
9
+ };
10
+ return (_jsx("span", { style: spanDarkStyle, className: `
11
+ ${montserrat.className}
12
+ ${className}
13
+ ${styles['span']}
14
+ `, children: label }));
15
+ }
@@ -0,0 +1,11 @@
1
+ .span {
2
+ padding: 8px 16px;
3
+ width: fit-content;
4
+ border-radius: 50px;
5
+ background: var(--light100);
6
+ border: 1px solid var(--light200);
7
+
8
+ font-size: 14px;
9
+ font-weight: 600;
10
+ color: var(--dark700);
11
+ }