@handled-ai/design-system 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,15 +1,51 @@
1
1
  import { ClassValue } from 'clsx';
2
2
  import * as React$1 from 'react';
3
- import { Avatar as Avatar$1, Dialog as Dialog$1, DropdownMenu as DropdownMenu$1, ScrollArea as ScrollArea$1, Select as Select$1, Separator as Separator$1, Tooltip as Tooltip$1, Tabs as Tabs$1 } from 'radix-ui';
3
+ import { Avatar as Avatar$1, Dialog as Dialog$1, DropdownMenu as DropdownMenu$1, Progress as Progress$1, ScrollArea as ScrollArea$1, Select as Select$1, Separator as Separator$1, Tooltip as Tooltip$1, Tabs as Tabs$1 } from 'radix-ui';
4
4
  import * as class_variance_authority_types from 'class-variance-authority/types';
5
5
  import { VariantProps } from 'class-variance-authority';
6
6
  import * as RechartsPrimitive from 'recharts';
7
+ import { SortingState } from '@tanstack/react-table';
7
8
  import * as LabelPrimitive from '@radix-ui/react-label';
8
9
 
9
10
  declare function cn(...inputs: ClassValue[]): string;
10
11
 
11
12
  declare function useIsMobile(): boolean;
12
13
 
14
+ interface ActivityThreadMessage {
15
+ id: string;
16
+ sender: string;
17
+ time: string;
18
+ content: string;
19
+ isCurrent?: boolean;
20
+ to?: string;
21
+ cc?: string;
22
+ subject?: string;
23
+ }
24
+ interface ActivityParticipant {
25
+ name: string;
26
+ role?: string;
27
+ }
28
+ interface ActivityDetailData {
29
+ icon: React$1.ReactNode;
30
+ title: string;
31
+ details: string;
32
+ content?: string;
33
+ time: string;
34
+ source: string;
35
+ sourceIcon?: React$1.ReactNode;
36
+ type?: "email" | "call" | "meeting" | "signal";
37
+ thread?: ActivityThreadMessage[];
38
+ participants?: ActivityParticipant[];
39
+ tags?: string[];
40
+ externalUrl?: string;
41
+ }
42
+ interface ActivityDetailProps {
43
+ activity: ActivityDetailData;
44
+ onBack?: () => void;
45
+ actions?: React$1.ReactNode;
46
+ }
47
+ declare function ActivityDetail({ activity, onBack, actions }: ActivityDetailProps): React$1.JSX.Element;
48
+
13
49
  interface ActivityLogItem {
14
50
  id: string;
15
51
  type: "workout" | "weighin" | "biometric" | "checkin" | string;
@@ -38,14 +74,35 @@ declare function AvatarGroup({ className, ...props }: React$1.ComponentProps<"di
38
74
  declare function AvatarGroupCount({ className, ...props }: React$1.ComponentProps<"div">): React$1.JSX.Element;
39
75
 
40
76
  declare const badgeVariants: (props?: ({
41
- variant?: "link" | "default" | "secondary" | "destructive" | "outline" | "ghost" | null | undefined;
77
+ variant?: "default" | "destructive" | "outline" | "secondary" | "ghost" | "link" | null | undefined;
42
78
  } & class_variance_authority_types.ClassProp) | undefined) => string;
43
79
  declare function Badge({ className, variant, asChild, ...props }: React$1.ComponentProps<"span"> & VariantProps<typeof badgeVariants> & {
44
80
  asChild?: boolean;
45
81
  }): React$1.JSX.Element;
46
82
 
83
+ interface BarSeries {
84
+ dataKey: string;
85
+ color: string;
86
+ name?: string;
87
+ icon?: React$1.ComponentType<{
88
+ className?: string;
89
+ }>;
90
+ barSize?: number;
91
+ }
92
+ interface BarChartComponentProps {
93
+ data: Record<string, unknown>[];
94
+ bars: BarSeries[];
95
+ height?: number;
96
+ xAxisKey?: string;
97
+ showGrid?: boolean;
98
+ showLegend?: boolean;
99
+ barGap?: number;
100
+ className?: string;
101
+ }
102
+ declare function BarChartComponent({ data, bars, height, xAxisKey, showGrid, showLegend, barGap, className, }: BarChartComponentProps): React$1.JSX.Element;
103
+
47
104
  declare const buttonVariants: (props?: ({
48
- variant?: "link" | "default" | "secondary" | "destructive" | "outline" | "ghost" | null | undefined;
105
+ variant?: "default" | "destructive" | "outline" | "secondary" | "ghost" | "link" | null | undefined;
49
106
  size?: "default" | "sm" | "lg" | "icon" | null | undefined;
50
107
  } & class_variance_authority_types.ClassProp) | undefined) => string;
51
108
  declare function Button({ className, variant, size, asChild, ...props }: React$1.ComponentProps<"button"> & VariantProps<typeof buttonVariants> & {
@@ -120,19 +177,164 @@ declare function ChartLegendContent({ className, hideIcon, payload, verticalAlig
120
177
  nameKey?: string;
121
178
  }): React$1.JSX.Element | null;
122
179
 
180
+ interface ChartTooltipEntry {
181
+ name?: string;
182
+ value?: number | string;
183
+ dataKey?: string;
184
+ color?: string;
185
+ stroke?: string;
186
+ fill?: string;
187
+ }
188
+ interface SimpleChartTooltipProps {
189
+ active?: boolean;
190
+ payload?: ChartTooltipEntry[];
191
+ label?: string;
192
+ formatter?: (value: number | string, name: string) => [string, string];
193
+ className?: string;
194
+ }
195
+ declare function SimpleChartTooltip({ active, payload, label, formatter, className, }: SimpleChartTooltipProps): React$1.JSX.Element | null;
196
+ declare const CHART_TOOLTIP_STYLE: React$1.CSSProperties;
197
+ declare const CHART_CURSOR_STYLE: {
198
+ stroke: string;
199
+ strokeWidth: number;
200
+ strokeDasharray: string;
201
+ };
202
+
203
+ interface ContactChannel {
204
+ type: "linkedin" | "gmail" | "salesforce" | "phone" | "custom";
205
+ icon: React$1.ReactNode;
206
+ label?: string;
207
+ onClick?: () => void;
208
+ }
209
+ interface ContactItem {
210
+ id: string;
211
+ name: string;
212
+ role: string;
213
+ badge?: {
214
+ label: string;
215
+ color?: "indigo" | "green" | "amber" | "red" | "muted";
216
+ };
217
+ channels?: ContactChannel[];
218
+ action?: {
219
+ label: string;
220
+ onClick?: () => void;
221
+ };
222
+ description?: string;
223
+ onDismiss?: () => void;
224
+ }
225
+ interface ContactListProps {
226
+ title?: string;
227
+ count?: string;
228
+ contacts: ContactItem[];
229
+ onAdd?: () => void;
230
+ addLabel?: string;
231
+ }
232
+ declare function ContactList({ title, count, contacts, onAdd, addLabel }: ContactListProps): React$1.JSX.Element;
233
+
234
+ declare function TopTasksCard({ onViewAll }: {
235
+ onViewAll?: () => void;
236
+ }): React$1.JSX.Element;
237
+ declare function UpcomingMeetingsCard(): React$1.JSX.Element;
238
+ declare function RecentlyCompletedCard(): React$1.JSX.Element;
239
+ declare function CheckInsCard(): React$1.JSX.Element;
240
+
241
+ type DataRow = {
242
+ id: string;
243
+ name: string;
244
+ industry: string[];
245
+ accountRisks: string[];
246
+ riskScore: number;
247
+ expansionScore: number;
248
+ growthIndicators: string[];
249
+ lastInteraction: string;
250
+ lastInteractionDays: number;
251
+ createdAt: string;
252
+ revenue: string;
253
+ headcount: string;
254
+ lastFunding: string;
255
+ owner: string;
256
+ opportunityCount: number;
257
+ productAdoptionScore: number;
258
+ };
259
+ declare function DataTable({ onRowClick }?: {
260
+ onRowClick?: (row: DataRow) => void;
261
+ }): React$1.JSX.Element;
262
+
263
+ interface DataTableDisplayColumn {
264
+ id: string;
265
+ label: string;
266
+ visible: boolean;
267
+ canHide: boolean;
268
+ }
269
+ interface DataTableDisplayProps {
270
+ sorting: SortingState;
271
+ onSortingChange: (next: SortingState) => void;
272
+ columns: DataTableDisplayColumn[];
273
+ onToggleColumn: (columnId: string) => void;
274
+ onReset: () => void;
275
+ }
276
+ declare function DataTableDisplay({ sorting, onSortingChange, columns, onToggleColumn, onReset, }: DataTableDisplayProps): React$1.JSX.Element;
277
+
278
+ interface DataTableFilterCategory {
279
+ id: string;
280
+ label: string;
281
+ icon: React$1.ComponentType<{
282
+ className?: string;
283
+ }>;
284
+ options: string[];
285
+ }
286
+ interface DataTableFilterProps {
287
+ categories: DataTableFilterCategory[];
288
+ selectedFilters: Record<string, string[]>;
289
+ onToggleFilter: (categoryId: string, option: string) => void;
290
+ }
291
+ declare function DataTableFilter({ categories, selectedFilters, onToggleFilter, }: DataTableFilterProps): React$1.JSX.Element;
292
+
293
+ type DataTableQuickViewValue = string | null;
294
+ interface DataTableQuickViewsProps {
295
+ quickViews: string[];
296
+ moreViews: string[];
297
+ activeView: DataTableQuickViewValue;
298
+ onViewChange: (next: DataTableQuickViewValue) => void;
299
+ className?: string;
300
+ }
301
+ declare function DataTableQuickViews({ quickViews, moreViews, activeView, onViewChange, className, }: DataTableQuickViewsProps): React$1.JSX.Element;
302
+
303
+ interface DataTableToolbarProps {
304
+ categories: DataTableFilterCategory[];
305
+ selectedFilters: Record<string, string[]>;
306
+ onToggleFilter: (categoryId: string, option: string) => void;
307
+ sorting: SortingState;
308
+ onSortingChange: (next: SortingState) => void;
309
+ displayColumns: DataTableDisplayColumn[];
310
+ onToggleColumn: (columnId: string) => void;
311
+ onResetDisplay: () => void;
312
+ }
313
+ declare function DataTableToolbar({ categories, selectedFilters, onToggleFilter, sorting, onSortingChange, displayColumns, onToggleColumn, onResetDisplay, }: DataTableToolbarProps): React$1.JSX.Element;
314
+
123
315
  declare function DetailViewHeader({ title, breadcrumbs, badges, onBack, }: {
124
316
  title: string;
125
317
  breadcrumbs: React$1.ReactNode;
126
318
  badges: React$1.ReactNode;
127
319
  onBack?: () => void;
128
320
  }): React$1.JSX.Element;
129
- declare function DetailViewSummary({ title, children, sources, }: {
321
+ declare function DetailViewSummary({ title, children, sources, actions, }: {
130
322
  title?: string;
131
323
  children: React$1.ReactNode;
132
324
  sources?: React$1.ReactNode;
325
+ actions?: React$1.ReactNode;
133
326
  }): React$1.JSX.Element;
134
- declare function Citation({ number }: {
327
+ type SourceDef = {
328
+ id: number | string;
329
+ summary: string;
330
+ meta: string;
331
+ };
332
+ declare function Citation({ number, source, }: {
135
333
  number: number | string;
334
+ source?: SourceDef;
335
+ }): React$1.JSX.Element;
336
+ declare function SourceList({ sources }: {
337
+ sources: SourceDef[];
136
338
  }): React$1.JSX.Element;
137
339
  declare function DetailViewThread({ title, actionCount, children, }: {
138
340
  title: string;
@@ -166,6 +368,24 @@ declare function DialogFooter({ className, showCloseButton, children, ...props }
166
368
  declare function DialogTitle({ className, ...props }: React$1.ComponentProps<typeof Dialog$1.Title>): React$1.JSX.Element;
167
369
  declare function DialogDescription({ className, ...props }: React$1.ComponentProps<typeof Dialog$1.Description>): React$1.JSX.Element;
168
370
 
371
+ interface DonutSegment {
372
+ name: string;
373
+ value: number;
374
+ color: string;
375
+ }
376
+ interface DonutChartProps {
377
+ data: DonutSegment[];
378
+ centerLabel?: string | number;
379
+ size?: number;
380
+ innerRadius?: number;
381
+ outerRadius?: number;
382
+ paddingAngle?: number;
383
+ showTooltip?: boolean;
384
+ showLegend?: boolean;
385
+ className?: string;
386
+ }
387
+ declare function DonutChart({ data, centerLabel, size, innerRadius, outerRadius, paddingAngle, showTooltip, showLegend, className, }: DonutChartProps): React$1.JSX.Element;
388
+
169
389
  declare function DropdownMenu({ ...props }: React$1.ComponentProps<typeof DropdownMenu$1.Root>): React$1.JSX.Element;
170
390
  declare function DropdownMenuPortal({ ...props }: React$1.ComponentProps<typeof DropdownMenu$1.Portal>): React$1.JSX.Element;
171
391
  declare function DropdownMenuTrigger({ ...props }: React$1.ComponentProps<typeof DropdownMenu$1.Trigger>): React$1.JSX.Element;
@@ -189,6 +409,100 @@ declare function DropdownMenuSubTrigger({ className, inset, children, ...props }
189
409
  }): React$1.JSX.Element;
190
410
  declare function DropdownMenuSubContent({ className, ...props }: React$1.ComponentProps<typeof DropdownMenu$1.SubContent>): React$1.JSX.Element;
191
411
 
412
+ interface TimelineEvent {
413
+ id: string;
414
+ icon: React$1.ReactNode;
415
+ title: React$1.ReactNode;
416
+ time: string;
417
+ preview?: React$1.ReactNode;
418
+ email?: {
419
+ from: string;
420
+ fromEmail?: string;
421
+ to: string;
422
+ cc?: string;
423
+ bcc?: string;
424
+ date?: string;
425
+ subject?: string;
426
+ body: React$1.ReactNode;
427
+ };
428
+ content?: React$1.ReactNode;
429
+ source?: {
430
+ label: string;
431
+ url: string;
432
+ };
433
+ defaultExpanded?: boolean;
434
+ isInteractive?: boolean;
435
+ }
436
+ interface TimelineActivityProps {
437
+ events: TimelineEvent[];
438
+ className?: string;
439
+ }
440
+ declare function TimelineActivity({ events, className }: TimelineActivityProps): React$1.JSX.Element;
441
+
442
+ declare function EntityPanel({ isOpen, onClose, children, }: {
443
+ isOpen: boolean;
444
+ onClose: (open: boolean) => void;
445
+ children?: React$1.ReactNode;
446
+ }): React$1.JSX.Element;
447
+ declare function EntityPanelHeader({ icon, title, badgeLabel, subtitle, }: {
448
+ icon?: React$1.ReactNode;
449
+ title: string;
450
+ badgeLabel?: string;
451
+ subtitle?: string;
452
+ }): React$1.JSX.Element;
453
+ declare function EntityPanelTabs({ tabs, activeTab, onTabChange, }: {
454
+ tabs: {
455
+ id: string;
456
+ label: string;
457
+ }[];
458
+ activeTab: string;
459
+ onTabChange: (id: string) => void;
460
+ }): React$1.JSX.Element;
461
+ interface EntityMetadataField {
462
+ icon: React$1.ComponentType<{
463
+ className?: string;
464
+ }>;
465
+ label: string;
466
+ value: React$1.ReactNode;
467
+ }
468
+ declare function EntityMetadataGrid({ fields }: {
469
+ fields: EntityMetadataField[];
470
+ }): React$1.JSX.Element;
471
+ declare function EntitySection({ title, children, action, }: {
472
+ title: string;
473
+ children: React$1.ReactNode;
474
+ action?: React$1.ReactNode;
475
+ }): React$1.JSX.Element;
476
+ declare function EntityActivityItem({ icon, title, description, date, }: {
477
+ icon?: React$1.ReactNode;
478
+ title: React$1.ReactNode;
479
+ description?: React$1.ReactNode;
480
+ date?: string;
481
+ }): React$1.JSX.Element;
482
+ declare function SystemActivity(): React$1.JSX.Element;
483
+ interface EntityPanelBrandIcons {
484
+ linkedin?: string;
485
+ gmail?: string;
486
+ slack?: string;
487
+ gdoc?: string;
488
+ }
489
+ declare function PotentialContacts({ icons, }: {
490
+ icons?: Pick<EntityPanelBrandIcons, "linkedin" | "gmail">;
491
+ }): React$1.JSX.Element;
492
+ type ActivityItem = TimelineEvent;
493
+ declare function RecentActivity({ title, count, filters, items, }: {
494
+ title?: string;
495
+ count?: string;
496
+ filters?: string[];
497
+ items?: TimelineEvent[];
498
+ }): React$1.JSX.Element;
499
+ declare function ConnectedApps({ icons, }: {
500
+ icons?: Pick<EntityPanelBrandIcons, "slack" | "gdoc">;
501
+ }): React$1.JSX.Element;
502
+ declare function EntityDetails({ onClose }: {
503
+ onClose?: () => void;
504
+ }): React$1.JSX.Element;
505
+
192
506
  interface InboxRowProps extends React$1.HTMLAttributes<HTMLDivElement> {
193
507
  itemId: string;
194
508
  statusColor: "red" | "orange" | "gray";
@@ -196,6 +510,7 @@ interface InboxRowProps extends React$1.HTMLAttributes<HTMLDivElement> {
196
510
  secondaryText: string;
197
511
  tertiaryText: string;
198
512
  isAtRisk?: boolean;
513
+ isSelected?: boolean;
199
514
  contactMethods?: {
200
515
  phone?: boolean;
201
516
  email?: boolean;
@@ -212,8 +527,94 @@ declare function InboxGroupHeader({ title, count }: {
212
527
  count: number;
213
528
  }): React$1.JSX.Element;
214
529
 
530
+ type AssigneeFilter = "me" | "team" | "all";
531
+ interface InboxFilterCategory {
532
+ id: string;
533
+ label: string;
534
+ icon: React$1.ReactNode;
535
+ options: string[];
536
+ }
537
+ interface InboxToolbarProps {
538
+ assignee: AssigneeFilter;
539
+ onAssigneeChange: (value: AssigneeFilter) => void;
540
+ filterCategories: InboxFilterCategory[];
541
+ selectedFilters: Record<string, string>;
542
+ onFilterChange: (categoryId: string, value: string) => void;
543
+ onClearFilters: () => void;
544
+ className?: string;
545
+ }
546
+ declare function InboxToolbar({ assignee, onAssigneeChange, filterCategories, selectedFilters, onFilterChange, onClearFilters, className, }: InboxToolbarProps): React$1.JSX.Element;
547
+
215
548
  declare function Input({ className, type, ...props }: React$1.ComponentProps<"input">): React$1.JSX.Element;
216
549
 
550
+ declare function ItemList(): React$1.JSX.Element;
551
+ interface GroupedListGroup<T> {
552
+ key: string;
553
+ label: string;
554
+ items: T[];
555
+ }
556
+ interface GroupedListViewProps<T> {
557
+ groups: GroupedListGroup<T>[];
558
+ renderRow: (item: T, index: number) => React$1.ReactNode;
559
+ getItemKey: (item: T) => string;
560
+ selectedKey?: string;
561
+ onItemClick?: (item: T) => void;
562
+ emptyMessage?: string;
563
+ className?: string;
564
+ }
565
+ declare function GroupedListView<T>({ groups, renderRow, getItemKey, selectedKey, onItemClick, emptyMessage, className, }: GroupedListViewProps<T>): React$1.JSX.Element;
566
+
567
+ type ItemListGrouping = "stage" | "owner" | "risk";
568
+ type ItemListViewMode = "list" | "board";
569
+ interface ItemListDisplayState {
570
+ viewMode: ItemListViewMode;
571
+ grouping: ItemListGrouping;
572
+ subGrouping: "none" | ItemListGrouping;
573
+ ordering: string;
574
+ orderingDirection: "asc" | "desc";
575
+ showContactSignals: boolean;
576
+ showOwner: boolean;
577
+ showStatus: boolean;
578
+ }
579
+ interface ItemListDisplayProps {
580
+ value: ItemListDisplayState;
581
+ onChange: (next: ItemListDisplayState) => void;
582
+ onReset: () => void;
583
+ }
584
+ declare function ItemListDisplay({ value, onChange, onReset, }: ItemListDisplayProps): React$1.JSX.Element;
585
+
586
+ interface ItemListFilterCategory {
587
+ id: string;
588
+ label: string;
589
+ options: string[];
590
+ }
591
+ interface ItemListFilterProps {
592
+ categories: ItemListFilterCategory[];
593
+ selectedFilters: Record<string, string[]>;
594
+ onToggleFilter: (categoryId: string, option: string) => void;
595
+ onClearFilters: () => void;
596
+ }
597
+ declare function ItemListFilter({ categories, selectedFilters, onToggleFilter, onClearFilters, }: ItemListFilterProps): React$1.JSX.Element;
598
+
599
+ interface ItemListQuickView {
600
+ id: string;
601
+ label: string;
602
+ count: number;
603
+ }
604
+ interface ItemListToolbarProps {
605
+ quickViews: ItemListQuickView[];
606
+ activeQuickView: string | null;
607
+ onQuickViewChange: (viewId: string | null) => void;
608
+ filterCategories: ItemListFilterCategory[];
609
+ selectedFilters: Record<string, string[]>;
610
+ onToggleFilter: (categoryId: string, option: string) => void;
611
+ onClearFilters: () => void;
612
+ display: ItemListDisplayState;
613
+ onDisplayChange: (next: ItemListDisplayState) => void;
614
+ onResetDisplay: () => void;
615
+ }
616
+ declare function ItemListToolbar({ quickViews, activeQuickView, onQuickViewChange, filterCategories, selectedFilters, onToggleFilter, onClearFilters, display, onDisplayChange, onResetDisplay, }: ItemListToolbarProps): React$1.JSX.Element;
617
+
217
618
  declare function Label({ className, ...props }: React$1.ComponentProps<typeof LabelPrimitive.Root>): React$1.JSX.Element;
218
619
 
219
620
  interface MetricDataPoint {
@@ -238,6 +639,366 @@ interface MetricCardProps {
238
639
  }
239
640
  declare function MetricCard({ title, value, unit, subtitle, change, footerText, dataPoints, showExternalLink, showInfo, }: MetricCardProps): React$1.JSX.Element;
240
641
 
642
+ interface PerformanceMetricsTableRow {
643
+ id: string;
644
+ label: string;
645
+ avatarFallback: string;
646
+ role?: string;
647
+ primaryValue: number;
648
+ primaryTarget: number;
649
+ ratePercent: number;
650
+ metricOne: number;
651
+ metricTwo: string;
652
+ metricThree: number;
653
+ metricFour: number;
654
+ }
655
+ interface PerformanceMetricsTableSortOption {
656
+ id: "primary-desc" | "primary-asc" | "rate-desc" | "metric-four-desc";
657
+ label: string;
658
+ }
659
+ interface PerformanceMetricsTableProps {
660
+ title?: string;
661
+ entityColumnLabel?: string;
662
+ primaryMetricColumnLabel?: string;
663
+ rateColumnLabel?: string;
664
+ metricOneColumnLabel?: string;
665
+ metricTwoColumnLabel?: string;
666
+ metricThreeColumnLabel?: string;
667
+ metricFourColumnLabel?: string;
668
+ viewOptions?: string[];
669
+ roleOptions?: string[];
670
+ sortOptions?: PerformanceMetricsTableSortOption[];
671
+ rows?: PerformanceMetricsTableRow[];
672
+ pageSize?: number;
673
+ searchPlaceholder?: string;
674
+ }
675
+ declare function PerformanceMetricsTable({ title, entityColumnLabel, primaryMetricColumnLabel, rateColumnLabel, metricOneColumnLabel, metricTwoColumnLabel, metricThreeColumnLabel, metricFourColumnLabel, viewOptions, roleOptions, sortOptions, rows, pageSize, searchPlaceholder, }: PerformanceMetricsTableProps): React$1.JSX.Element;
676
+
677
+ interface PipelineStage {
678
+ id: string;
679
+ label: string;
680
+ count: number;
681
+ trend: string;
682
+ nextConversion: string | null;
683
+ }
684
+ interface PipelineStageMetrics {
685
+ medianTime: string;
686
+ avgTime: string;
687
+ dropOffs: {
688
+ reason: string;
689
+ count: number;
690
+ pct: string;
691
+ }[];
692
+ }
693
+ interface PipelineStageTiming {
694
+ median: string;
695
+ avg: string;
696
+ }
697
+ interface PipelineFilterBreakdown {
698
+ [stageId: string]: Record<string, number>;
699
+ }
700
+ interface PipelineOverviewProps {
701
+ title?: string;
702
+ stages: PipelineStage[];
703
+ stageMetrics: Record<string, PipelineStageMetrics>;
704
+ stageTimings: (PipelineStageTiming | null)[];
705
+ filterOptions?: string[];
706
+ filterBreakdowns?: Record<string, PipelineFilterBreakdown>;
707
+ countingModes?: string[];
708
+ countingModeTooltip?: string;
709
+ /** Main pipeline flow nodes (after the first stage) */
710
+ flowNodes?: {
711
+ id: string;
712
+ nodeColor: string;
713
+ }[];
714
+ /** Drop-off distribution from initial stage: { "Lost/Other": 56, "Coverage": 40, ... } */
715
+ dropOffDistribution?: Record<string, number>;
716
+ /** Flow links after the first stage (middle of pipeline onward) */
717
+ flowLinks?: {
718
+ source: string;
719
+ target: string;
720
+ value: number;
721
+ }[];
722
+ totalReceived?: number;
723
+ onViewInWorkQueue?: (stageId: string) => void;
724
+ className?: string;
725
+ }
726
+ declare function PipelineOverview({ title, stages, stageMetrics, stageTimings, filterOptions, filterBreakdowns, countingModes, countingModeTooltip, flowNodes, dropOffDistribution, flowLinks, totalReceived, onViewInWorkQueue, className, }: PipelineOverviewProps): React$1.JSX.Element;
727
+
728
+ declare function PreviewList({ children, className, ...props }: React$1.HTMLAttributes<HTMLDivElement>): React$1.JSX.Element;
729
+ interface PreviewListItemProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, 'title'> {
730
+ icon?: React$1.ReactNode;
731
+ title: React$1.ReactNode;
732
+ subtitle?: React$1.ReactNode;
733
+ meta?: React$1.ReactNode;
734
+ action?: React$1.ReactNode;
735
+ isHoverable?: boolean;
736
+ }
737
+ declare const PreviewListItem: React$1.ForwardRefExoticComponent<PreviewListItemProps & React$1.RefAttributes<HTMLDivElement>>;
738
+
739
+ declare function Progress({ className, value, ...props }: React$1.ComponentProps<typeof Progress$1.Root>): React$1.JSX.Element;
740
+
741
+ type QuickActionPriority$1 = "normal" | "high" | "urgent";
742
+ interface QuickActionSubmitPayload {
743
+ message: string;
744
+ priority: QuickActionPriority$1;
745
+ }
746
+ interface QuickActionChatAreaProps extends Omit<React$1.ComponentProps<"div">, "onSubmit"> {
747
+ placeholder?: string;
748
+ submitLabel?: string;
749
+ value?: string;
750
+ defaultValue?: string;
751
+ onValueChange?: (value: string) => void;
752
+ priority?: QuickActionPriority$1;
753
+ defaultPriority?: QuickActionPriority$1;
754
+ onPriorityChange?: (priority: QuickActionPriority$1) => void;
755
+ onSubmit: (payload: QuickActionSubmitPayload) => void;
756
+ allowEmptySubmit?: boolean;
757
+ clearOnSubmit?: boolean;
758
+ showEnterHint?: boolean;
759
+ }
760
+ declare function QuickActionChatArea({ className, placeholder, submitLabel, value, defaultValue, onValueChange, priority, defaultPriority, onPriorityChange, onSubmit, allowEmptySubmit, clearOnSubmit, showEnterHint, ...props }: QuickActionChatAreaProps): React$1.JSX.Element;
761
+
762
+ type TemplateIcon = React$1.ComponentType<{
763
+ className?: string;
764
+ }>;
765
+ interface QuickActionTemplate {
766
+ id: string;
767
+ label: string;
768
+ description: string;
769
+ icon: TemplateIcon;
770
+ category?: string;
771
+ }
772
+ type QuickActionPriority = "normal" | "high" | "urgent";
773
+ interface QuickActionTaskDraft {
774
+ templateId: string | null;
775
+ message: string;
776
+ priority: QuickActionPriority;
777
+ }
778
+ interface QuickActionModalProps {
779
+ open: boolean;
780
+ onOpenChange: (open: boolean) => void;
781
+ templates?: QuickActionTemplate[];
782
+ title?: string;
783
+ description?: string;
784
+ className?: string;
785
+ onCreateTask?: (draft: QuickActionTaskDraft) => void;
786
+ }
787
+ declare function QuickActionModal({ open, onOpenChange, templates, title, description, className, onCreateTask, }: QuickActionModalProps): React$1.JSX.Element;
788
+
789
+ interface SidebarNavItem {
790
+ id: string;
791
+ label: string;
792
+ icon: React$1.ComponentType<{
793
+ className?: string;
794
+ }>;
795
+ }
796
+ interface SidebarNavSection {
797
+ title?: string;
798
+ items: SidebarNavItem[];
799
+ moreItems?: SidebarNavItem[];
800
+ }
801
+ interface SidebarUserProfile {
802
+ name: string;
803
+ email: string;
804
+ initials?: string;
805
+ }
806
+ interface UserMenuItem {
807
+ id: string;
808
+ label: string;
809
+ icon: React$1.ComponentType<{
810
+ className?: string;
811
+ }>;
812
+ destructive?: boolean;
813
+ }
814
+ interface QuickActionSidebarNavProps extends React$1.ComponentProps<"aside"> {
815
+ brandLabel?: string;
816
+ brandSubtitle?: string;
817
+ navSections?: SidebarNavSection[];
818
+ activeItemId?: string;
819
+ onNavigate?: (itemId: string) => void;
820
+ user?: SidebarUserProfile;
821
+ userMenuItems?: UserMenuItem[];
822
+ onUserMenuAction?: (itemId: string) => void;
823
+ onCreateTask?: (draft: QuickActionTaskDraft) => void;
824
+ defaultCollapsed?: boolean;
825
+ }
826
+ declare function QuickActionSidebarNav({ className, brandLabel, brandSubtitle, navSections, activeItemId, onNavigate, user, userMenuItems, onUserMenuAction, onCreateTask, defaultCollapsed, ...props }: QuickActionSidebarNavProps): React$1.JSX.Element;
827
+
828
+ interface RecommendedAction {
829
+ id: string;
830
+ title: string;
831
+ reason: string;
832
+ category?: "Churn" | "Expand" | "Nurture" | string;
833
+ priority?: "High" | "Medium" | "Low" | string;
834
+ dueDate?: string;
835
+ confidence?: number;
836
+ signals?: string[];
837
+ revenueImpact?: number;
838
+ }
839
+ interface RecommendedActionsSectionProps {
840
+ actions: RecommendedAction[];
841
+ title?: string;
842
+ onQueueAction?: (action: RecommendedAction) => void;
843
+ onDismissAction?: (action: RecommendedAction) => void;
844
+ onFeedback?: (actionId: string, feedback: "useful" | "not_useful", comment: string) => void;
845
+ }
846
+ declare function RecommendedActionsSection({ actions, title, onQueueAction, onDismissAction, onFeedback, }: RecommendedActionsSectionProps): React$1.JSX.Element;
847
+
848
+ interface ReportCardFilterOption {
849
+ label: string;
850
+ value: string;
851
+ }
852
+ interface ReportCardProps {
853
+ title: string;
854
+ subtitle?: string;
855
+ /** Filter pill group rendered top-right */
856
+ filterOptions?: ReportCardFilterOption[];
857
+ selectedFilter?: string;
858
+ onFilterChange?: (value: string) => void;
859
+ /** Secondary toggle (e.g. metric selector) */
860
+ toggleOptions?: string[];
861
+ selectedToggle?: string;
862
+ onToggleChange?: (value: string) => void;
863
+ /** Render slot between header and content */
864
+ headerExtra?: React$1.ReactNode;
865
+ children: React$1.ReactNode;
866
+ className?: string;
867
+ contentClassName?: string;
868
+ }
869
+ declare function ReportCard({ title, subtitle, filterOptions, selectedFilter, onFilterChange, toggleOptions, selectedToggle, onToggleChange, headerExtra, children, className, contentClassName, }: ReportCardProps): React$1.JSX.Element;
870
+
871
+ interface SankeyNode {
872
+ id: string;
873
+ nodeColor?: string;
874
+ }
875
+ interface SankeyLink {
876
+ source: string;
877
+ target: string;
878
+ value: number;
879
+ }
880
+ interface SankeyData {
881
+ nodes: SankeyNode[];
882
+ links: SankeyLink[];
883
+ }
884
+ interface SankeyDropOff {
885
+ reason: string;
886
+ count: number;
887
+ pct?: string;
888
+ }
889
+ interface SankeyStageMetrics {
890
+ conversion: string;
891
+ medianTime: string;
892
+ avgTime: string;
893
+ }
894
+ interface SankeyHoverCardData {
895
+ title: string;
896
+ count: number | string;
897
+ metrics?: SankeyStageMetrics;
898
+ dropOffs?: SankeyDropOff[];
899
+ }
900
+ interface SankeyChartProps {
901
+ data: SankeyData;
902
+ height?: number;
903
+ nodeOpacity?: number;
904
+ nodeThickness?: number;
905
+ nodeBorderWidth?: number;
906
+ linkOpacity?: number;
907
+ linkHoverOpacity?: number;
908
+ enableLabels?: boolean;
909
+ labelTextColor?: string;
910
+ stageMetrics?: Record<string, {
911
+ metrics: SankeyStageMetrics;
912
+ dropOffs: SankeyDropOff[];
913
+ }>;
914
+ onDropOffClick?: (reason: string) => void;
915
+ onViewDetails?: (nodeId: string) => void;
916
+ className?: string;
917
+ }
918
+ declare function SankeyChart({ data, height, nodeOpacity, nodeThickness, nodeBorderWidth, linkOpacity, linkHoverOpacity, enableLabels, labelTextColor, stageMetrics, onDropOffClick, onViewDetails, className, }: SankeyChartProps): React$1.JSX.Element;
919
+
920
+ interface ScoreFactor {
921
+ key: string;
922
+ label: string;
923
+ score: number | null;
924
+ risk?: "Low" | "Medium" | "High";
925
+ why: string;
926
+ }
927
+ interface ScoreBreakdownProps {
928
+ factors: ScoreFactor[];
929
+ onFactorFeedback?: (factorKey: string, type: "up" | "down" | null, detail?: string) => void;
930
+ className?: string;
931
+ }
932
+ declare function ScoreBreakdown({ factors, onFactorFeedback, className }: ScoreBreakdownProps): React$1.JSX.Element;
933
+
934
+ interface ScoreAnalysisModalProps {
935
+ open: boolean;
936
+ onOpenChange: (open: boolean) => void;
937
+ title: string;
938
+ description: string;
939
+ score: number;
940
+ denominator?: number;
941
+ whyNow: string;
942
+ evidence: React$1.ReactNode[];
943
+ factors?: ScoreFactor[];
944
+ onFactorFeedback?: (factorKey: string, type: "up" | "down" | null, detail?: string) => void;
945
+ companyName?: string;
946
+ opportunityUrl?: string;
947
+ onApprove?: () => void;
948
+ onApproveFeedback?: (reasons: string[], detail: string) => void;
949
+ onDismiss?: (reasons: string[], detail: string) => void;
950
+ }
951
+ declare function ScoreAnalysisModal({ open, onOpenChange, title, description, score, denominator, whyNow, evidence, factors, onFactorFeedback, companyName, opportunityUrl, onApprove, onApproveFeedback, onDismiss, }: ScoreAnalysisModalProps): React$1.JSX.Element;
952
+ declare const ScoreAnalysisPanel: typeof ScoreAnalysisModal;
953
+
954
+ interface SubmittedScoreFeedback {
955
+ type: "up" | "down";
956
+ pills: string[];
957
+ detail: string;
958
+ }
959
+ interface ScoreFeedbackState {
960
+ thumbState: "up" | "down" | null;
961
+ selectedPills: string[];
962
+ detailText: string;
963
+ notedType: "up" | "down" | null;
964
+ submittedFeedback: SubmittedScoreFeedback | null;
965
+ otherSelected: boolean;
966
+ hasRequiredInput: boolean;
967
+ handleThumbClick: (type: "up" | "down") => void;
968
+ togglePill: (pill: string) => void;
969
+ setDetailText: (text: string) => void;
970
+ handleSubmit: () => void;
971
+ editSubmitted: () => void;
972
+ }
973
+ declare function useScoreFeedback(): ScoreFeedbackState;
974
+ interface RootProps$1 {
975
+ children: React$1.ReactNode;
976
+ onSubmitFeedback?: (type: "up" | "down", pills: string[], detail: string) => void;
977
+ }
978
+ declare function Root$1({ children, onSubmitFeedback }: RootProps$1): React$1.JSX.Element;
979
+ declare function Trigger({ className }: {
980
+ className?: string;
981
+ }): React$1.JSX.Element;
982
+ declare function Panel({ className }: {
983
+ className?: string;
984
+ }): React$1.JSX.Element | null;
985
+ declare const ScoreFeedback: {
986
+ Root: typeof Root$1;
987
+ Trigger: typeof Trigger;
988
+ Panel: typeof Panel;
989
+ };
990
+
991
+ declare function getScoreColor(score: number, denominator: number): "text-emerald-500" | "text-amber-500" | "text-red-500";
992
+ interface ScoreRingProps {
993
+ score: number;
994
+ denominator?: number;
995
+ size?: number;
996
+ strokeWidth?: number;
997
+ className?: string;
998
+ showLabel?: boolean;
999
+ }
1000
+ declare function ScoreRing({ score, denominator, size, strokeWidth, className, showLabel, }: ScoreRingProps): React$1.JSX.Element;
1001
+
241
1002
  declare function ScrollArea({ className, children, ...props }: React$1.ComponentProps<typeof ScrollArea$1.Root>): React$1.JSX.Element;
242
1003
  declare function ScrollBar({ className, orientation, ...props }: React$1.ComponentProps<typeof ScrollArea$1.ScrollAreaScrollbar>): React$1.JSX.Element;
243
1004
 
@@ -336,8 +1097,148 @@ declare function SidebarMenuSubButton({ asChild, size, isActive, className, ...p
336
1097
  isActive?: boolean;
337
1098
  }): React$1.JSX.Element;
338
1099
 
1100
+ type ApprovalState = "pending" | "confirming" | "approving-feedback" | "dismissing" | "approved" | "dismissed";
1101
+ interface SignalApprovalContextValue {
1102
+ approvalState: ApprovalState;
1103
+ companyName: string;
1104
+ opportunityUrl?: string;
1105
+ approve: () => void;
1106
+ submitApproveFeedback: (reasons: string[], detail: string) => void;
1107
+ skipApproveFeedback: () => void;
1108
+ dismiss: (reasons: string[], detail: string) => void;
1109
+ requestApproval: () => void;
1110
+ requestDismiss: () => void;
1111
+ cancel: () => void;
1112
+ }
1113
+ declare function useSignalApproval(): SignalApprovalContextValue;
1114
+ interface RootProps {
1115
+ children: React$1.ReactNode;
1116
+ companyName: string;
1117
+ opportunityUrl?: string;
1118
+ onApprove?: () => void;
1119
+ onApproveFeedback?: (reasons: string[], detail: string) => void;
1120
+ onDismiss?: (reasons: string[], detail: string) => void;
1121
+ }
1122
+ declare function Root({ children, companyName, opportunityUrl, onApprove, onApproveFeedback, onDismiss }: RootProps): React$1.JSX.Element;
1123
+ declare function Actions(): React$1.JSX.Element;
1124
+ declare function Gate({ children }: {
1125
+ children: React$1.ReactNode;
1126
+ }): React$1.JSX.Element;
1127
+
1128
+ declare const SignalApproval: {
1129
+ Root: typeof Root;
1130
+ Actions: typeof Actions;
1131
+ Gate: typeof Gate;
1132
+ };
1133
+
339
1134
  declare function Skeleton({ className, ...props }: React.ComponentProps<"div">): React$1.JSX.Element;
340
1135
 
1136
+ interface StyledBarItem {
1137
+ name: string;
1138
+ value: number;
1139
+ href?: string;
1140
+ subtitle?: string;
1141
+ }
1142
+ interface StyledBarListProps {
1143
+ data: StyledBarItem[];
1144
+ valueFormatter?: (value: number) => string;
1145
+ className?: string;
1146
+ showAnimation?: boolean;
1147
+ showSubtitle?: boolean;
1148
+ barColor?: string;
1149
+ }
1150
+ declare function StyledBarList({ data, valueFormatter, className, showAnimation, showSubtitle, barColor, }: StyledBarListProps): React$1.JSX.Element;
1151
+
1152
+ interface SuggestedActionsIconMap {
1153
+ gmail?: string;
1154
+ slack?: string;
1155
+ zendesk?: string;
1156
+ salesforce?: string;
1157
+ }
1158
+ interface SuggestedContact {
1159
+ name: string;
1160
+ role: string;
1161
+ email?: string;
1162
+ emails?: string[];
1163
+ phone?: string;
1164
+ phones?: string[];
1165
+ confirmed: boolean;
1166
+ salesforceUrl?: string;
1167
+ lastActivity?: {
1168
+ date: string;
1169
+ type: string;
1170
+ };
1171
+ }
1172
+ interface SuggestedActionThreadMessage {
1173
+ id: string;
1174
+ from: string;
1175
+ initials: string;
1176
+ time: string;
1177
+ preview: string;
1178
+ content: string;
1179
+ }
1180
+ interface SuggestedActionReplyTo {
1181
+ from: string;
1182
+ time: string;
1183
+ content: string;
1184
+ channel?: string;
1185
+ }
1186
+ interface SuggestedActionTicket {
1187
+ system: string;
1188
+ priority: string;
1189
+ type: string;
1190
+ subject: string;
1191
+ description: string;
1192
+ assignee?: string;
1193
+ tags?: string[];
1194
+ }
1195
+ interface SuggestedActionFollowUp {
1196
+ enabled: boolean;
1197
+ days: number;
1198
+ }
1199
+ interface SuggestedActionEmailMeta {
1200
+ from: string;
1201
+ fromEmail: string;
1202
+ to?: SuggestedContact;
1203
+ cc?: SuggestedContact[];
1204
+ bcc?: string;
1205
+ subject?: string;
1206
+ }
1207
+ interface SuggestedActionCallMeta {
1208
+ contact?: SuggestedContact;
1209
+ talkTrack: string;
1210
+ allowDispatchAgent?: boolean;
1211
+ }
1212
+ interface SuggestedAction {
1213
+ id: number | string;
1214
+ type: "email" | "ticket" | "slack" | "call";
1215
+ label: string;
1216
+ status: "pending" | "sent" | "dismissed";
1217
+ content?: string;
1218
+ replyTo?: SuggestedActionReplyTo;
1219
+ threadMessages?: SuggestedActionThreadMessage[];
1220
+ ticket?: SuggestedActionTicket;
1221
+ followUp?: SuggestedActionFollowUp;
1222
+ emailMeta?: SuggestedActionEmailMeta;
1223
+ callMeta?: SuggestedActionCallMeta;
1224
+ }
1225
+ interface SuggestedActionsProps {
1226
+ actions: SuggestedAction[];
1227
+ title?: string;
1228
+ onDismiss?: (id: number | string) => void;
1229
+ onSend?: (id: number | string) => void;
1230
+ onSaveDraft?: (id: number | string) => void;
1231
+ accountContacts?: SuggestedContact[];
1232
+ signature?: string;
1233
+ onDuplicate?: (id: number | string) => void;
1234
+ onOpenAccountDetails?: () => void;
1235
+ onOpenRecentActivity?: () => void;
1236
+ onMarkComplete?: (id: number | string) => void;
1237
+ onDispatchAgent?: (id: number | string) => void;
1238
+ iconMap?: SuggestedActionsIconMap;
1239
+ }
1240
+ declare function SuggestedActions({ actions, title, onDismiss, onSend, onSaveDraft, accountContacts, signature, onDuplicate, onOpenAccountDetails, onOpenRecentActivity, onMarkComplete, onDispatchAgent, iconMap, }: SuggestedActionsProps): React$1.JSX.Element;
1241
+
341
1242
  declare function Table({ className, ...props }: React$1.ComponentProps<"table">): React$1.JSX.Element;
342
1243
  declare function TableHeader({ className, ...props }: React$1.ComponentProps<"thead">): React$1.JSX.Element;
343
1244
  declare function TableBody({ className, ...props }: React$1.ComponentProps<"tbody">): React$1.JSX.Element;
@@ -349,7 +1250,7 @@ declare function TableCaption({ className, ...props }: React$1.ComponentProps<"c
349
1250
 
350
1251
  declare function Tabs({ className, orientation, ...props }: React$1.ComponentProps<typeof Tabs$1.Root>): React$1.JSX.Element;
351
1252
  declare const tabsListVariants: (props?: ({
352
- variant?: "line" | "default" | null | undefined;
1253
+ variant?: "default" | "line" | null | undefined;
353
1254
  } & class_variance_authority_types.ClassProp) | undefined) => string;
354
1255
  declare function TabsList({ className, variant, ...props }: React$1.ComponentProps<typeof Tabs$1.List> & VariantProps<typeof tabsListVariants>): React$1.JSX.Element;
355
1256
  declare function TabsTrigger({ className, ...props }: React$1.ComponentProps<typeof Tabs$1.Trigger>): React$1.JSX.Element;
@@ -357,4 +1258,74 @@ declare function TabsContent({ className, ...props }: React$1.ComponentProps<typ
357
1258
 
358
1259
  declare function Textarea({ className, ...props }: React$1.ComponentProps<"textarea">): React$1.JSX.Element;
359
1260
 
360
- export { ActivityLog, type ActivityLogItem, type ActivityLogProps, ActivityRow, Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, Badge, Button, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, type ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, Citation, DetailViewHeader, DetailViewSummary, DetailViewThread, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, InboxGroupHeader, InboxRow, type InboxRowProps, Input, Label, MetricCard, type MetricCardProps, type MetricDataPoint, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, ThreadMessage, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, badgeVariants, buttonVariants, cn, tabsListVariants, useIsMobile, useSidebar };
1261
+ interface MetricCardData {
1262
+ label: string;
1263
+ value: string | number;
1264
+ trend?: {
1265
+ value: number;
1266
+ direction: "up" | "down" | "neutral";
1267
+ };
1268
+ alert?: boolean;
1269
+ }
1270
+ interface TopLineMetricsProps {
1271
+ metrics: MetricCardData[];
1272
+ chartData?: {
1273
+ date: string;
1274
+ value: number;
1275
+ secondary?: number;
1276
+ }[];
1277
+ filters?: string[];
1278
+ activeFilter?: string;
1279
+ onFilterChange?: (filter: string) => void;
1280
+ className?: string;
1281
+ }
1282
+ declare function TopLineMetrics({ metrics, chartData, filters, activeFilter, onFilterChange, className, }: TopLineMetricsProps): React$1.JSX.Element;
1283
+
1284
+ interface TrendSeries {
1285
+ dataKey: string;
1286
+ color: string;
1287
+ label?: string;
1288
+ fillOpacity?: number;
1289
+ }
1290
+ interface TrendAreaChartProps {
1291
+ data: Record<string, unknown>[];
1292
+ series: TrendSeries[];
1293
+ height?: number;
1294
+ xAxisKey?: string;
1295
+ showGrid?: boolean;
1296
+ yDomain?: [number, number];
1297
+ tooltipFormatter?: (value: number | string, name: string) => [string, string];
1298
+ className?: string;
1299
+ }
1300
+ declare function TrendAreaChart({ data, series, height, xAxisKey, showGrid, yDomain, tooltipFormatter, className, }: TrendAreaChartProps): React$1.JSX.Element;
1301
+
1302
+ interface ViewMode {
1303
+ id: string;
1304
+ icon: React$1.ReactNode;
1305
+ label: string;
1306
+ }
1307
+ interface ViewModeToggleProps {
1308
+ modes: ViewMode[];
1309
+ activeMode: string;
1310
+ onModeChange: (modeId: string) => void;
1311
+ className?: string;
1312
+ }
1313
+ declare function ViewModeToggle({ modes, activeMode, onModeChange, className }: ViewModeToggleProps): React$1.JSX.Element;
1314
+
1315
+ interface VolumeDataKey {
1316
+ key: string;
1317
+ color: string;
1318
+ }
1319
+ interface VolumeAnalysisChartProps {
1320
+ data: Record<string, unknown>[];
1321
+ dataKeys: VolumeDataKey[];
1322
+ height?: number;
1323
+ xAxisKey?: string;
1324
+ stacked?: boolean;
1325
+ title?: string;
1326
+ subtitle?: string;
1327
+ className?: string;
1328
+ }
1329
+ declare function VolumeAnalysisChart({ data, dataKeys, height, xAxisKey, stacked, title, subtitle, className, }: VolumeAnalysisChartProps): React$1.JSX.Element;
1330
+
1331
+ export { ActivityDetail, type ActivityDetailData, type ActivityDetailProps, type ActivityItem, ActivityLog, type ActivityLogItem, type ActivityLogProps, type ActivityParticipant, ActivityRow, type ActivityThreadMessage, type AssigneeFilter, Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, Badge, BarChartComponent, type BarChartComponentProps, type BarSeries, Button, CHART_CURSOR_STYLE, CHART_TOOLTIP_STYLE, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, type ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, type ChartTooltipEntry, CheckInsCard, Citation, ConnectedApps, type ContactChannel, type ContactItem, ContactList, type ContactListProps, DataTable, DataTableDisplay, type DataTableDisplayColumn, DataTableFilter, type DataTableFilterCategory, type DataTableQuickViewValue, DataTableQuickViews, DataTableToolbar, DetailViewHeader, DetailViewSummary, DetailViewThread, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DonutChart, type DonutChartProps, type DonutSegment, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EntityActivityItem, EntityDetails, type EntityMetadataField, EntityMetadataGrid, EntityPanel, type EntityPanelBrandIcons, EntityPanelHeader, EntityPanelTabs, EntitySection, type GroupedListGroup, GroupedListView, type GroupedListViewProps, type InboxFilterCategory, InboxGroupHeader, InboxRow, type InboxRowProps, InboxToolbar, type InboxToolbarProps, Input, ItemList, ItemListDisplay, type ItemListDisplayState, ItemListFilter, type ItemListFilterCategory, type ItemListGrouping, type ItemListQuickView, ItemListToolbar, type ItemListViewMode, Label, MetricCard, type MetricCardData, type MetricCardProps, type MetricDataPoint, PerformanceMetricsTable, type PerformanceMetricsTableRow, type PerformanceMetricsTableSortOption, type PipelineFilterBreakdown, PipelineOverview, type PipelineOverviewProps, type PipelineStage, type PipelineStageMetrics, type PipelineStageTiming, PotentialContacts, PreviewList, PreviewListItem, type PreviewListItemProps, Progress, QuickActionChatArea, QuickActionModal, type QuickActionPriority$1 as QuickActionPriority, QuickActionSidebarNav, type QuickActionSubmitPayload, type QuickActionTaskDraft, type QuickActionTemplate, RecentActivity, RecentlyCompletedCard, type RecommendedAction, RecommendedActionsSection, ReportCard, type ReportCardProps, SankeyChart, type SankeyData, type SankeyDropOff, type SankeyHoverCardData, type SankeyLink, type SankeyNode, type SankeyStageMetrics, ScoreAnalysisModal, type ScoreAnalysisModalProps, ScoreAnalysisPanel, ScoreBreakdown, type ScoreBreakdownProps, type ScoreFactor, ScoreFeedback, ScoreRing, type ScoreRingProps, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, type SidebarNavItem, type SidebarNavSection, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, type SidebarUserProfile, SignalApproval, Actions as SignalApprovalActions, Gate as SignalApprovalGate, Root as SignalApprovalRoot, SimpleChartTooltip, type SimpleChartTooltipProps, Skeleton, type SourceDef, SourceList, type StyledBarItem, StyledBarList, type StyledBarListProps, type SuggestedAction, type SuggestedActionCallMeta, type SuggestedActionEmailMeta, type SuggestedActionFollowUp, type SuggestedActionReplyTo, type SuggestedActionThreadMessage, type SuggestedActionTicket, SuggestedActions, type SuggestedActionsIconMap, type SuggestedActionsProps, type SuggestedContact, SystemActivity, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, ThreadMessage, TimelineActivity, type TimelineActivityProps, type TimelineEvent, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, TopLineMetrics, type TopLineMetricsProps, TopTasksCard, TrendAreaChart, type TrendAreaChartProps, type TrendSeries, UpcomingMeetingsCard, type UserMenuItem, type ViewMode, ViewModeToggle, type ViewModeToggleProps, VolumeAnalysisChart, type VolumeAnalysisChartProps, type VolumeDataKey, badgeVariants, buttonVariants, cn, getScoreColor, tabsListVariants, useIsMobile, useScoreFeedback, useSidebar, useSignalApproval };