negodesign 0.0.29 → 0.0.30

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 (53) hide show
  1. package/dist/assets/lonely-404.mp4 +0 -0
  2. package/dist/components/core/banner/AdCardBanner.svelte.d.ts +4 -0
  3. package/dist/components/core/banner/CtaCardBanner.svelte +118 -0
  4. package/dist/components/core/banner/CtaCardBanner.svelte.d.ts +4 -0
  5. package/dist/components/core/banner/{BannerNotification.svelte → NotificationBanner.svelte} +4 -3
  6. package/dist/components/core/banner/NotificationBanner.svelte.d.ts +4 -0
  7. package/dist/components/core/banner/types.d.ts +22 -1
  8. package/dist/components/core/card/highlight/01/CardHighlight01.svelte +15 -26
  9. package/dist/components/core/card/highlight/02/CardHighlight02.svelte +13 -24
  10. package/dist/components/core/card/media/01/CardMedia01.svelte +2 -12
  11. package/dist/components/core/card/media/02/CardMedia02.svelte +2 -12
  12. package/dist/components/core/card/promotion/CardPromotion.svelte +5 -1
  13. package/dist/components/core/card/shared/CardButton.svelte +9 -3
  14. package/dist/components/core/card/shared/CardButton.svelte.d.ts +1 -1
  15. package/dist/components/core/card/shared/CardLogo.svelte +19 -0
  16. package/dist/components/core/card/shared/CardLogo.svelte.d.ts +7 -0
  17. package/dist/components/core/card/shared/CardThumbnailVideo.svelte +3 -0
  18. package/dist/components/core/card/types.d.ts +3 -0
  19. package/dist/components/core/carousel/grid/media/types.d.ts +1 -0
  20. package/dist/components/core/carousel/grid/media/ui/CarouselGridMedia.svelte +2 -1
  21. package/dist/components/core/carousel/grid/profile/types.d.ts +1 -0
  22. package/dist/components/core/carousel/grid/profile/ui/CarouselGridProfile.svelte +3 -5
  23. package/dist/components/core/carousel/grid/shared/ui/CarouselGridSlot.svelte +4 -9
  24. package/dist/components/core/carousel/grid/shared/ui/CarouselGridSlot.svelte.d.ts +1 -0
  25. package/dist/components/core/footer/types.d.ts +23 -0
  26. package/dist/components/core/footer/types.js +1 -0
  27. package/dist/components/core/footer/ui/01/Footer01.svelte +76 -0
  28. package/dist/components/core/footer/ui/01/Footer01.svelte.d.ts +4 -0
  29. package/dist/components/core/footer/ui/02/Footer02.svelte +53 -0
  30. package/dist/components/core/footer/ui/02/Footer02.svelte.d.ts +4 -0
  31. package/dist/components/core/footer/ui/Footer.svelte +18 -0
  32. package/dist/components/core/footer/ui/Footer.svelte.d.ts +7 -0
  33. package/dist/components/core/footer/ui/shared/FooterColumn.svelte +18 -0
  34. package/dist/components/core/footer/ui/shared/FooterColumn.svelte.d.ts +4 -0
  35. package/dist/components/core/footer/ui/shared/FooterNewsLetter.svelte +57 -0
  36. package/dist/components/core/footer/ui/shared/FooterNewsLetter.svelte.d.ts +9 -0
  37. package/dist/components/core/footer/ui/shared/FooterSocialIcon.svelte +62 -0
  38. package/dist/components/core/footer/ui/shared/FooterSocialIcon.svelte.d.ts +4 -0
  39. package/dist/components/core/panel/CarouselSlot.svelte +1 -1
  40. package/dist/components/core/panel/LeftHero.svelte +2 -2
  41. package/dist/globals.css +112 -4
  42. package/dist/i18n/langs/en.d.ts +4 -0
  43. package/dist/i18n/langs/en.js +4 -0
  44. package/dist/i18n/langs/pt.d.ts +4 -0
  45. package/dist/i18n/langs/pt.js +10 -6
  46. package/dist/i18n/translations.d.ts +8 -0
  47. package/dist/index.d.ts +7 -5
  48. package/dist/index.js +7 -5
  49. package/dist/styles/globals.css +1 -1
  50. package/package.json +1 -1
  51. package/dist/components/core/banner/BannerNotification.svelte.d.ts +0 -4
  52. package/dist/components/core/banner/CardAdBanner.svelte.d.ts +0 -4
  53. /package/dist/components/core/banner/{CardAdBanner.svelte → AdCardBanner.svelte} +0 -0
