@handled-ai/design-system 0.2.0 → 0.3.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/README.md +80 -65
- package/dist/index.d.ts +190 -1
- package/dist/index.js +694 -2
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,58 +1,68 @@
|
|
|
1
1
|
# @handled Design System
|
|
2
2
|
|
|
3
|
-
A shared design system built on [shadcn/ui](https://ui.shadcn.com)
|
|
3
|
+
A shared design system built on [shadcn/ui](https://ui.shadcn.com). Components are customized shadcn primitives distributed as an npm package (`@handled-ai/design-system`) and hosted as a custom shadcn registry for showcase/discovery.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## Documentation
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
| Document | Description |
|
|
8
|
+
|---|---|
|
|
9
|
+
| [Component Reference](docs/COMPONENTS.md) | Full API reference for all 62+ components, organized by category (primitives, overlays, cards, charts, data tables, activity, detail views, actions, utilities) |
|
|
10
|
+
| [Styling Reference](docs/STYLING.md) | Typography scale, color tokens, grayscale system, theming architecture, dark mode, border radius, and Tailwind integration |
|
|
11
|
+
| [Publishing Guide](docs/PUBLISHING.md) | Version bumping (semver), publishing steps, post-publish verification, safe update workflow for consuming apps, peer dependencies, and rollback procedures |
|
|
12
|
+
| [Consuming App Rule Template](docs/CONSUMING_APP_RULE_TEMPLATE.mdc) | Cursor rule template to drop into consuming projects for design system contract enforcement |
|
|
13
|
+
| **Per-component docs** | `docs/components/{name}.md` — individual prop tables, usage examples, and dependency notes for each component |
|
|
8
14
|
|
|
9
|
-
|
|
10
|
-
Browse individual components and UX blocks rendered directly on the page.
|
|
11
|
-
- **Prototype view:** `/preview`
|
|
12
|
-
See the Acme Co-style end-to-end product prototype (sidebar, inbox/work queue, detail view, insights dashboard, meetings, and coaching banner patterns).
|
|
15
|
+
## Architecture
|
|
13
16
|
|
|
14
|
-
|
|
17
|
+
- **Primary distribution:** npm package `@handled-ai/design-system`, built with `npm run build:lib` (tsup)
|
|
18
|
+
- **Secondary distribution:** shadcn registry at `/r/{name}.json`, deployed on Vercel for showcase/discovery
|
|
19
|
+
- **Component source:** `registry/new-york/ui/` — customized shadcn primitives and custom UX blocks
|
|
20
|
+
- **Package entry point:** root `index.ts`
|
|
21
|
+
- **Theming:** Semantic CSS variable tokens — consuming projects define their own palette (see [Styling Reference](docs/STYLING.md))
|
|
22
|
+
- **Build tool:** `shadcn build` generates distributable registry JSON from source
|
|
15
23
|
|
|
16
|
-
##
|
|
24
|
+
## Cursor Rules
|
|
25
|
+
|
|
26
|
+
This repo includes Cursor rules that provide AI-assisted development context.
|
|
27
|
+
|
|
28
|
+
| Rule | File | Scope |
|
|
29
|
+
|---|---|---|
|
|
30
|
+
| Architecture | `.cursor/rules/architecture.mdc` | Always active — project structure, conventions, distribution channels, documentation locations |
|
|
31
|
+
| Component Editing | `.cursor/rules/component-editing.mdc` | Auto-applied when editing `registry/new-york/ui/*.tsx` — checklist for exports, docs, versioning, and dependencies |
|
|
32
|
+
|
|
33
|
+
Consuming apps can adopt their own design system rule using the [template](docs/CONSUMING_APP_RULE_TEMPLATE.mdc).
|
|
34
|
+
|
|
35
|
+
## Components
|
|
36
|
+
|
|
37
|
+
The design system includes 62+ components across these categories:
|
|
38
|
+
|
|
39
|
+
- **Primitives & Foundation** — Button, Input, Label, Textarea, Select, Badge, Avatar, Separator, Skeleton, Progress, ScrollArea, Table
|
|
40
|
+
- **Overlays & Navigation** — Dialog, DropdownMenu, Tooltip, Sheet, Tabs, Sidebar, ViewModeToggle, QuickActionSidebarNav
|
|
41
|
+
- **Cards & Metrics** — Card, MetricCard, ReportCard, DashboardCards, TopLineMetrics, PerformanceMetricsTable, ScoreRing, ScoreFeedback, ScoreBreakdown, ScoreAnalysisModal
|
|
42
|
+
- **Charts** — Chart, ChartTooltip, DonutChart, TrendAreaChart, BarChartComponent, StyledBarList, SankeyChart, VolumeAnalysisChart, PipelineOverview
|
|
43
|
+
- **Data Table** — DataTable, DataTableFilter, DataTableDisplay, DataTableQuickViews, DataTableToolbar
|
|
44
|
+
- **Item List** — ItemList, ItemListFilter, ItemListDisplay, ItemListToolbar
|
|
45
|
+
- **Activity & Timeline** — ActivityLog, ActivityDetail, TimelineActivity
|
|
46
|
+
- **Detail & Entity Views** — DetailView, EntityPanel, InboxRow, InboxToolbar, ContactList, PreviewList
|
|
47
|
+
- **Actions & Feedback** — SignalFeedbackInline, RecommendedActionsSection, SuggestedActions, QuickActionChatArea, QuickActionModal
|
|
17
48
|
|
|
18
|
-
|
|
19
|
-
- **Component source:** `registry/new-york/ui/` — customized shadcn primitives + custom UX blocks
|
|
20
|
-
- **Theming:** CSS variables — consuming projects define their own palette
|
|
21
|
-
- **Build tool:** `shadcn build` generates distributable JSON from source
|
|
22
|
-
|
|
23
|
-
## Available Components
|
|
24
|
-
|
|
25
|
-
| Component | Description |
|
|
26
|
-
|-----------|-------------|
|
|
27
|
-
| `button` | Button with multiple variants and sizes |
|
|
28
|
-
| `card` | Card container with header, content, footer |
|
|
29
|
-
| `dialog` | Modal dialog (Radix UI) |
|
|
30
|
-
| `input` | Styled text input |
|
|
31
|
-
| `label` | Form label |
|
|
32
|
-
| `select` | Select dropdown (Radix UI) |
|
|
33
|
-
| `table` | Responsive table |
|
|
34
|
-
| `tabs` | Tab navigation (Radix UI) |
|
|
35
|
-
| `badge` | Status indicator badges |
|
|
36
|
-
| `avatar` | Avatar with image/fallback |
|
|
37
|
-
| `dropdown-menu` | Dropdown menu with keyboard nav |
|
|
38
|
-
| `tooltip` | Hover tooltip |
|
|
39
|
-
| `sheet` | Slide-out panel |
|
|
40
|
-
| `separator` | Visual divider |
|
|
41
|
-
| `skeleton` | Loading placeholder |
|
|
42
|
-
| `scroll-area` | Custom scrollable area |
|
|
43
|
-
| `textarea` | Multi-line text input |
|
|
44
|
-
| `activity-log` | Activity stream row pattern |
|
|
45
|
-
| `chart` | Chart container and helpers |
|
|
46
|
-
| `detail-view` | Production-style detail panel primitives |
|
|
47
|
-
| `inbox-row` | Row-based inbox/work queue item |
|
|
48
|
-
| `metric-card` | KPI cards with variants (including donut-style) |
|
|
49
|
-
| `sidebar` | App navigation sidebar primitives |
|
|
49
|
+
See the [Component Reference](docs/COMPONENTS.md) for full API documentation including props, variants, and usage examples.
|
|
50
50
|
|
|
51
51
|
## Usage in a Consuming Project
|
|
52
52
|
|
|
53
|
-
###
|
|
53
|
+
### Install via npm (primary)
|
|
54
54
|
|
|
55
|
-
|
|
55
|
+
```bash
|
|
56
|
+
pnpm add @handled-ai/design-system
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
```tsx
|
|
60
|
+
import { Button, Card, Input } from "@handled-ai/design-system"
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### Install via shadcn registry (alternative)
|
|
64
|
+
|
|
65
|
+
Add the registry namespace to your project's `components.json`:
|
|
56
66
|
|
|
57
67
|
```json
|
|
58
68
|
{
|
|
@@ -62,49 +72,54 @@ In your project's `components.json`:
|
|
|
62
72
|
}
|
|
63
73
|
```
|
|
64
74
|
|
|
65
|
-
|
|
75
|
+
Then install individual components:
|
|
66
76
|
|
|
67
77
|
```bash
|
|
68
78
|
npx shadcn@latest add @handled/button @handled/card @handled/input
|
|
69
79
|
```
|
|
70
80
|
|
|
71
|
-
###
|
|
81
|
+
### Set your theme
|
|
72
82
|
|
|
73
|
-
Override CSS variables in your `globals.css`
|
|
83
|
+
Override CSS variables in your `globals.css` to apply your own palette. See the [Styling Reference](docs/STYLING.md) for the full list of tokens and theming instructions.
|
|
74
84
|
|
|
75
85
|
## Development
|
|
76
86
|
|
|
77
87
|
```bash
|
|
78
88
|
pnpm install
|
|
79
|
-
pnpm run dev # Start local app (component gallery
|
|
89
|
+
pnpm run dev # Start local app (component gallery + prototype)
|
|
90
|
+
pnpm run build:lib # Build npm package
|
|
80
91
|
pnpm run registry:build # Build registry JSON files
|
|
92
|
+
pnpm run typecheck # Type-check the codebase
|
|
93
|
+
pnpm run lint # Run linter
|
|
81
94
|
```
|
|
82
95
|
|
|
83
96
|
### Local URLs
|
|
84
97
|
|
|
85
|
-
- `http://localhost:3000/`
|
|
86
|
-
- `http://localhost:3000/preview` (
|
|
87
|
-
- `http://localhost:3000/r/registry.json`
|
|
98
|
+
- `http://localhost:3000/` — Component gallery
|
|
99
|
+
- `http://localhost:3000/preview` — Full product prototype (sidebar, inbox, detail view, dashboard)
|
|
100
|
+
- `http://localhost:3000/r/registry.json` — Built registry index
|
|
88
101
|
|
|
89
|
-
|
|
102
|
+
If port 3000 is taken, Next.js will auto-pick the next available port.
|
|
90
103
|
|
|
91
|
-
|
|
92
|
-
2. Update `registry.json` entries.
|
|
93
|
-
3. Run `pnpm run registry:build`.
|
|
94
|
-
4. Validate both `/` and `/preview`.
|
|
95
|
-
5. Commit and push to `main` (Vercel deploys automatically).
|
|
104
|
+
## Publishing
|
|
96
105
|
|
|
97
|
-
|
|
106
|
+
See the [Publishing Guide](docs/PUBLISHING.md) for the full workflow. Quick summary:
|
|
98
107
|
|
|
99
|
-
1.
|
|
100
|
-
2.
|
|
101
|
-
3.
|
|
102
|
-
4.
|
|
108
|
+
1. Make component changes in `registry/new-york/ui/`.
|
|
109
|
+
2. Export new components from `index.ts`.
|
|
110
|
+
3. Update `docs/components/{name}.md` and `docs/COMPONENTS.md`.
|
|
111
|
+
4. Bump the version in `package.json` (semver: patch / minor / major).
|
|
112
|
+
5. Run `npm publish` (build runs automatically via `prepublishOnly`).
|
|
113
|
+
6. Optionally run `pnpm run registry:build` and push to deploy the showcase site.
|
|
103
114
|
|
|
104
115
|
## Theme Presets
|
|
105
116
|
|
|
106
|
-
|
|
117
|
+
Three example presets in `app/themes/` validate the theming contract:
|
|
118
|
+
|
|
119
|
+
| Preset | Description |
|
|
120
|
+
|---|---|
|
|
121
|
+
| **Neutral** (default) | Black/white, grayscale accents |
|
|
122
|
+
| **Forest** | Dark green primary, earthy tones |
|
|
123
|
+
| **Ocean** | Deep blue primary, cool tones |
|
|
107
124
|
|
|
108
|
-
|
|
109
|
-
- **forest** — Dark green primary, earthy tones
|
|
110
|
-
- **ocean** — Deep blue primary, cool tones
|
|
125
|
+
See the [Styling Reference](docs/STYLING.md) for detailed token tables and instructions on creating custom themes.
|
package/dist/index.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ import { VariantProps } from 'class-variance-authority';
|
|
|
6
6
|
import * as RechartsPrimitive from 'recharts';
|
|
7
7
|
import { SortingState } from '@tanstack/react-table';
|
|
8
8
|
import * as LabelPrimitive from '@radix-ui/react-label';
|
|
9
|
+
import { LucideIcon } from 'lucide-react';
|
|
9
10
|
|
|
10
11
|
declare function cn(...inputs: ClassValue[]): string;
|
|
11
12
|
|
|
@@ -1328,4 +1329,192 @@ interface VolumeAnalysisChartProps {
|
|
|
1328
1329
|
}
|
|
1329
1330
|
declare function VolumeAnalysisChart({ data, dataKeys, height, xAxisKey, stacked, title, subtitle, className, }: VolumeAnalysisChartProps): React$1.JSX.Element;
|
|
1330
1331
|
|
|
1331
|
-
|
|
1332
|
+
interface PrototypeBrandConfig {
|
|
1333
|
+
name: string;
|
|
1334
|
+
logo?: string;
|
|
1335
|
+
assistantName?: string;
|
|
1336
|
+
}
|
|
1337
|
+
interface QueueItem {
|
|
1338
|
+
id: string;
|
|
1339
|
+
title: string;
|
|
1340
|
+
details: string;
|
|
1341
|
+
statusColor: string;
|
|
1342
|
+
time: string;
|
|
1343
|
+
company: string;
|
|
1344
|
+
tag1: string;
|
|
1345
|
+
}
|
|
1346
|
+
interface SignalScoreData {
|
|
1347
|
+
score: number;
|
|
1348
|
+
factors: ScoreFactor[];
|
|
1349
|
+
whyNow: string;
|
|
1350
|
+
evidence: string[];
|
|
1351
|
+
confidence: number;
|
|
1352
|
+
}
|
|
1353
|
+
interface InboxDetailSections {
|
|
1354
|
+
signalBrief?: boolean;
|
|
1355
|
+
suggestedActions?: boolean;
|
|
1356
|
+
timeline?: boolean;
|
|
1357
|
+
}
|
|
1358
|
+
interface InboxViewConfig {
|
|
1359
|
+
items: QueueItem[];
|
|
1360
|
+
filterCategories?: InboxFilterCategory[];
|
|
1361
|
+
detailSections?: InboxDetailSections;
|
|
1362
|
+
accountContacts?: SuggestedContact[];
|
|
1363
|
+
emailSignature?: string;
|
|
1364
|
+
buildSuggestedActions?: (item: QueueItem) => SuggestedAction[];
|
|
1365
|
+
buildSourceItems?: (item: QueueItem) => SourceDef[];
|
|
1366
|
+
getSignalScore?: (company: string) => SignalScoreData;
|
|
1367
|
+
getTimelineEvents?: (item: QueueItem) => TimelineEvent[];
|
|
1368
|
+
iconMap?: Record<string, string>;
|
|
1369
|
+
}
|
|
1370
|
+
interface InsightsViewConfig {
|
|
1371
|
+
tabs?: {
|
|
1372
|
+
overview?: boolean;
|
|
1373
|
+
analytics?: boolean;
|
|
1374
|
+
};
|
|
1375
|
+
coaching?: {
|
|
1376
|
+
enabled?: boolean;
|
|
1377
|
+
message?: string;
|
|
1378
|
+
};
|
|
1379
|
+
metrics?: MetricCardProps[];
|
|
1380
|
+
expandedMetrics?: MetricCardProps[];
|
|
1381
|
+
dashboardCards?: {
|
|
1382
|
+
topTasks?: boolean;
|
|
1383
|
+
upcomingMeetings?: boolean;
|
|
1384
|
+
recentlyCompleted?: boolean;
|
|
1385
|
+
checkIns?: boolean;
|
|
1386
|
+
};
|
|
1387
|
+
analytics?: {
|
|
1388
|
+
pipeline?: {
|
|
1389
|
+
stages: PipelineStage[];
|
|
1390
|
+
stageMetrics: Record<string, PipelineStageMetrics>;
|
|
1391
|
+
stageTimings: (PipelineStageTiming | null)[];
|
|
1392
|
+
filterBreakdowns?: Record<string, Record<string, Record<string, number>>>;
|
|
1393
|
+
};
|
|
1394
|
+
volumeChart?: {
|
|
1395
|
+
data: Record<string, unknown>[];
|
|
1396
|
+
dataKeys: Array<{
|
|
1397
|
+
key: string;
|
|
1398
|
+
color: string;
|
|
1399
|
+
}>;
|
|
1400
|
+
filterOptions?: Array<{
|
|
1401
|
+
label: string;
|
|
1402
|
+
value: string;
|
|
1403
|
+
}>;
|
|
1404
|
+
};
|
|
1405
|
+
donutChart?: {
|
|
1406
|
+
data: Array<{
|
|
1407
|
+
name: string;
|
|
1408
|
+
value: number;
|
|
1409
|
+
color: string;
|
|
1410
|
+
}>;
|
|
1411
|
+
centerLabel?: number;
|
|
1412
|
+
};
|
|
1413
|
+
trendChart?: {
|
|
1414
|
+
data: Record<string, unknown>[];
|
|
1415
|
+
series: Array<{
|
|
1416
|
+
dataKey: string;
|
|
1417
|
+
color: string;
|
|
1418
|
+
}>;
|
|
1419
|
+
xAxisKey?: string;
|
|
1420
|
+
height?: number;
|
|
1421
|
+
toggleOptions?: string[];
|
|
1422
|
+
};
|
|
1423
|
+
barChart?: {
|
|
1424
|
+
data: Record<string, unknown>[];
|
|
1425
|
+
bars: Array<{
|
|
1426
|
+
dataKey: string;
|
|
1427
|
+
color: string;
|
|
1428
|
+
name: string;
|
|
1429
|
+
icon?: LucideIcon;
|
|
1430
|
+
}>;
|
|
1431
|
+
};
|
|
1432
|
+
barList?: {
|
|
1433
|
+
data: Array<{
|
|
1434
|
+
name: string;
|
|
1435
|
+
value: number;
|
|
1436
|
+
}>;
|
|
1437
|
+
valueFormatter?: (v: number) => string;
|
|
1438
|
+
};
|
|
1439
|
+
};
|
|
1440
|
+
}
|
|
1441
|
+
interface AccountFilterTab {
|
|
1442
|
+
label: string;
|
|
1443
|
+
count?: number;
|
|
1444
|
+
variant?: "default" | "attention" | "ghost";
|
|
1445
|
+
}
|
|
1446
|
+
interface AccountsViewConfig {
|
|
1447
|
+
filterTabs?: AccountFilterTab[];
|
|
1448
|
+
}
|
|
1449
|
+
interface WorkQueueViewConfig {
|
|
1450
|
+
[key: string]: unknown;
|
|
1451
|
+
}
|
|
1452
|
+
interface EntityPanelSection {
|
|
1453
|
+
type: "details" | "contacts" | "recentActivity" | "connectedApps" | "systemActivity";
|
|
1454
|
+
props?: Record<string, unknown>;
|
|
1455
|
+
}
|
|
1456
|
+
interface EntityPanelConfig {
|
|
1457
|
+
sections?: EntityPanelSection[];
|
|
1458
|
+
icons?: Record<string, string>;
|
|
1459
|
+
}
|
|
1460
|
+
interface PrototypeConfig {
|
|
1461
|
+
brand?: PrototypeBrandConfig;
|
|
1462
|
+
sidebar: SidebarNavSection[];
|
|
1463
|
+
views: {
|
|
1464
|
+
inbox?: InboxViewConfig;
|
|
1465
|
+
insights?: InsightsViewConfig;
|
|
1466
|
+
accounts?: AccountsViewConfig;
|
|
1467
|
+
workQueue?: WorkQueueViewConfig;
|
|
1468
|
+
};
|
|
1469
|
+
defaultView: string;
|
|
1470
|
+
entityPanel?: EntityPanelConfig;
|
|
1471
|
+
/** Sidebar item IDs that trigger view navigation. Defaults to keys of `views`. */
|
|
1472
|
+
navigableViews?: string[];
|
|
1473
|
+
}
|
|
1474
|
+
|
|
1475
|
+
interface PrototypeShellProps {
|
|
1476
|
+
config: PrototypeConfig;
|
|
1477
|
+
/**
|
|
1478
|
+
* Optional ReactNode rendered in the header area of each view.
|
|
1479
|
+
* Useful for adding an "Exit Preview" button in the design system showcase.
|
|
1480
|
+
*/
|
|
1481
|
+
headerActions?: React$1.ReactNode;
|
|
1482
|
+
/**
|
|
1483
|
+
* Custom content to render inside the EntityPanel.
|
|
1484
|
+
* When provided, overrides the default section-based rendering.
|
|
1485
|
+
* Receives `onClose` so children can close the panel.
|
|
1486
|
+
*/
|
|
1487
|
+
entityPanelChildren?: React$1.ReactNode | ((ctx: {
|
|
1488
|
+
onClose: () => void;
|
|
1489
|
+
}) => React$1.ReactNode);
|
|
1490
|
+
}
|
|
1491
|
+
declare function PrototypeShell({ config, headerActions, entityPanelChildren, }: PrototypeShellProps): React$1.JSX.Element;
|
|
1492
|
+
|
|
1493
|
+
interface PrototypeInboxViewProps extends InboxViewConfig {
|
|
1494
|
+
/** Extra ReactNode rendered at the end of the header bar (e.g. exit button). */
|
|
1495
|
+
headerActions?: React$1.ReactNode;
|
|
1496
|
+
onOpenEntityPanel?: () => void;
|
|
1497
|
+
onOpenRecentActivity?: () => void;
|
|
1498
|
+
onNavigateToInbox?: () => void;
|
|
1499
|
+
}
|
|
1500
|
+
declare function PrototypeInboxView({ items, filterCategories, detailSections, accountContacts, emailSignature, buildSuggestedActions: buildSuggestedActionsProp, buildSourceItems: buildSourceItemsProp, getSignalScore: getSignalScoreProp, getTimelineEvents, iconMap, headerActions, onOpenEntityPanel, onOpenRecentActivity, }: PrototypeInboxViewProps): React$1.JSX.Element;
|
|
1501
|
+
|
|
1502
|
+
interface PrototypeInsightsViewProps extends InsightsViewConfig {
|
|
1503
|
+
assistantName?: string;
|
|
1504
|
+
headerActions?: React$1.ReactNode;
|
|
1505
|
+
onNavigateToInbox?: () => void;
|
|
1506
|
+
}
|
|
1507
|
+
declare function PrototypeInsightsView({ tabs, coaching, metrics, expandedMetrics, dashboardCards, analytics, assistantName, headerActions, onNavigateToInbox, }: PrototypeInsightsViewProps): React$1.JSX.Element;
|
|
1508
|
+
|
|
1509
|
+
interface PrototypeAccountsViewProps extends AccountsViewConfig {
|
|
1510
|
+
headerActions?: React$1.ReactNode;
|
|
1511
|
+
onRowClick?: () => void;
|
|
1512
|
+
}
|
|
1513
|
+
declare function PrototypeAccountsView({ filterTabs, headerActions, onRowClick, }: PrototypeAccountsViewProps): React$1.JSX.Element;
|
|
1514
|
+
|
|
1515
|
+
interface PrototypeWorkQueueViewProps {
|
|
1516
|
+
headerActions?: React$1.ReactNode;
|
|
1517
|
+
}
|
|
1518
|
+
declare function PrototypeWorkQueueView({ headerActions, }: PrototypeWorkQueueViewProps): React$1.JSX.Element;
|
|
1519
|
+
|
|
1520
|
+
export { type AccountFilterTab, type AccountsViewConfig, 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, type EntityPanelConfig, EntityPanelHeader, type EntityPanelSection, EntityPanelTabs, EntitySection, type GroupedListGroup, GroupedListView, type GroupedListViewProps, type InboxDetailSections, type InboxFilterCategory, InboxGroupHeader, InboxRow, type InboxRowProps, InboxToolbar, type InboxToolbarProps, type InboxViewConfig, Input, type InsightsViewConfig, 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, PrototypeAccountsView, type PrototypeAccountsViewProps, type PrototypeBrandConfig, type PrototypeConfig, PrototypeInboxView, type PrototypeInboxViewProps, PrototypeInsightsView, type PrototypeInsightsViewProps, PrototypeShell, type PrototypeShellProps, PrototypeWorkQueueView, type PrototypeWorkQueueViewProps, type QueueItem, 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, type SignalScoreData, 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, type WorkQueueViewConfig, badgeVariants, buttonVariants, cn, getScoreColor, tabsListVariants, useIsMobile, useScoreFeedback, useSidebar, useSignalApproval };
|