@snow-labs/brutal-ui 0.3.2 → 0.5.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 (53) hide show
  1. package/dist/components/brutal/comparison-table.d.ts +23 -0
  2. package/dist/components/brutal/comparison-table.js +117 -0
  3. package/dist/components/brutal/comparison-table.js.map +1 -0
  4. package/dist/components/brutal/cta-section.js +2 -2
  5. package/dist/components/brutal/cta-section.js.map +1 -1
  6. package/dist/components/brutal/faq.js +2 -2
  7. package/dist/components/brutal/faq.js.map +1 -1
  8. package/dist/components/brutal/feature-grid.d.ts +1 -1
  9. package/dist/components/brutal/feature-grid.js +10 -2
  10. package/dist/components/brutal/feature-grid.js.map +1 -1
  11. package/dist/components/brutal/feature-showcase.d.ts +20 -0
  12. package/dist/components/brutal/feature-showcase.js +158 -0
  13. package/dist/components/brutal/feature-showcase.js.map +1 -0
  14. package/dist/components/brutal/footer.js +1 -2
  15. package/dist/components/brutal/footer.js.map +1 -1
  16. package/dist/components/brutal/hero.js +2 -2
  17. package/dist/components/brutal/hero.js.map +1 -1
  18. package/dist/components/brutal/index.d.ts +4 -0
  19. package/dist/components/brutal/index.js +275 -59
  20. package/dist/components/brutal/index.js.map +1 -1
  21. package/dist/components/brutal/integration-grid.js +3 -3
  22. package/dist/components/brutal/integration-grid.js.map +1 -1
  23. package/dist/components/brutal/logo-cloud.js +2 -2
  24. package/dist/components/brutal/logo-cloud.js.map +1 -1
  25. package/dist/components/brutal/marquee.d.ts +17 -0
  26. package/dist/components/brutal/marquee.js +66 -0
  27. package/dist/components/brutal/marquee.js.map +1 -0
  28. package/dist/components/brutal/mockup-window.d.ts +11 -0
  29. package/dist/components/brutal/mockup-window.js +80 -0
  30. package/dist/components/brutal/mockup-window.js.map +1 -0
  31. package/dist/components/brutal/nav.js +1 -1
  32. package/dist/components/brutal/nav.js.map +1 -1
  33. package/dist/components/brutal/newsletter.js +2 -2
  34. package/dist/components/brutal/newsletter.js.map +1 -1
  35. package/dist/components/brutal/pricing-table.js +2 -2
  36. package/dist/components/brutal/pricing-table.js.map +1 -1
  37. package/dist/components/brutal/section.js +2 -2
  38. package/dist/components/brutal/section.js.map +1 -1
  39. package/dist/components/brutal/stats-bar.js +3 -3
  40. package/dist/components/brutal/stats-bar.js.map +1 -1
  41. package/dist/components/brutal/testimonials.js +6 -11
  42. package/dist/components/brutal/testimonials.js.map +1 -1
  43. package/dist/index.d.ts +4 -0
  44. package/dist/index.js +233 -17
  45. package/dist/index.js.map +1 -1
  46. package/dist/templates/index.js +17 -15
  47. package/dist/templates/index.js.map +1 -1
  48. package/dist/templates/saas-launch.js +17 -15
  49. package/dist/templates/saas-launch.js.map +1 -1
  50. package/dist/templates/studio.js +16 -14
  51. package/dist/templates/studio.js.map +1 -1
  52. package/dist/theme.css +41 -4
  53. package/package.json +1 -1
