@snow-labs/brutal-ui 0.3.2 → 0.4.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/dist/components/brutal/comparison-table.d.ts +23 -0
- package/dist/components/brutal/comparison-table.js +117 -0
- package/dist/components/brutal/comparison-table.js.map +1 -0
- package/dist/components/brutal/feature-grid.d.ts +1 -1
- package/dist/components/brutal/feature-grid.js +8 -0
- package/dist/components/brutal/feature-grid.js.map +1 -1
- package/dist/components/brutal/feature-showcase.d.ts +20 -0
- package/dist/components/brutal/feature-showcase.js +158 -0
- package/dist/components/brutal/feature-showcase.js.map +1 -0
- package/dist/components/brutal/index.d.ts +4 -0
- package/dist/components/brutal/index.js +265 -43
- package/dist/components/brutal/index.js.map +1 -1
- package/dist/components/brutal/marquee.d.ts +17 -0
- package/dist/components/brutal/marquee.js +66 -0
- package/dist/components/brutal/marquee.js.map +1 -0
- package/dist/components/brutal/mockup-window.d.ts +11 -0
- package/dist/components/brutal/mockup-window.js +80 -0
- package/dist/components/brutal/mockup-window.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +223 -1
- package/dist/index.js.map +1 -1
- package/dist/templates/index.js +8 -0
- package/dist/templates/index.js.map +1 -1
- package/dist/templates/saas-launch.js +8 -0
- package/dist/templates/saas-launch.js.map +1 -1
- package/dist/templates/studio.js +8 -0
- package/dist/templates/studio.js.map +1 -1
- package/package.json +1 -1
|
@@ -4,12 +4,12 @@ import { twMerge } from 'tailwind-merge';
|
|
|
4
4
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
5
5
|
import { Button as Button$1 } from '@base-ui/react/button';
|
|
6
6
|
import { cva } from 'class-variance-authority';
|
|
7
|
+
import { mergeProps } from '@base-ui/react/merge-props';
|
|
8
|
+
import { useRender } from '@base-ui/react/use-render';
|
|
7
9
|
import { useState, useEffect, useRef } from 'react';
|
|
8
10
|
import { Dialog } from '@base-ui/react/dialog';
|
|
9
11
|
import { Menu, XIcon, ChevronDownIcon, ChevronUpIcon } from 'lucide-react';
|
|
10
12
|
import { Input as Input$1 } from '@base-ui/react/input';
|
|
11
|
-
import { mergeProps } from '@base-ui/react/merge-props';
|
|
12
|
-
import { useRender } from '@base-ui/react/use-render';
|
|
13
13
|
import { Accordion as Accordion$1 } from '@base-ui/react/accordion';
|
|
14
14
|
|
|
15
15
|
// src/lib/utils.ts
|
|
@@ -360,6 +360,14 @@ function FeatureCard({
|
|
|
360
360
|
index
|
|
361
361
|
}) {
|
|
362
362
|
const isBentoFeatured = variant === "bento" && feature.featured;
|
|
363
|
+
if (variant === "minimal") {
|
|
364
|
+
return /* @__PURE__ */ jsxs("div", { className: "group flex flex-col gap-3 border-l-4 border-l-brand py-1 pl-5", children: [
|
|
365
|
+
feature.icon && /* @__PURE__ */ jsx("div", { className: "text-2xl", children: feature.icon }),
|
|
366
|
+
feature.stat && /* @__PURE__ */ jsx("p", { className: "brutal-label text-brand", children: feature.stat }),
|
|
367
|
+
/* @__PURE__ */ jsx("h3", { className: "text-lg font-bold", children: feature.title }),
|
|
368
|
+
/* @__PURE__ */ jsx("p", { className: "text-sm leading-relaxed text-muted-foreground", children: feature.description })
|
|
369
|
+
] });
|
|
370
|
+
}
|
|
363
371
|
if (variant === "icon-left") {
|
|
364
372
|
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: [
|
|
365
373
|
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 }),
|
|
@@ -397,6 +405,92 @@ function FeatureCard({
|
|
|
397
405
|
}
|
|
398
406
|
);
|
|
399
407
|
}
|
|
408
|
+
var badgeVariants = cva(
|
|
409
|
+
"group/badge inline-flex w-fit shrink-0 items-center justify-center gap-1 rounded-md whitespace-nowrap font-bold transition-all [&>svg]:pointer-events-none [&>svg]:size-3!",
|
|
410
|
+
{
|
|
411
|
+
variants: {
|
|
412
|
+
variant: {
|
|
413
|
+
default: "border-brutal border-foreground bg-primary px-3 py-1 text-xs text-primary-foreground shadow-brutal-sm",
|
|
414
|
+
secondary: "border-brutal border-foreground bg-secondary px-3 py-1 text-xs text-secondary-foreground shadow-brutal-sm",
|
|
415
|
+
brand: "border-brutal border-foreground bg-brand px-3 py-1 text-xs text-brand-foreground shadow-brutal-sm",
|
|
416
|
+
cta: "border-brutal border-foreground bg-cta px-3 py-1 text-xs text-cta-foreground shadow-brutal-sm",
|
|
417
|
+
outline: "border-brutal border-foreground bg-background px-3 py-1 text-xs text-foreground",
|
|
418
|
+
destructive: "border-brutal border-destructive bg-destructive/10 px-3 py-1 text-xs text-destructive",
|
|
419
|
+
ghost: "px-2 py-0.5 text-xs text-muted-foreground"
|
|
420
|
+
}
|
|
421
|
+
},
|
|
422
|
+
defaultVariants: {
|
|
423
|
+
variant: "default"
|
|
424
|
+
}
|
|
425
|
+
}
|
|
426
|
+
);
|
|
427
|
+
function Badge({
|
|
428
|
+
className,
|
|
429
|
+
variant = "default",
|
|
430
|
+
render,
|
|
431
|
+
...props
|
|
432
|
+
}) {
|
|
433
|
+
return useRender({
|
|
434
|
+
defaultTagName: "span",
|
|
435
|
+
props: mergeProps(
|
|
436
|
+
{
|
|
437
|
+
className: cn(badgeVariants({ variant }), className)
|
|
438
|
+
},
|
|
439
|
+
props
|
|
440
|
+
),
|
|
441
|
+
render,
|
|
442
|
+
state: {
|
|
443
|
+
slot: "badge",
|
|
444
|
+
variant
|
|
445
|
+
}
|
|
446
|
+
});
|
|
447
|
+
}
|
|
448
|
+
function BrutalFeatureShowcase({
|
|
449
|
+
badge,
|
|
450
|
+
headline,
|
|
451
|
+
description,
|
|
452
|
+
visual,
|
|
453
|
+
features,
|
|
454
|
+
reversed = false,
|
|
455
|
+
color = "white",
|
|
456
|
+
pattern,
|
|
457
|
+
className
|
|
458
|
+
}) {
|
|
459
|
+
return /* @__PURE__ */ jsx(BrutalSection, { color, pattern, className, children: /* @__PURE__ */ jsxs(
|
|
460
|
+
"div",
|
|
461
|
+
{
|
|
462
|
+
className: cn(
|
|
463
|
+
"grid items-center gap-12 lg:grid-cols-2 lg:gap-20",
|
|
464
|
+
reversed && "lg:[&>*:first-child]:order-2"
|
|
465
|
+
),
|
|
466
|
+
children: [
|
|
467
|
+
/* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-6", children: [
|
|
468
|
+
badge && /* @__PURE__ */ jsx(Badge, { variant: "outline", className: "w-fit font-mono text-xs uppercase tracking-widest", children: badge }),
|
|
469
|
+
/* @__PURE__ */ jsx("h2", { className: "brutal-h2", children: headline }),
|
|
470
|
+
/* @__PURE__ */ jsx("p", { className: "brutal-body text-muted-foreground", children: description }),
|
|
471
|
+
features && features.length > 0 && /* @__PURE__ */ jsx("ul", { className: "flex flex-col gap-3 pt-2", children: features.map((f, i) => /* @__PURE__ */ jsxs("li", { className: "flex items-start gap-3", children: [
|
|
472
|
+
f.icon ? /* @__PURE__ */ jsx("span", { className: "mt-0.5 flex size-6 shrink-0 items-center justify-center border-brutal border-foreground bg-brand-muted text-sm", children: f.icon }) : /* @__PURE__ */ jsx("span", { className: "mt-0.5 flex size-6 shrink-0 items-center justify-center border-brutal border-foreground bg-brand text-sm text-brand-foreground font-bold", children: "\u2713" }),
|
|
473
|
+
/* @__PURE__ */ jsx("span", { className: "text-sm font-medium", children: f.text })
|
|
474
|
+
] }, i)) })
|
|
475
|
+
] }),
|
|
476
|
+
/* @__PURE__ */ jsxs(
|
|
477
|
+
"div",
|
|
478
|
+
{
|
|
479
|
+
className: cn(
|
|
480
|
+
"relative",
|
|
481
|
+
reversed ? "-rotate-1" : "rotate-1",
|
|
482
|
+
"transform transition-transform duration-300 hover:rotate-0"
|
|
483
|
+
),
|
|
484
|
+
children: [
|
|
485
|
+
/* @__PURE__ */ jsx("div", { className: "absolute inset-0 translate-x-3 translate-y-3 border-brutal border-foreground bg-brand opacity-20" }),
|
|
486
|
+
/* @__PURE__ */ jsx("div", { className: "relative border-brutal border-foreground bg-background shadow-brutal-lg", children: visual })
|
|
487
|
+
]
|
|
488
|
+
}
|
|
489
|
+
)
|
|
490
|
+
]
|
|
491
|
+
}
|
|
492
|
+
) });
|
|
493
|
+
}
|
|
400
494
|
function StarRating({ rating }) {
|
|
401
495
|
return /* @__PURE__ */ jsx("div", { className: "flex gap-0.5", children: Array.from({ length: 5 }, (_, i) => /* @__PURE__ */ jsx(
|
|
402
496
|
"span",
|
|
@@ -692,6 +786,54 @@ function BrutalCTA({
|
|
|
692
786
|
variant === "with-visual" && /* @__PURE__ */ jsx(WithVisualCTA, { ...props, variant, color })
|
|
693
787
|
] });
|
|
694
788
|
}
|
|
789
|
+
function CellValue({ value }) {
|
|
790
|
+
if (typeof value === "boolean") {
|
|
791
|
+
return value ? /* @__PURE__ */ jsx("span", { className: "inline-flex size-7 items-center justify-center border-brutal border-foreground bg-brand font-bold text-brand-foreground text-sm", children: "\u2713" }) : /* @__PURE__ */ jsx("span", { className: "inline-flex size-7 items-center justify-center border-brutal border-foreground/20 text-sm text-muted-foreground", children: "\u2014" });
|
|
792
|
+
}
|
|
793
|
+
return /* @__PURE__ */ jsx("span", { className: "text-sm font-medium", children: value });
|
|
794
|
+
}
|
|
795
|
+
function BrutalComparisonTable({
|
|
796
|
+
badge,
|
|
797
|
+
headline,
|
|
798
|
+
description,
|
|
799
|
+
usName,
|
|
800
|
+
themName,
|
|
801
|
+
features,
|
|
802
|
+
color = "white",
|
|
803
|
+
pattern,
|
|
804
|
+
className
|
|
805
|
+
}) {
|
|
806
|
+
return /* @__PURE__ */ jsxs(BrutalSection, { color, pattern, className, children: [
|
|
807
|
+
/* @__PURE__ */ jsxs("div", { className: "mb-12 max-w-2xl", children: [
|
|
808
|
+
badge && /* @__PURE__ */ jsx("p", { className: "brutal-label mb-4 text-brand", children: badge }),
|
|
809
|
+
/* @__PURE__ */ jsx("h2", { className: "brutal-h2 mb-4", children: headline }),
|
|
810
|
+
description && /* @__PURE__ */ jsx("p", { className: "brutal-body text-muted-foreground", children: description })
|
|
811
|
+
] }),
|
|
812
|
+
/* @__PURE__ */ jsx("div", { className: "overflow-x-auto", children: /* @__PURE__ */ jsxs("table", { className: "w-full border-collapse", children: [
|
|
813
|
+
/* @__PURE__ */ jsx("thead", { children: /* @__PURE__ */ jsxs("tr", { children: [
|
|
814
|
+
/* @__PURE__ */ jsx("th", { className: "border-b-brutal border-foreground px-4 py-3 text-left text-sm font-medium text-muted-foreground", children: "Feature" }),
|
|
815
|
+
/* @__PURE__ */ jsx("th", { className: "border-b-brutal border-foreground bg-brand-muted px-4 py-3 text-center", children: /* @__PURE__ */ jsx("span", { className: "brutal-label text-brand", children: usName }) }),
|
|
816
|
+
/* @__PURE__ */ jsx("th", { className: "border-b-brutal border-foreground px-4 py-3 text-center", children: /* @__PURE__ */ jsx("span", { className: "brutal-label text-muted-foreground", children: themName }) })
|
|
817
|
+
] }) }),
|
|
818
|
+
/* @__PURE__ */ jsx("tbody", { children: features.map((f, i) => /* @__PURE__ */ jsxs(
|
|
819
|
+
"tr",
|
|
820
|
+
{
|
|
821
|
+
className: cn(
|
|
822
|
+
"transition-colors",
|
|
823
|
+
f.highlight && "bg-brand-muted/50",
|
|
824
|
+
i % 2 === 0 && !f.highlight && "bg-muted/30"
|
|
825
|
+
),
|
|
826
|
+
children: [
|
|
827
|
+
/* @__PURE__ */ jsx("td", { className: "border-b border-foreground/10 px-4 py-3 text-sm font-medium", children: f.name }),
|
|
828
|
+
/* @__PURE__ */ jsx("td", { className: "border-b border-foreground/10 bg-brand-muted/30 px-4 py-3 text-center", children: /* @__PURE__ */ jsx(CellValue, { value: f.us }) }),
|
|
829
|
+
/* @__PURE__ */ jsx("td", { className: "border-b border-foreground/10 px-4 py-3 text-center", children: /* @__PURE__ */ jsx(CellValue, { value: f.them }) })
|
|
830
|
+
]
|
|
831
|
+
},
|
|
832
|
+
i
|
|
833
|
+
)) })
|
|
834
|
+
] }) })
|
|
835
|
+
] });
|
|
836
|
+
}
|
|
695
837
|
function Sheet({ ...props }) {
|
|
696
838
|
return /* @__PURE__ */ jsx(Dialog.Root, { "data-slot": "sheet", ...props });
|
|
697
839
|
}
|
|
@@ -1024,46 +1166,6 @@ function BrutalFooter({
|
|
|
1024
1166
|
}
|
|
1025
1167
|
);
|
|
1026
1168
|
}
|
|
1027
|
-
var badgeVariants = cva(
|
|
1028
|
-
"group/badge inline-flex w-fit shrink-0 items-center justify-center gap-1 rounded-md whitespace-nowrap font-bold transition-all [&>svg]:pointer-events-none [&>svg]:size-3!",
|
|
1029
|
-
{
|
|
1030
|
-
variants: {
|
|
1031
|
-
variant: {
|
|
1032
|
-
default: "border-brutal border-foreground bg-primary px-3 py-1 text-xs text-primary-foreground shadow-brutal-sm",
|
|
1033
|
-
secondary: "border-brutal border-foreground bg-secondary px-3 py-1 text-xs text-secondary-foreground shadow-brutal-sm",
|
|
1034
|
-
brand: "border-brutal border-foreground bg-brand px-3 py-1 text-xs text-brand-foreground shadow-brutal-sm",
|
|
1035
|
-
cta: "border-brutal border-foreground bg-cta px-3 py-1 text-xs text-cta-foreground shadow-brutal-sm",
|
|
1036
|
-
outline: "border-brutal border-foreground bg-background px-3 py-1 text-xs text-foreground",
|
|
1037
|
-
destructive: "border-brutal border-destructive bg-destructive/10 px-3 py-1 text-xs text-destructive",
|
|
1038
|
-
ghost: "px-2 py-0.5 text-xs text-muted-foreground"
|
|
1039
|
-
}
|
|
1040
|
-
},
|
|
1041
|
-
defaultVariants: {
|
|
1042
|
-
variant: "default"
|
|
1043
|
-
}
|
|
1044
|
-
}
|
|
1045
|
-
);
|
|
1046
|
-
function Badge({
|
|
1047
|
-
className,
|
|
1048
|
-
variant = "default",
|
|
1049
|
-
render,
|
|
1050
|
-
...props
|
|
1051
|
-
}) {
|
|
1052
|
-
return useRender({
|
|
1053
|
-
defaultTagName: "span",
|
|
1054
|
-
props: mergeProps(
|
|
1055
|
-
{
|
|
1056
|
-
className: cn(badgeVariants({ variant }), className)
|
|
1057
|
-
},
|
|
1058
|
-
props
|
|
1059
|
-
),
|
|
1060
|
-
render,
|
|
1061
|
-
state: {
|
|
1062
|
-
slot: "badge",
|
|
1063
|
-
variant
|
|
1064
|
-
}
|
|
1065
|
-
});
|
|
1066
|
-
}
|
|
1067
1169
|
function PricingTable({
|
|
1068
1170
|
badge,
|
|
1069
1171
|
headline,
|
|
@@ -1362,7 +1464,127 @@ function Newsletter({
|
|
|
1362
1464
|
)
|
|
1363
1465
|
] }) });
|
|
1364
1466
|
}
|
|
1467
|
+
function MockupWindow({
|
|
1468
|
+
children,
|
|
1469
|
+
title = "app.example.com",
|
|
1470
|
+
variant = "browser",
|
|
1471
|
+
className
|
|
1472
|
+
}) {
|
|
1473
|
+
if (variant === "phone") {
|
|
1474
|
+
return /* @__PURE__ */ jsxs(
|
|
1475
|
+
"div",
|
|
1476
|
+
{
|
|
1477
|
+
className: cn(
|
|
1478
|
+
"mx-auto w-[280px] overflow-hidden rounded-[2rem] border-brutal border-foreground bg-background shadow-brutal-lg",
|
|
1479
|
+
className
|
|
1480
|
+
),
|
|
1481
|
+
children: [
|
|
1482
|
+
/* @__PURE__ */ jsx("div", { className: "flex justify-center bg-foreground py-2", children: /* @__PURE__ */ jsx("div", { className: "h-5 w-28 rounded-full bg-background/20" }) }),
|
|
1483
|
+
/* @__PURE__ */ jsx("div", { className: "overflow-hidden", children }),
|
|
1484
|
+
/* @__PURE__ */ jsx("div", { className: "flex justify-center bg-foreground py-3", children: /* @__PURE__ */ jsx("div", { className: "h-1 w-24 rounded-full bg-background/30" }) })
|
|
1485
|
+
]
|
|
1486
|
+
}
|
|
1487
|
+
);
|
|
1488
|
+
}
|
|
1489
|
+
if (variant === "terminal") {
|
|
1490
|
+
return /* @__PURE__ */ jsxs(
|
|
1491
|
+
"div",
|
|
1492
|
+
{
|
|
1493
|
+
className: cn(
|
|
1494
|
+
"overflow-hidden rounded-lg border-brutal border-foreground shadow-brutal-lg",
|
|
1495
|
+
className
|
|
1496
|
+
),
|
|
1497
|
+
children: [
|
|
1498
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 border-b-brutal border-foreground bg-foreground px-4 py-2.5", children: [
|
|
1499
|
+
/* @__PURE__ */ jsxs("div", { className: "flex gap-1.5", children: [
|
|
1500
|
+
/* @__PURE__ */ jsx("div", { className: "size-3 rounded-full bg-red-500" }),
|
|
1501
|
+
/* @__PURE__ */ jsx("div", { className: "size-3 rounded-full bg-yellow-500" }),
|
|
1502
|
+
/* @__PURE__ */ jsx("div", { className: "size-3 rounded-full bg-green-500" })
|
|
1503
|
+
] }),
|
|
1504
|
+
/* @__PURE__ */ jsx("span", { className: "ml-2 font-mono text-xs text-background/60", children: title })
|
|
1505
|
+
] }),
|
|
1506
|
+
/* @__PURE__ */ jsx("div", { className: "bg-foreground text-background", children })
|
|
1507
|
+
]
|
|
1508
|
+
}
|
|
1509
|
+
);
|
|
1510
|
+
}
|
|
1511
|
+
return /* @__PURE__ */ jsxs(
|
|
1512
|
+
"div",
|
|
1513
|
+
{
|
|
1514
|
+
className: cn(
|
|
1515
|
+
"overflow-hidden rounded-lg border-brutal border-foreground shadow-brutal-lg",
|
|
1516
|
+
className
|
|
1517
|
+
),
|
|
1518
|
+
children: [
|
|
1519
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3 border-b-brutal border-foreground bg-muted px-4 py-2.5", children: [
|
|
1520
|
+
/* @__PURE__ */ jsxs("div", { className: "flex gap-1.5", children: [
|
|
1521
|
+
/* @__PURE__ */ jsx("div", { className: "size-3 rounded-full border border-foreground/20 bg-red-400" }),
|
|
1522
|
+
/* @__PURE__ */ jsx("div", { className: "size-3 rounded-full border border-foreground/20 bg-yellow-400" }),
|
|
1523
|
+
/* @__PURE__ */ jsx("div", { className: "size-3 rounded-full border border-foreground/20 bg-green-400" })
|
|
1524
|
+
] }),
|
|
1525
|
+
/* @__PURE__ */ jsx("div", { className: "flex-1", children: /* @__PURE__ */ jsx("div", { className: "mx-auto max-w-sm rounded-md border border-foreground/10 bg-background px-3 py-1 text-center font-mono text-xs text-muted-foreground", children: title }) }),
|
|
1526
|
+
/* @__PURE__ */ jsx("div", { className: "w-[54px]" }),
|
|
1527
|
+
" "
|
|
1528
|
+
] }),
|
|
1529
|
+
/* @__PURE__ */ jsx("div", { className: "bg-background", children })
|
|
1530
|
+
]
|
|
1531
|
+
}
|
|
1532
|
+
);
|
|
1533
|
+
}
|
|
1534
|
+
var speedMap = {
|
|
1535
|
+
slow: "60s",
|
|
1536
|
+
normal: "30s",
|
|
1537
|
+
fast: "15s"
|
|
1538
|
+
};
|
|
1539
|
+
function Marquee({
|
|
1540
|
+
children,
|
|
1541
|
+
speed = "normal",
|
|
1542
|
+
direction = "left",
|
|
1543
|
+
pauseOnHover = true,
|
|
1544
|
+
className
|
|
1545
|
+
}) {
|
|
1546
|
+
return /* @__PURE__ */ jsx(
|
|
1547
|
+
"div",
|
|
1548
|
+
{
|
|
1549
|
+
className: cn(
|
|
1550
|
+
"group flex overflow-hidden border-y-brutal border-foreground bg-foreground py-3",
|
|
1551
|
+
className
|
|
1552
|
+
),
|
|
1553
|
+
children: [0, 1].map((copy) => /* @__PURE__ */ jsxs(
|
|
1554
|
+
"div",
|
|
1555
|
+
{
|
|
1556
|
+
"aria-hidden": copy === 1,
|
|
1557
|
+
className: cn(
|
|
1558
|
+
"flex shrink-0 items-center gap-8",
|
|
1559
|
+
pauseOnHover && "group-hover:[animation-play-state:paused]"
|
|
1560
|
+
),
|
|
1561
|
+
style: {
|
|
1562
|
+
animation: `marquee ${speedMap[speed]} linear infinite`,
|
|
1563
|
+
animationDirection: direction === "right" ? "reverse" : "normal"
|
|
1564
|
+
},
|
|
1565
|
+
children: [
|
|
1566
|
+
children,
|
|
1567
|
+
/* @__PURE__ */ jsx("span", { className: "mx-4 text-background/30 select-none", children: "\u2022" })
|
|
1568
|
+
]
|
|
1569
|
+
},
|
|
1570
|
+
copy
|
|
1571
|
+
))
|
|
1572
|
+
}
|
|
1573
|
+
);
|
|
1574
|
+
}
|
|
1575
|
+
function MarqueeItem({ children, className }) {
|
|
1576
|
+
return /* @__PURE__ */ jsx(
|
|
1577
|
+
"span",
|
|
1578
|
+
{
|
|
1579
|
+
className: cn(
|
|
1580
|
+
"inline-flex shrink-0 items-center gap-2 whitespace-nowrap font-bold text-background",
|
|
1581
|
+
className
|
|
1582
|
+
),
|
|
1583
|
+
children
|
|
1584
|
+
}
|
|
1585
|
+
);
|
|
1586
|
+
}
|
|
1365
1587
|
|
|
1366
|
-
export { BrutalCTA, BrutalFeatureGrid, BrutalFooter, BrutalHero, BrutalIntegrationGrid, BrutalNav, BrutalSection, BrutalTestimonials, FAQ, LogoCloud, Newsletter, PricingTable, SectionDivider, StatsBar, SectionDivider as WaveDivider };
|
|
1588
|
+
export { BrutalCTA, BrutalComparisonTable, BrutalFeatureGrid, BrutalFeatureShowcase, BrutalFooter, BrutalHero, BrutalIntegrationGrid, BrutalNav, BrutalSection, BrutalTestimonials, FAQ, LogoCloud, Marquee, MarqueeItem, MockupWindow, Newsletter, PricingTable, SectionDivider, StatsBar, SectionDivider as WaveDivider };
|
|
1367
1589
|
//# sourceMappingURL=index.js.map
|
|
1368
1590
|
//# sourceMappingURL=index.js.map
|