@olwiba/ui 0.1.1 → 0.1.3
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/index.d.ts +25 -4
- package/dist/index.js +364 -129
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/components/FeatureCard.tsx +32 -7
- package/src/components/ModeSwitchMinimal.tsx +40 -0
- package/src/components/PricingCard.tsx +29 -5
- package/src/components/TestimonialCard.tsx +30 -6
- package/src/context/OlwibaUIContext.tsx +5 -2
- package/src/index.ts +2 -0
- package/src/marketing/CarouselSection.tsx +126 -0
- package/src/marketing/CtaSection.tsx +10 -3
- package/src/marketing/FaqSection.tsx +9 -2
- package/src/marketing/FeaturesSection.tsx +9 -1
- package/src/marketing/Navbar.tsx +30 -20
- package/src/marketing/PricingSection.tsx +17 -6
- package/src/marketing/StatsSection.tsx +9 -2
- package/src/marketing/TestimonialsSection.tsx +9 -1
- package/src/motion/StaggerChildren.tsx +1 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
-
import { Separator } from '@olwiba/cn';
|
|
3
|
+
import { Separator, cn, useUIVariant } from '@olwiba/cn';
|
|
4
4
|
import { SectionTitle } from './SectionTitle';
|
|
5
5
|
import { StaggerChildren } from '../motion/StaggerChildren';
|
|
6
6
|
import { CountUp } from '../motion/CountUp';
|
|
@@ -33,8 +33,15 @@ export function StatsSection({
|
|
|
33
33
|
badge = 'By the numbers',
|
|
34
34
|
stats,
|
|
35
35
|
}: StatsSectionProps) {
|
|
36
|
+
const mode = useUIVariant()
|
|
37
|
+
const sectionClasses = cn(
|
|
38
|
+
'overflow-hidden bg-card',
|
|
39
|
+
mode === 'smooth' && 'rounded-3xl border',
|
|
40
|
+
mode === 'playful' && 'rounded-2xl border-primary/25 border',
|
|
41
|
+
!mode && 'rounded-2xl border',
|
|
42
|
+
)
|
|
36
43
|
return (
|
|
37
|
-
<section className=
|
|
44
|
+
<section className={sectionClasses}>
|
|
38
45
|
<div className="relative px-6 py-14 sm:px-10 sm:py-20">
|
|
39
46
|
<div className="absolute inset-0 bg-[radial-gradient(ellipse_at_bottom,hsl(var(--primary)/0.08),transparent_60%)]" />
|
|
40
47
|
<div className="relative mx-auto max-w-4xl">
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
+
import { cn, useUIVariant } from '@olwiba/cn';
|
|
3
4
|
import { TestimonialCard } from '../components/TestimonialCard';
|
|
4
5
|
import { SectionTitle } from './SectionTitle';
|
|
5
6
|
import { StaggerChildren } from '../motion/StaggerChildren';
|
|
@@ -25,8 +26,15 @@ export function TestimonialsSection({
|
|
|
25
26
|
badge = 'Testimonials',
|
|
26
27
|
testimonials,
|
|
27
28
|
}: TestimonialsSectionProps) {
|
|
29
|
+
const mode = useUIVariant()
|
|
30
|
+
const sectionClasses = cn(
|
|
31
|
+
'overflow-hidden bg-card',
|
|
32
|
+
mode === 'smooth' && 'rounded-3xl border',
|
|
33
|
+
mode === 'playful' && 'rounded-2xl border-primary/25 border',
|
|
34
|
+
!mode && 'rounded-2xl border',
|
|
35
|
+
)
|
|
28
36
|
return (
|
|
29
|
-
<section className=
|
|
37
|
+
<section className={sectionClasses}>
|
|
30
38
|
<div className="px-6 py-14 sm:px-10 sm:py-20">
|
|
31
39
|
<div className="mx-auto max-w-5xl">
|
|
32
40
|
<SectionTitle title={title} description={description} badge={badge} />
|
|
@@ -59,6 +59,7 @@ export function StaggerChildren({
|
|
|
59
59
|
<div ref={ref} className={cn(className)} {...props}>
|
|
60
60
|
{React.Children.map(children, (child, i) => (
|
|
61
61
|
<div
|
|
62
|
+
className="h-full"
|
|
62
63
|
style={{
|
|
63
64
|
transition: `opacity ${duration}ms ease, transform ${duration}ms ease`,
|
|
64
65
|
transitionDelay: `${delay + i * stagger}ms`,
|