@snow-labs/brutal-ui 0.2.0 → 0.3.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.
- package/AGENTS.md +1244 -0
- 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 +3 -2
package/dist/index.js
CHANGED
|
@@ -2900,9 +2900,6 @@ var colorMap = {
|
|
|
2900
2900
|
white: "bg-background text-foreground",
|
|
2901
2901
|
brand: "bg-brand",
|
|
2902
2902
|
"brand-muted": "bg-brand-muted text-foreground",
|
|
2903
|
-
blue: "bg-section-blue",
|
|
2904
|
-
gray: "bg-section-gray text-foreground",
|
|
2905
|
-
cream: "bg-section-cream text-foreground",
|
|
2906
2903
|
black: "bg-foreground text-background",
|
|
2907
2904
|
cta: "bg-cta"
|
|
2908
2905
|
};
|
|
@@ -3053,11 +3050,11 @@ function BrutalHero({
|
|
|
3053
3050
|
variant === "centered" && "mx-auto"
|
|
3054
3051
|
), children: description }),
|
|
3055
3052
|
/* @__PURE__ */ jsxs("div", { className: cn(
|
|
3056
|
-
"flex flex-
|
|
3057
|
-
variant === "centered" && "justify-center"
|
|
3053
|
+
"flex flex-col gap-4 sm:flex-row sm:flex-wrap",
|
|
3054
|
+
variant === "centered" && "sm:justify-center"
|
|
3058
3055
|
), children: [
|
|
3059
|
-
/* @__PURE__ */ jsx(Button, { variant: ctaVariant, size: "xl", render: /* @__PURE__ */ jsx("a", { href: ctaHref }), children: ctaText }),
|
|
3060
|
-
secondaryText && /* @__PURE__ */ jsx(Button, { variant: "outline", size: "xl", render: /* @__PURE__ */ jsx("a", { href: secondaryHref || "#" }), children: secondaryText })
|
|
3056
|
+
/* @__PURE__ */ jsx(Button, { variant: ctaVariant, size: "xl", className: "w-full sm:w-auto", render: /* @__PURE__ */ jsx("a", { href: ctaHref }), children: ctaText }),
|
|
3057
|
+
secondaryText && /* @__PURE__ */ jsx(Button, { variant: "outline", size: "xl", className: "w-full sm:w-auto", render: /* @__PURE__ */ jsx("a", { href: secondaryHref || "#" }), children: secondaryText })
|
|
3061
3058
|
] }),
|
|
3062
3059
|
proof && /* @__PURE__ */ jsxs("p", { className: "flex items-center gap-2 text-sm font-medium opacity-70", children: [
|
|
3063
3060
|
/* @__PURE__ */ jsx("span", { className: "inline-flex size-5 items-center justify-center border border-current text-xs", children: "\u2713" }),
|
|
@@ -3081,14 +3078,6 @@ function BrutalHero({
|
|
|
3081
3078
|
] })
|
|
3082
3079
|
] });
|
|
3083
3080
|
}
|
|
3084
|
-
var accentColors = [
|
|
3085
|
-
"hsl(var(--brand))",
|
|
3086
|
-
"hsl(var(--cta))",
|
|
3087
|
-
"hsl(var(--section-blue))",
|
|
3088
|
-
"hsl(12 85% 62%)",
|
|
3089
|
-
"hsl(260 55% 68%)",
|
|
3090
|
-
"hsl(25 75% 48%)"
|
|
3091
|
-
];
|
|
3092
3081
|
var colMap = {
|
|
3093
3082
|
2: "sm:grid-cols-2",
|
|
3094
3083
|
3: "sm:grid-cols-2 lg:grid-cols-3",
|
|
@@ -3106,7 +3095,7 @@ function BrutalFeatureGrid({
|
|
|
3106
3095
|
}) {
|
|
3107
3096
|
return /* @__PURE__ */ jsxs(BrutalSection, { color, className, children: [
|
|
3108
3097
|
/* @__PURE__ */ jsxs("div", { className: "mb-12 max-w-2xl", children: [
|
|
3109
|
-
badge && /* @__PURE__ */ jsx("p", { className: "brutal-label mb-4 text-
|
|
3098
|
+
badge && /* @__PURE__ */ jsx("p", { className: "brutal-label mb-4 text-brand", children: badge }),
|
|
3110
3099
|
/* @__PURE__ */ jsx("h2", { className: "brutal-h2 mb-4", children: headline }),
|
|
3111
3100
|
description && /* @__PURE__ */ jsx("p", { className: "brutal-body text-muted-foreground", children: description })
|
|
3112
3101
|
] }),
|
|
@@ -3122,8 +3111,7 @@ function BrutalFeatureGrid({
|
|
|
3122
3111
|
{
|
|
3123
3112
|
feature,
|
|
3124
3113
|
variant,
|
|
3125
|
-
index: i
|
|
3126
|
-
accentColor: accentColors[i % accentColors.length]
|
|
3114
|
+
index: i
|
|
3127
3115
|
},
|
|
3128
3116
|
feature.title
|
|
3129
3117
|
))
|
|
@@ -3134,38 +3122,23 @@ function BrutalFeatureGrid({
|
|
|
3134
3122
|
function FeatureCard({
|
|
3135
3123
|
feature,
|
|
3136
3124
|
variant,
|
|
3137
|
-
index
|
|
3138
|
-
accentColor
|
|
3125
|
+
index
|
|
3139
3126
|
}) {
|
|
3140
3127
|
const isBentoFeatured = variant === "bento" && feature.featured;
|
|
3141
3128
|
if (variant === "icon-left") {
|
|
3142
|
-
return /* @__PURE__ */ jsxs(
|
|
3143
|
-
"div",
|
|
3144
|
-
{
|
|
3145
|
-
|
|
3146
|
-
|
|
3147
|
-
children:
|
|
3148
|
-
|
|
3149
|
-
|
|
3150
|
-
feature.stat && /* @__PURE__ */ jsx("p", { className: "brutal-label mb-1 text-brand", children: feature.stat }),
|
|
3151
|
-
/* @__PURE__ */ jsx("h3", { className: "brutal-h4 mb-1", children: feature.title }),
|
|
3152
|
-
/* @__PURE__ */ jsx("p", { className: "text-sm text-muted-foreground", children: feature.description })
|
|
3153
|
-
] })
|
|
3154
|
-
]
|
|
3155
|
-
}
|
|
3156
|
-
);
|
|
3129
|
+
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: [
|
|
3130
|
+
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 }),
|
|
3131
|
+
/* @__PURE__ */ jsxs("div", { children: [
|
|
3132
|
+
feature.stat && /* @__PURE__ */ jsx("p", { className: "brutal-label mb-1 text-brand", children: feature.stat }),
|
|
3133
|
+
/* @__PURE__ */ jsx("h3", { className: "brutal-h4 mb-1", children: feature.title }),
|
|
3134
|
+
/* @__PURE__ */ jsx("p", { className: "text-sm text-muted-foreground", children: feature.description })
|
|
3135
|
+
] })
|
|
3136
|
+
] });
|
|
3157
3137
|
}
|
|
3158
3138
|
if (variant === "numbered") {
|
|
3159
3139
|
return /* @__PURE__ */ jsxs(Card, { children: [
|
|
3160
3140
|
/* @__PURE__ */ jsxs(CardHeader, { children: [
|
|
3161
|
-
/* @__PURE__ */ jsx(
|
|
3162
|
-
"span",
|
|
3163
|
-
{
|
|
3164
|
-
className: "brutal-display mb-2 block opacity-15",
|
|
3165
|
-
style: { color: accentColor },
|
|
3166
|
-
children: String(index + 1).padStart(2, "0")
|
|
3167
|
-
}
|
|
3168
|
-
),
|
|
3141
|
+
/* @__PURE__ */ jsx("span", { className: "brutal-display mb-2 block text-brand opacity-20", children: String(index + 1).padStart(2, "0") }),
|
|
3169
3142
|
feature.stat && /* @__PURE__ */ jsx("p", { className: "brutal-label mb-1 text-brand", children: feature.stat }),
|
|
3170
3143
|
/* @__PURE__ */ jsx(CardTitle, { children: feature.title })
|
|
3171
3144
|
] }),
|
|
@@ -3180,14 +3153,7 @@ function FeatureCard({
|
|
|
3180
3153
|
),
|
|
3181
3154
|
children: [
|
|
3182
3155
|
/* @__PURE__ */ jsxs(CardHeader, { children: [
|
|
3183
|
-
feature.icon && /* @__PURE__ */ jsx(
|
|
3184
|
-
"div",
|
|
3185
|
-
{
|
|
3186
|
-
className: "mb-2 inline-flex size-12 items-center justify-center border-brutal border-foreground bg-brand-muted text-2xl shadow-brutal-sm",
|
|
3187
|
-
style: { borderBottomColor: accentColor },
|
|
3188
|
-
children: feature.icon
|
|
3189
|
-
}
|
|
3190
|
-
),
|
|
3156
|
+
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 }),
|
|
3191
3157
|
feature.stat && /* @__PURE__ */ jsx("p", { className: "brutal-label mb-1 text-brand", children: feature.stat }),
|
|
3192
3158
|
/* @__PURE__ */ jsx(CardTitle, { children: feature.title })
|
|
3193
3159
|
] }),
|
|
@@ -3306,7 +3272,7 @@ function BrutalTestimonials({
|
|
|
3306
3272
|
headline,
|
|
3307
3273
|
testimonials,
|
|
3308
3274
|
variant = "masonry",
|
|
3309
|
-
color = "
|
|
3275
|
+
color = "brand-muted",
|
|
3310
3276
|
pattern,
|
|
3311
3277
|
className
|
|
3312
3278
|
}) {
|
|
@@ -3366,12 +3332,13 @@ function CTAButtons({
|
|
|
3366
3332
|
secondaryText,
|
|
3367
3333
|
secondaryHref
|
|
3368
3334
|
}) {
|
|
3369
|
-
return /* @__PURE__ */ jsxs("div", { className: "flex flex-wrap items-center justify-center
|
|
3335
|
+
return /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-4 sm:flex-row sm:flex-wrap sm:items-center sm:justify-center", children: [
|
|
3370
3336
|
/* @__PURE__ */ jsx(
|
|
3371
3337
|
Button,
|
|
3372
3338
|
{
|
|
3373
3339
|
variant: ctaVariant,
|
|
3374
3340
|
size: "xl",
|
|
3341
|
+
className: "w-full sm:w-auto",
|
|
3375
3342
|
render: /* @__PURE__ */ jsx("a", { href: ctaHref }),
|
|
3376
3343
|
children: ctaText
|
|
3377
3344
|
}
|
|
@@ -3380,7 +3347,8 @@ function CTAButtons({
|
|
|
3380
3347
|
Button,
|
|
3381
3348
|
{
|
|
3382
3349
|
variant: "outline",
|
|
3383
|
-
size: "
|
|
3350
|
+
size: "xl",
|
|
3351
|
+
className: "w-full sm:w-auto",
|
|
3384
3352
|
render: /* @__PURE__ */ jsx("a", { href: secondaryHref || "#" }),
|
|
3385
3353
|
children: secondaryText
|
|
3386
3354
|
}
|
|
@@ -3410,12 +3378,13 @@ function SplitCTA(props) {
|
|
|
3410
3378
|
/* @__PURE__ */ jsx("h2", { className: "brutal-h1 mb-6", children: props.headline }),
|
|
3411
3379
|
props.description && /* @__PURE__ */ jsx("p", { className: "brutal-body mb-4 opacity-80", children: props.description }),
|
|
3412
3380
|
props.stats && /* @__PURE__ */ jsx("p", { className: "brutal-label mb-8 opacity-60", children: props.stats }),
|
|
3413
|
-
/* @__PURE__ */ jsxs("div", { className: "flex flex-
|
|
3381
|
+
/* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-4 sm:flex-row sm:flex-wrap", children: [
|
|
3414
3382
|
/* @__PURE__ */ jsx(
|
|
3415
3383
|
Button,
|
|
3416
3384
|
{
|
|
3417
3385
|
variant: props.ctaVariant || "cta",
|
|
3418
3386
|
size: "xl",
|
|
3387
|
+
className: "w-full sm:w-auto",
|
|
3419
3388
|
render: /* @__PURE__ */ jsx("a", { href: props.ctaHref || "#" }),
|
|
3420
3389
|
children: props.ctaText
|
|
3421
3390
|
}
|
|
@@ -3424,7 +3393,8 @@ function SplitCTA(props) {
|
|
|
3424
3393
|
Button,
|
|
3425
3394
|
{
|
|
3426
3395
|
variant: "outline",
|
|
3427
|
-
size: "
|
|
3396
|
+
size: "xl",
|
|
3397
|
+
className: "w-full sm:w-auto",
|
|
3428
3398
|
render: /* @__PURE__ */ jsx("a", { href: props.secondaryHref || "#" }),
|
|
3429
3399
|
children: props.secondaryText
|
|
3430
3400
|
}
|
|
@@ -3907,8 +3877,8 @@ function FAQ({
|
|
|
3907
3877
|
className
|
|
3908
3878
|
}) {
|
|
3909
3879
|
return /* @__PURE__ */ jsxs(BrutalSection, { color, className, children: [
|
|
3910
|
-
(headline || badge) && /* @__PURE__ */ jsxs("div", { className: "mb-10 max-w-2xl", children: [
|
|
3911
|
-
badge && /* @__PURE__ */ jsx("p", { className: "brutal-label mb-4 text-
|
|
3880
|
+
(headline || badge) && /* @__PURE__ */ jsxs("div", { className: "mb-10 mx-auto max-w-2xl", children: [
|
|
3881
|
+
badge && /* @__PURE__ */ jsx("p", { className: "brutal-label mb-4 text-brand", children: badge }),
|
|
3912
3882
|
headline && /* @__PURE__ */ jsx("h2", { className: "brutal-h2", children: headline })
|
|
3913
3883
|
] }),
|
|
3914
3884
|
/* @__PURE__ */ jsx(Accordion, { className: "mx-auto max-w-2xl", children: items.map((item, i) => /* @__PURE__ */ jsxs(
|
|
@@ -4774,7 +4744,7 @@ function SaaSLaunchTemplate({
|
|
|
4774
4744
|
}
|
|
4775
4745
|
),
|
|
4776
4746
|
stats && stats.length > 0 && /* @__PURE__ */ jsx(StatsBar, { stats, color: "brand" }),
|
|
4777
|
-
/* @__PURE__ */ jsx(SectionDivider, { from: "hsl(var(--brand))", to: "hsl(var(--
|
|
4747
|
+
/* @__PURE__ */ jsx(SectionDivider, { from: "hsl(var(--brand))", to: "hsl(var(--brand-muted))", variant: "torn-paper" }),
|
|
4778
4748
|
/* @__PURE__ */ jsx(
|
|
4779
4749
|
BrutalTestimonials,
|
|
4780
4750
|
{
|
|
@@ -4782,10 +4752,10 @@ function SaaSLaunchTemplate({
|
|
|
4782
4752
|
badge: testimonials.badge,
|
|
4783
4753
|
headline: testimonials.headline,
|
|
4784
4754
|
testimonials: testimonials.items,
|
|
4785
|
-
color: "
|
|
4755
|
+
color: "brand-muted"
|
|
4786
4756
|
}
|
|
4787
4757
|
),
|
|
4788
|
-
/* @__PURE__ */ jsx(SectionDivider, { from: "hsl(var(--
|
|
4758
|
+
/* @__PURE__ */ jsx(SectionDivider, { from: "hsl(var(--brand-muted))", to: "hsl(var(--background))", variant: "wave" }),
|
|
4789
4759
|
pricing && /* @__PURE__ */ jsx(
|
|
4790
4760
|
PricingTable,
|
|
4791
4761
|
{
|
|
@@ -4797,7 +4767,7 @@ function SaaSLaunchTemplate({
|
|
|
4797
4767
|
color: "white"
|
|
4798
4768
|
}
|
|
4799
4769
|
),
|
|
4800
|
-
faq && faq.length > 0 && /* @__PURE__ */ jsx(FAQ, { badge: "FAQ", headline: "Common Questions", items: faq, color: "
|
|
4770
|
+
faq && faq.length > 0 && /* @__PURE__ */ jsx(FAQ, { badge: "FAQ", headline: "Common Questions", items: faq, color: "white" }),
|
|
4801
4771
|
/* @__PURE__ */ jsx(
|
|
4802
4772
|
BrutalCTA,
|
|
4803
4773
|
{
|
|
@@ -4864,7 +4834,7 @@ function StudioTemplate({
|
|
|
4864
4834
|
}
|
|
4865
4835
|
),
|
|
4866
4836
|
testimonials && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
4867
|
-
/* @__PURE__ */ jsx(SectionDivider, { from: "hsl(var(--background))", to: "hsl(var(--
|
|
4837
|
+
/* @__PURE__ */ jsx(SectionDivider, { from: "hsl(var(--background))", to: "hsl(var(--brand-muted))", variant: "diagonal" }),
|
|
4868
4838
|
/* @__PURE__ */ jsx(
|
|
4869
4839
|
BrutalTestimonials,
|
|
4870
4840
|
{
|
|
@@ -4872,10 +4842,10 @@ function StudioTemplate({
|
|
|
4872
4842
|
badge: testimonials.badge,
|
|
4873
4843
|
headline: testimonials.headline,
|
|
4874
4844
|
testimonials: testimonials.items,
|
|
4875
|
-
color: "
|
|
4845
|
+
color: "brand-muted"
|
|
4876
4846
|
}
|
|
4877
4847
|
),
|
|
4878
|
-
/* @__PURE__ */ jsx(SectionDivider, { from: "hsl(var(--
|
|
4848
|
+
/* @__PURE__ */ jsx(SectionDivider, { from: "hsl(var(--brand-muted))", to: "hsl(var(--background))", variant: "diagonal", flip: true })
|
|
4879
4849
|
] }),
|
|
4880
4850
|
newsletter && /* @__PURE__ */ jsx(
|
|
4881
4851
|
Newsletter,
|