@@ -0,0 +1,76 @@
1
+ <script lang="ts">
2
+ import { t } from "../../../../../i18n";
3
+ import type { FooterProps } from "../../types";
4
+ import FooterColumn from "../shared/FooterColumn.svelte";
5
+ import FooterNewsLetter from "../shared/FooterNewsLetter.svelte";
6
+ import SocialIcon from "../shared/FooterSocialIcon.svelte";
7
+
8
+ let {
9
+ items,
10
+ logo,
11
+ isNewsletter = false,
12
+ socialsMedia,
13
+ companyName,
14
+ newsletterTitle,
15
+ newsletterDescription,
16
+ onSubscribe,
17
+ }: FooterProps = $props();
18
+
19
+ let email = $state("");
20
+ const year = new Date().getFullYear();
21
+
22
+ function handleSubscribe(e: SubmitEvent) {
23
+ e.preventDefault();
24
+ const value = email.trim();
25
+ if (!value) return;
26
+ onSubscribe?.(value);
27
+ email = "";
28
+ }
29
+ </script>
30
+
31
+ <footer class="p-10">
32
+ <div
33
+ class="flex flex-col gap-10 md:flex-row md:items-start md:justify-between"
34
+ >
35
+ <div class="shrink-0">
36
+ {#if logo}
37
+ <img src={logo} alt="" class="h-10 w-auto" />
38
+ {/if}
39
+ </div>
40
+
41
+ <div class="flex flex-1 flex-wrap justify-between gap-10">
42
+ {#each items as column, i (i)}
43
+ <FooterColumn title={column.title} items={column.items} />
44
+ {/each}
45
+ </div>
46
+ </div>
47
+
48
+ {#if isNewsletter}
49
+ <div
50
+ class="mt-10 flex flex-col gap-4 border-t border-gray/10 pt-8 md:flex-row md:items-center md:justify-between"
51
+ >
52
+ <FooterNewsLetter
53
+ {isNewsletter}
54
+ {newsletterTitle}
55
+ {newsletterDescription}
56
+ {onSubscribe}
57
+ />
58
+ </div>
59
+ {/if}
60
+
61
+ <div
62
+ class="mt-10 flex flex-col gap-4 border-t border-gray/10 pt-6 md:flex-row md:items-center md:justify-between"
63
+ >
64
+ <p class="text-sm">
65
+ ©
66
+ {year}
67
+ {companyName}
68
+ {$t("footer.copyr")}
69
+ </p>
70
+ <div class="flex items-center gap-4">
71
+ {#each socialsMedia as social, i (i)}
72
+ <SocialIcon {...social} />
73
+ {/each}
74
+ </div>
75
+ </div>
76
+ </footer>
@@ -0,0 +1,4 @@
1
+ import type { FooterProps } from "../../types";
2
+ declare const Footer01: import("svelte").Component<FooterProps, {}, "">;
3
+ type Footer01 = ReturnType<typeof Footer01>;
4
+ export default Footer01;
@@ -0,0 +1,53 @@
1
+ <script lang="ts">
2
+ import { t } from "../../../../../i18n";
3
+ import type { FooterProps } from "../../types";
4
+ import FooterColumn from "../shared/FooterColumn.svelte";
5
+ import FooterNewsLetter from "../shared/FooterNewsLetter.svelte";
6
+ import SocialIcon from "../shared/FooterSocialIcon.svelte";
7
+
8
+ let {
9
+ items,
10
+ isNewsletter = false,
11
+ socialsMedia,
12
+ companyName,
13
+ newsletterTitle,
14
+ newsletterDescription,
15
+ onSubscribe,
16
+ }: FooterProps = $props();
17
+
18
+ const year = new Date().getFullYear();
19
+ </script>
20
+
21
+ <footer class="p-10">
22
+ <div class="flex flex-wrap justify-between gap-10">
23
+ {#each items as column, i (i)}
24
+ <FooterColumn title={column.title} items={column.items} />
25
+ {/each}
26
+
27
+ {#if isNewsletter}
28
+ <div class="min-w-60">
29
+ <FooterNewsLetter
30
+ {isNewsletter}
31
+ {newsletterTitle}
32
+ {newsletterDescription}
33
+ {onSubscribe}
34
+ />
35
+ </div>
36
+ {/if}
37
+ </div>
38
+
39
+ <div
40
+ class="mt-10 flex flex-col gap-4 border-t border-gray/10 pt-6 md:flex-row md:items-center md:justify-between"
41
+ >
42
+ <p class="text-sm">
43
+ © {year}
44
+ {companyName}
45
+ {$t("footer.copyr")}
46
+ </p>
47
+ <div class="flex items-center gap-4">
48
+ {#each socialsMedia as social, i (i)}
49
+ <SocialIcon icon={social.icon} text={social.text} />
50
+ {/each}
51
+ </div>
52
+ </div>
53
+ </footer>
@@ -0,0 +1,4 @@
1
+ import type { FooterProps } from "../../types";
2
+ declare const Footer02: import("svelte").Component<FooterProps, {}, "">;
3
+ type Footer02 = ReturnType<typeof Footer02>;
4
+ export default Footer02;
@@ -0,0 +1,18 @@
1
+ <script lang="ts">
2
+ import Footer01 from "./01/Footer01.svelte";
3
+ import Footer02 from "./02/Footer02.svelte";
4
+ import type { FooterProps } from "../types";
5
+
6
+ let {
7
+ variant = 1,
8
+ ...restProps
9
+ }: FooterProps & {
10
+ variant?: 1 | 2;
11
+ } = $props();
12
+ </script>
13
+
14
+ {#if variant === 2}
15
+ <Footer02 {...restProps} />
16
+ {:else}
17
+ <Footer01 {...restProps} />
18
+ {/if}
@@ -0,0 +1,7 @@
1
+ import type { FooterProps } from "../types";
2
+ type $$ComponentProps = FooterProps & {
3
+ variant?: 1 | 2;
4
+ };
5
+ declare const Footer: import("svelte").Component<$$ComponentProps, {}, "">;
6
+ type Footer = ReturnType<typeof Footer>;
7
+ export default Footer;
@@ -0,0 +1,18 @@
1
+ <script lang="ts">
2
+ import type { FooterColumnProps } from "../../types";
3
+
4
+ let { title, items }: FooterColumnProps = $props();
5
+ </script>
6
+
7
+ <div class="min-w-27.5">
8
+ <h3 class="mb-4 text-sm font-semibold">{title}</h3>
9
+ <ul class="space-y-3">
10
+ {#each items as item, i (i)}
11
+ <li>
12
+ <a href={item.href ?? "#"} class="text-sm transition-colors">
13
+ {item.text}
14
+ </a>
15
+ </li>
16
+ {/each}
17
+ </ul>
18
+ </div>
@@ -0,0 +1,4 @@
1
+ import type { FooterColumnProps } from "../../types";
2
+ declare const FooterColumn: import("svelte").Component<FooterColumnProps, {}, "">;
3
+ type FooterColumn = ReturnType<typeof FooterColumn>;
4
+ export default FooterColumn;
@@ -0,0 +1,57 @@
1
+ <script lang="ts">
2
+ import { t } from "../../../../../i18n";
3
+ import type { FooterProps } from "../../types";
4
+
5
+ type Props = {
6
+ isNewsletter?: boolean;
7
+ newsletterTitle?: string;
8
+ newsletterDescription?: string;
9
+ onSubscribe?: (email: string) => void;
10
+ };
11
+
12
+ let {
13
+ isNewsletter = false,
14
+ newsletterTitle,
15
+ newsletterDescription,
16
+ onSubscribe,
17
+ }: Props = $props();
18
+
19
+ let email = $state("");
20
+
21
+ function handleSubscribe(e: SubmitEvent) {
22
+ e.preventDefault();
23
+ const value = email.trim();
24
+ if (!value) return;
25
+ onSubscribe?.(value);
26
+ email = "";
27
+ }
28
+ </script>
29
+
30
+ {#if isNewsletter}
31
+ <div>
32
+ <h3 class="mb-1 text-sm font-semibold">
33
+ {newsletterTitle ?? $t("footer.subscribe.title")}
34
+ </h3>
35
+ <p class="text-sm leading-relaxed">
36
+ {newsletterDescription ?? $t("footer.subscribe.text")}
37
+ </p>
38
+ <form
39
+ onsubmit={handleSubscribe}
40
+ class="flex flex-col items-stretch gap-2 sm:flex-row"
41
+ >
42
+ <input
43
+ type="email"
44
+ bind:value={email}
45
+ placeholder="Enter your email"
46
+ required
47
+ class="w-56 rounded-lg border border-gray px-3.5 py-2 text-sm placeholder:text-slate-500 outline-none"
48
+ />
49
+ <button
50
+ type="submit"
51
+ class="shrink-0 rounded-lg px-4 py-2 text-sm font-medium text-white transition-colors bg-gradient"
52
+ >
53
+ {$t("footer.subscribe")}
54
+ </button>
55
+ </form>
56
+ </div>
57
+ {/if}
@@ -0,0 +1,9 @@
1
+ type Props = {
2
+ isNewsletter?: boolean;
3
+ newsletterTitle?: string;
4
+ newsletterDescription?: string;
5
+ onSubscribe?: (email: string) => void;
6
+ };
7
+ declare const FooterNewsLetter: import("svelte").Component<Props, {}, "">;
8
+ type FooterNewsLetter = ReturnType<typeof FooterNewsLetter>;
9
+ export default FooterNewsLetter;
@@ -0,0 +1,62 @@
1
+ <script lang="ts">
2
+ import type { FooterSocialItem } from "../../types";
3
+
4
+ let { icon, text, href }: FooterSocialItem = $props();
5
+ </script>
6
+
7
+ <a
8
+ {href}
9
+ aria-label={text}
10
+ title={text}
11
+ target="_blank"
12
+ class="transition-color"
13
+ >
14
+ {#if icon === "facebook"}
15
+ <svg viewBox="0 0 24 24" fill="currentColor" class="h-4.5 w-4.5">
16
+ <path
17
+ d="M22 12.06C22 6.5 17.52 2 12 2S2 6.5 2 12.06c0 5 3.66 9.15 8.44 9.94v-7.03H7.9v-2.91h2.54V9.85c0-2.5 1.49-3.89 3.77-3.89 1.09 0 2.24.2 2.24.2v2.46h-1.26c-1.24 0-1.63.77-1.63 1.56v1.88h2.78l-.44 2.91h-2.34V22c4.78-.79 8.44-4.94 8.44-9.94Z"
18
+ />
19
+ </svg>
20
+ {:else if icon === "instagram"}
21
+ <svg
22
+ viewBox="0 0 24 24"
23
+ fill="none"
24
+ stroke="currentColor"
25
+ stroke-width="1.8"
26
+ class="h-4.5 w-4.5"
27
+ >
28
+ <rect x="3" y="3" width="18" height="18" rx="5" />
29
+ <circle cx="12" cy="12" r="4" />
30
+ <circle cx="17.2" cy="6.8" r="1" fill="currentColor" stroke="none" />
31
+ </svg>
32
+ {:else if icon === "x"}
33
+ <svg viewBox="0 0 24 24" fill="currentColor" class="h-4 w-4">
34
+ <path
35
+ d="M18.9 2H22l-7.6 8.7L23.3 22h-7.3l-5.7-7.1L3.7 22H.6l8.1-9.3L.9 2h7.5l5.2 6.5L18.9 2Zm-1.3 18h1.8L6.5 3.9H4.6L17.6 20Z"
36
+ />
37
+ </svg>
38
+ {:else if icon === "github"}
39
+ <svg viewBox="0 0 24 24" fill="currentColor" class="h-4.5 w-4.5">
40
+ <path
41
+ d="M12 2a10 10 0 0 0-3.16 19.49c.5.1.68-.22.68-.48v-1.7c-2.78.6-3.37-1.34-3.37-1.34-.46-1.15-1.11-1.46-1.11-1.46-.9-.62.07-.6.07-.6 1 .07 1.53 1.03 1.53 1.03.9 1.52 2.34 1.08 2.91.83.09-.66.35-1.08.63-1.33-2.22-.25-4.56-1.11-4.56-4.93 0-1.09.39-1.98 1.03-2.68-.1-.25-.45-1.27.1-2.65 0 0 .84-.27 2.75 1.02a9.6 9.6 0 0 1 5 0c1.9-1.3 2.74-1.02 2.74-1.02.56 1.38.2 2.4.1 2.65.65.7 1.03 1.59 1.03 2.68 0 3.83-2.34 4.68-4.57 4.92.36.31.68.92.68 1.85v2.74c0 .27.18.58.69.48A10 10 0 0 0 12 2Z"
42
+ />
43
+ </svg>
44
+ {:else if icon === "youtube"}
45
+ <svg viewBox="0 0 24 24" fill="currentColor" class="h-4.5 w-4.5">
46
+ <path
47
+ d="M22.5 7.2a2.9 2.9 0 0 0-2-2.05C18.7 4.7 12 4.7 12 4.7s-6.7 0-8.5.45a2.9 2.9 0 0 0-2 2.05A30 30 0 0 0 1 12a30 30 0 0 0 .5 4.8 2.9 2.9 0 0 0 2 2.05c1.8.45 8.5.45 8.5.45s6.7 0 8.5-.45a2.9 2.9 0 0 0 2-2.05A30 30 0 0 0 23 12a30 30 0 0 0-.5-4.8ZM9.8 15.2V8.8L15.5 12l-5.7 3.2Z"
48
+ />
49
+ </svg>
50
+ {:else if icon == "linkedin"}
51
+ <svg
52
+ xmlns="http://www.w3.org/2000/svg"
53
+ viewBox="0 0 384 512"
54
+ fill="currentColor"
55
+ class="h-4.5 w-4.5"
56
+ >
57
+ <path
58
+ d="M204.1 0H180.1C161.9 0 147 14.1 147 32.3V177c0 4.7 0 9.3 1.6 13.7l3.8 11.1-12.2 12.6c-9.3 9.6-16.8 19.7-22.5 30.2-5.7 10.6-8.5 21.5-8.5 32.6V480c0 17.7 14.3 32 32 32h43.3c17.7 0 32-14.3 32-32V256c0-10.7-2.5-21.2-7.5-30.7-5-9.5-12.7-17.2-22.6-22.6l-12.6-6.5 4-11.5c2.5-7.5 4-15.4 4-23.5V32.3c0-17.7-14.1-32.3-32-32.3zM432 0H408c-17.7 0-32 14.3-32 32V256c0 17.7 14.3 32 32 32h44c17.7 0 32-14.3 32-32V32c0-17.7-14.3-32-32-32zm0 192H408v320h44c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32zM147 323c0-8.4 2.2-16.6 6.4-23.8l13.3-21.7 12.7-6.6c5.5-2.8 11-6.3 16.3-10.4 5.2-4.1 9.6-9 13-14.6 3.4-5.7 5-11.7 5.4-17.9V32.3c0-8.4-2.2-16.6-6.4-23.8l-13.3-21.7-12.7-6.6c-5.5-2.8-11-6.3-16.3-10.4-5.2-4.1-9.6-9-13-14.6-3.4-5.7-5-11.7-5.4-17.9V0c17.7 0 32 14.3 32 32v90.3c0 8.4 2.2 16.6 6.4 23.8l13.3 21.7 12.7 6.6c5.5 2.8 11 6.3 16.3 10.4 5.2 4.1 9.6 9 13 14.6 3.4 5.7 5 11.7 5.4 17.9v90.3c0 17.7-14.3 32-32 32h-44c-17.7 0-32-14.3-32-32v-90.4z"
59
+ />
60
+ </svg>
61
+ {/if}
62
+ </a>
@@ -0,0 +1,4 @@
1
+ import type { FooterSocialItem } from "../../types";
2
+ declare const FooterSocialIcon: import("svelte").Component<FooterSocialItem, {}, "">;
3
+ type FooterSocialIcon = ReturnType<typeof FooterSocialIcon>;
4
+ export default FooterSocialIcon;
@@ -6,7 +6,7 @@
6
6
  positionButtonPreviousAndNext = "center",
7
7
  isButtonPreviousAndNext = true,
8
8
  buttonPreviousAndNextClass = "",
9
- isBorderBottom = true,
9
+ isBorderBottom = false,
10
10
  containerClass = "w-full",
11
11
  plugins = [],
12
12
  children,
@@ -1,7 +1,7 @@
1
1
  <script lang="ts">
2
2
  import { HugeiconsIcon } from "@hugeicons/svelte";
3
3
  import { ArrowRight01Icon } from "@hugeicons/core-free-icons";
4
- import type { LoginCarouselProps } from "../../pages/security/login/types";
4
+ import type { LoginCarouselProps } from "../../pages/security/login/types";
5
5
  import type { Snippet } from "svelte";
6
6
  import Button from "../../ui/button/button.svelte";
7
7
  import { t } from "../../../i18n";
@@ -40,7 +40,7 @@
40
40
  </script>
41
41
 
42
42
  <div
43
- class="relative flex flex-col justify-between overflow-hidden h-screen p-8 bg-gradient-left text-white"
43
+ class="relative flex flex-col justify-between overflow-hidden h-screen p-8 bg-gradient text-white"
44
44
  >
45
45
  <div class="flex items-center gap-2">
46
46
  <div class="font-bold text-xl tracking-wider flex items-center gap-2">
package/dist/globals.css CHANGED
@@ -31,6 +31,8 @@
31
31
  --color-gray-700: oklch(37.3% 0.034 259.733);
32
32
  --color-gray-800: oklch(27.8% 0.033 256.848);
33
33
  --color-gray-900: oklch(21% 0.034 264.665);
34
+ --color-neutral-800: oklch(26.9% 0 none);
35
+ --color-neutral-900: oklch(20.5% 0 none);
34
36
  --color-black: #000;
35
37
  --color-white: #fff;
36
38
  --spacing: 0.25rem;
@@ -506,6 +508,12 @@
506
508
  .mt-5 {
507
509
  margin-top: calc(var(--spacing) * 5);
508
510
  }
511
+ .mt-7 {
512
+ margin-top: calc(var(--spacing) * 7);
513
+ }
514
+ .mt-10 {
515
+ margin-top: calc(var(--spacing) * 10);
516
+ }
509
517
  .mt-auto {
510
518
  margin-top: auto;
511
519
  }
@@ -696,6 +704,9 @@
696
704
  .h-4 {
697
705
  height: calc(var(--spacing) * 4);
698
706
  }
707
+ .h-4\.5 {
708
+ height: calc(var(--spacing) * 4.5);
709
+ }
699
710
  .h-5 {
700
711
  height: calc(var(--spacing) * 5);
701
712
  }
@@ -825,6 +836,9 @@
825
836
  .w-4 {
826
837
  width: calc(var(--spacing) * 4);
827
838
  }
839
+ .w-4\.5 {
840
+ width: calc(var(--spacing) * 4.5);
841
+ }
828
842
  .w-5 {
829
843
  width: calc(var(--spacing) * 5);
830
844
  }
@@ -942,6 +956,9 @@
942
956
  .max-w-full {
943
957
  max-width: 100%;
944
958
  }
959
+ .max-w-md {
960
+ max-width: var(--container-md);
961
+ }
945
962
  .max-w-sm {
946
963
  max-width: var(--container-sm);
947
964
  }
@@ -960,6 +977,9 @@
960
977
  .min-w-25 {
961
978
  min-width: calc(var(--spacing) * 25);
962
979
  }
980
+ .min-w-27\.5 {
981
+ min-width: calc(var(--spacing) * 27.5);
982
+ }
963
983
  .min-w-36 {
964
984
  min-width: calc(var(--spacing) * 36);
965
985
  }
@@ -969,6 +989,9 @@
969
989
  .min-w-56 {
970
990
  min-width: calc(var(--spacing) * 56);
971
991
  }
992
+ .min-w-60 {
993
+ min-width: calc(var(--spacing) * 60);
994
+ }
972
995
  .min-w-\[9rem\] {
973
996
  min-width: 9rem;
974
997
  }
@@ -1057,6 +1080,9 @@
1057
1080
  .rotate-90 {
1058
1081
  rotate: 90deg;
1059
1082
  }
1083
+ .transform {
1084
+ transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
1085
+ }
1060
1086
  .transform-gpu {
1061
1087
  transform: translateZ(0) var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
1062
1088
  }
@@ -1270,9 +1296,15 @@
1270
1296
  .rounded-2xl {
1271
1297
  border-radius: calc(var(--radius) * 1.8);
1272
1298
  }
1299
+ .rounded-3xl {
1300
+ border-radius: calc(var(--radius) * 2.2);
1301
+ }
1273
1302
  .rounded-4xl {
1274
1303
  border-radius: calc(var(--radius) * 2.6);
1275
1304
  }
1305
+ .rounded-\[1\.35rem\] {
1306
+ border-radius: 1.35rem;
1307
+ }
1276
1308
  .rounded-\[2px\] {
1277
1309
  border-radius: 2px;
1278
1310
  }
@@ -1605,6 +1637,9 @@
1605
1637
  background-color: color-mix(in oklab, var(--muted) 50%, transparent);
1606
1638
  }
1607
1639
  }
1640
+ .bg-neutral-900 {
1641
+ background-color: var(--color-neutral-900);
1642
+ }
1608
1643
  .bg-popover {
1609
1644
  background-color: var(--popover);
1610
1645
  }
@@ -1725,6 +1760,9 @@
1725
1760
  .p-8 {
1726
1761
  padding: calc(var(--spacing) * 8);
1727
1762
  }
1763
+ .p-10 {
1764
+ padding: calc(var(--spacing) * 10);
1765
+ }
1728
1766
  .p-\[3px\] {
1729
1767
  padding: 3px;
1730
1768
  }
@@ -1809,6 +1847,12 @@
1809
1847
  .pt-4 {
1810
1848
  padding-top: calc(var(--spacing) * 4);
1811
1849
  }
1850
+ .pt-6 {
1851
+ padding-top: calc(var(--spacing) * 6);
1852
+ }
1853
+ .pt-8 {
1854
+ padding-top: calc(var(--spacing) * 8);
1855
+ }
1812
1856
  .pr-2 {
1813
1857
  padding-right: calc(var(--spacing) * 2);
1814
1858
  }
@@ -1842,6 +1886,9 @@
1842
1886
  .pl-3 {
1843
1887
  padding-left: calc(var(--spacing) * 3);
1844
1888
  }
1889
+ .pl-5 {
1890
+ padding-left: calc(var(--spacing) * 5);
1891
+ }
1845
1892
  .pl-6 {
1846
1893
  padding-left: calc(var(--spacing) * 6);
1847
1894
  }
@@ -2081,6 +2128,12 @@
2081
2128
  color: color-mix(in oklab, var(--color-white) 80%, transparent);
2082
2129
  }
2083
2130
  }
2131
+ .text-white\/85 {
2132
+ color: color-mix(in srgb, #fff 85%, transparent);
2133
+ @supports (color: color-mix(in lab, red, red)) {
2134
+ color: color-mix(in oklab, var(--color-white) 85%, transparent);
2135
+ }
2136
+ }
2084
2137
  .text-white\/90 {
2085
2138
  color: color-mix(in srgb, #fff 90%, transparent);
2086
2139
  @supports (color: color-mix(in lab, red, red)) {
@@ -2155,6 +2208,10 @@
2155
2208
  --tw-shadow: 0 0 #0000 !important;
2156
2209
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow) !important;
2157
2210
  }
2211
+ .shadow-sm {
2212
+ --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
2213
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
2214
+ }
2158
2215
  .shadow-xl {
2159
2216
  --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 8px 10px -6px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
2160
2217
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
@@ -2163,6 +2220,10 @@
2163
2220
  --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.05));
2164
2221
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
2165
2222
  }
2223
+ .ring {
2224
+ --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
2225
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
2226
+ }
2166
2227
  .ring-0 {
2167
2228
  --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
2168
2229
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
@@ -2596,6 +2657,9 @@
2596
2657
  .placeholder\:text-muted-foreground::placeholder {
2597
2658
  color: var(--muted-foreground);
2598
2659
  }
2660
+ .placeholder\:text-slate-500::placeholder {
2661
+ color: var(--color-slate-500);
2662
+ }
2599
2663
  .before\:absolute::before {
2600
2664
  content: var(--tw-content);
2601
2665
  position: absolute;
@@ -2795,6 +2859,9 @@
2795
2859
  background-color: color-mix(in oklab, var(--muted) 60%, transparent);
2796
2860
  }
2797
2861
  }
2862
+ .hover\:bg-neutral-800:hover {
2863
+ background-color: var(--color-neutral-800);
2864
+ }
2798
2865
  .hover\:bg-primary\/80:hover {
2799
2866
  background-color: var(--primary);
2800
2867
  }
@@ -3522,6 +3589,9 @@
3522
3589
  .sm\:px-10 {
3523
3590
  padding-inline: calc(var(--spacing) * 10);
3524
3591
  }
3592
+ .sm\:py-12 {
3593
+ padding-block: calc(var(--spacing) * 12);
3594
+ }
3525
3595
  .sm\:py-14 {
3526
3596
  padding-block: calc(var(--spacing) * 14);
3527
3597
  }
@@ -3533,6 +3603,10 @@
3533
3603
  font-size: var(--text-4xl);
3534
3604
  line-height: var(--tw-leading, var(--text-4xl--line-height));
3535
3605
  }
3606
+ .sm\:text-base {
3607
+ font-size: var(--text-base);
3608
+ line-height: var(--tw-leading, var(--text-base--line-height));
3609
+ }
3536
3610
  .sm\:before\:flex-1::before {
3537
3611
  content: var(--tw-content);
3538
3612
  flex: 1;
@@ -3560,9 +3634,6 @@
3560
3634
  .md\:my-2 {
3561
3635
  margin-block: calc(var(--spacing) * 2);
3562
3636
  }
3563
- .md\:mt-3 {
3564
- margin-top: calc(var(--spacing) * 3);
3565
- }
3566
3637
  .md\:mt-10 {
3567
3638
  margin-top: calc(var(--spacing) * 10);
3568
3639
  }
@@ -3617,6 +3688,15 @@
3617
3688
  .md\:grid-cols-2 {
3618
3689
  grid-template-columns: repeat(2, minmax(0, 1fr));
3619
3690
  }
3691
+ .md\:flex-row {
3692
+ flex-direction: row;
3693
+ }
3694
+ .md\:items-center {
3695
+ align-items: center;
3696
+ }
3697
+ .md\:items-start {
3698
+ align-items: flex-start;
3699
+ }
3620
3700
  .md\:justify-between {
3621
3701
  justify-content: space-between;
3622
3702
  }
@@ -3737,6 +3817,9 @@
3737
3817
  .lg\:h-105 {
3738
3818
  height: calc(var(--spacing) * 105);
3739
3819
  }
3820
+ .lg\:h-225 {
3821
+ height: calc(var(--spacing) * 225);
3822
+ }
3740
3823
  .lg\:w-32 {
3741
3824
  width: calc(var(--spacing) * 32);
3742
3825
  }
@@ -20469,7 +20552,7 @@
20469
20552
  animation-name: slideOutUp;
20470
20553
  }
20471
20554
  @layer {
20472
- .bg-gradient-left {
20555
+ .bg-gradient {
20473
20556
  --tw-gradient-position: to right;
20474
20557
  @supports (background-image: linear-gradient(in lab, red, red)) {
20475
20558
  --tw-gradient-position: to right in oklab;
@@ -20787,6 +20870,26 @@
20787
20870
  inherits: false;
20788
20871
  initial-value: 1;
20789
20872
  }
20873
+ @property --tw-rotate-x {
20874
+ syntax: "*";
20875
+ inherits: false;
20876
+ }
20877
+ @property --tw-rotate-y {
20878
+ syntax: "*";
20879
+ inherits: false;
20880
+ }
20881
+ @property --tw-rotate-z {
20882
+ syntax: "*";
20883
+ inherits: false;
20884
+ }
20885
+ @property --tw-skew-x {
20886
+ syntax: "*";
20887
+ inherits: false;
20888
+ }
20889
+ @property --tw-skew-y {
20890
+ syntax: "*";
20891
+ inherits: false;
20892
+ }
20790
20893
  @property --tw-space-y-reverse {
20791
20894
  syntax: "*";
20792
20895
  inherits: false;
@@ -21089,6 +21192,11 @@
21089
21192
  --tw-scale-x: 1;
21090
21193
  --tw-scale-y: 1;
21091
21194
  --tw-scale-z: 1;
21195
+ --tw-rotate-x: initial;
21196
+ --tw-rotate-y: initial;
21197
+ --tw-rotate-z: initial;
21198
+ --tw-skew-x: initial;
21199
+ --tw-skew-y: initial;
21092
21200
  --tw-space-y-reverse: 0;
21093
21201
  --tw-space-x-reverse: 0;
21094
21202
  --tw-border-style: solid;
@@ -89,6 +89,10 @@ declare const _default: {
89
89
  "carousel.otp-verification.slide2.description": string;
90
90
  "carousel.otp-verification.slide3.title": string;
91
91
  "carousel.otp-verification.slide3.description": string;
92
+ "footer.subscribe": string;
93
+ "footer.subscribe.title": string;
94
+ "footer.subscribe.text": string;
95
+ "footer.copyr": string;
92
96
  "language.en": string;
93
97
  "language.pt": string;
94
98
  };
@@ -89,6 +89,10 @@ export default {
89
89
  "carousel.otp-verification.slide2.description": "Check your inbox or phone messages for the 6-digit code. It may take a few moments to arrive.",
90
90
  "carousel.otp-verification.slide3.title": "Code Verified!",
91
91
  "carousel.otp-verification.slide3.description": "Your identity has been verified. You can now proceed with resetting your password or accessing your account.",
92
+ "footer.subscribe": "Subscribe",
93
+ "footer.subscribe.title": "Subscreva a nossa newsletter",
94
+ "footer.subscribe.text": "Subscribe to our newsletter to receive the latest news, articles and resources sent directly to your inbox.",
95
+ "footer.copyr": "All rights reserved",
92
96
  "language.en": "English",
93
97
  "language.pt": "Portuguese"
94
98
  };
@@ -89,6 +89,10 @@ declare const _default: {
89
89
  "carousel.otp-verification.slide2.description": string;
90
90
  "carousel.otp-verification.slide3.title": string;
91
91
  "carousel.otp-verification.slide3.description": string;
92
+ "footer.subscribe": string;
93
+ "footer.subscribe.title": string;
94
+ "footer.subscribe.text": string;
95
+ "footer.copyr": string;
92
96
  "language.en": string;
93
97
  "language.pt": string;
94
98
  };