@yarvelle/ui 0.0.0-stage → 0.1.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.
Files changed (42) hide show
  1. package/bin/yarvelle-ui-codegen.js +115 -0
  2. package/dist/index-DLbrj3Po.d.ts +90 -0
  3. package/dist/index.d.ts +706 -0
  4. package/dist/index.js +4418 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/lib/api/index.d.ts +99 -0
  7. package/dist/lib/api/index.js +113 -0
  8. package/dist/lib/api/index.js.map +1 -0
  9. package/dist/lib/auth/index.d.ts +21 -0
  10. package/dist/lib/auth/index.js +37 -0
  11. package/dist/lib/auth/index.js.map +1 -0
  12. package/dist/lib/cn.d.ts +5 -0
  13. package/dist/lib/cn.js +10 -0
  14. package/dist/lib/cn.js.map +1 -0
  15. package/dist/lib/i18n/index.d.ts +7 -0
  16. package/dist/lib/i18n/index.js +45 -0
  17. package/dist/lib/i18n/index.js.map +1 -0
  18. package/dist/lib/index.d.ts +8 -0
  19. package/dist/lib/index.js +272 -0
  20. package/dist/lib/index.js.map +1 -0
  21. package/dist/lib/sse/index.d.ts +11 -0
  22. package/dist/lib/sse/index.js +43 -0
  23. package/dist/lib/sse/index.js.map +1 -0
  24. package/dist/lib/storage-namespace.d.ts +6 -0
  25. package/dist/lib/storage-namespace.js +34 -0
  26. package/dist/lib/storage-namespace.js.map +1 -0
  27. package/dist/slots/index.d.ts +12 -0
  28. package/dist/slots/index.js +86 -0
  29. package/dist/slots/index.js.map +1 -0
  30. package/dist/styles.css +270 -0
  31. package/dist/testing/index.d.ts +3 -0
  32. package/dist/testing/index.js +36 -0
  33. package/dist/testing/index.js.map +1 -0
  34. package/dist/tokens/index.d.ts +37 -0
  35. package/dist/tokens/index.js +155 -0
  36. package/dist/tokens/index.js.map +1 -0
  37. package/dist/tokens/tailwind-preset.d.ts +5 -0
  38. package/dist/tokens/tailwind-preset.js +155 -0
  39. package/dist/tokens/tailwind-preset.js.map +1 -0
  40. package/dist/types-CP_CDg6G.d.ts +51 -0
  41. package/package.json +69 -4
  42. package/README.md +0 -3
