@snow-labs/brutal-ui 0.2.0 → 0.2.1
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.
- package/dist/components/brutal/cta-section.js +8 -7
- package/dist/components/brutal/cta-section.js.map +1 -1
- package/dist/components/brutal/faq.d.ts +1 -1
- package/dist/components/brutal/faq.js +2 -5
- package/dist/components/brutal/faq.js.map +1 -1
- package/dist/components/brutal/feature-grid.d.ts +1 -1
- package/dist/components/brutal/feature-grid.js +13 -47
- package/dist/components/brutal/feature-grid.js.map +1 -1
- package/dist/components/brutal/hero.d.ts +1 -1
- package/dist/components/brutal/hero.js +4 -7
- package/dist/components/brutal/hero.js.map +1 -1
- package/dist/components/brutal/index.js +28 -58
- package/dist/components/brutal/index.js.map +1 -1
- package/dist/components/brutal/integration-grid.d.ts +1 -1
- package/dist/components/brutal/integration-grid.js +0 -3
- package/dist/components/brutal/integration-grid.js.map +1 -1
- package/dist/components/brutal/logo-cloud.d.ts +1 -1
- package/dist/components/brutal/logo-cloud.js +0 -3
- package/dist/components/brutal/logo-cloud.js.map +1 -1
- package/dist/components/brutal/newsletter.d.ts +1 -1
- package/dist/components/brutal/newsletter.js +0 -3
- package/dist/components/brutal/newsletter.js.map +1 -1
- package/dist/components/brutal/pricing-table.d.ts +1 -1
- package/dist/components/brutal/pricing-table.js +0 -3
- package/dist/components/brutal/pricing-table.js.map +1 -1
- package/dist/components/brutal/section.d.ts +1 -1
- package/dist/components/brutal/section.js +0 -3
- package/dist/components/brutal/section.js.map +1 -1
- package/dist/components/brutal/stats-bar.d.ts +1 -1
- package/dist/components/brutal/stats-bar.js +0 -3
- package/dist/components/brutal/stats-bar.js.map +1 -1
- package/dist/components/brutal/testimonials.js +1 -4
- package/dist/components/brutal/testimonials.js.map +1 -1
- package/dist/components/ui/badge.d.ts +1 -1
- package/dist/components/ui/button.d.ts +1 -1
- package/dist/components/ui/tabs.d.ts +1 -1
- package/dist/index.js +35 -65
- package/dist/index.js.map +1 -1
- package/dist/templates/index.js +35 -65
- package/dist/templates/index.js.map +1 -1
- package/dist/templates/saas-launch.js +32 -62
- package/dist/templates/saas-launch.js.map +1 -1
- package/dist/templates/studio.js +29 -59
- package/dist/templates/studio.js.map +1 -1
- package/dist/theme.css +5 -15
- package/package.json +1 -1
|
@@ -263,9 +263,6 @@ var colorMap = {
|
|
|
263
263
|
white: "bg-background text-foreground",
|
|
264
264
|
brand: "bg-brand",
|
|
265
265
|
"brand-muted": "bg-brand-muted text-foreground",
|
|
266
|
-
blue: "bg-section-blue",
|
|
267
|
-
gray: "bg-section-gray text-foreground",
|
|
268
|
-
cream: "bg-section-cream text-foreground",
|
|
269
266
|
black: "bg-foreground text-background",
|
|
270
267
|
cta: "bg-cta"
|
|
271
268
|
};
|
|
@@ -359,11 +356,11 @@ function BrutalHero({
|
|
|
359
356
|
variant === "centered" && "mx-auto"
|
|
360
357
|
), children: description }),
|
|
361
358
|
/* @__PURE__ */ jsxs("div", { className: cn(
|
|
362
|
-
"flex flex-
|
|
363
|
-
variant === "centered" && "justify-center"
|
|
359
|
+
"flex flex-col gap-4 sm:flex-row sm:flex-wrap",
|
|
360
|
+
variant === "centered" && "sm:justify-center"
|
|
364
361
|
), children: [
|
|
365
|
-
/* @__PURE__ */ jsx(Button, { variant: ctaVariant, size: "xl", render: /* @__PURE__ */ jsx("a", { href: ctaHref }), children: ctaText }),
|
|
366
|
-
secondaryText && /* @__PURE__ */ jsx(Button, { variant: "outline", size: "xl", render: /* @__PURE__ */ jsx("a", { href: secondaryHref || "#" }), children: secondaryText })
|
|
362
|
+
/* @__PURE__ */ jsx(Button, { variant: ctaVariant, size: "xl", className: "w-full sm:w-auto", render: /* @__PURE__ */ jsx("a", { href: ctaHref }), children: ctaText }),
|
|
363
|
+
secondaryText && /* @__PURE__ */ jsx(Button, { variant: "outline", size: "xl", className: "w-full sm:w-auto", render: /* @__PURE__ */ jsx("a", { href: secondaryHref || "#" }), children: secondaryText })
|
|
367
364
|
] }),
|
|
368
365
|
proof && /* @__PURE__ */ jsxs("p", { className: "flex items-center gap-2 text-sm font-medium opacity-70", children: [
|
|
369
366
|
/* @__PURE__ */ jsx("span", { className: "inline-flex size-5 items-center justify-center border border-current text-xs", children: "\u2713" }),
|
|
@@ -527,14 +524,6 @@ function CardContent({ className, ...props }) {
|
|
|
527
524
|
}
|
|
528
525
|
);
|
|
529
526
|
}
|
|
530
|
-
var accentColors = [
|
|
531
|
-
"hsl(var(--brand))",
|
|
532
|
-
"hsl(var(--cta))",
|
|
533
|
-
"hsl(var(--section-blue))",
|
|
534
|
-
"hsl(12 85% 62%)",
|
|
535
|
-
"hsl(260 55% 68%)",
|
|
536
|
-
"hsl(25 75% 48%)"
|
|
537
|
-
];
|
|
538
527
|
var colMap = {
|
|
539
528
|
2: "sm:grid-cols-2",
|
|
540
529
|
3: "sm:grid-cols-2 lg:grid-cols-3",
|
|
@@ -552,7 +541,7 @@ function BrutalFeatureGrid({
|
|
|
552
541
|
}) {
|
|
553
542
|
return /* @__PURE__ */ jsxs(BrutalSection, { color, className, children: [
|
|
554
543
|
/* @__PURE__ */ jsxs("div", { className: "mb-12 max-w-2xl", children: [
|
|
555
|
-
badge && /* @__PURE__ */ jsx("p", { className: "brutal-label mb-4 text-
|
|
544
|
+
badge && /* @__PURE__ */ jsx("p", { className: "brutal-label mb-4 text-brand", children: badge }),
|
|
556
545
|
/* @__PURE__ */ jsx("h2", { className: "brutal-h2 mb-4", children: headline }),
|
|
557
546
|
description && /* @__PURE__ */ jsx("p", { className: "brutal-body text-muted-foreground", children: description })
|
|
558
547
|
] }),
|
|
@@ -568,8 +557,7 @@ function BrutalFeatureGrid({
|
|
|
568
557
|
{
|
|
569
558
|
feature,
|
|
570
559
|
variant,
|
|
571
|
-
index: i
|
|
572
|
-
accentColor: accentColors[i % accentColors.length]
|
|
560
|
+
index: i
|
|
573
561
|
},
|
|
574
562
|
feature.title
|
|
575
563
|
))
|
|
@@ -580,38 +568,23 @@ function BrutalFeatureGrid({
|
|
|
580
568
|
function FeatureCard({
|
|
581
569
|
feature,
|
|
582
570
|
variant,
|
|
583
|
-
index
|
|
584
|
-
accentColor
|
|
571
|
+
index
|
|
585
572
|
}) {
|
|
586
573
|
const isBentoFeatured = variant === "bento" && feature.featured;
|
|
587
574
|
if (variant === "icon-left") {
|
|
588
|
-
return /* @__PURE__ */ jsxs(
|
|
589
|
-
"div",
|
|
590
|
-
{
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
children:
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
feature.stat && /* @__PURE__ */ jsx("p", { className: "brutal-label mb-1 text-brand", children: feature.stat }),
|
|
597
|
-
/* @__PURE__ */ jsx("h3", { className: "brutal-h4 mb-1", children: feature.title }),
|
|
598
|
-
/* @__PURE__ */ jsx("p", { className: "text-sm text-muted-foreground", children: feature.description })
|
|
599
|
-
] })
|
|
600
|
-
]
|
|
601
|
-
}
|
|
602
|
-
);
|
|
575
|
+
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: [
|
|
576
|
+
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 }),
|
|
577
|
+
/* @__PURE__ */ jsxs("div", { children: [
|
|
578
|
+
feature.stat && /* @__PURE__ */ jsx("p", { className: "brutal-label mb-1 text-brand", children: feature.stat }),
|
|
579
|
+
/* @__PURE__ */ jsx("h3", { className: "brutal-h4 mb-1", children: feature.title }),
|
|
580
|
+
/* @__PURE__ */ jsx("p", { className: "text-sm text-muted-foreground", children: feature.description })
|
|
581
|
+
] })
|
|
582
|
+
] });
|
|
603
583
|
}
|
|
604
584
|
if (variant === "numbered") {
|
|
605
585
|
return /* @__PURE__ */ jsxs(Card, { children: [
|
|
606
586
|
/* @__PURE__ */ jsxs(CardHeader, { children: [
|
|
607
|
-
/* @__PURE__ */ jsx(
|
|
608
|
-
"span",
|
|
609
|
-
{
|
|
610
|
-
className: "brutal-display mb-2 block opacity-15",
|
|
611
|
-
style: { color: accentColor },
|
|
612
|
-
children: String(index + 1).padStart(2, "0")
|
|
613
|
-
}
|
|
614
|
-
),
|
|
587
|
+
/* @__PURE__ */ jsx("span", { className: "brutal-display mb-2 block text-brand opacity-20", children: String(index + 1).padStart(2, "0") }),
|
|
615
588
|
feature.stat && /* @__PURE__ */ jsx("p", { className: "brutal-label mb-1 text-brand", children: feature.stat }),
|
|
616
589
|
/* @__PURE__ */ jsx(CardTitle, { children: feature.title })
|
|
617
590
|
] }),
|
|
@@ -626,14 +599,7 @@ function FeatureCard({
|
|
|
626
599
|
),
|
|
627
600
|
children: [
|
|
628
601
|
/* @__PURE__ */ jsxs(CardHeader, { children: [
|
|
629
|
-
feature.icon && /* @__PURE__ */ jsx(
|
|
630
|
-
"div",
|
|
631
|
-
{
|
|
632
|
-
className: "mb-2 inline-flex size-12 items-center justify-center border-brutal border-foreground bg-brand-muted text-2xl shadow-brutal-sm",
|
|
633
|
-
style: { borderBottomColor: accentColor },
|
|
634
|
-
children: feature.icon
|
|
635
|
-
}
|
|
636
|
-
),
|
|
602
|
+
feature.icon && /* @__PURE__ */ jsx("div", { className: "mb-2 inline-flex size-12 items-center justify-center border-brutal border-foreground border-b-brand bg-brand-muted text-2xl shadow-brutal-sm", children: feature.icon }),
|
|
637
603
|
feature.stat && /* @__PURE__ */ jsx("p", { className: "brutal-label mb-1 text-brand", children: feature.stat }),
|
|
638
604
|
/* @__PURE__ */ jsx(CardTitle, { children: feature.title })
|
|
639
605
|
] }),
|
|
@@ -813,7 +779,7 @@ function BrutalTestimonials({
|
|
|
813
779
|
headline,
|
|
814
780
|
testimonials,
|
|
815
781
|
variant = "masonry",
|
|
816
|
-
color = "
|
|
782
|
+
color = "brand-muted",
|
|
817
783
|
pattern,
|
|
818
784
|
className
|
|
819
785
|
}) {
|
|
@@ -1027,8 +993,8 @@ function FAQ({
|
|
|
1027
993
|
className
|
|
1028
994
|
}) {
|
|
1029
995
|
return /* @__PURE__ */ jsxs(BrutalSection, { color, className, children: [
|
|
1030
|
-
(headline || badge) && /* @__PURE__ */ jsxs("div", { className: "mb-10 max-w-2xl", children: [
|
|
1031
|
-
badge && /* @__PURE__ */ jsx("p", { className: "brutal-label mb-4 text-
|
|
996
|
+
(headline || badge) && /* @__PURE__ */ jsxs("div", { className: "mb-10 mx-auto max-w-2xl", children: [
|
|
997
|
+
badge && /* @__PURE__ */ jsx("p", { className: "brutal-label mb-4 text-brand", children: badge }),
|
|
1032
998
|
headline && /* @__PURE__ */ jsx("h2", { className: "brutal-h2", children: headline })
|
|
1033
999
|
] }),
|
|
1034
1000
|
/* @__PURE__ */ jsx(Accordion, { className: "mx-auto max-w-2xl", children: items.map((item, i) => /* @__PURE__ */ jsxs(
|
|
@@ -1055,12 +1021,13 @@ function CTAButtons({
|
|
|
1055
1021
|
secondaryText,
|
|
1056
1022
|
secondaryHref
|
|
1057
1023
|
}) {
|
|
1058
|
-
return /* @__PURE__ */ jsxs("div", { className: "flex flex-wrap items-center justify-center
|
|
1024
|
+
return /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-4 sm:flex-row sm:flex-wrap sm:items-center sm:justify-center", children: [
|
|
1059
1025
|
/* @__PURE__ */ jsx(
|
|
1060
1026
|
Button,
|
|
1061
1027
|
{
|
|
1062
1028
|
variant: ctaVariant,
|
|
1063
1029
|
size: "xl",
|
|
1030
|
+
className: "w-full sm:w-auto",
|
|
1064
1031
|
render: /* @__PURE__ */ jsx("a", { href: ctaHref }),
|
|
1065
1032
|
children: ctaText
|
|
1066
1033
|
}
|
|
@@ -1069,7 +1036,8 @@ function CTAButtons({
|
|
|
1069
1036
|
Button,
|
|
1070
1037
|
{
|
|
1071
1038
|
variant: "outline",
|
|
1072
|
-
size: "
|
|
1039
|
+
size: "xl",
|
|
1040
|
+
className: "w-full sm:w-auto",
|
|
1073
1041
|
render: /* @__PURE__ */ jsx("a", { href: secondaryHref || "#" }),
|
|
1074
1042
|
children: secondaryText
|
|
1075
1043
|
}
|
|
@@ -1099,12 +1067,13 @@ function SplitCTA(props) {
|
|
|
1099
1067
|
/* @__PURE__ */ jsx("h2", { className: "brutal-h1 mb-6", children: props.headline }),
|
|
1100
1068
|
props.description && /* @__PURE__ */ jsx("p", { className: "brutal-body mb-4 opacity-80", children: props.description }),
|
|
1101
1069
|
props.stats && /* @__PURE__ */ jsx("p", { className: "brutal-label mb-8 opacity-60", children: props.stats }),
|
|
1102
|
-
/* @__PURE__ */ jsxs("div", { className: "flex flex-
|
|
1070
|
+
/* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-4 sm:flex-row sm:flex-wrap", children: [
|
|
1103
1071
|
/* @__PURE__ */ jsx(
|
|
1104
1072
|
Button,
|
|
1105
1073
|
{
|
|
1106
1074
|
variant: props.ctaVariant || "cta",
|
|
1107
1075
|
size: "xl",
|
|
1076
|
+
className: "w-full sm:w-auto",
|
|
1108
1077
|
render: /* @__PURE__ */ jsx("a", { href: props.ctaHref || "#" }),
|
|
1109
1078
|
children: props.ctaText
|
|
1110
1079
|
}
|
|
@@ -1113,7 +1082,8 @@ function SplitCTA(props) {
|
|
|
1113
1082
|
Button,
|
|
1114
1083
|
{
|
|
1115
1084
|
variant: "outline",
|
|
1116
|
-
size: "
|
|
1085
|
+
size: "xl",
|
|
1086
|
+
className: "w-full sm:w-auto",
|
|
1117
1087
|
render: /* @__PURE__ */ jsx("a", { href: props.secondaryHref || "#" }),
|
|
1118
1088
|
children: props.secondaryText
|
|
1119
1089
|
}
|
|
@@ -1368,7 +1338,7 @@ function SaaSLaunchTemplate({
|
|
|
1368
1338
|
}
|
|
1369
1339
|
),
|
|
1370
1340
|
stats && stats.length > 0 && /* @__PURE__ */ jsx(StatsBar, { stats, color: "brand" }),
|
|
1371
|
-
/* @__PURE__ */ jsx(SectionDivider, { from: "hsl(var(--brand))", to: "hsl(var(--
|
|
1341
|
+
/* @__PURE__ */ jsx(SectionDivider, { from: "hsl(var(--brand))", to: "hsl(var(--brand-muted))", variant: "torn-paper" }),
|
|
1372
1342
|
/* @__PURE__ */ jsx(
|
|
1373
1343
|
BrutalTestimonials,
|
|
1374
1344
|
{
|
|
@@ -1376,10 +1346,10 @@ function SaaSLaunchTemplate({
|
|
|
1376
1346
|
badge: testimonials.badge,
|
|
1377
1347
|
headline: testimonials.headline,
|
|
1378
1348
|
testimonials: testimonials.items,
|
|
1379
|
-
color: "
|
|
1349
|
+
color: "brand-muted"
|
|
1380
1350
|
}
|
|
1381
1351
|
),
|
|
1382
|
-
/* @__PURE__ */ jsx(SectionDivider, { from: "hsl(var(--
|
|
1352
|
+
/* @__PURE__ */ jsx(SectionDivider, { from: "hsl(var(--brand-muted))", to: "hsl(var(--background))", variant: "wave" }),
|
|
1383
1353
|
pricing && /* @__PURE__ */ jsx(
|
|
1384
1354
|
PricingTable,
|
|
1385
1355
|
{
|
|
@@ -1391,7 +1361,7 @@ function SaaSLaunchTemplate({
|
|
|
1391
1361
|
color: "white"
|
|
1392
1362
|
}
|
|
1393
1363
|
),
|
|
1394
|
-
faq && faq.length > 0 && /* @__PURE__ */ jsx(FAQ, { badge: "FAQ", headline: "Common Questions", items: faq, color: "
|
|
1364
|
+
faq && faq.length > 0 && /* @__PURE__ */ jsx(FAQ, { badge: "FAQ", headline: "Common Questions", items: faq, color: "white" }),
|
|
1395
1365
|
/* @__PURE__ */ jsx(
|
|
1396
1366
|
BrutalCTA,
|
|
1397
1367
|
{
|