@@ -172,7 +172,7 @@ function BrutalNav({
172
172
  solid: "sticky top-0 z-50 w-full border-b-brutal border-foreground bg-brand",
173
173
  transparent: cn(
174
174
  "fixed top-0 left-0 right-0 z-50 w-full transition-all duration-200",
175
- isScrolled ? "bg-background/80 text-foreground backdrop-blur-md border-b border-foreground/10" : "bg-transparent text-white"
175
+ isScrolled ? "bg-background/80 text-foreground backdrop-blur-md border-b border-border/30" : "bg-transparent text-foreground"
176
176
  ),
177
177
  "floating-pill": "fixed top-0 left-0 right-0 z-50 mx-4 mt-4 rounded-full border-brutal border-foreground bg-background shadow-brutal"
178
178
  };
@@ -264,8 +264,8 @@ var colorMap = {
264
264
  brand: "bg-brand",
265
265
  "brand-muted": "bg-brand-muted text-foreground",
266
266
  blue: "bg-section-blue",
267
- gray: "bg-section-gray text-foreground",
268
- cream: "bg-section-cream text-foreground",
267
+ gray: "bg-muted text-foreground",
268
+ cream: "bg-secondary text-foreground",
269
269
  black: "bg-foreground text-background",
270
270
  cta: "bg-cta"
271
271
  };
@@ -574,6 +574,14 @@ function FeatureCard({
574
574
  index
575
575
  }) {
576
576
  const isBentoFeatured = variant === "bento" && feature.featured;
577
+ if (variant === "minimal") {
578
+ return /* @__PURE__ */ jsxs("div", { className: "group flex flex-col gap-3 border-l-4 border-l-brand py-1 pl-5", children: [
579
+ feature.icon && /* @__PURE__ */ jsx("div", { className: "text-2xl", children: feature.icon }),
580
+ feature.stat && /* @__PURE__ */ jsx("p", { className: "brutal-label text-brand", children: feature.stat }),
581
+ /* @__PURE__ */ jsx("h3", { className: "text-lg font-bold", children: feature.title }),
582
+ /* @__PURE__ */ jsx("p", { className: "text-sm leading-relaxed text-muted-foreground", children: feature.description })
583
+ ] });
584
+ }
577
585
  if (variant === "icon-left") {
578
586
  return /* @__PURE__ */ jsxs("div", { className: "flex gap-4 border-brutal border-foreground border-l-4 border-l-brand bg-background p-5 shadow-brutal transition-all duration-150 hover:-translate-x-0.5 hover:-translate-y-0.5 hover:shadow-brutal-lg", children: [
579
587
  feature.icon && /* @__PURE__ */ jsx("div", { className: "flex size-12 shrink-0 items-center justify-center border-brutal border-foreground bg-brand-muted text-2xl shadow-brutal-sm", children: feature.icon }),
@@ -638,7 +646,7 @@ function StatItem({ stat, inView }) {
638
646
  count.toLocaleString(),
639
647
  stat.suffix
640
648
  ] }),
641
- /* @__PURE__ */ jsx("p", { className: "brutal-label mt-2 text-muted-foreground", children: stat.label })
649
+ /* @__PURE__ */ jsx("p", { className: "brutal-label mt-2 opacity-70", children: stat.label })
642
650
  ] });
643
651
  }
644
652
  function StatsBar({ stats, color = "white", className }) {
@@ -678,7 +686,7 @@ function StarRating({ rating }) {
678
686
  {
679
687
  className: cn(
680
688
  "text-sm",
681
- i < rating ? "text-amber-500" : "text-foreground/20"
689
+ i < rating ? "text-brand" : "text-foreground/20"
682
690
  ),
683
691
  children: "\u2605"
684
692
  },
@@ -706,17 +714,12 @@ function TestimonialCard({
706
714
  {
707
715
  src: t.avatar,
708
716
  alt: t.name,
709
- className: "size-9 border-2 object-cover",
710
- style: { borderColor: "hsl(var(--brand))" }
717
+ className: "size-9 border-2 border-brand object-cover"
711
718
  }
712
719
  ) : /* @__PURE__ */ jsx(
713
720
  "div",
714
721
  {
715
- className: "flex size-9 items-center justify-center border-2 font-bold text-brand-foreground",
716
- style: {
717
- borderColor: "hsl(var(--brand))",
718
- backgroundColor: "hsl(var(--brand))"
719
- },
722
+ className: "flex size-9 items-center justify-center border-2 border-brand bg-brand font-bold text-brand-foreground",
720
723
  children: t.name[0]
721
724
  }
722
725
  ),
@@ -782,7 +785,7 @@ function BrutalTestimonials({
782
785
  headline,
783
786
  testimonials,
784
787
  variant = "masonry",
785
- color = "blue",
788
+ color = "white",
786
789
  pattern,
787
790
  className
788
791
  }) {
@@ -1271,10 +1274,9 @@ function BrutalFooter({
1271
1274
  "footer",
1272
1275
  {
1273
1276
  className: cn(
1274
- "w-full border-t-4 bg-background px-6 py-12 text-foreground",
1277
+ "w-full border-t-4 border-t-brand bg-background px-6 py-12 text-foreground",
1275
1278
  className
1276
1279
  ),
1277
- style: { borderTopColor: "hsl(var(--brand))" },
1278
1280
  children: /* @__PURE__ */ jsxs("div", { className: "brutal-container", children: [
1279
1281
  variant === "newsletter" && newsletter && /* @__PURE__ */ jsx(NewsletterSection, { newsletter }),
1280
1282
  variant === "minimal" ? /* @__PURE__ */ jsx(MinimalContent, { logo, columns, socials }) : /* @__PURE__ */ jsx(