@olwiba/ui 0.2.19 → 0.2.21

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 CHANGED
@@ -34,7 +34,7 @@ interface OlwibaUIProviderProps {
34
34
  */
35
35
  mode?: UIMode;
36
36
  }
37
- declare function OlwibaUIProvider({ children, isMobile: isMobileProp, mode: initialMode }: OlwibaUIProviderProps): react_jsx_runtime.JSX.Element;
37
+ declare function OlwibaUIProvider({ children, isMobile: isMobileProp, mode: modeProp }: OlwibaUIProviderProps): react_jsx_runtime.JSX.Element;
38
38
  declare function useOlwibaUI(): OlwibaUIContextValue;
39
39
  /** Returns just the current UI mode from context. */
40
40
  declare function useUIMode(): UIMode;
@@ -231,6 +231,7 @@ interface AppShellUser {
231
231
  onSignOut?: () => void;
232
232
  onBilling?: () => void;
233
233
  onNotifications?: () => void;
234
+ onSettings?: () => void;
234
235
  }
235
236
  interface AppShellBrand {
236
237
  name: ReactNode;
@@ -579,6 +580,54 @@ declare const marketingSectionSpacing: {
579
580
  };
580
581
  type MarketingSectionSpacing = keyof typeof marketingSectionSpacing;
581
582
 
583
+ /**
584
+ * How a marketing section sits on the page.
585
+ *
586
+ * Every section used to hard-code the same island — an opaque `bg-card` panel
587
+ * with a border and a radius — which is right for a page that is only its
588
+ * sections, and wrong for one with an ambient background behind it: a run of
589
+ * opaque slabs blocks the thing that makes the page feel alive.
590
+ *
591
+ * - `'card'` — the opaque island. Contained, high contrast, reads as a panel.
592
+ * - `'soft'` — translucent and blurred. Still a shape, but the page behind it
593
+ * shows through, which is the treatment that works over an aura or gradient.
594
+ * - `'plain'` — no panel at all. The content sits directly on the page.
595
+ *
596
+ * `'card'` stays the default so nothing changes for a page that never sets it.
597
+ */
598
+ type MarketingSurface = 'card' | 'soft' | 'plain';
599
+ /**
600
+ * Sets the default surface for every marketing section beneath it.
601
+ *
602
+ * Page-level rather than per-section because "this page has an ambient
603
+ * background, so its sections should not be opaque" is one decision, and making
604
+ * it once beats repeating it on every section and having a new section silently
605
+ * default back to an island.
606
+ */
607
+ declare function MarketingSurfaceProvider({ surface, children, }: {
608
+ surface: MarketingSurface | undefined;
609
+ children: React.ReactNode;
610
+ }): react_jsx_runtime.JSX.Element;
611
+ declare function useMarketingSurface(): MarketingSurface | undefined;
612
+ /**
613
+ * The section wrapper's classes for the resolved surface and UI mode.
614
+ *
615
+ * `overflow-hidden` is unconditional on every surface, including `'plain'` —
616
+ * the marquee and carousel sections clip their own content against it, so
617
+ * dropping it with the panel would let them bleed across the page.
618
+ *
619
+ * Resolution order is prop, then `MarketingSurfaceProvider`, then `'card'`.
620
+ * Both context reads happen every render rather than short-circuiting on the
621
+ * prop: `modeProp ?? useHook()` skips a hook call and changes hook order
622
+ * between renders, which is the exact bug @olwiba/cn 0.1.28 and 0.1.30 fixed in
623
+ * `Toaster` and `Input`.
624
+ *
625
+ * Only `smooth`, `playful` and unset are branched on. olwibaCN's source has a
626
+ * fourth `glass` variant, but the published `UIVariant` type does not carry it
627
+ * yet, so a branch for it does not typecheck here.
628
+ */
629
+ declare function useSectionSurface(override?: MarketingSurface): string;
630
+
582
631
  interface HeroSectionProps {
583
632
  heading: string;
584
633
  badge?: string;
@@ -625,8 +674,10 @@ interface FeaturesSectionProps {
625
674
  }>;
626
675
  /** How the feature cards are arranged. @default 'grid' */
627
676
  layout?: 'grid' | 'carousel';
677
+ /** How the section sits on the page. @default 'card' */
678
+ surface?: MarketingSurface;
628
679
  }
629
- declare function FeaturesSection({ title, description, badge, features, layout, }: FeaturesSectionProps): react_jsx_runtime.JSX.Element;
680
+ declare function FeaturesSection({ title, description, badge, features, layout, surface, }: FeaturesSectionProps): react_jsx_runtime.JSX.Element;
630
681
 
631
682
  interface GroupedFeatureGroup {
632
683
  label: string;
@@ -642,8 +693,10 @@ interface GroupedFeaturesSectionProps {
642
693
  title?: string;
643
694
  description?: string;
644
695
  groups: GroupedFeatureGroup[];
696
+ /** How the section sits on the page. @default 'card' */
697
+ surface?: MarketingSurface;
645
698
  }
646
- declare function GroupedFeaturesSection({ badge, title, description, groups, }: GroupedFeaturesSectionProps): react_jsx_runtime.JSX.Element;
699
+ declare function GroupedFeaturesSection({ badge, title, description, groups, surface, }: GroupedFeaturesSectionProps): react_jsx_runtime.JSX.Element;
647
700
 
648
701
  interface StepItem {
649
702
  emoji?: string;
@@ -664,8 +717,10 @@ interface StepsSectionProps {
664
717
  variant?: 'default' | 'timeline';
665
718
  /** Timeline only — step groups with optional interstitial content; overrides `steps`. Numbering continues across groups. */
666
719
  groups?: StepGroup[];
720
+ /** How the section sits on the page. @default 'card' */
721
+ surface?: MarketingSurface;
667
722
  }
668
- declare function StepsSection({ badge, title, description, steps, variant, groups, }: StepsSectionProps): react_jsx_runtime.JSX.Element;
723
+ declare function StepsSection({ badge, title, description, steps, variant, groups, surface, }: StepsSectionProps): react_jsx_runtime.JSX.Element;
669
724
 
670
725
  interface TechStackItem {
671
726
  icon: LucideIcon;
@@ -678,8 +733,10 @@ interface TechStackSectionProps {
678
733
  title?: string;
679
734
  description?: string;
680
735
  items: TechStackItem[];
736
+ /** How the section sits on the page. @default 'card' */
737
+ surface?: MarketingSurface;
681
738
  }
682
- declare function TechStackSection({ badge, title, description, items, }: TechStackSectionProps): react_jsx_runtime.JSX.Element;
739
+ declare function TechStackSection({ badge, title, description, items, surface, }: TechStackSectionProps): react_jsx_runtime.JSX.Element;
683
740
 
684
741
  interface FeatureMarqueeItem {
685
742
  icon: LucideIcon;
@@ -696,8 +753,10 @@ interface FeatureMarqueeSectionProps {
696
753
  rows: FeatureMarqueeRow[];
697
754
  speed?: 'slow' | 'normal' | 'fast';
698
755
  pauseOnHover?: boolean;
756
+ /** How the section sits on the page. @default 'card' */
757
+ surface?: MarketingSurface;
699
758
  }
700
- declare function FeatureMarqueeSection({ badge, title, description, rows, speed, pauseOnHover, }: FeatureMarqueeSectionProps): react_jsx_runtime.JSX.Element;
759
+ declare function FeatureMarqueeSection({ badge, title, description, rows, speed, pauseOnHover, surface, }: FeatureMarqueeSectionProps): react_jsx_runtime.JSX.Element;
701
760
 
702
761
  interface CtaSectionProps {
703
762
  heading: string;
@@ -721,6 +780,8 @@ interface CtaSectionProps {
721
780
  /** (showcase) Watermark icon rendered behind the content. @default <Rocket /> */
722
781
  icon?: React.ReactNode;
723
782
  renderLink?: AppShellRenderLink;
783
+ /** How the section sits on the page. @default 'card' */
784
+ surface?: MarketingSurface;
724
785
  }
725
786
  declare function CtaSection(props: CtaSectionProps): react_jsx_runtime.JSX.Element;
726
787
 
@@ -890,8 +951,16 @@ interface PricingSectionProps {
890
951
  * mode.
891
952
  */
892
953
  priceEffect?: PricingCardProps['priceEffect'];
954
+ /**
955
+ * How the section sits on the page. @default 'card'
956
+ *
957
+ * Named `surface` rather than following the `mode` convention the other
958
+ * sections use, because `mode` on this component already means
959
+ * subscription-vs-one-time.
960
+ */
961
+ surface?: MarketingSurface;
893
962
  }
894
- declare function PricingSection({ title, description, badge, plans, saveBadge, isAuthenticated, renderLink, footnote, mode, foundingDeadline, currency, highlightedBadgeLabel, renderPlanFooter, cadences, defaultCadence, onSelectPlan, pendingPlanName, priceEffect, }: PricingSectionProps): react_jsx_runtime.JSX.Element;
963
+ declare function PricingSection({ title, description, badge, plans, saveBadge, isAuthenticated, renderLink, footnote, mode, foundingDeadline, currency, highlightedBadgeLabel, renderPlanFooter, cadences, defaultCadence, onSelectPlan, pendingPlanName, priceEffect, surface, }: PricingSectionProps): react_jsx_runtime.JSX.Element;
895
964
 
896
965
  interface TestimonialsSectionProps {
897
966
  title?: string;
@@ -906,8 +975,10 @@ interface TestimonialsSectionProps {
906
975
  initials?: string;
907
976
  rating?: number;
908
977
  }>;
978
+ /** How the section sits on the page. @default 'card' */
979
+ surface?: MarketingSurface;
909
980
  }
910
- declare function TestimonialsSection({ title, description, badge, testimonials, }: TestimonialsSectionProps): react_jsx_runtime.JSX.Element;
981
+ declare function TestimonialsSection({ title, description, badge, testimonials, surface, }: TestimonialsSectionProps): react_jsx_runtime.JSX.Element;
911
982
 
912
983
  interface TeamMember {
913
984
  name: string;
@@ -926,8 +997,10 @@ interface TeamSectionProps {
926
997
  badge?: string;
927
998
  title?: string;
928
999
  description?: string;
1000
+ /** How the section sits on the page. @default 'card' */
1001
+ surface?: MarketingSurface;
929
1002
  }
930
- declare function TeamSection({ members, badge, title, description, }: TeamSectionProps): react_jsx_runtime.JSX.Element;
1003
+ declare function TeamSection({ members, badge, title, description, surface, }: TeamSectionProps): react_jsx_runtime.JSX.Element;
931
1004
 
932
1005
  interface FaqSectionProps {
933
1006
  title?: string;
@@ -937,8 +1010,10 @@ interface FaqSectionProps {
937
1010
  question: string;
938
1011
  answer: string;
939
1012
  }>;
1013
+ /** How the section sits on the page. @default 'card' */
1014
+ surface?: MarketingSurface;
940
1015
  }
941
- declare function FaqSection({ title, description, badge, items, }: FaqSectionProps): react_jsx_runtime.JSX.Element;
1016
+ declare function FaqSection({ title, description, badge, items, surface, }: FaqSectionProps): react_jsx_runtime.JSX.Element;
942
1017
 
943
1018
  interface StatsSectionProps {
944
1019
  title?: string;
@@ -949,8 +1024,10 @@ interface StatsSectionProps {
949
1024
  label: string;
950
1025
  description?: string;
951
1026
  }>;
1027
+ /** How the section sits on the page. @default 'card' */
1028
+ surface?: MarketingSurface;
952
1029
  }
953
- declare function StatsSection({ title, description, badge, stats, }: StatsSectionProps): react_jsx_runtime.JSX.Element;
1030
+ declare function StatsSection({ title, description, badge, stats, surface, }: StatsSectionProps): react_jsx_runtime.JSX.Element;
954
1031
 
955
1032
  interface NewsletterSectionProps {
956
1033
  badge?: string;
@@ -963,8 +1040,10 @@ interface NewsletterSectionProps {
963
1040
  successTitle?: string;
964
1041
  successDescription?: string;
965
1042
  onSubscribe?: (email: string) => void | Promise<void>;
1043
+ /** How the section sits on the page. @default 'card' */
1044
+ surface?: MarketingSurface;
966
1045
  }
967
- declare function NewsletterSection({ badge, title, description, placeholder, submitLabel, privacyHref, privacyLabel, successTitle, successDescription, onSubscribe, }?: NewsletterSectionProps): react_jsx_runtime.JSX.Element;
1046
+ declare function NewsletterSection({ badge, title, description, placeholder, submitLabel, privacyHref, privacyLabel, successTitle, successDescription, onSubscribe, surface, }?: NewsletterSectionProps): react_jsx_runtime.JSX.Element;
968
1047
 
969
1048
  type ContactInfoItem = {
970
1049
  label: string;
@@ -981,8 +1060,10 @@ interface ContactSectionProps {
981
1060
  successDescription?: string;
982
1061
  sendAnotherLabel?: string;
983
1062
  onSubmit?: (event: React.FormEvent<HTMLFormElement>) => void | Promise<void>;
1063
+ /** How the section sits on the page. @default 'card' */
1064
+ surface?: MarketingSurface;
984
1065
  }
985
- declare function ContactSection({ badge, title, description, contactInfo, privacyHref, successTitle, successDescription, sendAnotherLabel, onSubmit, }?: ContactSectionProps): react_jsx_runtime.JSX.Element;
1066
+ declare function ContactSection({ badge, title, description, contactInfo, privacyHref, successTitle, successDescription, sendAnotherLabel, onSubmit, surface, }?: ContactSectionProps): react_jsx_runtime.JSX.Element;
986
1067
 
987
1068
  interface ComparisonColumn {
988
1069
  label: string;
@@ -996,8 +1077,10 @@ interface ComparisonSectionProps {
996
1077
  title?: string;
997
1078
  description?: string;
998
1079
  columns: ComparisonColumn[];
1080
+ /** How the section sits on the page. @default 'card' */
1081
+ surface?: MarketingSurface;
999
1082
  }
1000
- declare function ComparisonSection({ badge, title, description, columns, }: ComparisonSectionProps): react_jsx_runtime.JSX.Element;
1083
+ declare function ComparisonSection({ badge, title, description, columns, surface, }: ComparisonSectionProps): react_jsx_runtime.JSX.Element;
1001
1084
 
1002
1085
  interface QualificationColumn {
1003
1086
  heading: string;
@@ -1009,8 +1092,10 @@ interface QualificationSectionProps {
1009
1092
  title?: string;
1010
1093
  description?: string;
1011
1094
  columns: [QualificationColumn, QualificationColumn];
1095
+ /** How the section sits on the page. @default 'card' */
1096
+ surface?: MarketingSurface;
1012
1097
  }
1013
- declare function QualificationSection({ badge, title, description, columns, }: QualificationSectionProps): react_jsx_runtime.JSX.Element;
1098
+ declare function QualificationSection({ badge, title, description, columns, surface, }: QualificationSectionProps): react_jsx_runtime.JSX.Element;
1014
1099
 
1015
1100
  interface NavbarProps {
1016
1101
  brand: {
@@ -2011,4 +2096,4 @@ interface UsePaginationReturn {
2011
2096
  }
2012
2097
  declare function usePagination(total: number, pageSize: number): UsePaginationReturn;
2013
2098
 
2014
- export { ActivityFeed, type ActivityFeedItem, type ActivityFeedProps, AnimatedPill, type AnimatedPillProps, AnimatedSwap, type AnimatedSwapEffect, type AnimatedSwapProps, type AnimatedSwapSpec, AppContent, type AppContentProps, AppGrid, AppGridCell, type AppGridCellProps, type AppGridColumns, type AppGridProps, type AppNavItem, AppPageHero, type AppPageHeroProps, AppScreen, AppShell, type AppShellAction, type AppShellBrand, type AppShellProps, type AppShellRenderLink, type AppShellUser, type AuthFormProps, AuthSection, type AuthSectionProps, Badge, type BadgeProps, type BillingInvoice, BillingPanel, type BillingPanelProps, type BillingPaymentMethod, type BillingUsageMetric, BrandColorSwitchMinimal, Button, type ButtonProps, Card, type CardProps, Carousel, type CarouselProps, ChangelogCard, type ChangelogCardProps, type ChangelogHighlight, ChangelogList, type ChangelogListProps, type ChangelogReleaseType, Chart, type ChartProps, type ChartSeries, Checkbox, type CheckboxProps, CommandMenu, type CommandMenuGroup, type CommandMenuItem, type CommandMenuProps, type ComparisonColumn, ComparisonSection, type ComparisonSectionProps, ConfirmDialog, type ConfirmDialogProps, type ConfirmOptions, type ContactInfoItem, ContactSection, type ContactSectionProps, ContextMenu, type ContextMenuDef, type ContextMenuProps, CountUp, type CountUpProps, CountdownTimer, type CountdownTimerProps, CtaSection, type CtaSectionProps, DataTable, type DataTableProps, DataView, type DataViewProps, DevBanner, type DevBannerProps, Dock, type DockItem, type DockProps, EmptyState, type EmptyStateProps, ErrorPage, type ErrorPageProps, FadeIn, type FadeInProps, FaqSection, type FaqSectionProps, FeatureCard, type FeatureCardProps, type FeatureMarqueeItem, type FeatureMarqueeRow, FeatureMarqueeSection, type FeatureMarqueeSectionProps, FeaturesSection, type FeaturesSectionProps, FileUpload, type FileUploadEntry, type FileUploadProps, FlowBracket, type FlowBracketProps, FlowConnector, type FlowConnectorProps, Footer, type FooterProps, FullPageSpinner, GlassCard, type GlassCardProps, Grid, GridItem, type GridItemProps, type GridProps, type GroupedFeatureGroup, GroupedFeaturesSection, type GroupedFeaturesSectionProps, HeroSection, type HeroSectionProps, type Hotkey, ImageCard, type ImageCardProps, Input, type InputProps, LogoStrip, type LogoStripProps, type MarketingSectionSpacing, MediaCard, type MediaCardProps, ModeSwitchMinimal, Navbar, type NavbarProps, NewsletterSection, type NewsletterSectionProps, type NotificationItem, NotificationToast, type NotificationToastProps, NotificationsPopover, type NotificationsPopoverProps, type NotifyAction, type NotifyOptions, OlwibaUIProvider, type OlwibaUIProviderProps, type OnboardingStep, OnboardingWizard, type OnboardingWizardProps, Overlay, type OverlayProps, type OverlayVariant, PageHeader, type PageHeaderBackButton, type PageHeaderBreadcrumb, type PageHeaderProps, PageTransition, type PageTransitionProps, PhoneFrame, type PhoneFrameProps, type PostAuthor, PostCard, type PostCardProps, PostList, type PostListProps, PricingCard, type PricingCardProps, type PricingFeature, type PricingPlan, PricingSection, type PricingSectionProps, PublicPageFrame, type PublicPageFrameProps, type QualificationColumn, QualificationSection, type QualificationSectionProps, RegisterHotkeys, RootErrorFallback, Section, type SectionProps, SectionTitle, type SectionTitleProps, SettingsSection, type SettingsSectionProps, Sortable, type SortableProps, Spotlight, type SpotlightGroup, type SpotlightItem, type SpotlightProps, Stack, type StackProps, StaggerChildren, type StaggerChildrenProps, StatCard, type StatCardProps, StatsSection, type StatsSectionProps, type StepGroup, type StepItem, StepsSection, type StepsSectionProps, Suspensed, Switch, type SwitchProps, type TeamMember, type TeamMemberRecord, TeamMembersPanel, type TeamMembersPanelProps, TeamSection, type TeamSectionProps, type TechStackItem, TechStackSection, type TechStackSectionProps, TestimonialCard, type TestimonialCardProps, TestimonialsSection, type TestimonialsSectionProps, Textarea, type TextareaProps, ThemeColorUpdater, ThemeSwitchMinimal, type UIMode, Underlay, type UnderlayProps, type UnderlayVariant, UpdateBanner, type UpdateBannerProps, type UpgradeComparisonRow, UpgradePrompt, type UpgradePromptProps, type UseConfirmReturn, type UseControlledOpenReturn, type UsePaginationReturn, type UseViewModeReturn, VersionBanner, type ViewMode, ViewToggle, type ViewToggleProps, cn, marketingSectionSpacing, notify, useConfirm, useControlledOpen, useCopyToClipboard, useDebounce, useIntersectionObserver, useLocalStorage, useMediaQuery, useMounted, useOlwibaUI, usePagination, useScrolledPast, useUIMode, useViewMode };
2099
+ export { ActivityFeed, type ActivityFeedItem, type ActivityFeedProps, AnimatedPill, type AnimatedPillProps, AnimatedSwap, type AnimatedSwapEffect, type AnimatedSwapProps, type AnimatedSwapSpec, AppContent, type AppContentProps, AppGrid, AppGridCell, type AppGridCellProps, type AppGridColumns, type AppGridProps, type AppNavItem, AppPageHero, type AppPageHeroProps, AppScreen, AppShell, type AppShellAction, type AppShellBrand, type AppShellProps, type AppShellRenderLink, type AppShellUser, type AuthFormProps, AuthSection, type AuthSectionProps, Badge, type BadgeProps, type BillingInvoice, BillingPanel, type BillingPanelProps, type BillingPaymentMethod, type BillingUsageMetric, BrandColorSwitchMinimal, Button, type ButtonProps, Card, type CardProps, Carousel, type CarouselProps, ChangelogCard, type ChangelogCardProps, type ChangelogHighlight, ChangelogList, type ChangelogListProps, type ChangelogReleaseType, Chart, type ChartProps, type ChartSeries, Checkbox, type CheckboxProps, CommandMenu, type CommandMenuGroup, type CommandMenuItem, type CommandMenuProps, type ComparisonColumn, ComparisonSection, type ComparisonSectionProps, ConfirmDialog, type ConfirmDialogProps, type ConfirmOptions, type ContactInfoItem, ContactSection, type ContactSectionProps, ContextMenu, type ContextMenuDef, type ContextMenuProps, CountUp, type CountUpProps, CountdownTimer, type CountdownTimerProps, CtaSection, type CtaSectionProps, DataTable, type DataTableProps, DataView, type DataViewProps, DevBanner, type DevBannerProps, Dock, type DockItem, type DockProps, EmptyState, type EmptyStateProps, ErrorPage, type ErrorPageProps, FadeIn, type FadeInProps, FaqSection, type FaqSectionProps, FeatureCard, type FeatureCardProps, type FeatureMarqueeItem, type FeatureMarqueeRow, FeatureMarqueeSection, type FeatureMarqueeSectionProps, FeaturesSection, type FeaturesSectionProps, FileUpload, type FileUploadEntry, type FileUploadProps, FlowBracket, type FlowBracketProps, FlowConnector, type FlowConnectorProps, Footer, type FooterProps, FullPageSpinner, GlassCard, type GlassCardProps, Grid, GridItem, type GridItemProps, type GridProps, type GroupedFeatureGroup, GroupedFeaturesSection, type GroupedFeaturesSectionProps, HeroSection, type HeroSectionProps, type Hotkey, ImageCard, type ImageCardProps, Input, type InputProps, LogoStrip, type LogoStripProps, type MarketingSectionSpacing, type MarketingSurface, MarketingSurfaceProvider, MediaCard, type MediaCardProps, ModeSwitchMinimal, Navbar, type NavbarProps, NewsletterSection, type NewsletterSectionProps, type NotificationItem, NotificationToast, type NotificationToastProps, NotificationsPopover, type NotificationsPopoverProps, type NotifyAction, type NotifyOptions, OlwibaUIProvider, type OlwibaUIProviderProps, type OnboardingStep, OnboardingWizard, type OnboardingWizardProps, Overlay, type OverlayProps, type OverlayVariant, PageHeader, type PageHeaderBackButton, type PageHeaderBreadcrumb, type PageHeaderProps, PageTransition, type PageTransitionProps, PhoneFrame, type PhoneFrameProps, type PostAuthor, PostCard, type PostCardProps, PostList, type PostListProps, PricingCard, type PricingCardProps, type PricingFeature, type PricingPlan, PricingSection, type PricingSectionProps, PublicPageFrame, type PublicPageFrameProps, type QualificationColumn, QualificationSection, type QualificationSectionProps, RegisterHotkeys, RootErrorFallback, Section, type SectionProps, SectionTitle, type SectionTitleProps, SettingsSection, type SettingsSectionProps, Sortable, type SortableProps, Spotlight, type SpotlightGroup, type SpotlightItem, type SpotlightProps, Stack, type StackProps, StaggerChildren, type StaggerChildrenProps, StatCard, type StatCardProps, StatsSection, type StatsSectionProps, type StepGroup, type StepItem, StepsSection, type StepsSectionProps, Suspensed, Switch, type SwitchProps, type TeamMember, type TeamMemberRecord, TeamMembersPanel, type TeamMembersPanelProps, TeamSection, type TeamSectionProps, type TechStackItem, TechStackSection, type TechStackSectionProps, TestimonialCard, type TestimonialCardProps, TestimonialsSection, type TestimonialsSectionProps, Textarea, type TextareaProps, ThemeColorUpdater, ThemeSwitchMinimal, type UIMode, Underlay, type UnderlayProps, type UnderlayVariant, UpdateBanner, type UpdateBannerProps, type UpgradeComparisonRow, UpgradePrompt, type UpgradePromptProps, type UseConfirmReturn, type UseControlledOpenReturn, type UsePaginationReturn, type UseViewModeReturn, VersionBanner, type ViewMode, ViewToggle, type ViewToggleProps, cn, marketingSectionSpacing, notify, useConfirm, useControlledOpen, useCopyToClipboard, useDebounce, useIntersectionObserver, useLocalStorage, useMarketingSurface, useMediaQuery, useMounted, useOlwibaUI, usePagination, useScrolledPast, useSectionSurface, useUIMode, useViewMode };