@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
@@ -177,7 +177,7 @@ function BrutalNav({
177
177
  solid: "sticky top-0 z-50 w-full border-b-brutal border-foreground bg-brand",
178
178
  transparent: cn(
179
179
  "fixed top-0 left-0 right-0 z-50 w-full transition-all duration-200",
180
- isScrolled ? "bg-background/80 text-foreground backdrop-blur-md border-b border-foreground/10" : "bg-transparent text-white"
180
+ isScrolled ? "bg-background/80 text-foreground backdrop-blur-md border-b border-border/30" : "bg-transparent text-foreground"
181
181
  ),
182
182
  "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"
183
183
  };
@@ -269,8 +269,8 @@ var colorMap = {
269
269
  brand: "bg-brand",
270
270
  "brand-muted": "bg-brand-muted text-foreground",
271
271
  blue: "bg-section-blue",
272
- gray: "bg-section-gray text-foreground",
273
- cream: "bg-section-cream text-foreground",
272
+ gray: "bg-muted text-foreground",
273
+ cream: "bg-secondary text-foreground",
274
274
  black: "bg-foreground text-background",
275
275
  cta: "bg-cta"
276
276
  };
@@ -579,6 +579,14 @@ function FeatureCard({
579
579
  index
580
580
  }) {
581
581
  const isBentoFeatured = variant === "bento" && feature.featured;
582
+ if (variant === "minimal") {
583
+ return /* @__PURE__ */ jsxs("div", { className: "group flex flex-col gap-3 border-l-4 border-l-brand py-1 pl-5", children: [
584
+ feature.icon && /* @__PURE__ */ jsx("div", { className: "text-2xl", children: feature.icon }),
585
+ feature.stat && /* @__PURE__ */ jsx("p", { className: "brutal-label text-brand", children: feature.stat }),
586
+ /* @__PURE__ */ jsx("h3", { className: "text-lg font-bold", children: feature.title }),
587
+ /* @__PURE__ */ jsx("p", { className: "text-sm leading-relaxed text-muted-foreground", children: feature.description })
588
+ ] });
589
+ }
582
590
  if (variant === "icon-left") {
583
591
  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: [
584
592
  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 }),
@@ -643,7 +651,7 @@ function StatItem({ stat, inView }) {
643
651
  count.toLocaleString(),
644
652
  stat.suffix
645
653
  ] }),
646
- /* @__PURE__ */ jsx("p", { className: "brutal-label mt-2 text-muted-foreground", children: stat.label })
654
+ /* @__PURE__ */ jsx("p", { className: "brutal-label mt-2 opacity-70", children: stat.label })
647
655
  ] });
648
656
  }
649
657
  function StatsBar({ stats, color = "white", className }) {
@@ -683,7 +691,7 @@ function StarRating({ rating }) {
683
691
  {
684
692
  className: cn(
685
693
  "text-sm",
686
- i < rating ? "text-amber-500" : "text-foreground/20"
694
+ i < rating ? "text-brand" : "text-foreground/20"
687
695
  ),
688
696
  children: "\u2605"
689
697
  },
@@ -711,17 +719,12 @@ function TestimonialCard({
711
719
  {
712
720
  src: t.avatar,
713
721
  alt: t.name,
714
- className: "size-9 border-2 object-cover",
715
- style: { borderColor: "hsl(var(--brand))" }
722
+ className: "size-9 border-2 border-brand object-cover"
716
723
  }
717
724
  ) : /* @__PURE__ */ jsx(
718
725
  "div",
719
726
  {
720
- className: "flex size-9 items-center justify-center border-2 font-bold text-brand-foreground",
721
- style: {
722
- borderColor: "hsl(var(--brand))",
723
- backgroundColor: "hsl(var(--brand))"
724
- },
727
+ className: "flex size-9 items-center justify-center border-2 border-brand bg-brand font-bold text-brand-foreground",
725
728
  children: t.name[0]
726
729
  }
727
730
  ),
@@ -787,7 +790,7 @@ function BrutalTestimonials({
787
790
  headline,
788
791
  testimonials,
789
792
  variant = "masonry",
790
- color = "blue",
793
+ color = "white",
791
794
  pattern,
792
795
  className
793
796
  }) {
@@ -1276,10 +1279,9 @@ function BrutalFooter({
1276
1279
  "footer",
1277
1280
  {
1278
1281
  className: cn(
1279
- "w-full border-t-4 bg-background px-6 py-12 text-foreground",
1282
+ "w-full border-t-4 border-t-brand bg-background px-6 py-12 text-foreground",
1280
1283
  className
1281
1284
  ),
1282
- style: { borderTopColor: "hsl(var(--brand))" },
1283
1285
  children: /* @__PURE__ */ jsxs("div", { className: "brutal-container", children: [
1284
1286
  variant === "newsletter" && newsletter && /* @__PURE__ */ jsx(NewsletterSection, { newsletter }),
1285
1287
  variant === "minimal" ? /* @__PURE__ */ jsx(MinimalContent, { logo, columns, socials }) : /* @__PURE__ */ jsx(