@caffeinebounce/ui 0.62.2

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 (143) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +39 -0
  3. package/dist/FinancialStatementTable-BNUrdTU4.d.cts +249 -0
  4. package/dist/FinancialStatementTable-BNUrdTU4.d.ts +249 -0
  5. package/dist/NewsletterSignup-BPreFi5W.d.cts +37 -0
  6. package/dist/NewsletterSignup-BPreFi5W.d.ts +37 -0
  7. package/dist/TestimonialsSection-DtPu2OeR.d.ts +736 -0
  8. package/dist/TestimonialsSection-z-yotRfv.d.cts +736 -0
  9. package/dist/UnifiedTableControls-CG299y9h.d.ts +1233 -0
  10. package/dist/UnifiedTableControls-CIjRpNhy.d.cts +1233 -0
  11. package/dist/blog.d.cts +99 -0
  12. package/dist/blog.d.ts +99 -0
  13. package/dist/blog.js +292 -0
  14. package/dist/blog.mjs +279 -0
  15. package/dist/button-BHnoRUkF.d.cts +34 -0
  16. package/dist/button-BHnoRUkF.d.ts +34 -0
  17. package/dist/charts.d.cts +80 -0
  18. package/dist/charts.d.ts +80 -0
  19. package/dist/charts.js +19 -0
  20. package/dist/charts.mjs +2 -0
  21. package/dist/chunk-33JR5SYE.js +44 -0
  22. package/dist/chunk-3NDB4YPC.js +247 -0
  23. package/dist/chunk-5RW4PYZ6.js +1504 -0
  24. package/dist/chunk-5THF4YP6.mjs +155 -0
  25. package/dist/chunk-6BUBNZPG.mjs +164 -0
  26. package/dist/chunk-6DVWMJ3H.mjs +7029 -0
  27. package/dist/chunk-6TGV2DNP.js +120 -0
  28. package/dist/chunk-72JGQ7IJ.mjs +1498 -0
  29. package/dist/chunk-7DHKQODW.mjs +2932 -0
  30. package/dist/chunk-7IKHZKAC.js +160 -0
  31. package/dist/chunk-ADIDI7AJ.js +11 -0
  32. package/dist/chunk-BFWX5GJZ.mjs +940 -0
  33. package/dist/chunk-BMFQG6RA.mjs +5537 -0
  34. package/dist/chunk-C4UT5V3P.js +65 -0
  35. package/dist/chunk-CC4KUIKC.js +2004 -0
  36. package/dist/chunk-D3QXPL47.mjs +1814 -0
  37. package/dist/chunk-DQWHYBV2.js +36 -0
  38. package/dist/chunk-E42B4GSB.js +993 -0
  39. package/dist/chunk-ESZ7CBA2.js +1007 -0
  40. package/dist/chunk-EYJJQVV4.js +111 -0
  41. package/dist/chunk-FRRS2YZH.mjs +129 -0
  42. package/dist/chunk-G5TQWWQA.mjs +37 -0
  43. package/dist/chunk-GAIQJCAZ.js +5612 -0
  44. package/dist/chunk-GMBGWOCR.mjs +48 -0
  45. package/dist/chunk-GUSTCU2W.mjs +105 -0
  46. package/dist/chunk-HBLKVQIQ.mjs +23 -0
  47. package/dist/chunk-HMAMMC72.js +26 -0
  48. package/dist/chunk-IMKLN273.mjs +9 -0
  49. package/dist/chunk-J6OLBSZR.js +250 -0
  50. package/dist/chunk-JAE45W2T.js +28 -0
  51. package/dist/chunk-JORVSG52.js +606 -0
  52. package/dist/chunk-KB7UXIQZ.mjs +984 -0
  53. package/dist/chunk-KGGQ5NZV.js +186 -0
  54. package/dist/chunk-KHCC5UKW.mjs +22 -0
  55. package/dist/chunk-KRRIRS6A.mjs +1945 -0
  56. package/dist/chunk-LQCVRWVF.js +48 -0
  57. package/dist/chunk-MHZXUOGN.mjs +168 -0
  58. package/dist/chunk-MPZFPU4X.js +349 -0
  59. package/dist/chunk-MVYRNJA6.js +74 -0
  60. package/dist/chunk-N6AFNFZR.mjs +565 -0
  61. package/dist/chunk-OFQLWSUR.mjs +214 -0
  62. package/dist/chunk-OLAAXLXY.mjs +219 -0
  63. package/dist/chunk-OZZWDIOY.js +1859 -0
  64. package/dist/chunk-PZRI43EZ.js +111 -0
  65. package/dist/chunk-Q256HRYD.js +176 -0
  66. package/dist/chunk-Q52ZEL62.mjs +223 -0
  67. package/dist/chunk-R26Y7LGJ.js +142 -0
  68. package/dist/chunk-RBUYW6QQ.js +39 -0
  69. package/dist/chunk-RVEFPVZF.mjs +43 -0
  70. package/dist/chunk-SORWLKOK.js +96 -0
  71. package/dist/chunk-STEP6C4C.mjs +33 -0
  72. package/dist/chunk-T5R6HUDG.mjs +22 -0
  73. package/dist/chunk-T6ZBA6VJ.js +7109 -0
  74. package/dist/chunk-UM7WMXIU.js +2995 -0
  75. package/dist/chunk-VBD4Q5LL.mjs +117 -0
  76. package/dist/chunk-WOITB4JL.js +195 -0
  77. package/dist/chunk-YKZEKJMZ.mjs +71 -0
  78. package/dist/chunk-YL7RZRHM.mjs +103 -0
  79. package/dist/chunk-YSLD2HLP.mjs +346 -0
  80. package/dist/chunk-ZFLZA7UP.mjs +140 -0
  81. package/dist/chunk-ZKUIUE7W.mjs +26 -0
  82. package/dist/chunk-ZOA7B32D.js +248 -0
  83. package/dist/data-table.d.cts +46 -0
  84. package/dist/data-table.d.ts +46 -0
  85. package/dist/data-table.js +270 -0
  86. package/dist/data-table.mjs +13 -0
  87. package/dist/editor.d.cts +89 -0
  88. package/dist/editor.d.ts +89 -0
  89. package/dist/editor.js +10 -0
  90. package/dist/editor.mjs +1 -0
  91. package/dist/forms.d.cts +142 -0
  92. package/dist/forms.d.ts +142 -0
  93. package/dist/forms.js +24 -0
  94. package/dist/forms.mjs +11 -0
  95. package/dist/hooks-8ORd7T1A.d.cts +751 -0
  96. package/dist/hooks-B2jU1GVT.d.ts +751 -0
  97. package/dist/hooks.d.cts +6 -0
  98. package/dist/hooks.d.ts +6 -0
  99. package/dist/hooks.js +99 -0
  100. package/dist/hooks.mjs +10 -0
  101. package/dist/index.d.cts +3141 -0
  102. package/dist/index.d.ts +3141 -0
  103. package/dist/index.js +7332 -0
  104. package/dist/index.mjs +5876 -0
  105. package/dist/layouts-DPfDDF53.d.cts +1001 -0
  106. package/dist/layouts-DPfDDF53.d.ts +1001 -0
  107. package/dist/layouts.d.cts +4 -0
  108. package/dist/layouts.d.ts +4 -0
  109. package/dist/layouts.js +100 -0
  110. package/dist/layouts.mjs +11 -0
  111. package/dist/marketing-3d.d.cts +51 -0
  112. package/dist/marketing-3d.d.ts +51 -0
  113. package/dist/marketing-3d.js +553 -0
  114. package/dist/marketing-3d.mjs +526 -0
  115. package/dist/marketing.d.cts +583 -0
  116. package/dist/marketing.d.ts +583 -0
  117. package/dist/marketing.js +299 -0
  118. package/dist/marketing.mjs +10 -0
  119. package/dist/media.d.cts +29 -0
  120. package/dist/media.d.ts +29 -0
  121. package/dist/media.js +189 -0
  122. package/dist/media.mjs +182 -0
  123. package/dist/navigation.d.cts +591 -0
  124. package/dist/navigation.d.ts +591 -0
  125. package/dist/navigation.js +108 -0
  126. package/dist/navigation.mjs +15 -0
  127. package/dist/portal.d.cts +58 -0
  128. package/dist/portal.d.ts +58 -0
  129. package/dist/portal.js +403 -0
  130. package/dist/portal.mjs +395 -0
  131. package/dist/primitives.d.cts +508 -0
  132. package/dist/primitives.d.ts +508 -0
  133. package/dist/primitives.js +295 -0
  134. package/dist/primitives.mjs +14 -0
  135. package/dist/settings.d.cts +216 -0
  136. package/dist/settings.d.ts +216 -0
  137. package/dist/settings.js +34 -0
  138. package/dist/settings.mjs +9 -0
  139. package/dist/shared-Dqn36QHZ.d.cts +4 -0
  140. package/dist/shared-Dqn36QHZ.d.ts +4 -0
  141. package/dist/styles.css +1213 -0
  142. package/package.json +189 -0
  143. package/styles.css +1 -0
