@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
package/dist/index.js CHANGED
@@ -2901,8 +2901,8 @@ var colorMap = {
2901
2901
  brand: "bg-brand",
2902
2902
  "brand-muted": "bg-brand-muted text-foreground",
2903
2903
  blue: "bg-section-blue",
2904
- gray: "bg-section-gray text-foreground",
2905
- cream: "bg-section-cream text-foreground",
2904
+ gray: "bg-muted text-foreground",
2905
+ cream: "bg-secondary text-foreground",
2906
2906
  black: "bg-foreground text-background",
2907
2907
  cta: "bg-cta"
2908
2908
  };
@@ -3128,6 +3128,14 @@ function FeatureCard({
3128
3128
  index
3129
3129
  }) {
3130
3130
  const isBentoFeatured = variant === "bento" && feature.featured;
3131
+ if (variant === "minimal") {
3132
+ return /* @__PURE__ */ jsxs("div", { className: "group flex flex-col gap-3 border-l-4 border-l-brand py-1 pl-5", children: [
3133
+ feature.icon && /* @__PURE__ */ jsx("div", { className: "text-2xl", children: feature.icon }),
3134
+ feature.stat && /* @__PURE__ */ jsx("p", { className: "brutal-label text-brand", children: feature.stat }),
3135
+ /* @__PURE__ */ jsx("h3", { className: "text-lg font-bold", children: feature.title }),
3136
+ /* @__PURE__ */ jsx("p", { className: "text-sm leading-relaxed text-muted-foreground", children: feature.description })
3137
+ ] });
3138
+ }
3131
3139
  if (variant === "icon-left") {
3132
3140
  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: [
3133
3141
  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 }),
@@ -3165,13 +3173,59 @@ function FeatureCard({
3165
3173
  }
3166
3174
  );
3167
3175
  }