@@ -0,0 +1,706 @@
1
+ export { UiColorToken, UiRadiusToken, UiShadowToken, UiSpaceToken, UiTextSizeToken, UiZIndexToken } from './tokens/index.js';
2
+ export { default as yarvellePreset } from './tokens/tailwind-preset.js';
3
+ import * as React from 'react';
4
+ import React__default from 'react';
5
+ import { C as ChatMessage, a as ChatAttachment, b as ChatSlotHooks, R as RiskLevel, T as ToolCallTrace, E as ExecutionPlanStep, P as ProfileMember, S as ScopePermission, V as ViewerInviteData, c as ShareBundleData } from './index-DLbrj3Po.js';
6
+ export { A as ApprovalRequest, M as MessageRole, d as MessageStatus, e as ProfileRole, f as createMockChatMessage, g as createMockProfile, h as createMockSlotContribution } from './index-DLbrj3Po.js';
7
+ import { S as SlotContribution, a as SlotProps } from './types-CP_CDg6G.js';
8
+ export { A as AudienceBand, F as FilterSlotsOptions, I as IconId, M as MessageId, P as PackUi, b as ScopeId, c as SlotId, d as definePackUi, f as filterSlotContributions, i as isScopeSatisfied, m as matchesScopePattern } from './types-CP_CDg6G.js';
9
+ export { SlotRenderer, SlotRendererProps } from './slots/index.js';
10
+ export { cn } from './lib/cn.js';
11
+ export { getScopedItem, getStorageKey, removeScopedItem, setScopedItem } from './lib/storage-namespace.js';
12
+ import 'tailwindcss';
13
+ import 'clsx';
14
+
15
+ type ButtonVariant = 'primary' | 'secondary' | 'ghost' | 'danger' | 'outline';
16
+ type ButtonSize = 'sm' | 'md' | 'lg';
17
+ interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
18
+ variant?: ButtonVariant;
19
+ size?: ButtonSize;
20
+ loading?: boolean;
21
+ leftIcon?: React.ReactNode;
22
+ rightIcon?: React.ReactNode;
23
+ }
24
+ declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
25
+
26
+ interface DialogProps {
27
+ open?: boolean;
28
+ defaultOpen?: boolean;
29
+ onOpenChange?: (open: boolean) => void;
30
+ children: React.ReactNode;
31
+ }
32
+ declare function Dialog({ open: controlledOpen, defaultOpen, onOpenChange, children, }: DialogProps): React.JSX.Element;
33
+ interface DialogTriggerProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
34
+ asChild?: boolean;
35
+ }
36
+ declare const DialogTrigger: React.ForwardRefExoticComponent<DialogTriggerProps & React.RefAttributes<HTMLButtonElement>>;
37
+ interface DialogContentProps extends React.HTMLAttributes<HTMLDivElement> {
38
+ onCloseAutoFocus?: (event: Event) => void;
39
+ }
40
+ declare const DialogContent: React.ForwardRefExoticComponent<DialogContentProps & React.RefAttributes<HTMLDivElement>>;
41
+ declare const DialogHeader: React.FC<React.HTMLAttributes<HTMLDivElement>>;
42
+ declare const DialogFooter: React.FC<React.HTMLAttributes<HTMLDivElement>>;
43
+ declare const DialogTitle: React.FC<React.HTMLAttributes<HTMLHeadingElement>>;
44
+ declare const DialogDescription: React.FC<React.HTMLAttributes<HTMLParagraphElement>>;
45
+ interface DialogCloseProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
46
+ asChild?: boolean;
47
+ }
48
+ declare const DialogClose: React.FC<DialogCloseProps>;
49
+
50
+ type SheetSide = 'bottom' | 'start' | 'end';
51
+ interface SheetProps {
52
+ open?: boolean;
53
+ defaultOpen?: boolean;
54
+ onOpenChange?: (open: boolean) => void;
55
+ side?: SheetSide;
56
+ children: React.ReactNode;
57
+ }
58
+ declare function Sheet({ open: controlledOpen, defaultOpen, onOpenChange, side, children, }: SheetProps): React.JSX.Element;
59
+ interface SheetTriggerProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
60
+ asChild?: boolean;
61
+ }
62
+ declare const SheetTrigger: React.ForwardRefExoticComponent<SheetTriggerProps & React.RefAttributes<HTMLButtonElement>>;
63
+ interface SheetContentProps extends React.HTMLAttributes<HTMLDivElement> {
64
+ side?: SheetSide;
65
+ }
66
+ declare const SheetContent: React.ForwardRefExoticComponent<SheetContentProps & React.RefAttributes<HTMLDivElement>>;
67
+ declare const SheetHeader: React.FC<React.HTMLAttributes<HTMLDivElement>>;
68
+ declare const SheetFooter: React.FC<React.HTMLAttributes<HTMLDivElement>>;
69
+ declare const SheetTitle: React.FC<React.HTMLAttributes<HTMLHeadingElement>>;
70
+ declare const SheetDescription: React.FC<React.HTMLAttributes<HTMLParagraphElement>>;
71
+ declare const SheetClose: React.FC<React.ButtonHTMLAttributes<HTMLButtonElement>>;
72
+
73
+ interface CardProps extends React.HTMLAttributes<HTMLDivElement> {
74
+ variant?: 'default' | 'muted' | 'interactive';
75
+ }
76
+ declare const Card: React.ForwardRefExoticComponent<CardProps & React.RefAttributes<HTMLDivElement>>;
77
+ declare const CardHeader: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
78
+ declare const CardTitle: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLHeadingElement> & React.RefAttributes<HTMLHeadingElement>>;
79
+ declare const CardDescription: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLParagraphElement> & React.RefAttributes<HTMLParagraphElement>>;
80
+ declare const CardContent: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
81
+ declare const CardFooter: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
82
+
83
+ type BadgeVariant = 'default' | 'primary' | 'neutral' | 'info' | 'warn' | 'danger' | 'success' | 'outline';
84
+ interface BadgeProps extends React.HTMLAttributes<HTMLSpanElement> {
85
+ variant?: BadgeVariant;
86
+ }
87
+ declare const Badge: React.FC<BadgeProps>;
88
+
89
+ type AvatarSize = 'sm' | 'md' | 'lg' | 'xl';
90
+ type MemberColorSlot = '1' | '2' | '3' | '4' | '5';
91
+ interface AvatarProps extends React.HTMLAttributes<HTMLDivElement> {
92
+ src?: string | null;
93
+ alt?: string;
94
+ name?: string;
95
+ size?: AvatarSize;
96
+ colorSlot?: MemberColorSlot;
97
+ children?: React.ReactNode;
98
+ }
99
+ declare const Avatar: React.FC<AvatarProps>;
100
+ interface AvatarImageProps extends React.ImgHTMLAttributes<HTMLImageElement> {
101
+ }
102
+ declare const AvatarImage: React.FC<AvatarImageProps>;
103
+ interface AvatarFallbackProps extends React.HTMLAttributes<HTMLSpanElement> {
104
+ }
105
+ declare const AvatarFallback: React.FC<AvatarFallbackProps>;
106
+
107
+ type ChipScope = 'health' | 'finance' | 'education' | 'household' | 'default';
108
+ interface ChipProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
109
+ selected?: boolean;
110
+ scope?: ChipScope;
111
+ onRemove?: () => void;
112
+ startIcon?: React.ReactNode;
113
+ }
114
+ declare const Chip: React.FC<ChipProps>;
115
+
116
+ interface MenuProps {
117
+ open?: boolean;
118
+ defaultOpen?: boolean;
119
+ onOpenChange?: (open: boolean) => void;
120
+ children: React.ReactNode;
121
+ }
122
+ declare function Menu({ open: controlledOpen, defaultOpen, onOpenChange, children }: MenuProps): React.JSX.Element;
123
+ interface MenuTriggerProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
124
+ }
125
+ declare const MenuTrigger: React.ForwardRefExoticComponent<MenuTriggerProps & React.RefAttributes<HTMLButtonElement>>;
126
+ interface MenuContentProps extends React.HTMLAttributes<HTMLDivElement> {
127
+ align?: 'start' | 'end' | 'center';
128
+ }
129
+ declare const MenuContent: React.ForwardRefExoticComponent<MenuContentProps & React.RefAttributes<HTMLDivElement>>;
130
+ interface MenuItemProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
131
+ destructive?: boolean;
132
+ }
133
+ declare const MenuItem: React.ForwardRefExoticComponent<MenuItemProps & React.RefAttributes<HTMLButtonElement>>;
134
+ declare const MenuSeparator: React.FC<React.HTMLAttributes<HTMLDivElement>>;
135
+
136
+ interface PopoverProps {
137
+ open?: boolean;
138
+ defaultOpen?: boolean;
139
+ onOpenChange?: (open: boolean) => void;
140
+ children: React.ReactNode;
141
+ }
142
+ declare function Popover({ open: controlledOpen, defaultOpen, onOpenChange, children }: PopoverProps): React.JSX.Element;
143
+ interface PopoverTriggerProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
144
+ }
145
+ declare const PopoverTrigger: React.ForwardRefExoticComponent<PopoverTriggerProps & React.RefAttributes<HTMLButtonElement>>;
146
+ interface PopoverContentProps extends React.HTMLAttributes<HTMLDivElement> {
147
+ align?: 'start' | 'end' | 'center';
148
+ }
149
+ declare const PopoverContent: React.ForwardRefExoticComponent<PopoverContentProps & React.RefAttributes<HTMLDivElement>>;
150
+
151
+ interface TabsProps extends React.HTMLAttributes<HTMLDivElement> {
152
+ value?: string;
153
+ defaultValue?: string;
154
+ onValueChange?: (value: string) => void;
155
+ }
156
+ declare function Tabs({ value: controlledValue, defaultValue, onValueChange, children, className, ...props }: TabsProps): React.JSX.Element;
157
+ interface TabsListProps extends React.HTMLAttributes<HTMLDivElement> {
158
+ }
159
+ declare const TabsList: React.ForwardRefExoticComponent<TabsListProps & React.RefAttributes<HTMLDivElement>>;
160
+ interface TabsTriggerProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
161
+ value: string;
162
+ }
163
+ declare const TabsTrigger: React.ForwardRefExoticComponent<TabsTriggerProps & React.RefAttributes<HTMLButtonElement>>;
164
+ interface TabsContentProps extends React.HTMLAttributes<HTMLDivElement> {
165
+ value: string;
166
+ }
167
+ declare const TabsContent: React.ForwardRefExoticComponent<TabsContentProps & React.RefAttributes<HTMLDivElement>>;
168
+
169
+ interface SegmentedOption {
170
+ value: string;
171
+ label: React.ReactNode;
172
+ icon?: React.ReactNode;
173
+ disabled?: boolean;
174
+ }
175
+ interface SegmentedControlProps {
176
+ options: SegmentedOption[];
177
+ value?: string;
178
+ defaultValue?: string;
179
+ onChange?: (value: string) => void;
180
+ className?: string;
181
+ size?: 'sm' | 'md';
182
+ }
183
+ declare function SegmentedControl({ options, value: controlledValue, defaultValue, onChange, className, size, }: SegmentedControlProps): React.JSX.Element;
184
+
185
+ interface EmptyStateProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'title'> {
186
+ icon?: React.ReactNode;
187
+ title: React.ReactNode;
188
+ description?: React.ReactNode;
189
+ action?: React.ReactNode;
190
+ }
191
+ declare const EmptyState: React.ForwardRefExoticComponent<EmptyStateProps & React.RefAttributes<HTMLDivElement>>;
192
+
193
+ interface SkeletonProps extends React.HTMLAttributes<HTMLDivElement> {
194
+ }
195
+ declare const Skeleton: React.ForwardRefExoticComponent<SkeletonProps & React.RefAttributes<HTMLDivElement>>;
196
+
197
+ interface InlineErrorProps extends React.HTMLAttributes<HTMLDivElement> {
198
+ message?: React.ReactNode;
199
+ icon?: React.ReactNode;
200
+ }
201
+ declare const InlineError: React.ForwardRefExoticComponent<InlineErrorProps & React.RefAttributes<HTMLDivElement>>;
202
+
203
+ interface ToastItem {
204
+ id: string;
205
+ title: React.ReactNode;
206
+ description?: React.ReactNode;
207
+ variant?: 'info' | 'success' | 'warn' | 'danger';
208
+ duration?: number;
209
+ }
210
+ interface ToastContextValue {
211
+ toasts: ToastItem[];
212
+ addToast: (toast: Omit<ToastItem, 'id'>) => string;
213
+ removeToast: (id: string) => void;
214
+ }
215
+ declare function useToast(): ToastContextValue;
216
+ declare function ToastProvider({ children }: {
217
+ children: React.ReactNode;
218
+ }): React.JSX.Element;
219
+ interface ToasterProps {
220
+ className?: string;
221
+ position?: 'top-start' | 'top-end' | 'bottom-start' | 'bottom-end';
222
+ }
223
+ declare function Toaster({ className, position }: ToasterProps): React.JSX.Element;
224
+
225
+ interface ChatContextValue {
226
+ messages: ChatMessage[];
227
+ onSendMessage: (content: string, attachments?: ChatAttachment[]) => Promise<void> | void;
228
+ loading: boolean;
229
+ activeAttachments: ChatAttachment[];
230
+ setActiveAttachments: React.Dispatch<React.SetStateAction<ChatAttachment[]>>;
231
+ slotHooks?: ChatSlotHooks;
232
+ }
233
+ declare function useChatContext(): ChatContextValue;
234
+ interface ChatRootProps {
235
+ messages: ChatMessage[];
236
+ onSendMessage: (content: string, attachments?: ChatAttachment[]) => Promise<void> | void;
237
+ loading?: boolean;
238
+ slotHooks?: ChatSlotHooks;
239
+ children: React.ReactNode;
240
+ className?: string;
241
+ }
242
+ declare function ChatRoot({ messages, onSendMessage, loading, slotHooks, children, className, }: ChatRootProps): React.JSX.Element;
243
+ interface ChatThreadProps {
244
+ className?: string;
245
+ emptyTitle?: string;
246
+ emptyDescription?: string;
247
+ }
248
+ declare function ChatThread({ className, emptyTitle, emptyDescription, }: ChatThreadProps): React.JSX.Element;
249
+ interface ChatMessageProps {
250
+ message: ChatMessage;
251
+ className?: string;
252
+ }
253
+ declare function ChatMessageItem({ message, className }: ChatMessageProps): React.JSX.Element;
254
+ declare function ChatAttachments({ className }: {
255
+ className?: string;
256
+ }): React.JSX.Element | null;
257
+ interface ChatComposerProps {
258
+ placeholder?: string;
259
+ className?: string;
260
+ }
261
+ declare function ChatComposer({ placeholder, className, }: ChatComposerProps): React.JSX.Element;
262
+ declare const Chat: {
263
+ Root: typeof ChatRoot;
264
+ Thread: typeof ChatThread;
265
+ Message: typeof ChatMessageItem;
266
+ Composer: typeof ChatComposer;
267
+ Attachments: typeof ChatAttachments;
268
+ };
269
+
270
+ interface ChatConnectedProps {
271
+ threadId: string;
272
+ initialMessages?: ChatMessage[];
273
+ slotHooks?: ChatSlotHooks;
274
+ className?: string;
275
+ onMessageSent?: (msg: ChatMessage) => void;
276
+ }
277
+ declare function ChatConnected({ threadId, initialMessages, slotHooks, className, onMessageSent, }: ChatConnectedProps): React.JSX.Element;
278
+
279
+ interface ApprovalCardProps {
280
+ id: string;
281
+ level: RiskLevel;
282
+ label: string;
283
+ details?: Record<string, unknown>;
284
+ onDecide?: (id: string, decision: 'approved' | 'rejected') => Promise<void> | void;
285
+ status?: 'pending' | 'approved' | 'rejected';
286
+ className?: string;
287
+ }
288
+ declare function ApprovalCard({ id, level, label, details, onDecide, status, className, }: ApprovalCardProps): React.JSX.Element;
289
+
290
+ interface ToolTraceCardProps {
291
+ trace: ToolCallTrace;
292
+ className?: string;
293
+ defaultExpanded?: boolean;
294
+ }
295
+ declare function ToolTraceCard({ trace, className, defaultExpanded, }: ToolTraceCardProps): React.JSX.Element;
296
+
297
+ interface ExecutionPlanCardProps {
298
+ steps: ExecutionPlanStep[];
299
+ className?: string;
300
+ title?: string;
301
+ }
302
+ declare function ExecutionPlanCard({ steps, className, title, }: ExecutionPlanCardProps): React.JSX.Element | null;
303
+
304
+ interface ThinkingIndicatorProps {
305
+ label?: string;
306
+ reasoning?: string;
307
+ className?: string;
308
+ }
309
+ declare function ThinkingIndicator({ label, reasoning, className, }: ThinkingIndicatorProps): React.JSX.Element;
310
+
311
+ interface CodeBlockProps {
312
+ code: string;
313
+ language?: string;
314
+ className?: string;
315
+ }
316
+ declare function CodeBlock({ code, language, className }: CodeBlockProps): React.JSX.Element;
317
+
318
+ interface MermaidDiagramProps {
319
+ chart: string;
320
+ className?: string;
321
+ }
322
+ declare function MermaidDiagram({ chart, className }: MermaidDiagramProps): React.JSX.Element;
323
+
324
+ interface ChatMarkdownProps {
325
+ content: string;
326
+ className?: string;
327
+ }
328
+ declare function ChatMarkdown({ content, className }: ChatMarkdownProps): React.JSX.Element;
329
+
330
+ interface MessageToolbarProps {
331
+ content: string;
332
+ onRetry?: () => void;
333
+ onFeedback?: (rating: 'positive' | 'negative') => void;
334
+ className?: string;
335
+ }
336
+ declare function MessageToolbar({ content, onRetry, onFeedback, className, }: MessageToolbarProps): React.JSX.Element;
337
+
338
+ interface ActivityLogDrawerProps {
339
+ traces: ToolCallTrace[];
340
+ open?: boolean;
341
+ onOpenChange?: (open: boolean) => void;
342
+ trigger?: React.ReactNode;
343
+ }
344
+ declare function ActivityLogDrawer({ traces, open, onOpenChange, trigger, }: ActivityLogDrawerProps): React.JSX.Element;
345
+
346
+ interface ModelOption {
347
+ id: string;
348
+ name: string;
349
+ description?: string;
350
+ provider?: string;
351
+ }
352
+ interface ModelSelectorProps {
353
+ models: ModelOption[];
354
+ selectedModelId?: string;
355
+ onSelectModel?: (modelId: string) => void;
356
+ className?: string;
357
+ }
358
+ declare function ModelSelector({ models, selectedModelId, onSelectModel, className, }: ModelSelectorProps): React.JSX.Element;
359
+
360
+ interface NoteItem {
361
+ id: string;
362
+ title: string;
363
+ content: string;
364
+ createdAt: string;
365
+ updatedAt: string;
366
+ tags?: string[];
367
+ pinned?: boolean;
368
+ authorId?: string;
369
+ }
370
+ interface NoteFilterOption {
371
+ id: string;
372
+ label: string;
373
+ count?: number;
374
+ }
375
+
376
+ interface RecordSearchProps {
377
+ searchQuery: string;
378
+ onSearchChange: (query: string) => void;
379
+ selectedFilter: string;
380
+ onFilterChange: (filterId: string) => void;
381
+ filterOptions?: NoteFilterOption[];
382
+ placeholder?: string;
383
+ className?: string;
384
+ }
385
+ declare function RecordSearch({ searchQuery, onSearchChange, selectedFilter, onFilterChange, filterOptions, placeholder, className, }: RecordSearchProps): React.JSX.Element;
386
+
387
+ interface NotesListProps {
388
+ notes: NoteItem[];
389
+ selectedNoteId?: string;
390
+ onSelectNote: (note: NoteItem) => void;
391
+ className?: string;
392
+ emptyTitle?: string;
393
+ emptyDescription?: string;
394
+ }
395
+ declare function NotesList({ notes, selectedNoteId, onSelectNote, className, emptyTitle, emptyDescription, }: NotesListProps): React.JSX.Element;
396
+
397
+ interface NoteViewProps {
398
+ note: NoteItem;
399
+ onEdit?: (note: NoteItem) => void;
400
+ onDelete?: (noteId: string) => void;
401
+ onTogglePin?: (noteId: string) => void;
402
+ className?: string;
403
+ }
404
+ declare function NoteView({ note, onEdit, onDelete, onTogglePin, className, }: NoteViewProps): React.JSX.Element;
405
+
406
+ type CalendarViewMode = 'month' | 'week' | 'agenda';
407
+ interface CalendarEvent {
408
+ id: string;
409
+ title: string;
410
+ start: Date | string;
411
+ end: Date | string;
412
+ allDay?: boolean;
413
+ location?: string;
414
+ conflict?: boolean;
415
+ recurrenceRule?: string;
416
+ description?: string;
417
+ }
418
+ interface ReminderItem {
419
+ id: string;
420
+ title: string;
421
+ dueAt: string;
422
+ rrule?: string;
423
+ snoozedUntil?: string;
424
+ completed?: boolean;
425
+ category?: string;
426
+ }
427
+ interface RoutineItem {
428
+ id: string;
429
+ title: string;
430
+ frequency: 'daily' | 'weekdays' | 'weekends' | 'weekly';
431
+ timeOfDay: string;
432
+ durationMinutes?: number;
433
+ active: boolean;
434
+ }
435
+ interface TimelineEvent {
436
+ id: string;
437
+ title: string;
438
+ timestamp: string;
439
+ description?: string;
440
+ status?: 'info' | 'success' | 'warn' | 'danger';
441
+ icon?: string;
442
+ }
443
+
444
+ interface CalendarProps {
445
+ events: CalendarEvent[];
446
+ selectedDate?: Date;
447
+ onSelectDate?: (date: Date) => void;
448
+ onSelectEvent?: (event: CalendarEvent) => void;
449
+ viewMode?: CalendarViewMode;
450
+ onViewModeChange?: (view: CalendarViewMode) => void;
451
+ className?: string;
452
+ }
453
+ declare function Calendar({ events, selectedDate, onSelectDate, onSelectEvent, viewMode, onViewModeChange, className, }: CalendarProps): React.JSX.Element;
454
+
455
+ interface ScheduleAgendaProps {
456
+ events: CalendarEvent[];
457
+ onSelectEvent?: (event: CalendarEvent) => void;
458
+ className?: string;
459
+ }
460
+ declare function ScheduleAgenda({ events, onSelectEvent, className, }: ScheduleAgendaProps): React.JSX.Element;
461
+
462
+ interface RemindersProps {
463
+ reminders: ReminderItem[];
464
+ onComplete?: (id: string, completed: boolean) => void;
465
+ onSnooze?: (id: string, minutes: number) => void;
466
+ className?: string;
467
+ }
468
+ declare function Reminders({ reminders, onComplete, onSnooze, className, }: RemindersProps): React.JSX.Element;
469
+
470
+ interface RoutinesProps {
471
+ routines: RoutineItem[];
472
+ onToggleActive?: (id: string, active: boolean) => void;
473
+ className?: string;
474
+ }
475
+ declare function Routines({ routines, onToggleActive, className, }: RoutinesProps): React.JSX.Element;
476
+
477
+ interface ActivityTimelineProps {
478
+ events: TimelineEvent[];
479
+ className?: string;
480
+ }
481
+ declare function ActivityTimeline({ events, className }: ActivityTimelineProps): React.JSX.Element;
482
+
483
+ interface ProfileSwitcherProps {
484
+ members: ProfileMember[];
485
+ activeMemberId: string;
486
+ onSelectMember: (memberId: string) => void;
487
+ className?: string;
488
+ }
489
+ declare function ProfileSwitcher({ members, activeMemberId, onSelectMember, className, }: ProfileSwitcherProps): React.JSX.Element;
490
+
491
+ interface MemberCardProps {
492
+ member: ProfileMember;
493
+ onEdit?: (member: ProfileMember) => void;
494
+ className?: string;
495
+ }
496
+ declare function MemberCard({ member, onEdit, className }: MemberCardProps): React.JSX.Element;
497
+
498
+ interface ProfileEditModalProps {
499
+ member?: ProfileMember | null;
500
+ open: boolean;
501
+ onOpenChange: (open: boolean) => void;
502
+ onSave: (updated: ProfileMember) => void;
503
+ }
504
+ declare function ProfileEditModal({ member, open, onOpenChange, onSave, }: ProfileEditModalProps): React.JSX.Element;
505
+
506
+ interface RoleMatrixProps {
507
+ permissions: ScopePermission[];
508
+ onChange?: (permissions: ScopePermission[]) => void;
509
+ readOnly?: boolean;
510
+ className?: string;
511
+ }
512
+ declare function RoleMatrix({ permissions, onChange, readOnly, className, }: RoleMatrixProps): React.JSX.Element;
513
+
514
+ interface ViewerInviteProps {
515
+ availableScopes?: string[];
516
+ onSendInvite?: (data: ViewerInviteData) => Promise<void> | void;
517
+ className?: string;
518
+ }
519
+ declare function ViewerInvite({ availableScopes, onSendInvite, className, }: ViewerInviteProps): React.JSX.Element;
520
+
521
+ interface ShareBundleProps {
522
+ availableScopes?: string[];
523
+ onCreateBundle?: (bundle: Omit<ShareBundleData, 'id'>) => Promise<string> | void;
524
+ className?: string;
525
+ }
526
+ declare function ShareBundle({ availableScopes, onCreateBundle, className, }: ShareBundleProps): React.JSX.Element;
527
+
528
+ interface TeenHandoverBannerProps {
529
+ memberName: string;
530
+ handoverDate: string;
531
+ onInitiateHandover?: () => void;
532
+ onDismiss?: () => void;
533
+ className?: string;
534
+ }
535
+ declare function TeenHandoverBanner({ memberName, handoverDate, onInitiateHandover, onDismiss, className, }: TeenHandoverBannerProps): React.JSX.Element;
536
+
537
+ type TaskPriority = 'low' | 'medium' | 'high';
538
+ interface TaskItemData {
539
+ id: string;
540
+ title: string;
541
+ description?: string;
542
+ completed: boolean;
543
+ priority?: TaskPriority;
544
+ dueAt?: string;
545
+ tags?: string[];
546
+ }
547
+
548
+ interface TaskItemProps {
549
+ task: TaskItemData;
550
+ onToggleComplete?: (id: string, completed: boolean) => void;
551
+ onDelete?: (id: string) => void;
552
+ className?: string;
553
+ }
554
+ declare function TaskItem({ task, onToggleComplete, onDelete, className, }: TaskItemProps): React.JSX.Element;
555
+
556
+ interface TaskListProps {
557
+ tasks: TaskItemData[];
558
+ onToggleComplete?: (id: string, completed: boolean) => void;
559
+ onAddTask?: (title: string) => void;
560
+ onDeleteTask?: (id: string) => void;
561
+ className?: string;
562
+ emptyTitle?: string;
563
+ emptyDescription?: string;
564
+ }
565
+ declare function TaskList({ tasks, onToggleComplete, onAddTask, onDeleteTask, className, emptyTitle, emptyDescription, }: TaskListProps): React.JSX.Element;
566
+
567
+ type NotificationLevel = 'info' | 'warn' | 'danger' | 'success';
568
+ interface NotificationMessage {
569
+ id: string;
570
+ title: string;
571
+ description?: string;
572
+ timestamp: string;
573
+ read: boolean;
574
+ level?: NotificationLevel;
575
+ actionUrl?: string;
576
+ }
577
+
578
+ interface NotificationCenterProps {
579
+ notifications: NotificationMessage[];
580
+ onMarkAllRead?: () => void;
581
+ onDismiss?: (id: string) => void;
582
+ onSelectNotification?: (notification: NotificationMessage) => void;
583
+ className?: string;
584
+ }
585
+ declare function NotificationCenter({ notifications, onMarkAllRead, onDismiss, onSelectNotification, className, }: NotificationCenterProps): React.JSX.Element;
586
+
587
+ interface SettingsSection {
588
+ id: string;
589
+ title: string;
590
+ description?: string;
591
+ icon?: React.ReactNode;
592
+ order?: number;
593
+ component?: React.ComponentType;
594
+ slotContribution?: SlotContribution;
595
+ }
596
+
597
+ interface SettingsLayoutProps {
598
+ sections: SettingsSection[];
599
+ activeSectionId?: string;
600
+ onSelectSection?: (id: string) => void;
601
+ contributions?: SlotContribution[];
602
+ slotProps?: SlotProps;
603
+ children?: React.ReactNode;
604
+ className?: string;
605
+ }
606
+ declare function SettingsLayout({ sections, activeSectionId, onSelectSection, contributions, slotProps, children, className, }: SettingsLayoutProps): React.JSX.Element;
607
+
608
+ interface SettingsSectionSlotRendererProps {
609
+ contributions: SlotContribution[];
610
+ slotProps: SlotProps;
611
+ className?: string;
612
+ }
613
+ declare function SettingsSectionSlotRenderer({ contributions, slotProps, className, }: SettingsSectionSlotRendererProps): React.JSX.Element;
614
+
615
+ interface RailItem {
616
+ id: string;
617
+ label: string;
618
+ icon?: React.ReactNode;
619
+ route?: string;
620
+ badge?: number | string;
621
+ active?: boolean;
622
+ onClick?: () => void;
623
+ slotContribution?: SlotContribution;
624
+ }
625
+
626
+ interface AppRailProps {
627
+ items: RailItem[];
628
+ contributions?: SlotContribution[];
629
+ activeItemId?: string;
630
+ onSelectItem?: (item: RailItem) => void;
631
+ brand?: React.ReactNode;
632
+ footer?: React.ReactNode;
633
+ collapsed?: boolean;
634
+ className?: string;
635
+ }
636
+ declare function AppRail({ items, contributions, activeItemId, onSelectItem, brand, footer, collapsed, className, }: AppRailProps): React.JSX.Element;
637
+
638
+ interface MobileTopBarProps {
639
+ title?: React.ReactNode;
640
+ startSlot?: React.ReactNode;
641
+ endSlot?: React.ReactNode;
642
+ leftSlot?: React.ReactNode;
643
+ rightSlot?: React.ReactNode;
644
+ className?: string;
645
+ }
646
+ declare function MobileTopBar({ title, startSlot, endSlot, leftSlot, rightSlot, className, }: MobileTopBarProps): React.JSX.Element;
647
+
648
+ interface MobileTabBarProps {
649
+ items: RailItem[];
650
+ activeItemId?: string;
651
+ onSelectItem?: (item: RailItem) => void;
652
+ className?: string;
653
+ }
654
+ declare function MobileTabBar({ items, activeItemId, onSelectItem, className, }: MobileTabBarProps): React.JSX.Element;
655
+
656
+ interface AppLayoutProps {
657
+ items: RailItem[];
658
+ contributions?: SlotContribution[];
659
+ activeItemId?: string;
660
+ onSelectItem?: (item: RailItem) => void;
661
+ brand?: React.ReactNode;
662
+ railFooter?: React.ReactNode;
663
+ mobileTopLeft?: React.ReactNode;
664
+ mobileTopRight?: React.ReactNode;
665
+ children: React.ReactNode;
666
+ className?: string;
667
+ }
668
+ declare function AppLayout({ items, contributions, activeItemId, onSelectItem, brand, railFooter, mobileTopLeft, mobileTopRight, children, className, }: AppLayoutProps): React.JSX.Element;
669
+
670
+ type ThemeMode = 'light' | 'dark' | 'system';
671
+ interface ProductConfig {
672
+ name: string;
673
+ logo?: React__default.ReactNode;
674
+ }
675
+ interface I18nContextValue {
676
+ locale: string;
677
+ t: (id: string, defaultText?: string) => string;
678
+ }
679
+ interface UiContextValue {
680
+ theme: ThemeMode;
681
+ resolvedTheme: 'light' | 'dark';
682
+ setTheme: (mode: ThemeMode) => void;
683
+ product: ProductConfig;
684
+ storageNamespace: string;
685
+ i18n: I18nContextValue;
686
+ }
687
+ interface UiProviderProps {
688
+ children: React__default.ReactNode;
689
+ defaultTheme?: ThemeMode;
690
+ product?: ProductConfig;
691
+ storageNamespace?: string;
692
+ locale?: string;
693
+ messages?: Record<string, string>;
694
+ }
695
+ declare const UiProvider: React__default.FC<UiProviderProps>;
696
+ declare const useUi: () => UiContextValue;
697
+ declare const useTheme: () => {
698
+ theme: ThemeMode;
699
+ resolvedTheme: "light" | "dark";
700
+ setTheme: (mode: ThemeMode) => void;
701
+ };
702
+ declare const useProduct: () => ProductConfig;
703
+ declare const useStorageNamespace: () => string;
704
+ declare const useI18n: () => I18nContextValue;
705
+
706
+ export { ActivityLogDrawer, type ActivityLogDrawerProps, ActivityTimeline, type ActivityTimelineProps, AppLayout, type AppLayoutProps, AppRail, type AppRailProps, ApprovalCard, type ApprovalCardProps, Avatar, AvatarFallback, type AvatarFallbackProps, AvatarImage, type AvatarImageProps, type AvatarProps, type AvatarSize, Badge, type BadgeProps, type BadgeVariant, Button, type ButtonProps, type ButtonSize, type ButtonVariant, Calendar, type CalendarEvent, type CalendarProps, type CalendarViewMode, Card, CardContent, CardDescription, CardFooter, CardHeader, type CardProps, CardTitle, Chat, ChatAttachment, ChatAttachments, ChatComposer, type ChatComposerProps, ChatConnected, type ChatConnectedProps, ChatMarkdown, type ChatMarkdownProps, ChatMessage, ChatMessageItem, type ChatMessageProps, ChatRoot, type ChatRootProps, ChatSlotHooks, ChatThread, type ChatThreadProps, Chip, type ChipProps, type ChipScope, CodeBlock, type CodeBlockProps, Dialog, DialogClose, type DialogCloseProps, DialogContent, type DialogContentProps, DialogDescription, DialogFooter, DialogHeader, type DialogProps, DialogTitle, DialogTrigger, type DialogTriggerProps, EmptyState, type EmptyStateProps, ExecutionPlanCard, type ExecutionPlanCardProps, ExecutionPlanStep, type I18nContextValue, InlineError, type InlineErrorProps, MemberCard, type MemberCardProps, type MemberColorSlot, Menu, MenuContent, type MenuContentProps, MenuItem, type MenuItemProps, type MenuProps, MenuSeparator, MenuTrigger, type MenuTriggerProps, MermaidDiagram, type MermaidDiagramProps, MessageToolbar, type MessageToolbarProps, MobileTabBar, type MobileTabBarProps, MobileTopBar, type MobileTopBarProps, type ModelOption, ModelSelector, type ModelSelectorProps, type NoteFilterOption, type NoteItem, NoteView, type NoteViewProps, NotesList, type NotesListProps, NotificationCenter, type NotificationCenterProps, type NotificationLevel, type NotificationMessage, Popover, PopoverContent, type PopoverContentProps, type PopoverProps, PopoverTrigger, type PopoverTriggerProps, type ProductConfig, ProfileEditModal, type ProfileEditModalProps, ProfileMember, ProfileSwitcher, type ProfileSwitcherProps, type RailItem, RecordSearch, type RecordSearchProps, type ReminderItem, Reminders, type RemindersProps, RiskLevel, RoleMatrix, type RoleMatrixProps, type RoutineItem, Routines, type RoutinesProps, ScheduleAgenda, type ScheduleAgendaProps, ScopePermission, SegmentedControl, type SegmentedControlProps, type SegmentedOption, SettingsLayout, type SettingsLayoutProps, type SettingsSection, SettingsSectionSlotRenderer, type SettingsSectionSlotRendererProps, ShareBundle, ShareBundleData, type ShareBundleProps, Sheet, SheetClose, SheetContent, type SheetContentProps, SheetDescription, SheetFooter, SheetHeader, type SheetProps, type SheetSide, SheetTitle, SheetTrigger, type SheetTriggerProps, Skeleton, type SkeletonProps, SlotContribution, SlotProps, Tabs, TabsContent, type TabsContentProps, TabsList, type TabsListProps, type TabsProps, TabsTrigger, type TabsTriggerProps, TaskItem, type TaskItemData, type TaskItemProps, TaskList, type TaskListProps, type TaskPriority, TeenHandoverBanner, type TeenHandoverBannerProps, type ThemeMode, ThinkingIndicator, type ThinkingIndicatorProps, type TimelineEvent, type ToastItem, ToastProvider, Toaster, type ToasterProps, ToolCallTrace, ToolTraceCard, type ToolTraceCardProps, type UiContextValue, UiProvider, type UiProviderProps, ViewerInvite, ViewerInviteData, type ViewerInviteProps, useChatContext, useI18n, useProduct, useStorageNamespace, useTheme, useToast, useUi };