@@ -0,0 +1,3141 @@
1
+ import { ToasterProps } from 'sonner';
2
+ export { toast } from 'sonner';
3
+ import * as react_jsx_runtime from 'react/jsx-runtime';
4
+ import { z } from 'zod';
5
+ import * as React$1 from 'react';
6
+ import { ComponentProps, ReactNode, ComponentType, ElementType, CSSProperties, ComponentPropsWithoutRef, ReactElement } from 'react';
7
+ import { B as Button, c as ButtonProps } from './button-BHnoRUkF.js';
8
+ export { a as ButtonCorners, b as ButtonHoverEffect, d as buttonVariants } from './button-BHnoRUkF.js';
9
+ import * as class_variance_authority_types from 'class-variance-authority/types';
10
+ import { VariantProps } from 'class-variance-authority';
11
+ export { B as BALANCE_SHEET_CONFIG, a as ComparisonSelector, F as FinancialStatementConfig, c as FinancialStatementEntry, d as FinancialStatementKind, e as FinancialStatementRowImportance, f as FinancialStatementRowImportanceResolver, g as FinancialStatementSection, h as FinancialStatementTable, i as FinancialStatementTableProps, j as FinancialStatementTotal, k as FlatExportRow, I as INCOME_STATEMENT_CONFIG, m as PeriodSelector, S as StatementRow, p as SubtotalRule, q as SubtotalRulesConfig, T as TimeUnit, r as buildFinancialStatementData, t as createFinancialStatementRowImportanceResolver, u as flattenStatementForExport, v as getFinancialStatementRowImportanceClassName } from './FinancialStatementTable-BNUrdTU4.js';
12
+ export { C as CASH_FLOW_CHART_CONFIG, c as ColumnDataType, d as ColumnSummaryConfig, e as ColumnType, g as CurrencySignDisplay, D as DataTable, h as DataTableAddButton, i as DataTableAddButtonProps, j as DataTableColumnFilter, l as DataTableColumnFilterProps, m as DataTableColumnHeader, n as DataTableColumnHeaderProps, o as DataTableColumnMeta, r as DataTableCurrencyCell, s as DataTableCurrencyCellProps, u as DataTableExportButton, v as DataTableExportButtonProps, w as DataTableFilter, x as DataTableFilterBadges, y as DataTableFilterBadgesProps, B as DataTablePagination, E as DataTablePaginationProps, F as DataTableProps, G as DataTableRowAction, H as DataTableRowActions, I as DataTableRowActionsProps, J as DataTableSearch, K as DataTableSettingDef, L as DataTableSettings, M as DataTableSettingsProps, N as DataTableSkeleton, O as DataTableSkeletonProps, P as DataTableSummary, Q as DataTableSummaryProps, R as DataTableTab, S as DataTableToolbar, T as DataTableToolbarProps, U as DataTableTopper, V as DataTableTopperProps, W as DataTableView, X as DataTableViewOptions, Y as DataTableViewOptionsProps, Z as DataTableViewState, _ as DataTableViews, $ as DataTableViewsProps, a0 as DisplayUnits, a5 as FilterOption, a6 as FilterType, a7 as FinanceDecimalsProvider, a8 as FinanceDisplayProvider, aa as FinancialStatementControls, ab as FinancialStatementControlsProps, ac as FinancialSummaryChart, ad as FinancialSummaryChartConfig, ae as FinancialSummaryChartProps, af as FinancialSummaryChartSeries, ag as INCOME_STATEMENT_CHART_CONFIG, ah as MobilePeriodStepper, ai as MobilePeriodStepperProps, aj as MobileStatementActionExport, ak as MobileStatementActionSetting, al as MobileStatementActions, am as MobileStatementActionsProps, an as MobileStatementFilters, ao as MobileStatementFiltersProps, aq as RowSelectionStyle, A as SummaryAreaChart, b as SummaryBarChart, ar as SummaryChartDataPoint, as as SummaryChartSeries, at as SummaryChartType, au as SummaryMetric, av as SummaryPanel, aw as SummaryPanelProps, ap as SummaryPieChart, ax as SummaryType, ay as UnifiedTableControl, az as UnifiedTableControlKind, aA as UnifiedTableControls, aB as UnifiedTableControlsProps, aC as UnifiedTableSettingsControl, aD as UnifiedTableSettingsItem, aE as createFinanceTableSettingsItems, aF as exportToCsv, aG as exportToExcel, aH as formatCurrencyValue, aI as getUnitDivisor, aJ as getUnitLabel, aK as getUnitSuffix, aL as normalizeUnifiedTableControls, aM as unifiedTableControlOrder, aN as useDataTableContext, aO as useDataTableSettings, aP as useFinanceDecimals, aQ as useFinanceDecimalsSetting, aR as useFinanceDisplay, aS as useUnifiedTableSettings } from './UnifiedTableControls-CG299y9h.js';
13
+ export { StudioBlock, StudioBlockCategory, StudioEditor, StudioEditorProps, StudioProjectType, StudioTheme } from './editor.js';
14
+ import { c as SessionError } from './hooks-B2jU1GVT.js';
15
+ export { F as FieldMeta, a as FormSubmitHandlerOptions, b as FormWithSetFieldValue, K as KeyboardShortcutDefinition, S as ScrollDirection, T as ToastOptions, U as UseKeyboardShortcutOptions, d as UseScrollDirectionOptions, e as UseSessionErrorsOptions, f as UseWizardFormOptions, g as UseWizardFormReturn, W as WizardFormInstance, h as WizardStep, j as createDataRestorationHandler, k as createFormResetHandler, l as createFormSubmitHandler, m as createStepHasFieldErrors, n as extractZodErrors, o as formatShortcut, p as getDefaultLtmRange, q as matchesShortcut, i as mediaBreakpoints, u as useBreakpoints, r as useComparisonData, s as useCopyToClipboard, t as useDebounce, v as useFinancialStatementState, w as useKeyboardShortcut, x as useLocalStorage, y as useMediaQuery, z as useScrollDirection, A as useSessionErrors, B as useStatementExport, C as useStatementMobileMode, D as useToast, E as useWizardForm } from './hooks-B2jU1GVT.js';
16
+ export { FormWizard, FormWizardNavigation, FormWizardProps, FormWizardStep, GetStepStatus, GetStepTooltip, StepStatus, StepStatusStyles, useFormWizardNavigation } from './forms.js';
17
+ export { A as AdminPageLayout, a as AdminPageLayoutBackLink, b as AdminPageLayoutProps, c as AppFooter, d as AppFooterProps, e as AppHeader, f as AppHeaderProps, g as AppLayout, h as AppLayoutProps, i as AppSidebar, j as AppSidebarProps, k as AppSidebarUser, l as AutoSaveIndicator, B as BasePageLayout, m as BasePageLayoutProps, D as DashboardGrid, n as DashboardGridProps, F as FloatingUserMenu, o as FloatingUserMenuProps, p as FloatingUserMenuUser, H as HeaderLink, q as HelpBreadcrumb, r as HelpLayout, s as HelpLayoutProps, t as HelpPageLayout, u as HelpPageLayoutProps, v as HelpPanelLayout, w as HelpPanelLayoutProps, L as LegalLayout, x as LegalLayoutProps, y as LegalSection, z as LegalSectionProps, M as MarketingLayout, C as MarketingLayoutProps, N as NavDivider, E as NavElement, G as NavItem, I as NavSection, R as RootLayout, J as RootLayoutAnalytics, K as RootLayoutFont, O as RootLayoutProps, P as RootLayoutToast, S as SaveStatus, Q as Stepper, T as StepperProps, U as StepperStep, V as UserAvatarMenu, W as UserAvatarMenuItem, X as UserAvatarMenuProps, Y as UserAvatarMenuUser, Z as UserPageLayout, _ as UserPageLayoutBackLink, $ as UserPageLayoutProps, a0 as WizardLayout, a1 as WizardLayoutProps, a2 as isNavDivider, a3 as isNavItem, a4 as isNavSection, a5 as themeScript } from './layouts-DPfDDF53.js';
18
+ export { A as ActionCard, a as AppleCard, b as AppleCardProps, c as AppleCardsCarousel, d as AppleCardsCarouselCard, e as AppleCardsCarouselProps, B as Benefit, f as BenefitsSection, g as BenefitsSectionProps, C as CTAWithDashedGridLines, h as CTAWithDashedGridLinesProps, i as Carousel, j as CarouselControlPlacement, k as CarouselNavigationMode, l as CarouselProps, m as CarouselRenderContext, n as CarouselSlide, o as CarouselSlideImage, q as Container, r as ContainerProps, s as ContainerSize, t as CtaWithDashedGridLines, u as CtaWithDashedGridLinesProps, E as EditorialHero, v as EditorialHeroProps, F as FaqAccordion, w as FaqAccordionItem, x as FaqAccordionProps, G as GlowingEffect, y as GlowingEffectCorners, z as GlowingEffectProps, D as GlowingEffectVariant, H as HeroSection, I as HeroSectionProps, J as HeroSectionWithRipple, K as HeroSectionWithRippleProps, L as ImpactSection, M as ImpactSectionProps, N as LampColorTheme, O as LampContainer, P as LampContainerProps, Q as LampHero, R as LampHeroProps, S as LampHeroSocialLink, T as LocationCard, X as MarketingProse, Y as MarketingProseProps, Z as MediaTextHero, _ as MediaTextHeroProps, $ as MetricStory, a0 as MetricStoryProps, a1 as MissionSection, a2 as MissionSectionProps, a3 as NextStepsSection, a4 as NextStepsSectionProps, a5 as Outcome, a6 as PageHero, a7 as PageHeroAction, a8 as PageHeroMedia, a9 as PageHeroProps, aa as PartnerLogoGrid, ab as PartnerLogoGridGroup, ac as PartnerLogoGridProps, ad as PixelatedCanvas, ae as PixelatedCanvasProps, af as Program, ag as ProgramCard, ah as ProgramCardProps, ai as SectionShell, aj as SectionShellProps, an as StackedIsometricFeatureItem, ao as StackedIsometricFeatures, ap as StackedIsometricFeaturesProps, aq as Stat, ar as TeamCard, as as TeamCardLink, at as TeamCardProps, au as Testimonial, av as TestimonialsSection, aw as TestimonialsSectionProps } from './TestimonialsSection-DtPu2OeR.js';
19
+ export { N as NewsletterSignup, a as NewsletterSignupProps } from './NewsletterSignup-BPreFi5W.js';
20
+ export { AppDefinition, AppSwitcher, AppSwitcherProps, ComingSoonButton, ComingSoonButtonProps, Entity, EntitySwitcher, EntitySwitcherProps, EntitySwitcherShortcut, Footer, FooterLinkGroup, FooterProps, MarketingHeaderPreset, MarketingHeaderPresetCta, MarketingHeaderPresetProps, NavLink, Navbar, NavbarLogo, NavbarLogoProps, NavbarMenuClassNames, NavbarMenuGroup, NavbarProps, NavbarUser, NavbarUserMenu, NavbarUserMenuItem, NavbarUserMenuProps, NavbarUserProfile, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, NavigationMenuViewportPrimitive, NonprofitFooterPreset, NonprofitFooterPresetLink, NonprofitFooterPresetProps, RouteSegmentedSwitcher, RouteSegmentedSwitcherItem, RouteSegmentedSwitcherProps, SegmentedSwitcher, SegmentedSwitcherItem, SegmentedSwitcherMatchMode, SegmentedSwitcherProps, navigationMenuTriggerStyle } from './navigation.js';
21
+ export { SettingsLayout, SettingsLayoutProps, SettingsPage, SettingsRow, SettingsRowProps, SettingsSection, SettingsSectionProps, SettingsTab, SettingsTabContent, SettingsTabContentProps, SettingsTabs, SettingsTabsProps } from './settings.js';
22
+ export { ThemeProvider, ThemeProviderProps } from 'next-themes';
23
+ import { Dialog, InputProps, Tooltip, TooltipContent as TooltipContent$1 } from './primitives.js';
24
+ export { Alert, AlertDescription, AlertTitle, Badge, BadgeProps, BadgeShape, BadgeSize, Card, CardAction, CardBorder, CardContent, CardDescription, CardElevation, CardFooter, CardHeader, CardProps, CardTitle, Checkbox, CheckboxProps, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, Input, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, InputVariant, Label, PasswordInput, PasswordRequirements, PasswordRule, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Spinner, SpinnerProps, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, TooltipProvider, TooltipTrigger, VerificationCodeInput, VerificationCodeInputProps, badgeVariants, cn, defaultPasswordRules, extendedPasswordRules, inputVariants, spinnerVariants } from './primitives.js';
25
+ import * as AvatarPrimitive from '@radix-ui/react-avatar';
26
+ import { DayPicker, DateRange } from 'react-day-picker';
27
+ export { ChartConfig, ChartContainer, ChartTooltip, ChartTooltipContent } from './charts.js';
28
+ import * as CollapsiblePrimitive from '@radix-ui/react-collapsible';
29
+ import { Command as Command$1 } from 'cmdk';
30
+ import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
31
+ import * as PopoverPrimitive from '@radix-ui/react-popover';
32
+ import * as ProgressPrimitive from '@radix-ui/react-progress';
33
+ import * as RadioGroupPrimitive from '@radix-ui/react-radio-group';
34
+ import * as SeparatorPrimitive from '@radix-ui/react-separator';
35
+ import * as DialogPrimitive from '@radix-ui/react-dialog';
36
+ import * as TooltipPrimitive from '@radix-ui/react-tooltip';
37
+ import * as SliderPrimitive from '@radix-ui/react-slider';
38
+ import * as ToggleGroupPrimitive from '@radix-ui/react-toggle-group';
39
+ import { PreventWidowsOptions } from '@caffeinebounce/shared-utils';
40
+ import * as NavigationMenuPrimitive from '@radix-ui/react-navigation-menu';
41
+ export { NavigationMenuPrimitive };
42
+ import '@tanstack/react-table';
43
+ import 'lucide-react';
44
+ import 'grapesjs';
45
+ import './shared-Dqn36QHZ.js';
46
+ import '@radix-ui/react-label';
47
+ import 'input-otp';
48
+ import '@radix-ui/react-select';
49
+ import '@radix-ui/react-tabs';
50
+ import 'clsx';
51
+ import 'recharts/types/chart/types';
52
+ import 'recharts/types/util/payload/getUniqPayload';
53
+ import 'recharts/types/state/tooltipSlice';
54
+ import 'recharts/types/component/Cursor';
55
+ import 'recharts/types/component/Tooltip';
56
+ import 'recharts/types/util/types';
57
+ import 'recharts/types/component/DefaultTooltipContent';
58
+ import 'recharts';
59
+
60
+ interface CompanyNameEditableCellProps {
61
+ name: string;
62
+ dbaName: string | null | undefined;
63
+ rowId: string;
64
+ endpoint: string;
65
+ onSuccess?: (name: string, dbaName: string | null) => void;
66
+ }
67
+ declare function CompanyNameEditableCell({ name: initialName, dbaName: initialDbaName, rowId, endpoint, onSuccess, }: CompanyNameEditableCellProps): react_jsx_runtime.JSX.Element;
68
+
69
+ interface BaseEditableCellProps {
70
+ value: string | number | boolean | null | undefined;
71
+ rowId: string;
72
+ columnId: string;
73
+ endpoint: string;
74
+ schema?: z.ZodType<unknown>;
75
+ onSuccess?: (newValue: string | number | boolean) => void;
76
+ }
77
+ type EditableCellProps = BaseEditableCellProps & ({
78
+ type?: "text" | "number" | "email" | "url" | "textarea" | "boolean";
79
+ options?: never;
80
+ } | {
81
+ type: "select";
82
+ options: {
83
+ label: string;
84
+ value: string;
85
+ }[];
86
+ });
87
+ declare function EditableCell({ value: initialValue, rowId, columnId, endpoint, schema, onSuccess, type, options, }: EditableCellProps): react_jsx_runtime.JSX.Element;
88
+
89
+ interface UserNameEditableCellProps {
90
+ firstName: string | null | undefined;
91
+ lastName: string | null | undefined;
92
+ rowId: string;
93
+ endpoint: string;
94
+ onSuccess?: (firstName: string, lastName: string) => void;
95
+ }
96
+ declare function UserNameEditableCell({ firstName: initialFirstName, lastName: initialLastName, rowId, endpoint, onSuccess, }: UserNameEditableCellProps): react_jsx_runtime.JSX.Element;
97
+
98
+ declare global {
99
+ interface Window {
100
+ clarity?: (...args: unknown[]) => void;
101
+ }
102
+ }
103
+ interface ClarityAnalyticsProps {
104
+ /**
105
+ * Microsoft Clarity project ID.
106
+ * Get your project ID from https://clarity.microsoft.com/
107
+ */
108
+ projectId?: string;
109
+ /**
110
+ * Whether the Clarity script should load.
111
+ * @default true
112
+ */
113
+ enabled?: boolean;
114
+ }
115
+ /**
116
+ * Microsoft Clarity Analytics Component
117
+ *
118
+ * Loads the Microsoft Clarity script for user behavior analytics including:
119
+ * - Session recordings
120
+ * - Heatmaps
121
+ * - User interaction insights
122
+ *
123
+ * @example
124
+ * ```tsx
125
+ * // In your root layout
126
+ * import { ClarityAnalytics } from "@caffeinebounce/ui";
127
+ *
128
+ * <ClarityAnalytics projectId={process.env.NEXT_PUBLIC_CLARITY_PROJECT_ID} />
129
+ * ```
130
+ */
131
+ declare function ClarityAnalytics({ projectId, enabled, }: ClarityAnalyticsProps): null;
132
+
133
+ declare global {
134
+ interface Window {
135
+ gtag?: (...args: unknown[]) => void;
136
+ dataLayer?: unknown[];
137
+ }
138
+ }
139
+ interface GoogleAnalyticsProps {
140
+ /**
141
+ * Google Analytics (GA4) measurement ID.
142
+ * Get your measurement ID from https://analytics.google.com/
143
+ */
144
+ measurementId?: string;
145
+ }
146
+ /**
147
+ * Google Analytics (GA4) Component
148
+ *
149
+ * Loads the Google Analytics gtag.js script for web analytics including:
150
+ * - Page views
151
+ * - User engagement metrics
152
+ * - Conversion tracking
153
+ * - Custom events
154
+ *
155
+ * @example
156
+ * ```tsx
157
+ * // In your root layout
158
+ * import { GoogleAnalytics } from "@caffeinebounce/ui";
159
+ *
160
+ * <GoogleAnalytics measurementId={process.env.NEXT_PUBLIC_GA_MEASUREMENT_ID} />
161
+ * ```
162
+ */
163
+ declare function GoogleAnalytics({ measurementId }: GoogleAnalyticsProps): null;
164
+
165
+ declare global {
166
+ interface Window {
167
+ dataLayer?: unknown[];
168
+ }
169
+ }
170
+ interface GoogleTagManagerProps {
171
+ /**
172
+ * Google Tag Manager container ID.
173
+ * @example "GTM-XXXXXXX"
174
+ */
175
+ containerId?: string;
176
+ /**
177
+ * Whether the GTM script should load.
178
+ * @default true
179
+ */
180
+ enabled?: boolean;
181
+ /**
182
+ * Data layer name.
183
+ * @default "dataLayer"
184
+ */
185
+ dataLayerName?: string;
186
+ }
187
+ /**
188
+ * Google Tag Manager component for controlled marketing tag orchestration.
189
+ */
190
+ declare function GoogleTagManager({ containerId, dataLayerName, enabled, }: GoogleTagManagerProps): react_jsx_runtime.JSX.Element | null;
191
+
192
+ /**
193
+ * MFA factor type definition
194
+ */
195
+ interface MFAFactor {
196
+ /** Unique identifier for the factor */
197
+ id: string;
198
+ /** Type of MFA factor */
199
+ type: "totp" | "phone" | "email";
200
+ /** User-friendly name for the factor */
201
+ friendlyName?: string;
202
+ /** Phone number (for phone type) */
203
+ phone?: string;
204
+ /** Email address (for email type) */
205
+ email?: string;
206
+ }
207
+ /**
208
+ * Props for the MFAChallenge component
209
+ */
210
+ interface MFAChallengeProps {
211
+ /** Available MFA factors */
212
+ factors: MFAFactor[];
213
+ /** Callback when verification is submitted */
214
+ onVerify: (factorId: string, code: string) => Promise<void>;
215
+ /** Optional callback when cancel is clicked */
216
+ onCancel?: () => void;
217
+ /** Optional callback to resend verification code */
218
+ onResend?: (factorId: string) => Promise<void>;
219
+ /** Optional callback when user needs recovery (lost access to 2FA device) */
220
+ onRecovery?: () => void;
221
+ /** Loading state */
222
+ loading?: boolean;
223
+ /** Error message to display */
224
+ error?: string;
225
+ /** Optional className for styling */
226
+ className?: string;
227
+ }
228
+ /**
229
+ * MFAChallenge - A reusable multi-factor authentication challenge component
230
+ *
231
+ * Supports multiple factor types (TOTP, phone, email) with factor selection,
232
+ * verification code input, and resend functionality. Works with any MFA provider
233
+ * through callback-based API.
234
+ *
235
+ * @example
236
+ * ```tsx
237
+ * <MFAChallenge
238
+ * factors={[
239
+ * { id: '1', type: 'totp', friendlyName: 'Authenticator App' },
240
+ * { id: '2', type: 'phone', phone: '+1234567890' }
241
+ * ]}
242
+ * onVerify={async (factorId, code) => {
243
+ * await verifyMFA(factorId, code);
244
+ * }}
245
+ * onResend={async (factorId) => {
246
+ * await sendNewCode(factorId);
247
+ * }}
248
+ * onCancel={() => router.push('/login')}
249
+ * />
250
+ * ```
251
+ */
252
+ declare function MFAChallenge({ factors, onVerify, onCancel, onResend, onRecovery, loading, error, className, }: MFAChallengeProps): react_jsx_runtime.JSX.Element | null;
253
+
254
+ /**
255
+ * Recovery method type
256
+ */
257
+ type RecoveryMethod = "backup_code" | "magic_link";
258
+ /**
259
+ * Device info for verification
260
+ */
261
+ interface DeviceInfo {
262
+ browser?: string;
263
+ os?: string;
264
+ city?: string;
265
+ region?: string;
266
+ country?: string;
267
+ latitude?: number;
268
+ longitude?: number;
269
+ }
270
+ /**
271
+ * Props for the MFARecovery component
272
+ */
273
+ interface MFARecoveryProps {
274
+ /** Callback when backup code verification is submitted */
275
+ onVerifyBackupCode?: (code: string) => Promise<void>;
276
+ /** Callback to request magic link */
277
+ onRequestMagicLink?: () => Promise<void>;
278
+ /** Callback when user wants to go back to MFA challenge */
279
+ onBack?: () => void;
280
+ /** Callback when cancel is clicked */
281
+ onCancel?: () => void;
282
+ /** Device info for verification display */
283
+ deviceInfo?: DeviceInfo;
284
+ /** Loading state */
285
+ loading?: boolean;
286
+ /** Error message to display */
287
+ error?: string;
288
+ /** Optional className for styling */
289
+ className?: string;
290
+ }
291
+ /**
292
+ * MFARecovery - Multi-factor authentication recovery component
293
+ *
294
+ * Handles account recovery when users lose access to their 2FA device.
295
+ * Supports backup codes and magic link fallback.
296
+ *
297
+ * @example
298
+ * ```tsx
299
+ * <MFARecovery
300
+ * onVerifyBackupCode={async (code) => {
301
+ * await verifyRecoveryCode(code);
302
+ * }}
303
+ * onRequestMagicLink={async () => {
304
+ * await sendRecoveryLink();
305
+ * }}
306
+ * onBack={() => router.push('/mfa-challenge')}
307
+ * deviceInfo={{
308
+ * browser: 'Chrome',
309
+ * os: 'Windows',
310
+ * city: 'Lisbon',
311
+ * country: 'Portugal'
312
+ * }}
313
+ * />
314
+ * ```
315
+ */
316
+ declare function MFARecovery({ onVerifyBackupCode, onRequestMagicLink, onBack, onCancel, deviceInfo, loading, error, className, }: MFARecoveryProps): react_jsx_runtime.JSX.Element;
317
+
318
+ interface SignOutButtonProps extends Omit<ComponentProps<typeof Button>, "onClick"> {
319
+ /** Handler called when sign out is clicked */
320
+ onSignOut: () => void | Promise<void>;
321
+ /** Button text */
322
+ children?: React.ReactNode;
323
+ }
324
+ /**
325
+ * Sign out button component.
326
+ * Accepts an onSignOut handler for app-specific auth implementation.
327
+ *
328
+ * @example
329
+ * ```tsx
330
+ * <SignOutButton
331
+ * onSignOut={async () => {
332
+ * await supabase.auth.signOut();
333
+ * router.push("/");
334
+ * }}
335
+ * />
336
+ * ```
337
+ */
338
+ declare function SignOutButton({ onSignOut, children, variant, ...props }: SignOutButtonProps): react_jsx_runtime.JSX.Element;
339
+
340
+ declare const cohortCardVariants: (props?: ({
341
+ variant?: "default" | "success" | "accent" | "warning" | null | undefined;
342
+ size?: "default" | "sm" | "lg" | null | undefined;
343
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
344
+ type CohortEligibility = "eligible" | "not-eligible" | "pending" | "applied";
345
+ interface CohortCardProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof cohortCardVariants> {
346
+ /** Name of the cohort */
347
+ name: string;
348
+ /** Type/category of the cohort */
349
+ type: string;
350
+ /** Optional tagline (short summary, max 150 chars) */
351
+ tagline?: string;
352
+ /** Eligibility status */
353
+ eligibility?: CohortEligibility;
354
+ /** Optional background image URL */
355
+ backgroundImage?: string;
356
+ /** Optional background gradient overlay */
357
+ showGradientOverlay?: boolean;
358
+ /** Application deadline */
359
+ deadline?: string;
360
+ /** Number of spots available */
361
+ spotsAvailable?: number;
362
+ }
363
+ /**
364
+ * CohortCard - Aesthetic card component for displaying cohort information
365
+ *
366
+ * Features:
367
+ * - Gradient backgrounds with hover effects
368
+ * - Optional background images
369
+ * - Eligibility status badge
370
+ * - Cohort type badge
371
+ * - Deadline and spots available info
372
+ *
373
+ * @example
374
+ * ```tsx
375
+ * <CohortCard
376
+ * name="Accelerator Cohort 2024"
377
+ * type="Accelerator"
378
+ * eligibility="eligible"
379
+ * tagline="Join our flagship accelerator program"
380
+ * deadline="March 15, 2024"
381
+ * spotsAvailable={20}
382
+ * />
383
+ * ```
384
+ */
385
+ declare function CohortCard({ name, type, tagline, eligibility, backgroundImage, showGradientOverlay, deadline, spotsAvailable, variant, size, className, ...props }: CohortCardProps): react_jsx_runtime.JSX.Element;
386
+
387
+ /**
388
+ * Props for the BackgroundRippleEffect component
389
+ */
390
+ interface BackgroundRippleEffectProps {
391
+ /** Number of rows in the grid */
392
+ rows?: number;
393
+ /** Number of columns in the grid. If omitted, auto-calculates to fill viewport width. */
394
+ cols?: number;
395
+ /** Size of each cell in pixels */
396
+ cellSize?: number;
397
+ /** Additional className for the container */
398
+ className?: string;
399
+ /** Whether to apply the radial mask (fades out edges). Default: true */
400
+ mask?: boolean;
401
+ }
402
+ /**
403
+ * An interactive grid background with ripple animation on click.
404
+ * Creates a visual effect where cells animate outward from the click point.
405
+ *
406
+ * @example
407
+ * ```tsx
408
+ * <div className="relative h-96">
409
+ * <BackgroundRippleEffect rows={8} cols={20} />
410
+ * <div className="relative z-10">Content on top</div>
411
+ * </div>
412
+ * ```
413
+ */
414
+ declare function BackgroundRippleEffect({ rows, // No default - undefined means "auto-calculate based on viewport"
415
+ cols, // No default - undefined means "auto-calculate based on viewport"
416
+ cellSize, className, mask, }: BackgroundRippleEffectProps): react_jsx_runtime.JSX.Element;
417
+
418
+ interface RollingBackgroundProps {
419
+ /** Primary accent color. Default: "#FF4628" */
420
+ accentColor?: string;
421
+ /** Muted accent color for decorative circle. Default: "#D9563F" */
422
+ mutedAccentColor?: string;
423
+ /** Logo element to display after animation completes */
424
+ logo?: ReactNode;
425
+ /** Additional className */
426
+ className?: string;
427
+ }
428
+ /**
429
+ * RollingBackground - Animated background for the "rolling" auth variant.
430
+ *
431
+ * Animation sequence:
432
+ * 1. Orange dot enters from left edge at ~15% from top
433
+ * 2. Dot moves rightward with subtle bounce oscillation
434
+ * 3. Orange line trails behind, drawing left-to-right
435
+ * 4. Dot settles ~40px from right edge
436
+ * 5. Large decorative circle fades in at bottom-right
437
+ * 6. Logo watermark fades in at bottom-left
438
+ */
439
+ declare function RollingBackground({ accentColor, mutedAccentColor, logo, className, }: RollingBackgroundProps): react_jsx_runtime.JSX.Element;
440
+
441
+ /**
442
+ * Data structure for feedback submission
443
+ */
444
+ interface FeedbackSubmission {
445
+ /** The user's feedback text */
446
+ feedback: string;
447
+ /** Current page path */
448
+ page: string;
449
+ /** Base64 encoded screenshot (JPEG) or null if capture failed/disabled */
450
+ screenshot: string | null;
451
+ /** Viewport dimensions at time of submission */
452
+ viewport: {
453
+ width: number;
454
+ height: number;
455
+ };
456
+ /** Browser user agent string */
457
+ userAgent: string;
458
+ /** Session errors captured during the session, or null if none/disabled */
459
+ sessionErrors: SessionError[] | null;
460
+ /** User information if provided */
461
+ user?: {
462
+ email: string;
463
+ };
464
+ /** ISO timestamp of submission */
465
+ timestamp: string;
466
+ }
467
+ interface FeedbackDialogProps {
468
+ /** Whether the dialog is open */
469
+ open: boolean;
470
+ /** Callback when dialog open state changes */
471
+ onOpenChange: (open: boolean) => void;
472
+ /** Callback when feedback is submitted with full submission data */
473
+ onSubmit: (data: FeedbackSubmission) => Promise<void>;
474
+ /** Optional user information to include with feedback */
475
+ user?: {
476
+ email: string;
477
+ };
478
+ /** Current page path (optional, will be passed to onSubmit) */
479
+ currentPath?: string;
480
+ /** Whether to capture a screenshot when dialog opens (default: true) */
481
+ captureScreenshot?: boolean;
482
+ /** Whether to include session errors in submission (default: true) */
483
+ includeSessionErrors?: boolean;
484
+ /** Callback on successful submission (after onSubmit resolves) */
485
+ onSuccess?: () => void;
486
+ /** Callback on submission error */
487
+ onError?: (error: Error) => void;
488
+ /** Session storage key for errors (default: "session_errors") */
489
+ sessionErrorsStorageKey?: string;
490
+ }
491
+ /**
492
+ * FeedbackDialog - A full-featured feedback dialog with screenshot capture
493
+ *
494
+ * Features:
495
+ * - Automatic screenshot capture when dialog opens (using html2canvas-pro)
496
+ * - Session error tracking (captures window errors and unhandled rejections)
497
+ * - Viewport and user agent information
498
+ * - Configurable callbacks for submission, success, and error handling
499
+ *
500
+ * @example
501
+ * ```tsx
502
+ * const [open, setOpen] = useState(false);
503
+ *
504
+ * <FeedbackDialog
505
+ * open={open}
506
+ * onOpenChange={setOpen}
507
+ * onSubmit={async (data) => {
508
+ * await fetch('/api/feedback', {
509
+ * method: 'POST',
510
+ * headers: { 'Content-Type': 'application/json' },
511
+ * body: JSON.stringify(data),
512
+ * });
513
+ * }}
514
+ * user={{ email: user?.email }}
515
+ * currentPath={pathname}
516
+ * onSuccess={() => toast.success('Feedback submitted')}
517
+ * onError={(err) => toast.error(err.message)}
518
+ * />
519
+ * ```
520
+ */
521
+ declare function FeedbackDialog({ open, onOpenChange, onSubmit, user, currentPath, captureScreenshot, includeSessionErrors, onSuccess, onError, sessionErrorsStorageKey, }: FeedbackDialogProps): react_jsx_runtime.JSX.Element;
522
+
523
+ interface FeedbackButtonProps {
524
+ /** Callback when feedback is submitted */
525
+ onSubmit: (data: FeedbackSubmission) => Promise<void>;
526
+ /** Keyboard shortcut key to open dialog (default: "f") */
527
+ keyboardShortcut?: string;
528
+ /** Whether to show the keyboard shortcut hint (default: true) */
529
+ showKeyboardHint?: boolean;
530
+ /** Button text (default: "Feedback") */
531
+ buttonText?: string;
532
+ /** Button variant (default: "ghost") */
533
+ buttonVariant?: ButtonProps["variant"];
534
+ /** Button size (default: "sm") */
535
+ buttonSize?: ButtonProps["size"];
536
+ /** Additional className for the button */
537
+ buttonClassName?: string;
538
+ /** User information to include with feedback */
539
+ user?: {
540
+ email: string;
541
+ };
542
+ /** Current page path */
543
+ currentPath?: string;
544
+ /** Whether to capture screenshots (default: true) */
545
+ captureScreenshot?: boolean;
546
+ /** Whether to include session errors (default: true) */
547
+ includeSessionErrors?: boolean;
548
+ /** Session storage key for errors */
549
+ sessionErrorsStorageKey?: string;
550
+ /** Callback on successful submission */
551
+ onSuccess?: () => void;
552
+ /** Callback on submission error */
553
+ onError?: (error: Error) => void;
554
+ /** Optional component for displaying keyboard shortcut (e.g., Kbd) */
555
+ ShortcutComponent?: ComponentType<{
556
+ className?: string;
557
+ children: ReactNode;
558
+ }>;
559
+ /** Whether keyboard shortcuts are visible based on user preference */
560
+ shortcutsVisible?: boolean;
561
+ /** Custom icon (default: MessageSquare) */
562
+ icon?: ReactNode;
563
+ /** Use pill/rounded-full styling (default: false) */
564
+ pillStyle?: boolean;
565
+ }
566
+ /**
567
+ * FeedbackButton - A button that opens the FeedbackDialog with keyboard shortcut support
568
+ *
569
+ * Features:
570
+ * - Configurable keyboard shortcut (default: F key)
571
+ * - Optional keyboard hint display
572
+ * - Customizable styling including pill variant
573
+ * - All FeedbackDialog features (screenshot capture, session errors, etc.)
574
+ *
575
+ * @example
576
+ * ```tsx
577
+ * // Basic usage
578
+ * <FeedbackButton
579
+ * onSubmit={async (data) => {
580
+ * await fetch('/api/feedback', { method: 'POST', body: JSON.stringify(data) });
581
+ * }}
582
+ * user={{ email: user?.email }}
583
+ * currentPath={pathname}
584
+ * />
585
+ *
586
+ * // With keyboard shortcut display
587
+ * import { Kbd } from "@caffeinebounce/ui";
588
+ *
589
+ * <FeedbackButton
590
+ * onSubmit={handleSubmit}
591
+ * ShortcutComponent={Kbd}
592
+ * shortcutsVisible={showShortcuts}
593
+ * onSuccess={() => toast.success('Feedback submitted')}
594
+ * onError={(err) => toast.error(err.message)}
595
+ * />
596
+ *
597
+ * // Pill style variant
598
+ * <FeedbackButton
599
+ * onSubmit={handleSubmit}
600
+ * pillStyle
601
+ * buttonClassName="border border-border hover:bg-transparent hover:text-foreground text-muted-foreground"
602
+ * />
603
+ * ```
604
+ */
605
+ declare function FeedbackButton({ onSubmit, keyboardShortcut, showKeyboardHint, buttonText, buttonVariant, buttonSize, buttonClassName, user, currentPath, captureScreenshot, includeSessionErrors, sessionErrorsStorageKey, onSuccess, onError, ShortcutComponent, shortcutsVisible, icon, pillStyle, }: FeedbackButtonProps): react_jsx_runtime.JSX.Element;
606
+
607
+ declare function Kbd({ className, ...props }: React$1.ComponentProps<"kbd">): react_jsx_runtime.JSX.Element;
608
+ declare function KbdGroup({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
609
+
610
+ interface KeyboardShortcutProps extends ComponentProps<typeof Kbd> {
611
+ /** Whether shortcuts are visible (respects user preference) */
612
+ visible?: boolean;
613
+ /** Force show regardless of visibility setting */
614
+ forceShow?: boolean;
615
+ }
616
+ /**
617
+ * Keyboard shortcut indicator that can respect user accessibility preferences.
618
+ * Use `visible` prop to control based on user settings, or `forceShow` to always display.
619
+ */
620
+ declare function KeyboardShortcut({ visible, forceShow, ...props }: KeyboardShortcutProps): react_jsx_runtime.JSX.Element | null;
621
+
622
+ /**
623
+ * Props for the ContactInfo component
624
+ */
625
+ interface ContactInfoProps {
626
+ /** Organization name */
627
+ organizationName: string;
628
+ /** Contact email address */
629
+ email: string;
630
+ /** Website URL */
631
+ website?: string;
632
+ /** Additional className */
633
+ className?: string;
634
+ }
635
+ /**
636
+ * A styled contact information card for legal pages.
637
+ * Displays organization name, email, and optional website with icons.
638
+ *
639
+ * @example
640
+ * ```tsx
641
+ * <ContactInfo
642
+ * organizationName="The Capital Collective"
643
+ * email="privacy@thecapitalcollective.org"
644
+ * website="https://thecapitalcollective.org"
645
+ * />
646
+ * ```
647
+ */
648
+ declare function ContactInfo({ organizationName, email, website, className, }: ContactInfoProps): react_jsx_runtime.JSX.Element;
649
+
650
+ interface DisclosureItem {
651
+ /** Anchor id for deep-linking from deal pages */
652
+ id: string;
653
+ /** Short label — e.g. "1", "2", "†" */
654
+ label?: string;
655
+ /** The disclosure copy */
656
+ text: string;
657
+ /** Opt-in hide — defaults to false (shown). Set true to suppress this item. */
658
+ hidden?: boolean;
659
+ }
660
+ interface DisclosureFootnotesProps {
661
+ disclosures: DisclosureItem[];
662
+ /** "compact" collapses to first 3 on mobile with a "Show all" toggle. "full" shows everything. Default: "compact" */
663
+ variant?: "compact" | "full";
664
+ /** "tray" renders a collapsed disclosure tray on mobile and uses inline disclosures from sm+ upward. Default: "inline" */
665
+ mobileBehavior?: "inline" | "tray";
666
+ className?: string;
667
+ }
668
+ declare function DisclosureFootnotes({ disclosures, variant, mobileBehavior, className, }: DisclosureFootnotesProps): react_jsx_runtime.JSX.Element | null;
669
+
670
+ type ThemeMode = "light" | "dark";
671
+ /**
672
+ * Hook to get the current theme.
673
+ * Uses next-themes under the hood.
674
+ */
675
+ declare function useTheme(): ThemeMode;
676
+ interface ShortcutDefinition {
677
+ /** Key to press (case-sensitive for letters) */
678
+ key: string;
679
+ /** Require Ctrl/Cmd key */
680
+ ctrl?: boolean;
681
+ /** Require Shift key */
682
+ shift?: boolean;
683
+ /** Require Alt/Option key */
684
+ alt?: boolean;
685
+ /** Require Meta/Cmd key (Mac) */
686
+ meta?: boolean;
687
+ }
688
+ interface ThemeToggleProps {
689
+ /** Whether to include a system theme option in the toggle cycle */
690
+ includeSystem?: boolean;
691
+ /** Keyboard shortcut definition */
692
+ shortcut?: ShortcutDefinition;
693
+ /** Display string for the keyboard shortcut (e.g., "⌃⇧L") */
694
+ shortcutDisplay?: string;
695
+ /** Whether to show the keyboard shortcut in tooltip (default: true, can be overridden by shortcutsVisible) */
696
+ showShortcut?: boolean;
697
+ /** Whether shortcuts are visible based on user preference (overrides showShortcut when provided) */
698
+ shortcutsVisible?: boolean;
699
+ /** Custom tooltip content (overrides default) */
700
+ tooltip?: ReactNode;
701
+ /** Class name for styling */
702
+ className?: string;
703
+ }
704
+ /**
705
+ * Theme toggle component with light/dark switching, plus optional system mode.
706
+ * Uses next-themes for persistence and DOM updates.
707
+ */
708
+ declare function ThemeToggle({ includeSystem, shortcut, shortcutDisplay, showShortcut, shortcutsVisible, tooltip, className, }: ThemeToggleProps): react_jsx_runtime.JSX.Element;
709
+
710
+ interface HelpArticle {
711
+ slug: string;
712
+ title: string;
713
+ description: string;
714
+ category: string;
715
+ subcategory?: string;
716
+ tags?: string[];
717
+ [key: string]: unknown;
718
+ }
719
+ interface HelpSearchResult {
720
+ slug: string;
721
+ title: string;
722
+ description: string;
723
+ category: string;
724
+ subcategory?: string;
725
+ tags?: string[];
726
+ [key: string]: unknown;
727
+ }
728
+ interface HelpContextValue {
729
+ /** Whether the help panel is open */
730
+ isOpen: boolean;
731
+ /** Open the help panel */
732
+ openHelp: (articleSlug?: string) => void;
733
+ /** Close the help panel */
734
+ closeHelp: () => void;
735
+ /** Toggle the help panel */
736
+ toggleHelp: () => void;
737
+ /** Currently displayed article */
738
+ activeArticle: HelpArticle | null;
739
+ /** Set the active article by slug */
740
+ setActiveArticle: (slug: string | null) => void;
741
+ /** Current help context (e.g. admin or user) */
742
+ helpContext: string;
743
+ /** Search query */
744
+ searchQuery: string;
745
+ /** Set search query */
746
+ setSearchQuery: (query: string) => void;
747
+ /** Perform a search and open the panel */
748
+ performSearch: (query: string) => void;
749
+ /** Search results */
750
+ searchResults: HelpSearchResult[];
751
+ /** Open help for a specific feature */
752
+ openFeatureHelp: (featureKey: string) => void;
753
+ /** Navigate to an article */
754
+ navigateToArticle: (slug: string) => void;
755
+ /** Go back in history */
756
+ goBack: () => void;
757
+ /** Navigation history */
758
+ history: string[];
759
+ /** Can go back */
760
+ canGoBack: boolean;
761
+ }
762
+ interface HelpProviderProps {
763
+ children: ReactNode;
764
+ /** Function to get an article by slug */
765
+ getArticle: (slug: string) => HelpArticle | null;
766
+ /** Function to search articles */
767
+ searchArticles: (query: string) => HelpSearchResult[];
768
+ /** Function to get help article slug for a feature key */
769
+ getArticleForFeature: (featureKey: string) => string | null;
770
+ /** Function to get help article slug for a route */
771
+ getArticleForRoute: (pathname: string) => string | null;
772
+ /** Function to get help context for a route */
773
+ getContextForRoute: (pathname: string) => string;
774
+ /** Current pathname (pass from usePathname in app) */
775
+ pathname: string;
776
+ /** Whether this is the admin help context (overrides route context) */
777
+ isAdmin?: boolean;
778
+ }
779
+ declare function HelpProvider({ children, getArticle, searchArticles, getArticleForFeature, getArticleForRoute, getContextForRoute, pathname, isAdmin, }: HelpProviderProps): react_jsx_runtime.JSX.Element;
780
+ declare function useHelp(): HelpContextValue;
781
+
782
+ interface HelpArticleGroup {
783
+ title: string;
784
+ icon?: ReactNode;
785
+ articles: HelpArticle[];
786
+ }
787
+ interface HelpArticleIndexProps {
788
+ groups: HelpArticleGroup[];
789
+ onSelect: (slug: string) => void;
790
+ }
791
+ declare function HelpArticleIndex({ groups, onSelect }: HelpArticleIndexProps): react_jsx_runtime.JSX.Element;
792
+
793
+ interface HelpArticleViewProps {
794
+ article: HelpArticle;
795
+ onNavigate: (slug: string) => void;
796
+ onBackToIndex: () => void;
797
+ relatedArticles?: HelpArticle[];
798
+ isLoading?: boolean;
799
+ children?: ReactNode;
800
+ }
801
+ declare function HelpArticleView({ article, onNavigate, onBackToIndex, relatedArticles, isLoading, children, }: HelpArticleViewProps): react_jsx_runtime.JSX.Element;
802
+
803
+ interface HelpButtonProps {
804
+ /** Optional feature key to show specific help */
805
+ featureKey?: string;
806
+ /** Button variant */
807
+ variant?: "default" | "ghost" | "outline";
808
+ /** Button size */
809
+ size?: "default" | "sm" | "lg" | "icon";
810
+ /** Additional class name */
811
+ className?: string;
812
+ /** Custom label */
813
+ label?: string;
814
+ /** Show label or just icon */
815
+ showLabel?: boolean;
816
+ }
817
+ /**
818
+ * Help button component that opens the help panel.
819
+ *
820
+ * Can be used standalone or with a specific feature key to show
821
+ * contextual help for a specific feature.
822
+ */
823
+ declare function HelpButton({ featureKey, variant, size, className, label, showLabel, }: HelpButtonProps): react_jsx_runtime.JSX.Element;
824
+
825
+ interface HelpSearchResultsProps {
826
+ results: HelpSearchResult[];
827
+ query: string;
828
+ onSelect: (slug: string) => void;
829
+ categoryIcons?: Record<string, ComponentType<{
830
+ className?: string;
831
+ }>>;
832
+ }
833
+ declare function HelpSearchResults({ results, query, onSelect, categoryIcons, }: HelpSearchResultsProps): react_jsx_runtime.JSX.Element;
834
+
835
+ interface HelpTooltipProps {
836
+ /** Content to display in the tooltip */
837
+ content: string;
838
+ /** Optional feature key to link to more help */
839
+ featureKey?: string;
840
+ /** Size of the help icon */
841
+ size?: "sm" | "md";
842
+ /** Additional class name */
843
+ className?: string;
844
+ }
845
+ /**
846
+ * Inline help tooltip that shows a small "?" icon with hover content.
847
+ */
848
+ declare function HelpTooltip({ content, featureKey, size, className, }: HelpTooltipProps): react_jsx_runtime.JSX.Element;
849
+
850
+ interface AutocompleteOption {
851
+ /** Unique identifier for the option */
852
+ value: string;
853
+ /** Display label */
854
+ label: string;
855
+ /** Optional description shown below the label */
856
+ description?: string;
857
+ /** Whether this option is disabled */
858
+ disabled?: boolean;
859
+ }
860
+ interface AutocompleteProps {
861
+ /** Array of options to display */
862
+ options: AutocompleteOption[];
863
+ /** Currently selected value */
864
+ value?: string;
865
+ /** Callback when selection changes */
866
+ onValueChange?: (value: string) => void;
867
+ /** Placeholder text when no selection */
868
+ placeholder?: string;
869
+ /** Text to show when no options match the search */
870
+ emptyText?: string;
871
+ /** Whether the autocomplete is disabled */
872
+ disabled?: boolean;
873
+ /** Whether to allow creating new options */
874
+ allowCreate?: boolean;
875
+ /** Label for the create new option (e.g., "Create new type") */
876
+ createLabel?: string;
877
+ /** Callback when user wants to create a new option */
878
+ onCreateNew?: (searchValue: string) => void;
879
+ /** Callback when user wants to edit the selected option */
880
+ onEditSelected?: (option: AutocompleteOption) => void;
881
+ /** Whether the autocomplete is in a loading state */
882
+ loading?: boolean;
883
+ /** Additional class name for the input */
884
+ className?: string;
885
+ /** Error state */
886
+ error?: boolean;
887
+ /** ARIA label for accessibility */
888
+ "aria-label"?: string;
889
+ /** Input id */
890
+ id?: string;
891
+ /** Input name */
892
+ name?: string;
893
+ }
894
+ /**
895
+ * An autocomplete input component that shows suggestions as you type,
896
+ * with optional create-new functionality embedded in the dropdown.
897
+ *
898
+ * @example
899
+ * ```tsx
900
+ * <Autocomplete
901
+ * options={[
902
+ * { value: "1", label: "Option 1" },
903
+ * { value: "2", label: "Option 2", description: "With description" }
904
+ * ]}
905
+ * value={selected}
906
+ * onValueChange={setSelected}
907
+ * placeholder="Type to search..."
908
+ * allowCreate
909
+ * onCreateNew={(searchValue) => openCreateDialog(searchValue)}
910
+ * />
911
+ * ```
912
+ */
913
+ declare function Autocomplete({ options, value, onValueChange, placeholder, emptyText, disabled, allowCreate, createLabel, onCreateNew, onEditSelected, loading, className, error, "aria-label": ariaLabel, id, name, }: AutocompleteProps): react_jsx_runtime.JSX.Element;
914
+
915
+ /**
916
+ * Avatar - User profile image with fallback support
917
+ *
918
+ * @example
919
+ * <Avatar>
920
+ * <AvatarImage src="/profile.jpg" alt="User" />
921
+ * <AvatarFallback>JD</AvatarFallback>
922
+ * </Avatar>
923
+ */
924
+ declare function Avatar({ className, ...props }: React$1.ComponentProps<typeof AvatarPrimitive.Root>): react_jsx_runtime.JSX.Element;
925
+ /**
926
+ * AvatarImage - Image element for avatar
927
+ */
928
+ declare function AvatarImage({ className, ...props }: React$1.ComponentProps<typeof AvatarPrimitive.Image>): react_jsx_runtime.JSX.Element;
929
+ /**
930
+ * AvatarFallback - Fallback content when image fails to load (typically initials)
931
+ */
932
+ declare function AvatarFallback({ className, ...props }: React$1.ComponentProps<typeof AvatarPrimitive.Fallback>): react_jsx_runtime.JSX.Element;
933
+
934
+ interface BackLinkProps extends React$1.AnchorHTMLAttributes<HTMLAnchorElement> {
935
+ /** URL to navigate back to */
936
+ href: string;
937
+ /** Label text (defaults to "Back") */
938
+ children?: React$1.ReactNode;
939
+ }
940
+ /**
941
+ * BackLink - Simple back navigation link with arrow icon
942
+ *
943
+ * @example
944
+ * ```tsx
945
+ * <BackLink href="/cohorts">Back to Cohorts</BackLink>
946
+ * ```
947
+ */
948
+ declare const BackLink: React$1.ForwardRefExoticComponent<BackLinkProps & React$1.RefAttributes<HTMLAnchorElement>>;
949
+
950
+ interface ButtonGroupProps extends React$1.ComponentProps<"div"> {
951
+ orientation?: "horizontal" | "vertical";
952
+ }
953
+ /**
954
+ * ButtonGroup - Group of related buttons with connected appearance
955
+ *
956
+ * @example
957
+ * <ButtonGroup>
958
+ * <Button>Left</Button>
959
+ * <Button>Middle</Button>
960
+ * <Button>Right</Button>
961
+ * </ButtonGroup>
962
+ *
963
+ * @example
964
+ * // Vertical orientation
965
+ * <ButtonGroup orientation="vertical">
966
+ * <Button>Top</Button>
967
+ * <Button>Bottom</Button>
968
+ * </ButtonGroup>
969
+ */
970
+ declare function ButtonGroup({ className, orientation, ...props }: ButtonGroupProps): react_jsx_runtime.JSX.Element;
971
+ /**
972
+ * ButtonGroupSeparator - Visual divider between button groups
973
+ */
974
+ declare function ButtonGroupSeparator({ className, orientation, ...props }: React$1.ComponentProps<"hr"> & {
975
+ orientation?: "horizontal" | "vertical";
976
+ }): react_jsx_runtime.JSX.Element;
977
+ /**
978
+ * ButtonGroupText - Text label within a button group
979
+ */
980
+ declare function ButtonGroupText({ className, asChild, children, ...props }: React$1.ComponentProps<"span"> & {
981
+ asChild?: boolean;
982
+ }): react_jsx_runtime.JSX.Element;
983
+
984
+ type CalendarProps = React$1.ComponentProps<typeof DayPicker> & {
985
+ /** Enable dropdowns for quick month/year navigation */
986
+ captionLayout?: "label" | "dropdown" | "dropdown-months" | "dropdown-years";
987
+ };
988
+ /**
989
+ * A calendar component built on react-day-picker.
990
+ * Supports single date, multiple dates, and date range selection.
991
+ * Use captionLayout="dropdown" for clickable month/year navigation.
992
+ */
993
+ declare function Calendar({ className, classNames, showOutsideDays, captionLayout, ...props }: CalendarProps): react_jsx_runtime.JSX.Element;
994
+ declare namespace Calendar {
995
+ var displayName: string;
996
+ }
997
+
998
+ interface HoverEffectItem {
999
+ /** Card title */
1000
+ title: string;
1001
+ /** Card description */
1002
+ description: string;
1003
+ /** Optional link URL - if provided, card becomes a link */
1004
+ link?: string;
1005
+ }
1006
+ interface HoverEffectProps {
1007
+ /** Items to display in the grid */
1008
+ items: HoverEffectItem[];
1009
+ /** Additional className for the container */
1010
+ className?: string;
1011
+ }
1012
+ /**
1013
+ * HoverEffect - A grid of cards with an animated hover highlight effect.
1014
+ *
1015
+ * The highlight smoothly slides to whichever card is currently hovered,
1016
+ * creating a fluid, interactive experience.
1017
+ *
1018
+ * @example
1019
+ * ```tsx
1020
+ * <HoverEffect
1021
+ * items={[
1022
+ * { title: "Feature 1", description: "Description of feature 1", link: "/feature-1" },
1023
+ * { title: "Feature 2", description: "Description of feature 2", link: "/feature-2" },
1024
+ * ]}
1025
+ * />
1026
+ * ```
1027
+ */
1028
+ declare function HoverEffect({ items, className }: HoverEffectProps): react_jsx_runtime.JSX.Element;
1029
+ interface HoverEffectCardProps {
1030
+ /** Additional className */
1031
+ className?: string;
1032
+ /** Card content */
1033
+ children: React$1.ReactNode;
1034
+ }
1035
+ /**
1036
+ * HoverEffectCard - The card container for HoverEffect items
1037
+ */
1038
+ declare function HoverEffectCard({ className, children }: HoverEffectCardProps): react_jsx_runtime.JSX.Element;
1039
+ interface HoverEffectCardTitleProps {
1040
+ /** Additional className */
1041
+ className?: string;
1042
+ /** Title content */
1043
+ children: React$1.ReactNode;
1044
+ }
1045
+ /**
1046
+ * HoverEffectCardTitle - Title component for HoverEffect cards
1047
+ */
1048
+ declare function HoverEffectCardTitle({ className, children, }: HoverEffectCardTitleProps): react_jsx_runtime.JSX.Element;
1049
+ interface HoverEffectCardDescriptionProps {
1050
+ /** Additional className */
1051
+ className?: string;
1052
+ /** Description content */
1053
+ children: React$1.ReactNode;
1054
+ }
1055
+ /**
1056
+ * HoverEffectCardDescription - Description component for HoverEffect cards
1057
+ */
1058
+ declare function HoverEffectCardDescription({ className, children, }: HoverEffectCardDescriptionProps): react_jsx_runtime.JSX.Element;
1059
+
1060
+ /**
1061
+ * Collapsible - Expandable/collapsible content container
1062
+ *
1063
+ * @example
1064
+ * <Collapsible open={isOpen} onOpenChange={setIsOpen}>
1065
+ * <CollapsibleTrigger>Show more</CollapsibleTrigger>
1066
+ * <CollapsibleContent>
1067
+ * Hidden content that can be toggled
1068
+ * </CollapsibleContent>
1069
+ * </Collapsible>
1070
+ */
1071
+ declare const Collapsible: React$1.ForwardRefExoticComponent<CollapsiblePrimitive.CollapsibleProps & React$1.RefAttributes<HTMLDivElement>>;
1072
+ /**
1073
+ * CollapsibleTrigger - Button to toggle collapsible content
1074
+ */
1075
+ declare const CollapsibleTrigger: React$1.ForwardRefExoticComponent<CollapsiblePrimitive.CollapsibleTriggerProps & React$1.RefAttributes<HTMLButtonElement>>;
1076
+ /**
1077
+ * CollapsibleContent - Content that can be collapsed/expanded
1078
+ */
1079
+ declare const CollapsibleContent: React$1.ForwardRefExoticComponent<CollapsiblePrimitive.CollapsibleContentProps & React$1.RefAttributes<HTMLDivElement>>;
1080
+
1081
+ interface ComboboxOption {
1082
+ /** Unique identifier for the option */
1083
+ value: string;
1084
+ /** Display label */
1085
+ label: string;
1086
+ /** Optional description shown below the label */
1087
+ description?: string;
1088
+ /** Whether this option is disabled */
1089
+ disabled?: boolean;
1090
+ }
1091
+ interface ComboboxProps {
1092
+ /** Array of options to display */
1093
+ options: ComboboxOption[];
1094
+ /** Currently selected value */
1095
+ value?: string;
1096
+ /** Callback when selection changes */
1097
+ onValueChange?: (value: string) => void;
1098
+ /** Placeholder text when no selection */
1099
+ placeholder?: string;
1100
+ /** Whether placeholder should use muted styling */
1101
+ mutedPlaceholder?: boolean;
1102
+ /** Placeholder for the search input */
1103
+ searchPlaceholder?: string;
1104
+ /** Text to show when no options match the search */
1105
+ emptyText?: string;
1106
+ /** Whether the combobox is disabled */
1107
+ disabled?: boolean;
1108
+ /** Whether to allow creating new options */
1109
+ allowCreate?: boolean;
1110
+ /** Label for the create new option (e.g., "Create new type") */
1111
+ createLabel?: string;
1112
+ /** Callback when user wants to create a new option */
1113
+ onCreateNew?: (searchValue: string) => void;
1114
+ /** Whether the combobox is in a loading state */
1115
+ loading?: boolean;
1116
+ /** Additional class name for the trigger button */
1117
+ className?: string;
1118
+ /** Size variant */
1119
+ size?: "sm" | "default";
1120
+ /** Content alignment */
1121
+ align?: "start" | "center" | "end";
1122
+ /** Error state */
1123
+ error?: boolean;
1124
+ /** Optional leading icon in the trigger */
1125
+ icon?: ReactNode;
1126
+ /** ARIA label for accessibility */
1127
+ "aria-label"?: string;
1128
+ }
1129
+ /**
1130
+ * A searchable dropdown (combobox) component with optional create-new functionality.
1131
+ *
1132
+ * @example
1133
+ * ```tsx
1134
+ * <Combobox
1135
+ * options={[
1136
+ * { value: "1", label: "Option 1" },
1137
+ * { value: "2", label: "Option 2", description: "With description" }
1138
+ * ]}
1139
+ * value={selected}
1140
+ * onValueChange={setSelected}
1141
+ * placeholder="Select an option..."
1142
+ * allowCreate
1143
+ * onCreateNew={(searchValue) => openCreateDialog(searchValue)}
1144
+ * />
1145
+ * ```
1146
+ */
1147
+ declare function Combobox({ options, value, onValueChange, placeholder, mutedPlaceholder, searchPlaceholder, emptyText, disabled, allowCreate, createLabel, onCreateNew, loading, className, size, align, error, icon, "aria-label": ariaLabel, }: ComboboxProps): react_jsx_runtime.JSX.Element;
1148
+
1149
+ /**
1150
+ * Command - Command palette / search interface
1151
+ *
1152
+ * @example
1153
+ * <Command>
1154
+ * <CommandInput placeholder="Search..." />
1155
+ * <CommandList>
1156
+ * <CommandEmpty>No results found.</CommandEmpty>
1157
+ * <CommandGroup heading="Suggestions">
1158
+ * <CommandItem>Calendar</CommandItem>
1159
+ * <CommandItem>Settings</CommandItem>
1160
+ * </CommandGroup>
1161
+ * </CommandList>
1162
+ * </Command>
1163
+ */
1164
+ declare function Command({ className, ...props }: React$1.ComponentProps<typeof Command$1>): react_jsx_runtime.JSX.Element;
1165
+ /**
1166
+ * CommandDialog - Command palette in a modal dialog
1167
+ */
1168
+ declare function CommandDialog({ children, title, ...props }: React$1.ComponentProps<typeof Dialog> & {
1169
+ title?: string;
1170
+ }): react_jsx_runtime.JSX.Element;
1171
+ /**
1172
+ * CommandInput - Search input for command palette
1173
+ */
1174
+ declare function CommandInput({ className, ...props }: React$1.ComponentProps<typeof Command$1.Input>): react_jsx_runtime.JSX.Element;
1175
+ /**
1176
+ * CommandList - Scrollable list of command items
1177
+ */
1178
+ declare function CommandList({ className, ...props }: React$1.ComponentProps<typeof Command$1.List>): react_jsx_runtime.JSX.Element;
1179
+ /**
1180
+ * CommandEmpty - Shown when no results match the search
1181
+ */
1182
+ declare function CommandEmpty({ className, ...props }: React$1.ComponentProps<typeof Command$1.Empty>): react_jsx_runtime.JSX.Element;
1183
+ /**
1184
+ * CommandGroup - Group of related command items
1185
+ */
1186
+ declare function CommandGroup({ className, ...props }: React$1.ComponentProps<typeof Command$1.Group>): react_jsx_runtime.JSX.Element;
1187
+ /**
1188
+ * CommandSeparator - Visual separator between command groups
1189
+ */
1190
+ declare function CommandSeparator({ className, ...props }: React$1.ComponentProps<typeof Command$1.Separator>): react_jsx_runtime.JSX.Element;
1191
+ /**
1192
+ * CommandItem - Individual selectable item in command palette
1193
+ */
1194
+ declare function CommandItem({ className, ...props }: React$1.ComponentProps<typeof Command$1.Item>): react_jsx_runtime.JSX.Element;
1195
+ /**
1196
+ * CommandShortcut - Keyboard shortcut hint displayed on command items
1197
+ */
1198
+ declare function CommandShortcut({ className, ...props }: React$1.HTMLAttributes<HTMLSpanElement>): react_jsx_runtime.JSX.Element;
1199
+
1200
+ type CanonicalDataState = "loading" | "empty" | "stale" | "partial" | "error" | "unauthorized" | "misconfigured";
1201
+ interface DataStateMetadata {
1202
+ isLoading?: boolean;
1203
+ isFetching?: boolean;
1204
+ isStale?: boolean;
1205
+ isPartial?: boolean;
1206
+ hasData?: boolean;
1207
+ isMisconfigured?: boolean;
1208
+ isUnauthorized?: boolean;
1209
+ isEmpty?: boolean;
1210
+ }
1211
+ interface ResolveDataStateInput<TData = unknown> {
1212
+ error?: unknown;
1213
+ data?: TData;
1214
+ metadata?: DataStateMetadata;
1215
+ hasData?: (data: TData | undefined) => boolean;
1216
+ }
1217
+ interface DataStateCopy {
1218
+ title: string;
1219
+ description: string;
1220
+ }
1221
+ interface ResolvedDataState {
1222
+ state: CanonicalDataState | null;
1223
+ retryable: boolean;
1224
+ copy?: DataStateCopy;
1225
+ }
1226
+ declare function resolveDataState<TData = unknown>({ error, data, metadata, hasData, }: ResolveDataStateInput<TData>): ResolvedDataState;
1227
+
1228
+ interface DataStateBaseProps {
1229
+ state: CanonicalDataState;
1230
+ title?: string;
1231
+ description?: string;
1232
+ className?: string;
1233
+ retryable?: boolean;
1234
+ onRetry?: () => void;
1235
+ retryLabel?: string;
1236
+ action?: React$1.ReactNode;
1237
+ }
1238
+ declare function DataStateBanner({ state, title, description, className, retryable, onRetry, retryLabel, action, }: DataStateBaseProps): react_jsx_runtime.JSX.Element;
1239
+ declare function DataStateInline({ state, title, description, className, retryable, onRetry, retryLabel, action, }: DataStateBaseProps): react_jsx_runtime.JSX.Element;
1240
+
1241
+ interface DatePickerProps {
1242
+ /** The selected date value */
1243
+ value?: Date;
1244
+ /** Callback when the date changes */
1245
+ onChange?: (date: Date | undefined) => void;
1246
+ /** Placeholder text when no date is selected */
1247
+ placeholder?: string;
1248
+ /** Whether the picker is disabled */
1249
+ disabled?: boolean;
1250
+ /** Optional className for the trigger button */
1251
+ className?: string;
1252
+ /** Format string for displaying the date (date-fns format) */
1253
+ dateFormat?: string;
1254
+ /** Minimum selectable date */
1255
+ fromDate?: Date;
1256
+ /** Maximum selectable date */
1257
+ toDate?: Date;
1258
+ /** Size variant */
1259
+ size?: "sm" | "default" | "lg";
1260
+ /** Alignment of the popover */
1261
+ align?: "start" | "center" | "end";
1262
+ /** Whether the picker has a validation error */
1263
+ error?: boolean;
1264
+ }
1265
+ /**
1266
+ * A date picker component that combines a button trigger with a calendar popover.
1267
+ * Built on react-day-picker and Radix UI Popover.
1268
+ */
1269
+ declare function DatePicker({ value, onChange, placeholder, disabled, className, dateFormat, fromDate, toDate, size, align, error, }: DatePickerProps): react_jsx_runtime.JSX.Element;
1270
+ interface DateRangePickerProps {
1271
+ /** The selected date range */
1272
+ value?: DateRange;
1273
+ /** Callback when the date range changes */
1274
+ onChange?: (range: DateRange | undefined) => void;
1275
+ /** Placeholder text when no date is selected */
1276
+ placeholder?: string;
1277
+ /** Whether the picker is disabled */
1278
+ disabled?: boolean;
1279
+ /** Optional className for the trigger button */
1280
+ className?: string;
1281
+ /** Format string for displaying dates (date-fns format) */
1282
+ dateFormat?: string;
1283
+ /** Minimum selectable date */
1284
+ fromDate?: Date;
1285
+ /** Maximum selectable date */
1286
+ toDate?: Date;
1287
+ /** Size variant */
1288
+ size?: "sm" | "default" | "lg";
1289
+ /** Number of months to display */
1290
+ numberOfMonths?: number;
1291
+ /** Alignment of the popover */
1292
+ align?: "start" | "center" | "end";
1293
+ }
1294
+ /**
1295
+ * A date range picker component for selecting a start and end date.
1296
+ */
1297
+ declare function DateRangePicker({ value, onChange, placeholder, disabled, className, dateFormat, fromDate, toDate, size, numberOfMonths, align, }: DateRangePickerProps): react_jsx_runtime.JSX.Element;
1298
+
1299
+ interface DeleteConfirmationDialogProps {
1300
+ /** Whether the dialog is open */
1301
+ open: boolean;
1302
+ /** Callback when open state changes */
1303
+ onOpenChange: (open: boolean) => void;
1304
+ /** Name of the item being deleted (used in default description) */
1305
+ itemName?: string;
1306
+ /** Type of item being deleted (used in default description) */
1307
+ itemType?: string;
1308
+ /** Custom dialog title (default: "Delete {itemType}") */
1309
+ title?: string;
1310
+ /** Custom description (overrides itemName/itemType) */
1311
+ description?: React.ReactNode;
1312
+ /** Callback when deletion is confirmed - can be async */
1313
+ onConfirm: () => void | Promise<void>;
1314
+ /** Label for confirm button (default: "Delete") */
1315
+ confirmLabel?: string;
1316
+ /** Label for cancel button (default: "Cancel") */
1317
+ cancelLabel?: string;
1318
+ /** External loading state (for controlled loading) */
1319
+ isLoading?: boolean;
1320
+ /** Variant affects styling (default: "danger") */
1321
+ variant?: "danger" | "warning";
1322
+ /** Additional details shown below description */
1323
+ details?: string;
1324
+ /** Additional className for the dialog content */
1325
+ className?: string;
1326
+ /** Text user must type to confirm deletion (enables type-to-confirm mode) */
1327
+ confirmationText?: string;
1328
+ }
1329
+ /**
1330
+ * DeleteConfirmationDialog - A reusable dialog for confirming destructive actions
1331
+ *
1332
+ * @example
1333
+ * // Basic usage
1334
+ * <DeleteConfirmationDialog
1335
+ * open={showDialog}
1336
+ * onOpenChange={setShowDialog}
1337
+ * itemName="Acme Inc"
1338
+ * itemType="company"
1339
+ * onConfirm={handleDelete}
1340
+ * />
1341
+ *
1342
+ * @example
1343
+ * // With async confirmation
1344
+ * <DeleteConfirmationDialog
1345
+ * open={showDialog}
1346
+ * onOpenChange={setShowDialog}
1347
+ * itemName={user.email}
1348
+ * itemType="user"
1349
+ * onConfirm={async () => {
1350
+ * await deleteUser(user.id);
1351
+ * // Dialog closes automatically on success
1352
+ * }}
1353
+ * />
1354
+ *
1355
+ * @example
1356
+ * // With custom description
1357
+ * <DeleteConfirmationDialog
1358
+ * open={showDialog}
1359
+ * onOpenChange={setShowDialog}
1360
+ * title="Remove Team Member"
1361
+ * description="This will remove John from the team and revoke their access."
1362
+ * onConfirm={handleRemove}
1363
+ * confirmLabel="Remove"
1364
+ * />
1365
+ *
1366
+ * @example
1367
+ * // With type-to-confirm for critical deletions
1368
+ * <DeleteConfirmationDialog
1369
+ * open={showDialog}
1370
+ * onOpenChange={setShowDialog}
1371
+ * itemName="Production Database"
1372
+ * itemType="database"
1373
+ * confirmationText="DELETE"
1374
+ * onConfirm={handleDelete}
1375
+ * />
1376
+ */
1377
+ declare function DeleteConfirmationDialog({ open, onOpenChange, itemName, itemType, title, description, onConfirm, confirmLabel, cancelLabel, isLoading: externalLoading, variant, details, className, confirmationText, }: DeleteConfirmationDialogProps): react_jsx_runtime.JSX.Element;
1378
+
1379
+ /**
1380
+ * Supported social media platforms
1381
+ */
1382
+ type SocialPlatform = "x" | "twitter" | "facebook" | "instagram" | "linkedin" | "pinterest" | "youtube" | "tiktok" | "github";
1383
+ /**
1384
+ * Array of all supported social platforms for iteration
1385
+ */
1386
+ declare const socialPlatforms: SocialPlatform[];
1387
+ interface SocialIconProps {
1388
+ /** The social media platform */
1389
+ platform: SocialPlatform;
1390
+ /** Icon size in pixels (default: 16) */
1391
+ size?: number;
1392
+ /** Additional CSS classes */
1393
+ className?: string;
1394
+ /** If provided, wraps icon in an anchor tag */
1395
+ href?: string;
1396
+ /** Opens link in new tab (default: true when href is provided) */
1397
+ newTab?: boolean;
1398
+ /** Accessible label (default: platform name) */
1399
+ "aria-label"?: string;
1400
+ }
1401
+ /**
1402
+ * SocialIcon - Renders brand icons for social media platforms
1403
+ *
1404
+ * @example
1405
+ * // Basic usage
1406
+ * <SocialIcon platform="linkedin" />
1407
+ *
1408
+ * // With custom size
1409
+ * <SocialIcon platform="x" size={24} />
1410
+ *
1411
+ * // As a link
1412
+ * <SocialIcon platform="instagram" href="https://instagram.com/username" />
1413
+ */
1414
+ declare function SocialIcon({ platform, size, className, href, newTab, "aria-label": ariaLabel, }: SocialIconProps): react_jsx_runtime.JSX.Element;
1415
+
1416
+ interface DisplayFieldProps {
1417
+ /** Field label */
1418
+ label: string;
1419
+ /** Field value - if falsy, placeholder is shown */
1420
+ value?: string | number | null;
1421
+ /** Custom placeholder when value is empty */
1422
+ placeholder?: string;
1423
+ /** Makes the value a clickable link */
1424
+ href?: string;
1425
+ /** Opens link in new tab (default: true for external links) */
1426
+ external?: boolean;
1427
+ /** Icon component to show before the value */
1428
+ icon?: React.ComponentType<{
1429
+ className?: string;
1430
+ }>;
1431
+ /** Social platform icon (overrides icon prop) */
1432
+ platform?: SocialPlatform;
1433
+ /** Allows multiline value display with whitespace preservation */
1434
+ multiline?: boolean;
1435
+ /** Additional className for the container */
1436
+ className?: string;
1437
+ /** Additional className for the value */
1438
+ valueClassName?: string;
1439
+ }
1440
+ /**
1441
+ * DisplayField - A label/value display component for profile and detail views.
1442
+ *
1443
+ * @example
1444
+ * // Basic usage
1445
+ * <DisplayField label="Company Name" value={company.name} />
1446
+ *
1447
+ * @example
1448
+ * // With icon
1449
+ * <DisplayField label="Email" value={user.email} icon={Mail} />
1450
+ *
1451
+ * @example
1452
+ * // As link
1453
+ * <DisplayField label="Website" value={company.website} href={company.website} />
1454
+ *
1455
+ * @example
1456
+ * // With social platform icon
1457
+ * <DisplayField label="LinkedIn" value={linkedinUrl} href={linkedinUrl} platform="linkedin" />
1458
+ */
1459
+ declare function DisplayField({ label, value, placeholder, href, external, icon: Icon, platform, multiline, className, valueClassName, }: DisplayFieldProps): react_jsx_runtime.JSX.Element;
1460
+ interface DisplayFieldGroupProps {
1461
+ /** Field group content (DisplayField components) */
1462
+ children: React.ReactNode;
1463
+ /** Number of columns for the grid layout */
1464
+ columns?: 1 | 2 | 3 | 4;
1465
+ /** Additional className for the container */
1466
+ className?: string;
1467
+ }
1468
+ /**
1469
+ * DisplayFieldGroup - Organizes multiple DisplayField components in a responsive grid.
1470
+ *
1471
+ * @example
1472
+ * <DisplayFieldGroup columns={2}>
1473
+ * <DisplayField label="Name" value={user.name} />
1474
+ * <DisplayField label="Email" value={user.email} />
1475
+ * <DisplayField label="Phone" value={user.phone} />
1476
+ * <DisplayField label="Location" value={user.location} />
1477
+ * </DisplayFieldGroup>
1478
+ */
1479
+ declare function DisplayFieldGroup({ children, columns, className, }: DisplayFieldGroupProps): react_jsx_runtime.JSX.Element;
1480
+
1481
+ interface DraggableCardBodyProps {
1482
+ className?: string;
1483
+ children?: React$1.ReactNode;
1484
+ }
1485
+ declare const DraggableCardBody: ({ className, children, }: DraggableCardBodyProps) => react_jsx_runtime.JSX.Element;
1486
+ interface DraggableCardContainerProps {
1487
+ className?: string;
1488
+ children?: React$1.ReactNode;
1489
+ }
1490
+ declare const DraggableCardContainer: ({ className, children, }: DraggableCardContainerProps) => react_jsx_runtime.JSX.Element;
1491
+
1492
+ interface DraggableStickyModalProps {
1493
+ open: boolean;
1494
+ onOpenChange: (open: boolean) => void;
1495
+ title: string;
1496
+ subtitle?: string;
1497
+ children: ReactNode;
1498
+ initialX?: number;
1499
+ initialY?: number;
1500
+ widthClassName?: string;
1501
+ heightClassName?: string;
1502
+ }
1503
+ declare function DraggableStickyModal({ open, onOpenChange, title, subtitle, children, initialX, initialY, widthClassName, heightClassName, }: DraggableStickyModalProps): React$1.ReactPortal | null;
1504
+
1505
+ /**
1506
+ * DropdownMenu - Context menu dropdown component
1507
+ *
1508
+ * @example
1509
+ * <DropdownMenu>
1510
+ * <DropdownMenuTrigger asChild>
1511
+ * <Button variant="outline">Open Menu</Button>
1512
+ * </DropdownMenuTrigger>
1513
+ * <DropdownMenuContent>
1514
+ * <DropdownMenuItem>Profile</DropdownMenuItem>
1515
+ * <DropdownMenuItem>Settings</DropdownMenuItem>
1516
+ * <DropdownMenuSeparator />
1517
+ * <DropdownMenuItem variant="destructive">Logout</DropdownMenuItem>
1518
+ * </DropdownMenuContent>
1519
+ * </DropdownMenu>
1520
+ */
1521
+ declare function DropdownMenu({ ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Root>): react_jsx_runtime.JSX.Element;
1522
+ /**
1523
+ * DropdownMenuPortal - Portal container for dropdown menu
1524
+ */
1525
+ declare function DropdownMenuPortal({ ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Portal>): react_jsx_runtime.JSX.Element;
1526
+ /**
1527
+ * DropdownMenuTrigger - Element that triggers the dropdown menu
1528
+ */
1529
+ declare function DropdownMenuTrigger({ ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Trigger>): react_jsx_runtime.JSX.Element;
1530
+ /**
1531
+ * DropdownMenuContent - Container for dropdown menu items
1532
+ */
1533
+ declare function DropdownMenuContent({ className, sideOffset, ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Content>): react_jsx_runtime.JSX.Element;
1534
+ /**
1535
+ * DropdownMenuItem - Individual item in dropdown menu
1536
+ */
1537
+ declare function DropdownMenuItem({ className, inset, variant, ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Item> & {
1538
+ inset?: boolean;
1539
+ variant?: "default" | "destructive";
1540
+ }): react_jsx_runtime.JSX.Element;
1541
+ /**
1542
+ * DropdownMenuCheckboxItem - Checkbox item in dropdown menu
1543
+ */
1544
+ declare function DropdownMenuCheckboxItem({ className, children, checked, ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem>): react_jsx_runtime.JSX.Element;
1545
+ /**
1546
+ * DropdownMenuRadioItem - Radio button item in dropdown menu
1547
+ */
1548
+ declare function DropdownMenuRadioItem({ className, children, ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.RadioItem>): react_jsx_runtime.JSX.Element;
1549
+ /**
1550
+ * DropdownMenuLabel - Section label in dropdown menu
1551
+ */
1552
+ declare function DropdownMenuLabel({ className, inset, ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Label> & {
1553
+ inset?: boolean;
1554
+ }): react_jsx_runtime.JSX.Element;
1555
+ /**
1556
+ * DropdownMenuSeparator - Visual separator between menu items
1557
+ */
1558
+ declare function DropdownMenuSeparator({ className, ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Separator>): react_jsx_runtime.JSX.Element;
1559
+ /**
1560
+ * DropdownMenuGroup - Container for grouping related menu items
1561
+ */
1562
+ declare function DropdownMenuGroup({ ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Group>): react_jsx_runtime.JSX.Element;
1563
+ /**
1564
+ * DropdownMenuRadioGroup - Container for radio button items
1565
+ */
1566
+ declare function DropdownMenuRadioGroup({ ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>): react_jsx_runtime.JSX.Element;
1567
+ /**
1568
+ * DropdownMenuSub - Nested submenu container
1569
+ */
1570
+ declare function DropdownMenuSub({ ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Sub>): react_jsx_runtime.JSX.Element;
1571
+ /**
1572
+ * DropdownMenuSubTrigger - Trigger for opening a submenu
1573
+ */
1574
+ declare function DropdownMenuSubTrigger({ className, inset, children, ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {
1575
+ inset?: boolean;
1576
+ }): react_jsx_runtime.JSX.Element;
1577
+ declare function DropdownMenuSubContent({ className, ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.SubContent>): react_jsx_runtime.JSX.Element;
1578
+ declare function DropdownMenuShortcut({ className, ...props }: React$1.ComponentProps<"span">): react_jsx_runtime.JSX.Element;
1579
+
1580
+ interface FormDialogProps {
1581
+ open: boolean;
1582
+ onOpenChange: (open: boolean) => void;
1583
+ title: string;
1584
+ description?: string;
1585
+ children: React$1.ReactNode;
1586
+ onSubmit?: () => void;
1587
+ submitLabel?: string;
1588
+ cancelLabel?: string;
1589
+ isLoading?: boolean;
1590
+ }
1591
+ declare function FormDialog({ open, onOpenChange, title, description, children, onSubmit, submitLabel, cancelLabel, isLoading, }: FormDialogProps): react_jsx_runtime.JSX.Element;
1592
+
1593
+ type GooeyInputClassNames = {
1594
+ root?: string;
1595
+ filterWrap?: string;
1596
+ buttonRow?: string;
1597
+ trigger?: string;
1598
+ input?: string;
1599
+ clearButton?: string;
1600
+ bubble?: string;
1601
+ bubbleSurface?: string;
1602
+ };
1603
+ interface GooeyInputProps extends Omit<React$1.ComponentProps<"input">, "className" | "defaultValue" | "disabled" | "onChange" | "value"> {
1604
+ className?: string;
1605
+ classNames?: GooeyInputClassNames;
1606
+ compactBreakpoint?: number;
1607
+ collapsedWidth?: number;
1608
+ compactOnNarrow?: boolean;
1609
+ defaultValue?: string;
1610
+ disabled?: boolean;
1611
+ expandFrom?: "left" | "right";
1612
+ expandedOffset?: number;
1613
+ expandedWidth?: number;
1614
+ gooeyBlur?: number;
1615
+ onOpenChange?: (open: boolean) => void;
1616
+ onValueChange?: (value: string) => void;
1617
+ reserveExpandedSpace?: boolean;
1618
+ value?: string;
1619
+ }
1620
+ declare function GooeyInput({ className, classNames, compactBreakpoint, collapsedWidth, compactOnNarrow, defaultValue, disabled, expandFrom, expandedOffset, expandedWidth, gooeyBlur, onBlur, onFocus, onKeyDown, onOpenChange, onValueChange, placeholder, reserveExpandedSpace, style, value, ...props }: GooeyInputProps): react_jsx_runtime.JSX.Element;
1621
+
1622
+ declare const iconButtonVariants: (props?: ({
1623
+ variant?: "default" | "destructive" | "ghost" | "delete" | "edit" | "success" | "successActive" | null | undefined;
1624
+ size?: "default" | "sm" | "lg" | "xs" | null | undefined;
1625
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
1626
+ interface IconButtonProps extends React$1.ComponentProps<"button">, VariantProps<typeof iconButtonVariants> {
1627
+ }
1628
+ /**
1629
+ * Icon-only button with common variants for actions like edit, delete, etc.
1630
+ *
1631
+ * @example
1632
+ * ```tsx
1633
+ * <IconButton variant="delete" onClick={handleDelete}>
1634
+ * <Trash2 />
1635
+ * </IconButton>
1636
+ *
1637
+ * <IconButton variant="edit" onClick={handleEdit}>
1638
+ * <Pencil />
1639
+ * </IconButton>
1640
+ * ```
1641
+ */
1642
+ declare function IconButton({ className, variant, size, ...props }: IconButtonProps): react_jsx_runtime.JSX.Element;
1643
+
1644
+ interface InfoTooltipProps {
1645
+ /** Content to display in the tooltip */
1646
+ content: ReactNode;
1647
+ /** Size of the icon */
1648
+ size?: "sm" | "md";
1649
+ /** Additional class name for the button */
1650
+ className?: string;
1651
+ /** Side of the trigger to show the tooltip */
1652
+ side?: "top" | "right" | "bottom" | "left";
1653
+ /** Alignment of the tooltip content */
1654
+ align?: "start" | "center" | "end";
1655
+ }
1656
+ /**
1657
+ * Simple info tooltip with an icon trigger.
1658
+ * Use this for inline help text next to labels.
1659
+ *
1660
+ * @example
1661
+ * ```tsx
1662
+ * <FieldLabel>
1663
+ * Cohort Name *
1664
+ * <InfoTooltip content="A descriptive name for this cohort" />
1665
+ * </FieldLabel>
1666
+ * ```
1667
+ */
1668
+ declare function InfoTooltip({ content, size, className, side, align, }: InfoTooltipProps): react_jsx_runtime.JSX.Element;
1669
+
1670
+ interface InlineEditableBaseProps {
1671
+ /** Current value */
1672
+ value: string;
1673
+ /** Save handler - receives new value */
1674
+ onSave: (value: string) => void;
1675
+ /** Whether a save operation is in progress */
1676
+ isLoading?: boolean;
1677
+ /** Placeholder when value is empty */
1678
+ placeholder?: string;
1679
+ /** Additional className */
1680
+ className?: string;
1681
+ }
1682
+ interface InlineEditableTextProps extends InlineEditableBaseProps {
1683
+ /** Whether to render as multiline textarea */
1684
+ multiline?: boolean;
1685
+ /** Max length for input */
1686
+ maxLength?: number;
1687
+ /** Number of rows for textarea (when multiline=true) */
1688
+ rows?: number;
1689
+ }
1690
+ /**
1691
+ * InlineEditableText - Click-to-edit text field with inline editing.
1692
+ *
1693
+ * @example
1694
+ * // Basic usage
1695
+ * <InlineEditableText
1696
+ * value={title}
1697
+ * onSave={(newValue) => updateTitle(newValue)}
1698
+ * placeholder="Enter title..."
1699
+ * />
1700
+ *
1701
+ * @example
1702
+ * // Multiline
1703
+ * <InlineEditableText
1704
+ * value={description}
1705
+ * onSave={handleSave}
1706
+ * multiline
1707
+ * rows={3}
1708
+ * />
1709
+ */
1710
+ declare function InlineEditableText({ value, onSave, isLoading, placeholder, className, multiline, maxLength, rows, }: InlineEditableTextProps): react_jsx_runtime.JSX.Element;
1711
+ interface InlineEditableDateProps extends InlineEditableBaseProps {
1712
+ /** Date format for display (default: localized date string) */
1713
+ formatDisplay?: (date: Date) => string;
1714
+ }
1715
+ /**
1716
+ * InlineEditableDate - Click-to-edit date field with date picker.
1717
+ *
1718
+ * @example
1719
+ * <InlineEditableDate
1720
+ * value={startDate}
1721
+ * onSave={(newDate) => updateStartDate(newDate)}
1722
+ * placeholder="Select date..."
1723
+ * />
1724
+ */
1725
+ declare function InlineEditableDate({ value, onSave, isLoading, placeholder, className, formatDisplay, }: InlineEditableDateProps): react_jsx_runtime.JSX.Element;
1726
+ interface SelectOption<T = string> {
1727
+ value: T;
1728
+ label: string;
1729
+ }
1730
+ interface InlineEditableSelectProps<T = string> extends Omit<InlineEditableBaseProps, "value" | "onSave"> {
1731
+ /** Options for the select */
1732
+ options: SelectOption<T>[];
1733
+ /** Save handler - receives selected value */
1734
+ onSave: (value: T) => void;
1735
+ /** Current value (must match an option value) */
1736
+ value: T;
1737
+ }
1738
+ /**
1739
+ * InlineEditableSelect - Click-to-edit dropdown select field.
1740
+ *
1741
+ * @example
1742
+ * <InlineEditableSelect
1743
+ * value={status}
1744
+ * options={[
1745
+ * { value: 'active', label: 'Active' },
1746
+ * { value: 'inactive', label: 'Inactive' },
1747
+ * ]}
1748
+ * onSave={(newStatus) => updateStatus(newStatus)}
1749
+ * />
1750
+ */
1751
+ declare function InlineEditableSelect<T = string>({ value, options, onSave, isLoading, placeholder, className, }: InlineEditableSelectProps<T>): react_jsx_runtime.JSX.Element;
1752
+
1753
+ interface LocationMapProps {
1754
+ /** City name */
1755
+ city?: string;
1756
+ /** Region/State */
1757
+ region?: string;
1758
+ /** Country name */
1759
+ country?: string;
1760
+ /** Latitude for map center */
1761
+ latitude?: number;
1762
+ /** Longitude for map center */
1763
+ longitude?: number;
1764
+ /** Optional className for styling */
1765
+ className?: string;
1766
+ }
1767
+ /**
1768
+ * LocationMap - A simple static map visualization for IP location
1769
+ *
1770
+ * Uses OpenStreetMap static tiles to display a location marker.
1771
+ * Falls back to a styled placeholder if coordinates aren't available.
1772
+ *
1773
+ * @example
1774
+ * ```tsx
1775
+ * <LocationMap
1776
+ * city="Lisbon"
1777
+ * country="Portugal"
1778
+ * latitude={38.7223}
1779
+ * longitude={-9.1393}
1780
+ * />
1781
+ * ```
1782
+ */
1783
+ declare function LocationMap({ city, region, country, latitude, longitude, className, }: LocationMapProps): react_jsx_runtime.JSX.Element;
1784
+
1785
+ interface ModernCalendarProps {
1786
+ /** Currently selected date */
1787
+ selected?: Date;
1788
+ /** Callback when date is selected */
1789
+ onSelect?: (date: Date | undefined) => void;
1790
+ /** Minimum selectable date */
1791
+ minDate?: Date;
1792
+ /** Maximum selectable date */
1793
+ maxDate?: Date;
1794
+ /** Additional class name */
1795
+ className?: string;
1796
+ /** Disable the calendar */
1797
+ disabled?: boolean;
1798
+ }
1799
+ /**
1800
+ * A modern calendar component with click-through navigation.
1801
+ * - Click month/year header → shows month grid
1802
+ * - Click year in month grid → shows year grid
1803
+ * - Selecting navigates back to day view
1804
+ */
1805
+ declare function ModernCalendar({ selected, onSelect, minDate, maxDate, className, disabled, }: ModernCalendarProps): react_jsx_runtime.JSX.Element;
1806
+ declare namespace ModernCalendar {
1807
+ var displayName: string;
1808
+ }
1809
+
1810
+ interface NumberStepperProps extends Omit<React$1.InputHTMLAttributes<HTMLInputElement>, "onChange" | "type" | "size"> {
1811
+ /** Current value */
1812
+ value: number;
1813
+ /** Callback when value changes */
1814
+ onChange: (value: number) => void;
1815
+ /** Minimum allowed value */
1816
+ min?: number;
1817
+ /** Maximum allowed value */
1818
+ max?: number;
1819
+ /** Step increment/decrement amount */
1820
+ step?: number;
1821
+ /** Size variant */
1822
+ size?: "sm" | "md" | "lg";
1823
+ }
1824
+ /**
1825
+ * A number input with increment/decrement buttons.
1826
+ * Provides a cleaner alternative to browser default number inputs.
1827
+ *
1828
+ * @default min - 0 (allows zero, override for positive-only)
1829
+ */
1830
+ declare function NumberStepper({ value, onChange, min, max, step, size, disabled, className, ...props }: NumberStepperProps): react_jsx_runtime.JSX.Element;
1831
+
1832
+ /**
1833
+ * PageHeader component for consistent page titles and descriptions.
1834
+ */
1835
+ interface PageHeaderProps extends React$1.HTMLAttributes<HTMLDivElement> {
1836
+ /** Page title */
1837
+ title: string;
1838
+ /** Optional description */
1839
+ description?: string;
1840
+ /** Optional actions (buttons, etc.) to display on the right */
1841
+ actions?: React$1.ReactNode;
1842
+ /** Whether to add bottom border */
1843
+ bordered?: boolean;
1844
+ /** Optional back link URL */
1845
+ backHref?: string;
1846
+ /** Optional back link label (defaults to "Back") */
1847
+ backLabel?: string;
1848
+ }
1849
+ declare const PageHeader: React$1.ForwardRefExoticComponent<PageHeaderProps & React$1.RefAttributes<HTMLDivElement>>;
1850
+
1851
+ interface PageLoaderProps extends React.ComponentProps<"div"> {
1852
+ /** Optional message to show below the spinner */
1853
+ message?: string;
1854
+ }
1855
+ declare function PageLoader({ className, message, ...props }: PageLoaderProps): react_jsx_runtime.JSX.Element;
1856
+
1857
+ interface PageSectionProps {
1858
+ children: React$1.ReactNode;
1859
+ /** Show separator after this section. Default: true */
1860
+ separator?: boolean;
1861
+ className?: string;
1862
+ }
1863
+ interface PageSectionsProps {
1864
+ children: React$1.ReactNode;
1865
+ /** Default separator behavior for all sections. Default: true */
1866
+ separator?: boolean;
1867
+ /** Class for the separator element */
1868
+ separatorClassName?: string;
1869
+ className?: string;
1870
+ }
1871
+ /**
1872
+ * PageSection - A single section within PageSections
1873
+ *
1874
+ * @example
1875
+ * <PageSection separator={false}>
1876
+ * <MySection />
1877
+ * </PageSection>
1878
+ */
1879
+ declare function PageSection({ children, className }: PageSectionProps): react_jsx_runtime.JSX.Element;
1880
+ /**
1881
+ * PageSections - Container for page sections with optional separators
1882
+ *
1883
+ * Automatically adds separators between sections. Each section can override
1884
+ * the default separator behavior.
1885
+ *
1886
+ * @example
1887
+ * // All sections with separators (default)
1888
+ * <PageSections>
1889
+ * <PageSection><Hero /></PageSection>
1890
+ * <PageSection><Features /></PageSection>
1891
+ * <PageSection><CTA /></PageSection>
1892
+ * </PageSections>
1893
+ *
1894
+ * @example
1895
+ * // No separators by default, opt-in per section
1896
+ * <PageSections separator={false}>
1897
+ * <PageSection separator><Hero /></PageSection>
1898
+ * <PageSection><Features /></PageSection>
1899
+ * </PageSections>
1900
+ *
1901
+ * @example
1902
+ * // Custom separator styling
1903
+ * <PageSections separatorClassName="opacity-50 max-w-4xl mx-auto">
1904
+ * ...
1905
+ * </PageSections>
1906
+ */
1907
+ declare function PageSections({ children, separator: defaultSeparator, separatorClassName, className, }: PageSectionsProps): react_jsx_runtime.JSX.Element;
1908
+
1909
+ /**
1910
+ * Popover - Floating content panel anchored to an element
1911
+ *
1912
+ * @example
1913
+ * <Popover>
1914
+ * <PopoverTrigger asChild>
1915
+ * <Button variant="outline">Open</Button>
1916
+ * </PopoverTrigger>
1917
+ * <PopoverContent>
1918
+ * <p>Popover content goes here</p>
1919
+ * </PopoverContent>
1920
+ * </Popover>
1921
+ */
1922
+ declare const Popover: React$1.FC<PopoverPrimitive.PopoverProps>;
1923
+ /**
1924
+ * PopoverTrigger - Element that opens the popover
1925
+ */
1926
+ declare const PopoverTrigger: React$1.ForwardRefExoticComponent<PopoverPrimitive.PopoverTriggerProps & React$1.RefAttributes<HTMLButtonElement>>;
1927
+ /**
1928
+ * PopoverAnchor - Anchor element for positioning the popover
1929
+ */
1930
+ declare const PopoverAnchor: React$1.ForwardRefExoticComponent<PopoverPrimitive.PopoverAnchorProps & React$1.RefAttributes<HTMLDivElement>>;
1931
+ /**
1932
+ * PopoverContent - Content container for the popover
1933
+ */
1934
+ declare function PopoverContent({ className, align, sideOffset, ...props }: React$1.ComponentProps<typeof PopoverPrimitive.Content>): react_jsx_runtime.JSX.Element;
1935
+
1936
+ interface ProfileSectionProps {
1937
+ /** Section title */
1938
+ title: string;
1939
+ /** Optional description below title */
1940
+ description?: string;
1941
+ /** Section content */
1942
+ children: React.ReactNode;
1943
+ /** Icon to display before title */
1944
+ icon?: React.ComponentType<{
1945
+ className?: string;
1946
+ }>;
1947
+ /** Whether section is in editing mode */
1948
+ isEditing?: boolean;
1949
+ /** Edit button click handler - shows edit button if provided */
1950
+ onEdit?: () => void;
1951
+ /** Cancel button click handler (shown in edit mode) */
1952
+ onCancel?: () => void;
1953
+ /** Save button click handler (shown in edit mode) */
1954
+ onSave?: () => void;
1955
+ /** Whether save operation is in progress */
1956
+ isSaving?: boolean;
1957
+ /** Disable the edit button */
1958
+ editDisabled?: boolean;
1959
+ /** Custom label for edit button tooltip */
1960
+ editLabel?: string;
1961
+ /** Custom action element (overrides edit/save/cancel buttons) */
1962
+ action?: React.ReactNode;
1963
+ /** Whether section can be collapsed */
1964
+ collapsible?: boolean;
1965
+ /** Initial collapsed state (only when collapsible=true) */
1966
+ defaultCollapsed?: boolean;
1967
+ /** Additional className for the container */
1968
+ className?: string;
1969
+ /** Additional className for the content area */
1970
+ contentClassName?: string;
1971
+ /** Variant style */
1972
+ variant?: "card" | "simple";
1973
+ }
1974
+ /**
1975
+ * ProfileSection - A section wrapper component for profile and settings pages.
1976
+ *
1977
+ * @example
1978
+ * // Basic display section
1979
+ * <ProfileSection title="Contact Information" icon={Mail}>
1980
+ * <DisplayFieldGroup>
1981
+ * <DisplayField label="Email" value={user.email} />
1982
+ * <DisplayField label="Phone" value={user.phone} />
1983
+ * </DisplayFieldGroup>
1984
+ * </ProfileSection>
1985
+ *
1986
+ * @example
1987
+ * // Editable section
1988
+ * <ProfileSection
1989
+ * title="Company Details"
1990
+ * icon={Building}
1991
+ * isEditing={isEditing}
1992
+ * onEdit={() => setIsEditing(true)}
1993
+ * onCancel={() => setIsEditing(false)}
1994
+ * onSave={handleSave}
1995
+ * isSaving={isSaving}
1996
+ * >
1997
+ * {isEditing ? <EditForm /> : <DisplayContent />}
1998
+ * </ProfileSection>
1999
+ *
2000
+ * @example
2001
+ * // Collapsible section
2002
+ * <ProfileSection title="Advanced Settings" collapsible defaultCollapsed>
2003
+ * <SettingsForm />
2004
+ * </ProfileSection>
2005
+ */
2006
+ declare function ProfileSection({ title, description, children, icon: Icon, isEditing, onEdit, onCancel, onSave, isSaving, editDisabled, editLabel, action, collapsible, defaultCollapsed, className, contentClassName, variant, }: ProfileSectionProps): react_jsx_runtime.JSX.Element;
2007
+
2008
+ declare const Progress: React$1.ForwardRefExoticComponent<Omit<ProgressPrimitive.ProgressProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
2009
+
2010
+ interface ProgressBarProps extends React$1.ComponentProps<"div"> {
2011
+ value: number;
2012
+ max?: number;
2013
+ showLabel?: boolean;
2014
+ size?: "sm" | "md" | "lg";
2015
+ }
2016
+ declare function ProgressBar({ value, max, showLabel, size, className, ...props }: ProgressBarProps): react_jsx_runtime.JSX.Element;
2017
+
2018
+ declare const RadioGroup: {
2019
+ ({ className, ...props }: React$1.ComponentProps<typeof RadioGroupPrimitive.Root>): react_jsx_runtime.JSX.Element;
2020
+ displayName: string | undefined;
2021
+ };
2022
+ declare const RadioGroupItem: {
2023
+ ({ className, ...props }: React$1.ComponentProps<typeof RadioGroupPrimitive.Item>): react_jsx_runtime.JSX.Element;
2024
+ displayName: string | undefined;
2025
+ };
2026
+
2027
+ /**
2028
+ * Section component for consistent vertical spacing between page sections.
2029
+ */
2030
+ type SectionSpacing = "sm" | "md" | "lg" | "xl";
2031
+ interface SectionProps extends React$1.HTMLAttributes<HTMLDivElement> {
2032
+ /** Vertical spacing size */
2033
+ spacing?: SectionSpacing;
2034
+ /** HTML element to render */
2035
+ as?: "section" | "div" | "article";
2036
+ }
2037
+ declare const Section: React$1.ForwardRefExoticComponent<SectionProps & React$1.RefAttributes<HTMLDivElement>>;
2038
+
2039
+ /**
2040
+ * Separator - Visual divider between content sections
2041
+ *
2042
+ * @example
2043
+ * <Separator />
2044
+ *
2045
+ * @example
2046
+ * <Separator orientation="vertical" className="h-6" />
2047
+ */
2048
+ declare function Separator({ className, orientation, decorative, ...props }: React$1.ComponentProps<typeof SeparatorPrimitive.Root>): react_jsx_runtime.JSX.Element;
2049
+
2050
+ declare function Sheet({ ...props }: React$1.ComponentProps<typeof DialogPrimitive.Root>): react_jsx_runtime.JSX.Element;
2051
+ declare function SheetTrigger({ ...props }: React$1.ComponentProps<typeof DialogPrimitive.Trigger>): react_jsx_runtime.JSX.Element;
2052
+ declare function SheetClose({ ...props }: React$1.ComponentProps<typeof DialogPrimitive.Close>): react_jsx_runtime.JSX.Element;
2053
+ declare function SheetPortal({ ...props }: React$1.ComponentProps<typeof DialogPrimitive.Portal>): react_jsx_runtime.JSX.Element;
2054
+ declare function SheetOverlay({ className, ...props }: React$1.ComponentProps<typeof DialogPrimitive.Overlay>): react_jsx_runtime.JSX.Element;
2055
+ declare const sheetVariants: (props?: ({
2056
+ side?: "bottom" | "left" | "right" | "top" | null | undefined;
2057
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
2058
+ declare function SheetContent({ side, className, children, ...props }: React$1.ComponentProps<typeof DialogPrimitive.Content> & VariantProps<typeof sheetVariants>): react_jsx_runtime.JSX.Element;
2059
+ declare function SheetHeader({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
2060
+ declare function SheetFooter({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
2061
+ declare function SheetTitle({ className, ...props }: React$1.ComponentProps<typeof DialogPrimitive.Title>): react_jsx_runtime.JSX.Element;
2062
+ declare function SheetDescription({ className, ...props }: React$1.ComponentProps<typeof DialogPrimitive.Description>): react_jsx_runtime.JSX.Element;
2063
+
2064
+ type SidebarMode = "expanded" | "collapsed" | "hidden";
2065
+ type SidebarContext = {
2066
+ state: "expanded" | "collapsed";
2067
+ mode: SidebarMode;
2068
+ open: boolean;
2069
+ setOpen: (open: boolean) => void;
2070
+ openMobile: boolean;
2071
+ setOpenMobile: (open: boolean) => void;
2072
+ isMobile: boolean;
2073
+ ready: boolean;
2074
+ toggleSidebar: () => void;
2075
+ };
2076
+ declare const SidebarContext: React$1.Context<SidebarContext | null>;
2077
+ declare function useSidebar(): SidebarContext;
2078
+ declare const SidebarProvider: React$1.ForwardRefExoticComponent<Omit<React$1.ClassAttributes<HTMLDivElement> & React$1.HTMLAttributes<HTMLDivElement> & {
2079
+ defaultOpen?: boolean;
2080
+ open?: boolean;
2081
+ onOpenChange?: (open: boolean) => void;
2082
+ }, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
2083
+ declare const Sidebar: React$1.ForwardRefExoticComponent<Omit<React$1.ClassAttributes<HTMLDivElement> & React$1.HTMLAttributes<HTMLDivElement> & {
2084
+ side?: "left" | "right";
2085
+ variant?: "sidebar" | "floating" | "inset";
2086
+ collapsible?: "offcanvas" | "icon" | "none";
2087
+ }, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
2088
+ declare const SidebarTrigger: React$1.ForwardRefExoticComponent<Omit<React$1.DetailedHTMLProps<React$1.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
2089
+ declare const SidebarRail: React$1.ForwardRefExoticComponent<Omit<React$1.DetailedHTMLProps<React$1.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
2090
+ declare const SidebarInset: React$1.ForwardRefExoticComponent<Omit<React$1.DetailedHTMLProps<React$1.HTMLAttributes<HTMLElement>, HTMLElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
2091
+ declare const SidebarInput: React$1.ForwardRefExoticComponent<Omit<InputProps, "ref"> & React$1.RefAttributes<HTMLInputElement>>;
2092
+ declare const SidebarHeader: React$1.ForwardRefExoticComponent<Omit<React$1.DetailedHTMLProps<React$1.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
2093
+ declare const SidebarFooter: React$1.ForwardRefExoticComponent<Omit<React$1.DetailedHTMLProps<React$1.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
2094
+ declare const SidebarSeparator: React$1.ForwardRefExoticComponent<Omit<SeparatorPrimitive.SeparatorProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
2095
+ declare const SidebarContent: React$1.ForwardRefExoticComponent<Omit<React$1.DetailedHTMLProps<React$1.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
2096
+ declare const SidebarGroup: React$1.ForwardRefExoticComponent<Omit<React$1.DetailedHTMLProps<React$1.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
2097
+ declare const SidebarGroupLabel: React$1.ForwardRefExoticComponent<Omit<React$1.ClassAttributes<HTMLDivElement> & React$1.HTMLAttributes<HTMLDivElement> & {
2098
+ asChild?: boolean;
2099
+ }, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
2100
+ declare const SidebarGroupAction: React$1.ForwardRefExoticComponent<Omit<React$1.ClassAttributes<HTMLButtonElement> & React$1.ButtonHTMLAttributes<HTMLButtonElement> & {
2101
+ asChild?: boolean;
2102
+ }, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
2103
+ declare const SidebarGroupContent: React$1.ForwardRefExoticComponent<Omit<React$1.DetailedHTMLProps<React$1.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
2104
+ declare const SidebarMenu: React$1.ForwardRefExoticComponent<Omit<React$1.DetailedHTMLProps<React$1.HTMLAttributes<HTMLUListElement>, HTMLUListElement>, "ref"> & React$1.RefAttributes<HTMLUListElement>>;
2105
+ declare const SidebarMenuItem: React$1.ForwardRefExoticComponent<Omit<React$1.DetailedHTMLProps<React$1.LiHTMLAttributes<HTMLLIElement>, HTMLLIElement>, "ref"> & React$1.RefAttributes<HTMLLIElement>>;
2106
+ declare const SidebarMenuButton: React$1.ForwardRefExoticComponent<Omit<React$1.ClassAttributes<HTMLButtonElement> & React$1.ButtonHTMLAttributes<HTMLButtonElement> & {
2107
+ asChild?: boolean;
2108
+ isActive?: boolean;
2109
+ tooltip?: string | React$1.ComponentProps<typeof TooltipContent>;
2110
+ } & VariantProps<(props?: ({
2111
+ variant?: "default" | "outline" | null | undefined;
2112
+ size?: "default" | "sm" | "lg" | null | undefined;
2113
+ } & class_variance_authority_types.ClassProp) | undefined) => string>, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
2114
+ declare const TooltipContent: React$1.ForwardRefExoticComponent<Omit<TooltipPrimitive.TooltipContentProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
2115
+ declare const SidebarMenuAction: React$1.ForwardRefExoticComponent<Omit<React$1.ClassAttributes<HTMLButtonElement> & React$1.ButtonHTMLAttributes<HTMLButtonElement> & {
2116
+ asChild?: boolean;
2117
+ showOnHover?: boolean;
2118
+ }, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
2119
+ declare const SidebarMenuBadge: React$1.ForwardRefExoticComponent<Omit<React$1.DetailedHTMLProps<React$1.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
2120
+ declare const SidebarMenuSkeleton: React$1.ForwardRefExoticComponent<Omit<React$1.ClassAttributes<HTMLDivElement> & React$1.HTMLAttributes<HTMLDivElement> & {
2121
+ showIcon?: boolean;
2122
+ }, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
2123
+ declare const SidebarMenuSub: React$1.ForwardRefExoticComponent<Omit<React$1.DetailedHTMLProps<React$1.HTMLAttributes<HTMLUListElement>, HTMLUListElement>, "ref"> & React$1.RefAttributes<HTMLUListElement>>;
2124
+ declare const SidebarMenuSubItem: React$1.ForwardRefExoticComponent<Omit<React$1.DetailedHTMLProps<React$1.LiHTMLAttributes<HTMLLIElement>, HTMLLIElement>, "ref"> & React$1.RefAttributes<HTMLLIElement>>;
2125
+ declare const SidebarMenuSubButton: React$1.ForwardRefExoticComponent<Omit<React$1.ClassAttributes<HTMLAnchorElement> & React$1.AnchorHTMLAttributes<HTMLAnchorElement> & {
2126
+ asChild?: boolean;
2127
+ size?: "sm" | "md";
2128
+ isActive?: boolean;
2129
+ }, "ref"> & React$1.RefAttributes<HTMLAnchorElement>>;
2130
+
2131
+ /**
2132
+ * Skeleton - Placeholder for loading content
2133
+ *
2134
+ * @example
2135
+ * <Skeleton className="h-4 w-32" />
2136
+ *
2137
+ * @example
2138
+ * <div className="space-y-2">
2139
+ * <Skeleton className="h-4 w-full" />
2140
+ * <Skeleton className="h-4 w-3/4" />
2141
+ * </div>
2142
+ */
2143
+ declare function Skeleton({ className, ...props }: React.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
2144
+
2145
+ declare const Slider: React$1.ForwardRefExoticComponent<Omit<SliderPrimitive.SliderProps & React$1.RefAttributes<HTMLSpanElement>, "ref"> & React$1.RefAttributes<HTMLSpanElement>>;
2146
+
2147
+ /**
2148
+ * Toast notification component using sonner.
2149
+ *
2150
+ * Uses sonner's built-in richColors for consistent styling that works
2151
+ * without requiring Tailwind compilation of dynamic class variants.
2152
+ *
2153
+ * The richColors prop (passed from RootLayout) handles all the colored
2154
+ * backgrounds for success/error/warning/info toasts automatically.
2155
+ */
2156
+ declare function Toaster({ ...props }: ToasterProps): react_jsx_runtime.JSX.Element;
2157
+
2158
+ type TrendDirection = "up" | "down" | "neutral";
2159
+ interface StatCardTrend {
2160
+ /** The trend value to display */
2161
+ value: number;
2162
+ /** Direction of the trend */
2163
+ direction: TrendDirection;
2164
+ /** Optional label (e.g., "vs last month") */
2165
+ label?: string;
2166
+ /** Whether to format value as percentage (default: true) */
2167
+ isPercentage?: boolean;
2168
+ }
2169
+ /** Format type for stat values */
2170
+ type StatValueFormat = "number" | "currency" | "percent" | "compact" | "none";
2171
+ /** Data point for the chart */
2172
+ interface StatChartDataPoint {
2173
+ /** Label for the data point (e.g., date, month) */
2174
+ label: string;
2175
+ /** The value at this point */
2176
+ value: number;
2177
+ }
2178
+ /** Chart configuration for the flip side */
2179
+ interface StatCardChartConfig {
2180
+ /** Array of data points to display */
2181
+ data: StatChartDataPoint[];
2182
+ /** Type of chart to display */
2183
+ type?: "line" | "bar" | "area";
2184
+ /** Period label (e.g., "Last 7 days", "This month") */
2185
+ periodLabel?: string;
2186
+ }
2187
+ interface StatCardProps {
2188
+ /** Title/label for the stat */
2189
+ title: string;
2190
+ /** The main value to display */
2191
+ value: string | number;
2192
+ /** Optional description shown below the value */
2193
+ description?: string;
2194
+ /** Optional footer text with additional context */
2195
+ footer?: string;
2196
+ /** Optional icon displayed in the card header */
2197
+ icon?: React$1.ReactNode;
2198
+ /** Optional trend indicator with badge */
2199
+ trend?: StatCardTrend;
2200
+ /** Visual variant */
2201
+ variant?: "default" | "muted" | "gradient" | "outline";
2202
+ /** Optional className for customization */
2203
+ className?: string;
2204
+ /** Size variant for layout density */
2205
+ size?: "default" | "compact";
2206
+ /**
2207
+ * How to format the numeric value
2208
+ * - "number": Locale-formatted number (1,234)
2209
+ * - "currency": Currency format ($1,234.00)
2210
+ * - "percent": Percentage format (12.3%)
2211
+ * - "compact": Compact notation (1.2K, 1.5M)
2212
+ * - "none": Display as-is
2213
+ * @default "number" for numeric values, "none" for strings
2214
+ */
2215
+ format?: StatValueFormat;
2216
+ /** Currency code for currency format (default: "USD") */
2217
+ currencyCode?: string;
2218
+ /** Number of decimal places for percent format (default: 1) */
2219
+ percentDecimals?: number;
2220
+ /** @deprecated Use format="number" instead */
2221
+ formatValue?: boolean;
2222
+ /** Click handler for interactive cards */
2223
+ onClick?: () => void;
2224
+ /** URL to link to (wraps card in anchor behavior) */
2225
+ href?: string;
2226
+ /** Chart configuration for the flip side. When provided, enables the flip feature */
2227
+ chart?: StatCardChartConfig;
2228
+ /** Which side to show initially when chart is enabled */
2229
+ defaultSide?: "stat" | "chart";
2230
+ }
2231
+ declare function StatCard({ title, value, description, footer, icon, trend, variant, className, size, format, currencyCode, percentDecimals, formatValue, onClick, href, chart, defaultSide, }: StatCardProps): react_jsx_runtime.JSX.Element;
2232
+ /** Container for stat cards with responsive grid */
2233
+ interface StatCardsContainerProps {
2234
+ children: React$1.ReactNode;
2235
+ /** Number of columns on different breakpoints */
2236
+ columns?: {
2237
+ default?: 1 | 2 | 3 | 4;
2238
+ sm?: 1 | 2 | 3 | 4;
2239
+ md?: 1 | 2 | 3 | 4;
2240
+ lg?: 1 | 2 | 3 | 4;
2241
+ };
2242
+ className?: string;
2243
+ }
2244
+ declare function StatCardsContainer({ children, columns, className, }: StatCardsContainerProps): react_jsx_runtime.JSX.Element;
2245
+
2246
+ interface SwitchProps extends Omit<React$1.ComponentProps<"button">, "onChange" | "value"> {
2247
+ checked?: boolean;
2248
+ onCheckedChange?: (checked: boolean) => void;
2249
+ }
2250
+ /**
2251
+ * Switch - Toggle switch for binary choices
2252
+ *
2253
+ * @example
2254
+ * <Switch checked={enabled} onCheckedChange={setEnabled} />
2255
+ *
2256
+ * @example
2257
+ * <label className="flex items-center gap-2">
2258
+ * <Switch checked={notifications} onCheckedChange={setNotifications} />
2259
+ * Enable notifications
2260
+ * </label>
2261
+ */
2262
+ declare const Switch: React$1.ForwardRefExoticComponent<Omit<SwitchProps, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
2263
+
2264
+ declare function Table({ className, ...props }: React$1.ComponentProps<"table">): react_jsx_runtime.JSX.Element;
2265
+ declare function TableHeader({ className, ...props }: React$1.ComponentProps<"thead">): react_jsx_runtime.JSX.Element;
2266
+ declare function TableBody({ className, ...props }: React$1.ComponentProps<"tbody">): react_jsx_runtime.JSX.Element;
2267
+ declare function TableFooter({ className, ...props }: React$1.ComponentProps<"tfoot">): react_jsx_runtime.JSX.Element;
2268
+ declare function TableRow({ className, ...props }: React$1.ComponentProps<"tr">): react_jsx_runtime.JSX.Element;
2269
+ declare function TableHead({ className, ...props }: React$1.ComponentProps<"th">): react_jsx_runtime.JSX.Element;
2270
+ declare function TableCell({ className, ...props }: React$1.ComponentProps<"td">): react_jsx_runtime.JSX.Element;
2271
+ declare function TableCaption({ className, ...props }: React$1.ComponentProps<"caption">): react_jsx_runtime.JSX.Element;
2272
+
2273
+ interface TextGenerateEffectProps {
2274
+ words: string;
2275
+ className?: string;
2276
+ filter?: boolean;
2277
+ duration?: number;
2278
+ staggerDelay?: number;
2279
+ /** HTML element to render – defaults to div; use "h1" or "h2" for headings */
2280
+ as?: ElementType<{
2281
+ className?: string;
2282
+ children?: ReactNode;
2283
+ }>;
2284
+ }
2285
+ declare function TextGenerateEffect({ words, className, filter, duration, staggerDelay, as: Component, }: TextGenerateEffectProps): react_jsx_runtime.JSX.Element;
2286
+
2287
+ interface TextHighlightProps {
2288
+ /** Content to highlight */
2289
+ children: ReactNode;
2290
+ /** Additional className for styling */
2291
+ className?: string;
2292
+ /** Animation duration in seconds */
2293
+ duration?: number;
2294
+ /** Animation delay in seconds */
2295
+ delay?: number;
2296
+ /**
2297
+ * Gradient colors for the highlight.
2298
+ * Provide Tailwind gradient classes like "from-emerald-300 to-teal-300"
2299
+ * @default "from-indigo-300 to-purple-300 dark:from-indigo-500 dark:to-purple-500"
2300
+ */
2301
+ gradient?: string;
2302
+ /** Whether to disable the animation (instant highlight) */
2303
+ disableAnimation?: boolean;
2304
+ }
2305
+ /**
2306
+ * Animated text highlight component that draws a gradient background behind text.
2307
+ * Perfect for emphasizing key phrases in hero sections.
2308
+ *
2309
+ * The animation respects the user's `prefers-reduced-motion` setting and will
2310
+ * display the highlight instantly when reduced motion is preferred.
2311
+ *
2312
+ * @example
2313
+ * ```tsx
2314
+ * <h1>
2315
+ * Ready to take your business{" "}
2316
+ * <TextHighlight gradient="from-emerald-300 to-teal-300 dark:from-emerald-400 dark:to-teal-400">
2317
+ * to the next level?
2318
+ * </TextHighlight>
2319
+ * </h1>
2320
+ * ```
2321
+ */
2322
+ declare function TextHighlight({ children, className, duration, delay, gradient, disableAnimation, }: TextHighlightProps): react_jsx_runtime.JSX.Element;
2323
+
2324
+ interface TimeEstimateProps extends React$1.ComponentProps<"div"> {
2325
+ minutes: number;
2326
+ }
2327
+ declare function TimeEstimate({ minutes, className, ...props }: TimeEstimateProps): react_jsx_runtime.JSX.Element;
2328
+
2329
+ declare const ToggleGroup: React$1.ForwardRefExoticComponent<((Omit<ToggleGroupPrimitive.ToggleGroupSingleProps & React$1.RefAttributes<HTMLDivElement>, "ref"> | Omit<ToggleGroupPrimitive.ToggleGroupMultipleProps & React$1.RefAttributes<HTMLDivElement>, "ref">) & {
2330
+ variant?: "default" | "outline";
2331
+ size?: "default" | "sm" | "lg";
2332
+ }) & React$1.RefAttributes<HTMLDivElement>>;
2333
+ declare const ToggleGroupItem: React$1.ForwardRefExoticComponent<Omit<ToggleGroupPrimitive.ToggleGroupItemProps & React$1.RefAttributes<HTMLButtonElement>, "ref"> & {
2334
+ variant?: "default" | "outline";
2335
+ size?: "default" | "sm" | "lg";
2336
+ } & React$1.RefAttributes<HTMLButtonElement>>;
2337
+
2338
+ type TooltipRootProps = Omit<ComponentProps<typeof Tooltip>, "children">;
2339
+ type TooltipContentProps = ComponentProps<typeof TooltipContent$1>;
2340
+ interface TooltipCardProps extends TooltipRootProps {
2341
+ /** The inline trigger content. */
2342
+ children: ReactNode;
2343
+ /** Rich tooltip card content. Strings are rendered with default readable text styles. */
2344
+ content: ReactNode;
2345
+ /** Additional classes for the inline trigger. */
2346
+ className?: string;
2347
+ /** Additional classes for the inline trigger. Prefer this when mirroring registry examples. */
2348
+ triggerClassName?: string;
2349
+ /** Additional classes for the tooltip card panel. */
2350
+ containerClassName?: string;
2351
+ /** Tooltip side relative to the trigger. */
2352
+ side?: TooltipContentProps["side"];
2353
+ /** Tooltip alignment relative to the trigger. */
2354
+ align?: TooltipContentProps["align"];
2355
+ /** Distance between the trigger and card. */
2356
+ sideOffset?: TooltipContentProps["sideOffset"];
2357
+ }
2358
+ /**
2359
+ * Inline rich tooltip card for contextual copy, definitions, and lightweight previews.
2360
+ */
2361
+ declare function TooltipCard({ children, className, containerClassName, content, triggerClassName, delayDuration, side, align, sideOffset, ...tooltipProps }: TooltipCardProps): react_jsx_runtime.JSX.Element;
2362
+
2363
+ /**
2364
+ * Centralized Theme Configuration
2365
+ *
2366
+ * This file contains all global design tokens and layout settings.
2367
+ * Import these values in components for type-safe, consistent styling.
2368
+ *
2369
+ * The values here should mirror what's in tailwind.config.ts and globals.css
2370
+ * to maintain a single source of truth.
2371
+ */
2372
+ declare const layout: {
2373
+ /** Maximum content width for the main app container */
2374
+ readonly maxWidth: "1280px";
2375
+ /** Maximum width for narrow content (forms, auth pages) */
2376
+ readonly maxWidthNarrow: "640px";
2377
+ /** Maximum width for wide content (dashboards, tables) */
2378
+ readonly maxWidthWide: "1536px";
2379
+ /** Maximum width for full-bleed content */
2380
+ readonly maxWidthFull: "100%";
2381
+ /** Standard horizontal padding for containers */
2382
+ readonly containerPadding: {
2383
+ readonly mobile: "1rem";
2384
+ readonly tablet: "1.5rem";
2385
+ readonly desktop: "2rem";
2386
+ };
2387
+ /** Navbar height */
2388
+ readonly navbarHeight: "64px";
2389
+ /** Footer height */
2390
+ readonly footerHeight: "80px";
2391
+ /** Sidebar width (for future admin/dashboard layouts) */
2392
+ readonly sidebarWidth: "256px";
2393
+ readonly sidebarWidthCollapsed: "64px";
2394
+ };
2395
+ declare const typography: {
2396
+ /** Font families */
2397
+ readonly fontFamily: {
2398
+ readonly sans: "var(--font-sans, ui-sans-serif, system-ui, sans-serif)";
2399
+ readonly mono: "var(--font-mono, ui-monospace, monospace)";
2400
+ };
2401
+ /**
2402
+ * Font sizes with line heights
2403
+ * Format: [fontSize, lineHeight]
2404
+ */
2405
+ readonly fontSize: {
2406
+ readonly xs: readonly ["0.75rem", "1rem"];
2407
+ readonly sm: readonly ["0.875rem", "1.25rem"];
2408
+ readonly base: readonly ["1rem", "1.5rem"];
2409
+ readonly lg: readonly ["1.125rem", "1.75rem"];
2410
+ readonly xl: readonly ["1.25rem", "1.75rem"];
2411
+ readonly "2xl": readonly ["1.5rem", "2rem"];
2412
+ readonly "3xl": readonly ["1.875rem", "2.25rem"];
2413
+ readonly "4xl": readonly ["2.25rem", "2.5rem"];
2414
+ readonly "5xl": readonly ["3rem", "1"];
2415
+ readonly "6xl": readonly ["3.75rem", "1"];
2416
+ };
2417
+ /** Font weights */
2418
+ readonly fontWeight: {
2419
+ readonly normal: "400";
2420
+ readonly medium: "500";
2421
+ readonly semibold: "600";
2422
+ readonly bold: "700";
2423
+ };
2424
+ /**
2425
+ * Heading styles - use these for consistent heading typography
2426
+ * Each includes: fontSize, lineHeight, fontWeight, letterSpacing
2427
+ */
2428
+ readonly headings: {
2429
+ readonly h1: {
2430
+ readonly fontSize: "2.25rem";
2431
+ readonly lineHeight: "2.5rem";
2432
+ readonly fontWeight: "700";
2433
+ readonly letterSpacing: "-0.025em";
2434
+ readonly className: "text-4xl font-bold tracking-tight";
2435
+ };
2436
+ readonly h2: {
2437
+ readonly fontSize: "1.875rem";
2438
+ readonly lineHeight: "2.25rem";
2439
+ readonly fontWeight: "600";
2440
+ readonly letterSpacing: "-0.025em";
2441
+ readonly className: "text-3xl font-semibold tracking-tight";
2442
+ };
2443
+ readonly h3: {
2444
+ readonly fontSize: "1.5rem";
2445
+ readonly lineHeight: "2rem";
2446
+ readonly fontWeight: "600";
2447
+ readonly letterSpacing: "-0.025em";
2448
+ readonly className: "text-2xl font-semibold tracking-tight";
2449
+ };
2450
+ readonly h4: {
2451
+ readonly fontSize: "1.25rem";
2452
+ readonly lineHeight: "1.75rem";
2453
+ readonly fontWeight: "600";
2454
+ readonly letterSpacing: "0";
2455
+ readonly className: "text-xl font-semibold";
2456
+ };
2457
+ readonly h5: {
2458
+ readonly fontSize: "1.125rem";
2459
+ readonly lineHeight: "1.75rem";
2460
+ readonly fontWeight: "600";
2461
+ readonly letterSpacing: "0";
2462
+ readonly className: "text-lg font-semibold";
2463
+ };
2464
+ readonly h6: {
2465
+ readonly fontSize: "1rem";
2466
+ readonly lineHeight: "1.5rem";
2467
+ readonly fontWeight: "600";
2468
+ readonly letterSpacing: "0";
2469
+ readonly className: "text-base font-semibold";
2470
+ };
2471
+ };
2472
+ /** Body text styles */
2473
+ readonly body: {
2474
+ readonly large: {
2475
+ readonly fontSize: "1.125rem";
2476
+ readonly lineHeight: "1.75rem";
2477
+ readonly className: "text-lg";
2478
+ };
2479
+ readonly default: {
2480
+ readonly fontSize: "1rem";
2481
+ readonly lineHeight: "1.5rem";
2482
+ readonly className: "text-base";
2483
+ };
2484
+ readonly small: {
2485
+ readonly fontSize: "0.875rem";
2486
+ readonly lineHeight: "1.25rem";
2487
+ readonly className: "text-sm";
2488
+ };
2489
+ readonly xs: {
2490
+ readonly fontSize: "0.75rem";
2491
+ readonly lineHeight: "1rem";
2492
+ readonly className: "text-xs";
2493
+ };
2494
+ };
2495
+ };
2496
+ declare const spacing: {
2497
+ /** Section spacing (vertical gaps between major sections) */
2498
+ readonly section: {
2499
+ readonly sm: "2rem";
2500
+ readonly md: "4rem";
2501
+ readonly lg: "6rem";
2502
+ readonly xl: "8rem";
2503
+ };
2504
+ /** Component spacing (gaps within components) */
2505
+ readonly component: {
2506
+ readonly xs: "0.25rem";
2507
+ readonly sm: "0.5rem";
2508
+ readonly md: "1rem";
2509
+ readonly lg: "1.5rem";
2510
+ readonly xl: "2rem";
2511
+ };
2512
+ /** Form element spacing */
2513
+ readonly form: {
2514
+ readonly gap: "1.5rem";
2515
+ readonly labelGap: "0.5rem";
2516
+ readonly groupGap: "2rem";
2517
+ };
2518
+ };
2519
+ declare const breakpoints: {
2520
+ readonly sm: "640px";
2521
+ readonly md: "768px";
2522
+ readonly lg: "1024px";
2523
+ readonly xl: "1280px";
2524
+ readonly "2xl": "1536px";
2525
+ };
2526
+ declare const zIndex: {
2527
+ readonly dropdown: 50;
2528
+ readonly sticky: 100;
2529
+ readonly fixed: 200;
2530
+ readonly modalBackdrop: 300;
2531
+ readonly modal: 400;
2532
+ readonly popover: 500;
2533
+ readonly tooltip: 600;
2534
+ readonly toast: 700;
2535
+ };
2536
+ declare const animation: {
2537
+ /** Transition durations */
2538
+ readonly duration: {
2539
+ readonly fast: "150ms";
2540
+ readonly default: "200ms";
2541
+ readonly slow: "300ms";
2542
+ readonly slower: "500ms";
2543
+ };
2544
+ /** Easing functions */
2545
+ readonly easing: {
2546
+ readonly default: "cubic-bezier(0.4, 0, 0.2, 1)";
2547
+ readonly in: "cubic-bezier(0.4, 0, 1, 1)";
2548
+ readonly out: "cubic-bezier(0, 0, 0.2, 1)";
2549
+ readonly inOut: "cubic-bezier(0.4, 0, 0.2, 1)";
2550
+ };
2551
+ };
2552
+ declare const borderRadius: {
2553
+ readonly none: "0";
2554
+ readonly sm: "0.25rem";
2555
+ readonly default: "0.5rem";
2556
+ readonly md: "0.5rem";
2557
+ readonly lg: "0.75rem";
2558
+ readonly xl: "1rem";
2559
+ readonly "2xl": "1.5rem";
2560
+ readonly full: "9999px";
2561
+ };
2562
+ declare const shadows: {
2563
+ readonly sm: "0 1px 2px 0 rgb(0 0 0 / 0.05)";
2564
+ readonly default: "0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)";
2565
+ readonly md: "0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)";
2566
+ readonly lg: "0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)";
2567
+ readonly xl: "0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)";
2568
+ };
2569
+ declare const theme: {
2570
+ readonly layout: {
2571
+ /** Maximum content width for the main app container */
2572
+ readonly maxWidth: "1280px";
2573
+ /** Maximum width for narrow content (forms, auth pages) */
2574
+ readonly maxWidthNarrow: "640px";
2575
+ /** Maximum width for wide content (dashboards, tables) */
2576
+ readonly maxWidthWide: "1536px";
2577
+ /** Maximum width for full-bleed content */
2578
+ readonly maxWidthFull: "100%";
2579
+ /** Standard horizontal padding for containers */
2580
+ readonly containerPadding: {
2581
+ readonly mobile: "1rem";
2582
+ readonly tablet: "1.5rem";
2583
+ readonly desktop: "2rem";
2584
+ };
2585
+ /** Navbar height */
2586
+ readonly navbarHeight: "64px";
2587
+ /** Footer height */
2588
+ readonly footerHeight: "80px";
2589
+ /** Sidebar width (for future admin/dashboard layouts) */
2590
+ readonly sidebarWidth: "256px";
2591
+ readonly sidebarWidthCollapsed: "64px";
2592
+ };
2593
+ readonly typography: {
2594
+ /** Font families */
2595
+ readonly fontFamily: {
2596
+ readonly sans: "var(--font-sans, ui-sans-serif, system-ui, sans-serif)";
2597
+ readonly mono: "var(--font-mono, ui-monospace, monospace)";
2598
+ };
2599
+ /**
2600
+ * Font sizes with line heights
2601
+ * Format: [fontSize, lineHeight]
2602
+ */
2603
+ readonly fontSize: {
2604
+ readonly xs: readonly ["0.75rem", "1rem"];
2605
+ readonly sm: readonly ["0.875rem", "1.25rem"];
2606
+ readonly base: readonly ["1rem", "1.5rem"];
2607
+ readonly lg: readonly ["1.125rem", "1.75rem"];
2608
+ readonly xl: readonly ["1.25rem", "1.75rem"];
2609
+ readonly "2xl": readonly ["1.5rem", "2rem"];
2610
+ readonly "3xl": readonly ["1.875rem", "2.25rem"];
2611
+ readonly "4xl": readonly ["2.25rem", "2.5rem"];
2612
+ readonly "5xl": readonly ["3rem", "1"];
2613
+ readonly "6xl": readonly ["3.75rem", "1"];
2614
+ };
2615
+ /** Font weights */
2616
+ readonly fontWeight: {
2617
+ readonly normal: "400";
2618
+ readonly medium: "500";
2619
+ readonly semibold: "600";
2620
+ readonly bold: "700";
2621
+ };
2622
+ /**
2623
+ * Heading styles - use these for consistent heading typography
2624
+ * Each includes: fontSize, lineHeight, fontWeight, letterSpacing
2625
+ */
2626
+ readonly headings: {
2627
+ readonly h1: {
2628
+ readonly fontSize: "2.25rem";
2629
+ readonly lineHeight: "2.5rem";
2630
+ readonly fontWeight: "700";
2631
+ readonly letterSpacing: "-0.025em";
2632
+ readonly className: "text-4xl font-bold tracking-tight";
2633
+ };
2634
+ readonly h2: {
2635
+ readonly fontSize: "1.875rem";
2636
+ readonly lineHeight: "2.25rem";
2637
+ readonly fontWeight: "600";
2638
+ readonly letterSpacing: "-0.025em";
2639
+ readonly className: "text-3xl font-semibold tracking-tight";
2640
+ };
2641
+ readonly h3: {
2642
+ readonly fontSize: "1.5rem";
2643
+ readonly lineHeight: "2rem";
2644
+ readonly fontWeight: "600";
2645
+ readonly letterSpacing: "-0.025em";
2646
+ readonly className: "text-2xl font-semibold tracking-tight";
2647
+ };
2648
+ readonly h4: {
2649
+ readonly fontSize: "1.25rem";
2650
+ readonly lineHeight: "1.75rem";
2651
+ readonly fontWeight: "600";
2652
+ readonly letterSpacing: "0";
2653
+ readonly className: "text-xl font-semibold";
2654
+ };
2655
+ readonly h5: {
2656
+ readonly fontSize: "1.125rem";
2657
+ readonly lineHeight: "1.75rem";
2658
+ readonly fontWeight: "600";
2659
+ readonly letterSpacing: "0";
2660
+ readonly className: "text-lg font-semibold";
2661
+ };
2662
+ readonly h6: {
2663
+ readonly fontSize: "1rem";
2664
+ readonly lineHeight: "1.5rem";
2665
+ readonly fontWeight: "600";
2666
+ readonly letterSpacing: "0";
2667
+ readonly className: "text-base font-semibold";
2668
+ };
2669
+ };
2670
+ /** Body text styles */
2671
+ readonly body: {
2672
+ readonly large: {
2673
+ readonly fontSize: "1.125rem";
2674
+ readonly lineHeight: "1.75rem";
2675
+ readonly className: "text-lg";
2676
+ };
2677
+ readonly default: {
2678
+ readonly fontSize: "1rem";
2679
+ readonly lineHeight: "1.5rem";
2680
+ readonly className: "text-base";
2681
+ };
2682
+ readonly small: {
2683
+ readonly fontSize: "0.875rem";
2684
+ readonly lineHeight: "1.25rem";
2685
+ readonly className: "text-sm";
2686
+ };
2687
+ readonly xs: {
2688
+ readonly fontSize: "0.75rem";
2689
+ readonly lineHeight: "1rem";
2690
+ readonly className: "text-xs";
2691
+ };
2692
+ };
2693
+ };
2694
+ readonly spacing: {
2695
+ /** Section spacing (vertical gaps between major sections) */
2696
+ readonly section: {
2697
+ readonly sm: "2rem";
2698
+ readonly md: "4rem";
2699
+ readonly lg: "6rem";
2700
+ readonly xl: "8rem";
2701
+ };
2702
+ /** Component spacing (gaps within components) */
2703
+ readonly component: {
2704
+ readonly xs: "0.25rem";
2705
+ readonly sm: "0.5rem";
2706
+ readonly md: "1rem";
2707
+ readonly lg: "1.5rem";
2708
+ readonly xl: "2rem";
2709
+ };
2710
+ /** Form element spacing */
2711
+ readonly form: {
2712
+ readonly gap: "1.5rem";
2713
+ readonly labelGap: "0.5rem";
2714
+ readonly groupGap: "2rem";
2715
+ };
2716
+ };
2717
+ readonly breakpoints: {
2718
+ readonly sm: "640px";
2719
+ readonly md: "768px";
2720
+ readonly lg: "1024px";
2721
+ readonly xl: "1280px";
2722
+ readonly "2xl": "1536px";
2723
+ };
2724
+ readonly zIndex: {
2725
+ readonly dropdown: 50;
2726
+ readonly sticky: 100;
2727
+ readonly fixed: 200;
2728
+ readonly modalBackdrop: 300;
2729
+ readonly modal: 400;
2730
+ readonly popover: 500;
2731
+ readonly tooltip: 600;
2732
+ readonly toast: 700;
2733
+ };
2734
+ readonly animation: {
2735
+ /** Transition durations */
2736
+ readonly duration: {
2737
+ readonly fast: "150ms";
2738
+ readonly default: "200ms";
2739
+ readonly slow: "300ms";
2740
+ readonly slower: "500ms";
2741
+ };
2742
+ /** Easing functions */
2743
+ readonly easing: {
2744
+ readonly default: "cubic-bezier(0.4, 0, 0.2, 1)";
2745
+ readonly in: "cubic-bezier(0.4, 0, 1, 1)";
2746
+ readonly out: "cubic-bezier(0, 0, 0.2, 1)";
2747
+ readonly inOut: "cubic-bezier(0.4, 0, 0.2, 1)";
2748
+ };
2749
+ };
2750
+ readonly borderRadius: {
2751
+ readonly none: "0";
2752
+ readonly sm: "0.25rem";
2753
+ readonly default: "0.5rem";
2754
+ readonly md: "0.5rem";
2755
+ readonly lg: "0.75rem";
2756
+ readonly xl: "1rem";
2757
+ readonly "2xl": "1.5rem";
2758
+ readonly full: "9999px";
2759
+ };
2760
+ readonly shadows: {
2761
+ readonly sm: "0 1px 2px 0 rgb(0 0 0 / 0.05)";
2762
+ readonly default: "0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)";
2763
+ readonly md: "0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)";
2764
+ readonly lg: "0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)";
2765
+ readonly xl: "0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)";
2766
+ };
2767
+ readonly brandVariables: {
2768
+ /** Secondary brand color for highlights and gradients */
2769
+ readonly brandAccent: "--brand-accent";
2770
+ /** Gradient start color */
2771
+ readonly brandGradientFrom: "--brand-gradient-from";
2772
+ /** Gradient end color */
2773
+ readonly brandGradientTo: "--brand-gradient-to";
2774
+ /** Text highlight/selection color */
2775
+ readonly highlightColor: "--highlight-color";
2776
+ /** Shadow depth multiplier (0.5 = subtle, 1.5 = dramatic) */
2777
+ readonly shadowIntensity: "--shadow-intensity";
2778
+ /** Spacing scale multiplier (0.875 = tighter, 1.125 = looser) */
2779
+ readonly spacingScale: "--spacing-scale";
2780
+ /** Header font family */
2781
+ readonly fontHeaders: "--font-headers";
2782
+ /** Display/marketing font family */
2783
+ readonly fontDisplay: "--font-display";
2784
+ /** Header font weight */
2785
+ readonly headingWeight: "--heading-weight";
2786
+ /** Header letter spacing */
2787
+ readonly headingTracking: "--heading-tracking";
2788
+ };
2789
+ readonly brandDefaults: {
2790
+ readonly brandAccent: "var(--primary)";
2791
+ readonly brandGradientFrom: "var(--primary)";
2792
+ readonly brandGradientTo: "var(--brand-accent)";
2793
+ readonly highlightColor: "oklch(0.95 0.05 90)";
2794
+ readonly shadowIntensity: "1";
2795
+ readonly spacingScale: "1";
2796
+ readonly fontHeaders: "var(--font-sans)";
2797
+ readonly fontDisplay: "var(--font-sans)";
2798
+ readonly headingWeight: "600";
2799
+ readonly headingTracking: "-0.025em";
2800
+ };
2801
+ };
2802
+ type Theme$1 = typeof theme;
2803
+ type Layout = typeof layout;
2804
+ type Typography = typeof typography;
2805
+ type Spacing = typeof spacing;
2806
+ type Breakpoints = typeof breakpoints;
2807
+ type ZIndex = typeof zIndex;
2808
+ type Animation = typeof animation;
2809
+ type BorderRadius = typeof borderRadius;
2810
+ type Shadows = typeof shadows;
2811
+
2812
+ /**
2813
+ * Theme Type Definitions
2814
+ *
2815
+ * Comprehensive theming system that supports:
2816
+ * - Brand differentiation between products (Compass, ZenBid)
2817
+ * - Multiple themes per product (light, dark, high-contrast, colorblind)
2818
+ * - Custom typography per product
2819
+ * - Component-level customization
2820
+ */
2821
+ /** Base color scheme - light or dark */
2822
+ type ColorScheme = "light" | "dark";
2823
+ /** Built-in theme names */
2824
+ type BuiltInThemeName = "light" | "dark" | "colorful" | "high-contrast" | "high-contrast-dark" | "deuteranopia" | "protanopia" | "tritanopia";
2825
+ /** Theme name can be built-in or custom */
2826
+ type ThemeName = BuiltInThemeName | (string & {});
2827
+ /**
2828
+ * Complete color palette for a theme.
2829
+ * All values should be OKLCH color strings.
2830
+ */
2831
+ interface ThemeColors {
2832
+ /** Page/app background */
2833
+ background: string;
2834
+ /** Default text color */
2835
+ foreground: string;
2836
+ /** Card backgrounds */
2837
+ card: string;
2838
+ cardForeground: string;
2839
+ /** Popover/dropdown backgrounds */
2840
+ popover: string;
2841
+ popoverForeground: string;
2842
+ /** Primary brand color - buttons, links, accents */
2843
+ primary: string;
2844
+ primaryForeground: string;
2845
+ /** Secondary actions, less prominent UI */
2846
+ secondary: string;
2847
+ secondaryForeground: string;
2848
+ /** Accent color for highlights, selections */
2849
+ accent: string;
2850
+ accentForeground: string;
2851
+ /** Muted backgrounds and text */
2852
+ muted: string;
2853
+ mutedForeground: string;
2854
+ /** Destructive/danger actions */
2855
+ destructive: string;
2856
+ /** Success states */
2857
+ success: string;
2858
+ /** Warning states */
2859
+ warning: string;
2860
+ /** Borders */
2861
+ border: string;
2862
+ /** Input borders */
2863
+ input: string;
2864
+ /** Focus ring color */
2865
+ ring: string;
2866
+ /** Sidebar colors (optional, falls back to main colors) */
2867
+ sidebar?: string;
2868
+ sidebarForeground?: string;
2869
+ sidebarPrimary?: string;
2870
+ sidebarPrimaryForeground?: string;
2871
+ sidebarAccent?: string;
2872
+ sidebarAccentForeground?: string;
2873
+ sidebarBorder?: string;
2874
+ sidebarRing?: string;
2875
+ /** Chart colors for data visualizations */
2876
+ chart1?: string;
2877
+ chart2?: string;
2878
+ chart3?: string;
2879
+ chart4?: string;
2880
+ chart5?: string;
2881
+ }
2882
+ type ThemeButtonVariantName = "default" | "outline" | "secondary" | "premium";
2883
+ interface ThemeButtonVariant {
2884
+ background?: string;
2885
+ foreground?: string;
2886
+ border?: string;
2887
+ hoverBackground?: string;
2888
+ hoverForeground?: string;
2889
+ hoverBorder?: string;
2890
+ activeBackground?: string;
2891
+ activeForeground?: string;
2892
+ activeBorder?: string;
2893
+ }
2894
+ interface ThemeButtons {
2895
+ hoverEffect?: ButtonHoverEffect;
2896
+ fontFamily?: string;
2897
+ fontWeight?: string;
2898
+ letterSpacing?: string;
2899
+ textTransform?: string;
2900
+ variants?: Partial<Record<ThemeButtonVariantName, ThemeButtonVariant>>;
2901
+ }
2902
+ /**
2903
+ * Complete theme definition.
2904
+ * Each theme contains all styling information needed to render the UI.
2905
+ */
2906
+ interface Theme {
2907
+ /** Theme identifier (e.g., "light", "dark", "high-contrast") */
2908
+ name: ThemeName;
2909
+ /** Display name for UI (e.g., "Light Mode", "High Contrast") */
2910
+ displayName: string;
2911
+ /** Base color scheme for system preference matching */
2912
+ colorScheme: ColorScheme;
2913
+ /** Complete color palette */
2914
+ colors: ThemeColors;
2915
+ /** Border radius scale base value (e.g., "0.625rem") */
2916
+ radius?: string;
2917
+ /** Shadow intensity multiplier (0.5 to 1.5, default 1) */
2918
+ shadowIntensity?: number;
2919
+ /** CTA button theme configuration */
2920
+ buttons?: ThemeButtons;
2921
+ }
2922
+ /**
2923
+ * Typography configuration for a product.
2924
+ * Allows custom fonts per product.
2925
+ */
2926
+ interface ThemeFonts {
2927
+ /** Body text font family */
2928
+ body?: string;
2929
+ /** Header font family */
2930
+ headers?: string;
2931
+ /** Display/marketing font family */
2932
+ display?: string;
2933
+ /** Monospace font family */
2934
+ mono?: string;
2935
+ /** Header font weight (e.g., "600", "700") */
2936
+ headingWeight?: string;
2937
+ /** Header letter spacing (e.g., "-0.025em") */
2938
+ headingTracking?: string;
2939
+ }
2940
+ /**
2941
+ * Complete theme configuration for a product.
2942
+ * Defines available themes and typography.
2943
+ */
2944
+ interface ProductThemeConfig {
2945
+ /** Product identifier (e.g., "compass", "zenbid") */
2946
+ productId: string;
2947
+ /** Display name for the product */
2948
+ productName: string;
2949
+ /** Default theme to use (must exist in themes) */
2950
+ defaultTheme: ThemeName;
2951
+ /** Available themes for this product */
2952
+ themes: Record<ThemeName, Theme>;
2953
+ /** Custom typography for this product */
2954
+ fonts?: ThemeFonts;
2955
+ }
2956
+ /**
2957
+ * Button hover effect variants.
2958
+ */
2959
+ type ButtonHoverEffect = "slide" | "glow" | "scale" | "none";
2960
+
2961
+ /**
2962
+ * Base Theme Definitions
2963
+ *
2964
+ * Core theme definitions used by both the theme registry and product themes.
2965
+ * This file exists to prevent circular dependencies between index.ts and products.ts.
2966
+ */
2967
+
2968
+ /**
2969
+ * Default light theme.
2970
+ */
2971
+ declare const lightTheme: Theme;
2972
+ /**
2973
+ * Default dark theme.
2974
+ */
2975
+ declare const darkTheme: Theme;
2976
+ /**
2977
+ * Colorful theme with vibrant, saturated colors.
2978
+ */
2979
+ declare const colorfulTheme: Theme;
2980
+ /**
2981
+ * High contrast theme for accessibility (WCAG AAA).
2982
+ */
2983
+ declare const highContrastTheme: Theme;
2984
+ /**
2985
+ * High contrast dark theme.
2986
+ */
2987
+ declare const highContrastDarkTheme: Theme;
2988
+ /**
2989
+ * Deuteranopia (red-green colorblind) accessible theme.
2990
+ * Avoids problematic red-green combinations.
2991
+ */
2992
+ declare const deuteranopiaTheme: Theme;
2993
+ /**
2994
+ * Protanopia (red colorblind) accessible theme.
2995
+ */
2996
+ declare const protanopiaTheme: Theme;
2997
+ /**
2998
+ * Tritanopia (blue-yellow colorblind) accessible theme.
2999
+ */
3000
+ declare const tritanopiaTheme: Theme;
3001
+
3002
+ /**
3003
+ * Product Theme Definitions
3004
+ *
3005
+ * Pre-configured theme sets for each product.
3006
+ * Products can import and use these directly or as starting points.
3007
+ */
3008
+
3009
+ /**
3010
+ * Complete Compass theme configuration
3011
+ */
3012
+ declare const compassThemeConfig: ProductThemeConfig;
3013
+ /**
3014
+ * Complete ZenBid theme configuration
3015
+ */
3016
+ declare const zenbidThemeConfig: ProductThemeConfig;
3017
+
3018
+ /**
3019
+ * Theme Registry
3020
+ *
3021
+ * Default theme definitions for the theming system.
3022
+ * Products can extend or override these themes.
3023
+ */
3024
+
3025
+ /**
3026
+ * All default themes indexed by name.
3027
+ */
3028
+ declare const defaultThemes: Record<string, Theme>;
3029
+ /**
3030
+ * Get a theme by name from the default themes.
3031
+ */
3032
+ declare function getDefaultTheme(name: string): Theme | undefined;
3033
+ /**
3034
+ * Get the color scheme for a theme name.
3035
+ * Falls back to "light" if theme not found.
3036
+ */
3037
+ declare function getColorScheme(themeName: string): "light" | "dark";
3038
+
3039
+ /**
3040
+ * Avatar gradient utilities
3041
+ * Generates consistent gradient colors for user avatars based on user ID
3042
+ */
3043
+
3044
+ interface AvatarGradient {
3045
+ from: string;
3046
+ to: string;
3047
+ style: CSSProperties;
3048
+ className: string;
3049
+ }
3050
+ /**
3051
+ * Get a consistent gradient for a user based on their ID.
3052
+ * The same ID will always produce the same gradient.
3053
+ *
3054
+ * @param userId - A unique identifier (user ID, email, etc.)
3055
+ * @returns An object with gradient colors, inline style, and className
3056
+ *
3057
+ * @example
3058
+ * ```tsx
3059
+ * const gradient = getAvatarGradient(user.id);
3060
+ *
3061
+ * <div style={gradient.style} className={gradient.className}>
3062
+ * {initials}
3063
+ * </div>
3064
+ * ```
3065
+ */
3066
+ declare function getAvatarGradient(userId: string): AvatarGradient;
3067
+ /**
3068
+ * Get the gradient index for a user (useful for storing/debugging)
3069
+ */
3070
+ declare function getGradientIndex(userId: string): number;
3071
+ /**
3072
+ * Get all available gradient pairs
3073
+ */
3074
+ declare function getGradientPairs(): readonly [{
3075
+ readonly from: "#f97316";
3076
+ readonly to: "#ec4899";
3077
+ }, {
3078
+ readonly from: "#ef4444";
3079
+ readonly to: "#a855f7";
3080
+ }, {
3081
+ readonly from: "#f59e0b";
3082
+ readonly to: "#ef4444";
3083
+ }, {
3084
+ readonly from: "#ec4899";
3085
+ readonly to: "#8b5cf6";
3086
+ }, {
3087
+ readonly from: "#f43f5e";
3088
+ readonly to: "#fb923c";
3089
+ }, {
3090
+ readonly from: "#3b82f6";
3091
+ readonly to: "#a855f7";
3092
+ }, {
3093
+ readonly from: "#6366f1";
3094
+ readonly to: "#ec4899";
3095
+ }, {
3096
+ readonly from: "#8b5cf6";
3097
+ readonly to: "#06b6d4";
3098
+ }, {
3099
+ readonly from: "#a855f7";
3100
+ readonly to: "#3b82f6";
3101
+ }, {
3102
+ readonly from: "#06b6d4";
3103
+ readonly to: "#10b981";
3104
+ }, {
3105
+ readonly from: "#10b981";
3106
+ readonly to: "#3b82f6";
3107
+ }, {
3108
+ readonly from: "#14b8a6";
3109
+ readonly to: "#8b5cf6";
3110
+ }, {
3111
+ readonly from: "#22c55e";
3112
+ readonly to: "#06b6d4";
3113
+ }, {
3114
+ readonly from: "#0ea5e9";
3115
+ readonly to: "#f43f5e";
3116
+ }, {
3117
+ readonly from: "#eab308";
3118
+ readonly to: "#22c55e";
3119
+ }];
3120
+
3121
+ type NoWidowOptions = PreventWidowsOptions;
3122
+ type NoWidowDomOptions = NoWidowOptions & {
3123
+ defaultWordCount?: number;
3124
+ selector?: string;
3125
+ selectors?: string[];
3126
+ };
3127
+ type NoWidowTextOwnProps<TElement extends ElementType = "span"> = NoWidowOptions & {
3128
+ as?: TElement;
3129
+ children: ReactNode;
3130
+ };
3131
+ type NoWidowTextProps<TElement extends ElementType = "span"> = NoWidowTextOwnProps<TElement> & Omit<ComponentPropsWithoutRef<TElement>, keyof NoWidowTextOwnProps<TElement>>;
3132
+ declare function preventWidowsInReactNode(children: ReactNode, options?: NoWidowOptions): ReactNode;
3133
+ declare function NoWidowText<TElement extends ElementType = "span">({ as, children, minWords, preserveExistingNbsp, wordCount, ...props }: NoWidowTextProps<TElement>): ReactElement<any, string | React$1.JSXElementConstructor<any>>;
3134
+ declare function applyNoWidowText(root: ParentNode, options?: NoWidowDomOptions): void;
3135
+
3136
+ type NoWidowProviderProps = NoWidowDomOptions & {
3137
+ children?: ReactNode;
3138
+ };
3139
+ declare function NoWidowProvider({ children, defaultWordCount, minWords, preserveExistingNbsp, selector, selectors, wordCount, }: NoWidowProviderProps): string | number | bigint | boolean | React$1.ReactElement<unknown, string | React$1.JSXElementConstructor<any>> | Iterable<ReactNode> | Promise<string | number | bigint | boolean | React$1.ReactPortal | React$1.ReactElement<unknown, string | React$1.JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | null;
3140
+
3141
+ export { type Animation, Autocomplete, type AutocompleteOption, type AutocompleteProps, Avatar, AvatarFallback, type AvatarGradient, AvatarImage, BackLink, type BackLinkProps, BackgroundRippleEffect, type BackgroundRippleEffectProps, type BorderRadius, type Breakpoints, type BuiltInThemeName, Button, ButtonGroup, type ButtonGroupProps, ButtonGroupSeparator, ButtonGroupText, ButtonProps, Calendar, type CalendarProps, type CanonicalDataState, ClarityAnalytics, type ClarityAnalyticsProps, CohortCard, type CohortCardProps, type CohortEligibility, Collapsible, CollapsibleContent, CollapsibleTrigger, type ColorScheme, Combobox, type ComboboxOption, type ComboboxProps, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, CompanyNameEditableCell, ContactInfo, type ContactInfoProps, DataStateBanner, DataStateInline, type DataStateMetadata, DatePicker, type DatePickerProps, DateRangePicker, type DateRangePickerProps, DeleteConfirmationDialog, type DeleteConfirmationDialogProps, type DeviceInfo, Dialog, DisclosureFootnotes, type DisclosureFootnotesProps, type DisclosureItem, DisplayField, DisplayFieldGroup, type DisplayFieldGroupProps, type DisplayFieldProps, DraggableCardBody, type DraggableCardBodyProps, DraggableCardContainer, type DraggableCardContainerProps, DraggableStickyModal, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EditableCell, FeedbackButton, type FeedbackButtonProps, FeedbackDialog, type FeedbackDialogProps, type FeedbackSubmission, FormDialog, GooeyInput, type GooeyInputClassNames, type GooeyInputProps, GoogleAnalytics, type GoogleAnalyticsProps, GoogleTagManager, type GoogleTagManagerProps, type HelpArticle, type HelpArticleGroup, HelpArticleIndex, type HelpArticleIndexProps, HelpArticleView, type HelpArticleViewProps, HelpButton, type HelpButtonProps, type HelpContextValue, HelpProvider, type HelpProviderProps, type HelpSearchResult, HelpSearchResults, type HelpSearchResultsProps, HelpTooltip, type HelpTooltipProps, HoverEffect, HoverEffectCard, HoverEffectCardDescription, type HoverEffectCardDescriptionProps, type HoverEffectCardProps, HoverEffectCardTitle, type HoverEffectCardTitleProps, type HoverEffectItem, type HoverEffectProps, IconButton, type IconButtonProps, InfoTooltip, type InfoTooltipProps, InlineEditableDate, type InlineEditableDateProps, InlineEditableSelect, type InlineEditableSelectProps, InlineEditableText, type InlineEditableTextProps, InputProps, Kbd, KbdGroup, KeyboardShortcut, type KeyboardShortcutProps, type Layout, LocationMap, type LocationMapProps, MFAChallenge, type MFAChallengeProps, type MFAFactor, MFARecovery, type MFARecoveryProps, ModernCalendar, type ModernCalendarProps, type NoWidowDomOptions, type NoWidowOptions, NoWidowProvider, type NoWidowProviderProps, NoWidowText, type NoWidowTextOwnProps, type NoWidowTextProps, NumberStepper, type NumberStepperProps, PageHeader, type PageHeaderProps, PageLoader, type PageLoaderProps, PageSection, type PageSectionProps, PageSections, type PageSectionsProps, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, type ProductThemeConfig, ProfileSection, type ProfileSectionProps, Progress, ProgressBar, type ProgressBarProps, RadioGroup, RadioGroupItem, type RecoveryMethod, type ResolveDataStateInput, type ResolvedDataState, RollingBackground, type RollingBackgroundProps, Section, type SectionProps, type SectionSpacing, type SelectOption, Separator, SessionError, type Shadows, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, type ShortcutDefinition, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, SignOutButton, type SignOutButtonProps, Skeleton, Slider, SocialIcon, type SocialIconProps, type SocialPlatform, type Spacing, StatCard, type StatCardChartConfig, type StatCardProps, type StatCardTrend, StatCardsContainer, type StatCardsContainerProps, type StatChartDataPoint, type StatValueFormat, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, TextGenerateEffect, type TextGenerateEffectProps, TextHighlight, type TextHighlightProps, type Theme$1 as Theme, type ThemeButtonVariant, type ThemeButtonVariantName, type ThemeButtons, type ThemeColors, type Theme as ThemeConfig, type ThemeFonts, type ThemeMode, type ThemeName, ThemeToggle, type ThemeToggleProps, TimeEstimate, type TimeEstimateProps, Toaster, ToggleGroup, ToggleGroupItem, Tooltip, TooltipCard, type TooltipCardProps, TooltipContent$1 as TooltipContent, type TrendDirection, type Typography, UserNameEditableCell, type ZIndex, animation, applyNoWidowText, borderRadius, breakpoints, colorfulTheme, compassThemeConfig, darkTheme, defaultThemes, deuteranopiaTheme, getAvatarGradient, getColorScheme, getDefaultTheme, getGradientIndex, getGradientPairs, highContrastDarkTheme, highContrastTheme, iconButtonVariants, layout, lightTheme, preventWidowsInReactNode, protanopiaTheme, resolveDataState, shadows, socialPlatforms, spacing, theme, tritanopiaTheme, typography, useHelp, useSidebar, useTheme, zIndex, zenbidThemeConfig };