3176
+ function BrutalFeatureShowcase({
3177
+ badge,
3178
+ headline,
3179
+ description,
3180
+ visual,
3181
+ features,
3182
+ reversed = false,
3183
+ color = "white",
3184
+ pattern,
3185
+ className
3186
+ }) {
3187
+ return /* @__PURE__ */ jsx(BrutalSection, { color, pattern, className, children: /* @__PURE__ */ jsxs(
3188
+ "div",
3189
+ {
3190
+ className: cn(
3191
+ "grid items-center gap-12 lg:grid-cols-2 lg:gap-20",
3192
+ reversed && "lg:[&>*:first-child]:order-2"
3193
+ ),
3194
+ children: [
3195
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-6", children: [
3196
+ badge && /* @__PURE__ */ jsx(Badge, { variant: "outline", className: "w-fit font-mono text-xs uppercase tracking-widest", children: badge }),
3197
+ /* @__PURE__ */ jsx("h2", { className: "brutal-h2", children: headline }),
3198
+ /* @__PURE__ */ jsx("p", { className: "brutal-body text-muted-foreground", children: description }),
3199
+ 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: [
3200
+ 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" }),
3201
+ /* @__PURE__ */ jsx("span", { className: "text-sm font-medium", children: f.text })
3202
+ ] }, i)) })
3203
+ ] }),
3204
+ /* @__PURE__ */ jsxs(
3205
+ "div",
3206
+ {
3207
+ className: cn(
3208
+ "relative",
3209
+ reversed ? "-rotate-1" : "rotate-1",
3210
+ "transform transition-transform duration-300 hover:rotate-0"
3211
+ ),
3212
+ children: [
3213
+ /* @__PURE__ */ jsx("div", { className: "absolute inset-0 translate-x-3 translate-y-3 border-brutal border-foreground bg-brand opacity-20" }),
3214
+ /* @__PURE__ */ jsx("div", { className: "relative border-brutal border-foreground bg-background shadow-brutal-lg", children: visual })
3215
+ ]
3216
+ }
3217
+ )
3218
+ ]
3219
+ }
3220
+ ) });
3221
+ }
3168
3222
  function StarRating({ rating }) {
3169
3223
  return /* @__PURE__ */ jsx("div", { className: "flex gap-0.5", children: Array.from({ length: 5 }, (_, i) => /* @__PURE__ */ jsx(
3170
3224
  "span",
3171
3225
  {
3172
3226
  className: cn(
3173
3227
  "text-sm",
3174
- i < rating ? "text-amber-500" : "text-foreground/20"
3228
+ i < rating ? "text-brand" : "text-foreground/20"
3175
3229
  ),
3176
3230
  children: "\u2605"
3177
3231
  },
@@ -3199,17 +3253,12 @@ function TestimonialCard({
3199
3253
  {
3200
3254
  src: t.avatar,
3201
3255
  alt: t.name,
3202
- className: "size-9 border-2 object-cover",
3203
- style: { borderColor: "hsl(var(--brand))" }
3256
+ className: "size-9 border-2 border-brand object-cover"
3204
3257
  }
3205
3258
  ) : /* @__PURE__ */ jsx(
3206
3259
  "div",
3207
3260
  {
3208
- className: "flex size-9 items-center justify-center border-2 font-bold text-brand-foreground",
3209
- style: {
3210
- borderColor: "hsl(var(--brand))",
3211
- backgroundColor: "hsl(var(--brand))"
3212
- },
3261
+ className: "flex size-9 items-center justify-center border-2 border-brand bg-brand font-bold text-brand-foreground",
3213
3262
  children: t.name[0]
3214
3263
  }
3215
3264
  ),
@@ -3275,7 +3324,7 @@ function BrutalTestimonials({
3275
3324
  headline,
3276
3325
  testimonials,
3277
3326
  variant = "masonry",
3278
- color = "blue",
3327
+ color = "white",
3279
3328
  pattern,
3280
3329
  className
3281
3330
  }) {
@@ -3302,7 +3351,7 @@ function BrutalIntegrationGrid({
3302
3351
  /* @__PURE__ */ jsxs("div", { className: "mb-12 text-center", children: [
3303
3352
  badge && /* @__PURE__ */ jsx("p", { className: "brutal-label mb-4 opacity-70", children: badge }),
3304
3353
  /* @__PURE__ */ jsx("h2", { className: "brutal-h2 mb-4", children: headline }),
3305
- description && /* @__PURE__ */ jsx("p", { className: "brutal-body mx-auto max-w-lg text-muted-foreground", children: description })
3354
+ description && /* @__PURE__ */ jsx("p", { className: "brutal-body mx-auto max-w-lg opacity-80", children: description })
3306
3355
  ] }),
3307
3356
  /* @__PURE__ */ jsx("div", { className: "flex flex-wrap items-center justify-center gap-6", children: integrations.map((item) => {
3308
3357
  const inner = /* @__PURE__ */ jsxs(Fragment, { children: [
@@ -3460,6 +3509,54 @@ function BrutalCTA({
3460
3509
  variant === "with-visual" && /* @__PURE__ */ jsx(WithVisualCTA, { ...props, variant, color })
3461
3510
  ] });
3462
3511
  }
3512
+ function CellValue({ value }) {
3513
+ if (typeof value === "boolean") {
3514
+ 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" });
3515
+ }
3516
+ return /* @__PURE__ */ jsx("span", { className: "text-sm font-medium", children: value });
3517
+ }
3518
+ function BrutalComparisonTable({
3519
+ badge,
3520
+ headline,
3521
+ description,
3522
+ usName,
3523
+ themName,
3524
+ features,
3525
+ color = "white",
3526
+ pattern,
3527
+ className
3528
+ }) {
3529
+ return /* @__PURE__ */ jsxs(BrutalSection, { color, pattern, className, children: [
3530
+ /* @__PURE__ */ jsxs("div", { className: "mb-12 max-w-2xl", children: [
3531
+ badge && /* @__PURE__ */ jsx("p", { className: "brutal-label mb-4 text-brand", children: badge }),
3532
+ /* @__PURE__ */ jsx("h2", { className: "brutal-h2 mb-4", children: headline }),
3533
+ description && /* @__PURE__ */ jsx("p", { className: "brutal-body text-muted-foreground", children: description })
3534
+ ] }),
3535
+ /* @__PURE__ */ jsx("div", { className: "overflow-x-auto", children: /* @__PURE__ */ jsxs("table", { className: "w-full border-collapse", children: [
3536
+ /* @__PURE__ */ jsx("thead", { children: /* @__PURE__ */ jsxs("tr", { children: [
3537
+ /* @__PURE__ */ jsx("th", { className: "border-b-brutal border-foreground px-4 py-3 text-left text-sm font-medium text-muted-foreground", children: "Feature" }),
3538
+ /* @__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 }) }),
3539
+ /* @__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 }) })
3540
+ ] }) }),
3541
+ /* @__PURE__ */ jsx("tbody", { children: features.map((f, i) => /* @__PURE__ */ jsxs(
3542
+ "tr",
3543
+ {
3544
+ className: cn(
3545
+ "transition-colors",
3546
+ f.highlight && "bg-brand-muted/50",
3547
+ i % 2 === 0 && !f.highlight && "bg-muted/30"
3548
+ ),
3549
+ children: [
3550
+ /* @__PURE__ */ jsx("td", { className: "border-b border-foreground/10 px-4 py-3 text-sm font-medium", children: f.name }),
3551
+ /* @__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 }) }),
3552
+ /* @__PURE__ */ jsx("td", { className: "border-b border-foreground/10 px-4 py-3 text-center", children: /* @__PURE__ */ jsx(CellValue, { value: f.them }) })
3553
+ ]
3554
+ },
3555
+ i
3556
+ )) })
3557
+ ] }) })
3558
+ ] });
3559
+ }
3463
3560
  function BrutalNav({
3464
3561
  logo,
3465
3562
  links,
@@ -3481,7 +3578,7 @@ function BrutalNav({
3481
3578
  solid: "sticky top-0 z-50 w-full border-b-brutal border-foreground bg-brand",
3482
3579
  transparent: cn(
3483
3580
  "fixed top-0 left-0 right-0 z-50 w-full transition-all duration-200",
3484
- isScrolled ? "bg-background/80 text-foreground backdrop-blur-md border-b border-foreground/10" : "bg-transparent text-white"
3581
+ isScrolled ? "bg-background/80 text-foreground backdrop-blur-md border-b border-border/30" : "bg-transparent text-foreground"
3485
3582
  ),
3486
3583
  "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"
3487
3584
  };
@@ -3676,10 +3773,9 @@ function BrutalFooter({
3676
3773
  "footer",
3677
3774
  {
3678
3775
  className: cn(
3679
- "w-full border-t-4 bg-background px-6 py-12 text-foreground",
3776
+ "w-full border-t-4 border-t-brand bg-background px-6 py-12 text-foreground",
3680
3777
  className
3681
3778
  ),
3682
- style: { borderTopColor: "hsl(var(--brand))" },
3683
3779
  children: /* @__PURE__ */ jsxs("div", { className: "brutal-container", children: [
3684
3780
  variant === "newsletter" && newsletter && /* @__PURE__ */ jsx(NewsletterSection, { newsletter }),
3685
3781
  variant === "minimal" ? /* @__PURE__ */ jsx(MinimalContent, { logo, columns, socials }) : /* @__PURE__ */ jsx(
@@ -3838,7 +3934,7 @@ function StatItem({ stat, inView }) {
3838
3934
  count.toLocaleString(),
3839
3935
  stat.suffix
3840
3936
  ] }),
3841
- /* @__PURE__ */ jsx("p", { className: "brutal-label mt-2 text-muted-foreground", children: stat.label })
3937
+ /* @__PURE__ */ jsx("p", { className: "brutal-label mt-2 opacity-70", children: stat.label })
3842
3938
  ] });
3843
3939
  }
3844
3940
  function StatsBar({ stats, color = "white", className }) {
@@ -3931,6 +4027,126 @@ function Newsletter({
3931
4027
  )
3932
4028
  ] }) });
3933
4029
  }
4030
+ function MockupWindow({
4031
+ children,
4032
+ title = "app.example.com",
4033
+ variant = "browser",
4034
+ className
4035
+ }) {
4036
+ if (variant === "phone") {
4037
+ return /* @__PURE__ */ jsxs(
4038
+ "div",
4039
+ {
4040
+ className: cn(
4041
+ "mx-auto w-[280px] overflow-hidden rounded-[2rem] border-brutal border-foreground bg-background shadow-brutal-lg",
4042
+ className
4043
+ ),
4044
+ children: [
4045
+ /* @__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" }) }),
4046
+ /* @__PURE__ */ jsx("div", { className: "overflow-hidden", children }),
4047
+ /* @__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" }) })
4048
+ ]
4049
+ }
4050
+ );
4051
+ }
4052
+ if (variant === "terminal") {
4053
+ return /* @__PURE__ */ jsxs(
4054
+ "div",
4055
+ {
4056
+ className: cn(
4057
+ "overflow-hidden rounded-lg border-brutal border-foreground shadow-brutal-lg",
4058
+ className
4059
+ ),
4060
+ children: [
4061
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 border-b-brutal border-foreground bg-foreground px-4 py-2.5", children: [
4062
+ /* @__PURE__ */ jsxs("div", { className: "flex gap-1.5", children: [
4063
+ /* @__PURE__ */ jsx("div", { className: "size-3 rounded-full bg-red-500" }),
4064
+ /* @__PURE__ */ jsx("div", { className: "size-3 rounded-full bg-yellow-500" }),
4065
+ /* @__PURE__ */ jsx("div", { className: "size-3 rounded-full bg-green-500" })
4066
+ ] }),
4067
+ /* @__PURE__ */ jsx("span", { className: "ml-2 font-mono text-xs text-background/60", children: title })
4068
+ ] }),
4069
+ /* @__PURE__ */ jsx("div", { className: "bg-foreground text-background", children })
4070
+ ]
4071
+ }
4072
+ );
4073
+ }
4074
+ return /* @__PURE__ */ jsxs(
4075
+ "div",
4076
+ {
4077
+ className: cn(
4078
+ "overflow-hidden rounded-lg border-brutal border-foreground shadow-brutal-lg",
4079
+ className
4080
+ ),
4081
+ children: [
4082
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3 border-b-brutal border-foreground bg-muted px-4 py-2.5", children: [
4083
+ /* @__PURE__ */ jsxs("div", { className: "flex gap-1.5", children: [
4084
+ /* @__PURE__ */ jsx("div", { className: "size-3 rounded-full border border-foreground/20 bg-red-400" }),
4085
+ /* @__PURE__ */ jsx("div", { className: "size-3 rounded-full border border-foreground/20 bg-yellow-400" }),
4086
+ /* @__PURE__ */ jsx("div", { className: "size-3 rounded-full border border-foreground/20 bg-green-400" })
4087
+ ] }),
4088
+ /* @__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 }) }),
4089
+ /* @__PURE__ */ jsx("div", { className: "w-[54px]" }),
4090
+ " "
4091
+ ] }),
4092
+ /* @__PURE__ */ jsx("div", { className: "bg-background", children })
4093
+ ]
4094
+ }
4095
+ );
4096
+ }
4097
+ var speedMap = {
4098
+ slow: "60s",
4099
+ normal: "30s",
4100
+ fast: "15s"
4101
+ };
4102
+ function Marquee({
4103
+ children,
4104
+ speed = "normal",
4105
+ direction = "left",
4106
+ pauseOnHover = true,
4107
+ className
4108
+ }) {
4109
+ return /* @__PURE__ */ jsx(
4110
+ "div",
4111
+ {
4112
+ className: cn(
4113
+ "group flex overflow-hidden border-y-brutal border-foreground bg-foreground py-3",
4114
+ className
4115
+ ),
4116
+ children: [0, 1].map((copy) => /* @__PURE__ */ jsxs(
4117
+ "div",
4118
+ {
4119
+ "aria-hidden": copy === 1,
4120
+ className: cn(
4121
+ "flex shrink-0 items-center gap-8",
4122
+ pauseOnHover && "group-hover:[animation-play-state:paused]"
4123
+ ),
4124
+ style: {
4125
+ animation: `marquee ${speedMap[speed]} linear infinite`,
4126
+ animationDirection: direction === "right" ? "reverse" : "normal"
4127
+ },
4128
+ children: [
4129
+ children,
4130
+ /* @__PURE__ */ jsx("span", { className: "mx-4 text-background/30 select-none", children: "\u2022" })
4131
+ ]
4132
+ },
4133
+ copy
4134
+ ))
4135
+ }
4136
+ );
4137
+ }
4138
+ function MarqueeItem({ children, className }) {
4139
+ return /* @__PURE__ */ jsx(
4140
+ "span",
4141
+ {
4142
+ className: cn(
4143
+ "inline-flex shrink-0 items-center gap-2 whitespace-nowrap font-bold text-background",
4144
+ className
4145
+ ),
4146
+ children
4147
+ }
4148
+ );
4149
+ }
3934
4150
  var AppShellContext = createContext({
3935
4151
  collapsed: false,
3936
4152
  setCollapsed: () => {
@@ -4927,6 +5143,6 @@ function DashboardTemplate({
4927
5143
  );
4928
5144
  }
4929
5145
 
4930
- export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, ActivityFeed, Alert, AlertDescription, AlertTitle, AppShell, Avatar, AvatarFallback, AvatarImage, Badge, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, BrutalCTA, BrutalFeatureGrid, BrutalFooter, BrutalHero, BrutalIntegrationGrid, BrutalNav, BrutalSection, BrutalTestimonials, Button, CalendarView, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Checkbox, Collapsible, CollapsibleContent, CollapsibleTrigger, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, DashboardTemplate, DataTable, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EmptyState, FAQ, FileUpload, GridView, HoverCard, HoverCardContent, HoverCardTrigger, Input, InputGroup, InputGroupAddon, InputGroupInput, InputGroupTextarea, KanbanBoard, Label, ListView, LogoCloud, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuPositioner, NavigationMenuTrigger, Newsletter, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, Popover, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, PricingTable, Progress, RadioGroup, RadioGroupItem, SaaSLaunchTemplate, ScrollArea, ScrollBar, SearchBar, SectionDivider, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Sidebar, Skeleton, Slider, StatCard, StatsBar, StudioTemplate, Switch, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, UserMenu, ViewSwitcher, SectionDivider as WaveDivider, badgeVariants, buttonVariants, cn, defaultTransition, fadeIn, fadeInUp, navigationMenuTriggerStyle, scaleIn, slideInLeft, slideInRight, springTransition, staggerContainer, tabsListVariants, toggleVariants, useAppShell };
5146
+ export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, ActivityFeed, Alert, AlertDescription, AlertTitle, AppShell, Avatar, AvatarFallback, AvatarImage, Badge, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, BrutalCTA, BrutalComparisonTable, BrutalFeatureGrid, BrutalFeatureShowcase, BrutalFooter, BrutalHero, BrutalIntegrationGrid, BrutalNav, BrutalSection, BrutalTestimonials, Button, CalendarView, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Checkbox, Collapsible, CollapsibleContent, CollapsibleTrigger, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, DashboardTemplate, DataTable, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EmptyState, FAQ, FileUpload, GridView, HoverCard, HoverCardContent, HoverCardTrigger, Input, InputGroup, InputGroupAddon, InputGroupInput, InputGroupTextarea, KanbanBoard, Label, ListView, LogoCloud, Marquee, MarqueeItem, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, MockupWindow, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuPositioner, NavigationMenuTrigger, Newsletter, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, Popover, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, PricingTable, Progress, RadioGroup, RadioGroupItem, SaaSLaunchTemplate, ScrollArea, ScrollBar, SearchBar, SectionDivider, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Sidebar, Skeleton, Slider, StatCard, StatsBar, StudioTemplate, Switch, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, UserMenu, ViewSwitcher, SectionDivider as WaveDivider, badgeVariants, buttonVariants, cn, defaultTransition, fadeIn, fadeInUp, navigationMenuTriggerStyle, scaleIn, slideInLeft, slideInRight, springTransition, staggerContainer, tabsListVariants, toggleVariants, useAppShell };
4931
5147
  //# sourceMappingURL=index.js.map
4932
5148
  //# sourceMappingURL=index.js.map