@factorialco/f0-react 1.341.0 → 1.342.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/ai.d.ts CHANGED
@@ -1,27 +1,25 @@
1
1
  import { AIMessage } from '@copilotkit/shared';
2
+ import { AssistantMessageProps } from '@copilotkit/react-ui';
3
+ import { Context } from 'react';
2
4
  import { CopilotKitProps } from '@copilotkit/react-core';
3
5
  import { ForwardRefExoticComponent } from 'react';
4
6
  import { JSX as JSX_2 } from 'react';
5
7
  import { Message } from '@copilotkit/shared';
8
+ import { MessagesProps } from '@copilotkit/react-ui';
6
9
  import { ReactNode } from 'react';
7
10
  import { RefAttributes } from 'react';
8
11
  import { SVGProps } from 'react';
12
+ import * as SwitchPrimitive from '@radix-ui/react-switch';
9
13
 
10
- export declare const ActionItem: ({ title, status, inGroup }: ActionItemProps) => JSX_2.Element;
14
+ export declare function A({ children, ...props }: React.AnchorHTMLAttributes<HTMLAnchorElement>): JSX_2.Element;
11
15
 
12
- export declare interface ActionItemProps {
13
- title: string;
14
- status?: "inProgress" | "executing" | "completed";
15
- inGroup?: boolean;
16
- }
16
+ export declare type ActionItemStatus = (typeof actionItemStatuses)[number];
17
+
18
+ export declare const actionItemStatuses: readonly ["inProgress", "executing", "completed"];
17
19
 
18
20
  /**
19
- * @experimental This is an experimental component use it at your own risk
21
+ * Props for the AiChatProvider component
20
22
  */
21
- export declare const AiChat: () => JSX_2.Element | null;
22
-
23
- export declare const AiChatProvider: ({ enabled, greeting, initialMessage, welcomeScreenSuggestions, onThumbsUp, onThumbsDown, children, agent, ...copilotKitProps }: AiChatProviderProps) => JSX_2.Element;
24
-
25
23
  export declare type AiChatProviderProps = {
26
24
  enabled?: boolean;
27
25
  greeting?: string;
@@ -37,6 +35,9 @@ export declare type AiChatProviderProps = {
37
35
  }) => void;
38
36
  } & Pick<CopilotKitProps, "agent" | "credentials" | "children" | "runtimeUrl" | "showDevConsole" | "threadId" | "headers">;
39
37
 
38
+ /**
39
+ * Return value type for the useAiChat hook
40
+ */
40
41
  declare type AiChatProviderReturnValue = {
41
42
  enabled: boolean;
42
43
  setEnabled: React.Dispatch<React.SetStateAction<boolean>>;
@@ -83,6 +84,9 @@ declare type AiChatProviderReturnValue = {
83
84
  /* Excluded from this release type: setSendMessageFunction */
84
85
  } & Pick<AiChatState, "greeting" | "agent">;
85
86
 
87
+ /**
88
+ * Internal state for the AiChat provider
89
+ */
86
90
  declare interface AiChatState {
87
91
  greeting?: string;
88
92
  enabled: boolean;
@@ -101,20 +105,24 @@ declare interface AiChatState {
101
105
  }) => void;
102
106
  }
103
107
 
108
+ /**
109
+ * AI Chat translations type
110
+ */
104
111
  export declare type AiChatTranslations = TranslationShape<typeof aiTranslations>;
105
112
 
106
113
  export declare function AiChatTranslationsProvider({ children, translations, }: AiChatTranslationsProviderProps): JSX.Element;
107
114
 
115
+ /**
116
+ * Props for the AiChatTranslationsProvider component
117
+ */
108
118
  export declare interface AiChatTranslationsProviderProps {
109
- children: ReactNode;
119
+ children: React.ReactNode;
110
120
  translations: AiChatTranslations;
111
121
  }
112
122
 
113
123
  /**
114
- * @experimental This is an experimental component use it at your own risk
124
+ * Default AI chat translations
115
125
  */
116
- export declare const AiFullscreenChat: () => JSX_2.Element | null;
117
-
118
126
  export declare const aiTranslations: {
119
127
  ai: {
120
128
  openChat: string;
@@ -147,537 +155,321 @@ export declare const aiTranslations: {
147
155
  };
148
156
  };
149
157
 
150
- export declare const defaultTranslations: {
151
- readonly countries: {
152
- ad: string;
153
- ae: string;
154
- af: string;
155
- ag: string;
156
- ai: string;
157
- al: string;
158
- am: string;
159
- ao: string;
160
- ar: string;
161
- as: string;
162
- at: string;
163
- au: string;
164
- aw: string;
165
- ax: string;
166
- az: string;
167
- ba: string;
168
- bb: string;
169
- bd: string;
170
- be: string;
171
- bf: string;
172
- bg: string;
173
- bh: string;
174
- bi: string;
175
- bj: string;
176
- bm: string;
177
- bo: string;
178
- br: string;
179
- bt: string;
180
- bw: string;
181
- by: string;
182
- bz: string;
183
- ca: string;
184
- cd: string;
185
- cf: string;
186
- cg: string;
187
- ch: string;
188
- ci: string;
189
- ck: string;
190
- cl: string;
191
- cm: string;
192
- cn: string;
193
- co: string;
194
- cr: string;
195
- cu: string;
196
- cv: string;
197
- cw: string;
198
- cy: string;
199
- cz: string;
200
- de: string;
201
- dj: string;
202
- dk: string;
203
- dm: string;
204
- do: string;
205
- dz: string;
206
- ec: string;
207
- ee: string;
208
- eg: string;
209
- er: string;
210
- es: string;
211
- et: string;
212
- fi: string;
213
- fj: string;
214
- fk: string;
215
- fm: string;
216
- fo: string;
217
- fr: string;
218
- ga: string;
219
- gb: string;
220
- gd: string;
221
- ge: string;
222
- gg: string;
223
- gh: string;
224
- gi: string;
225
- gl: string;
226
- gm: string;
227
- gn: string;
228
- gq: string;
229
- gr: string;
230
- gt: string;
231
- gu: string;
232
- gw: string;
233
- hk: string;
234
- hn: string;
235
- hr: string;
236
- ht: string;
237
- hu: string;
238
- id: string;
239
- ie: string;
240
- il: string;
241
- im: string;
242
- in: string;
243
- io: string;
244
- iq: string;
245
- ir: string;
246
- is: string;
247
- it: string;
248
- je: string;
249
- jm: string;
250
- jo: string;
251
- jp: string;
252
- ke: string;
253
- };
254
- readonly approvals: {
255
- readonly history: "Approval history";
256
- readonly statuses: {
257
- readonly waiting: "Waiting";
258
- readonly pending: "Pending";
259
- readonly approved: "Approved";
260
- readonly rejected: "Rejected";
261
- };
262
- readonly requiredNumbers: {
263
- readonly one: "One approval required";
264
- readonly other: "{{count}} approvals required";
265
- };
266
- };
267
- readonly navigation: {
268
- readonly sidebar: {
269
- readonly label: "Main navigation";
270
- readonly companySelector: {
271
- readonly label: "Select a company";
272
- readonly placeholder: "Select a company";
273
- };
274
- };
275
- readonly previous: "Previous";
276
- readonly next: "Next";
277
- };
278
- readonly inputs: {
279
- readonly password: {
280
- readonly show: "Show password";
281
- readonly hide: "Hide password";
282
- };
283
- };
284
- readonly actions: {
285
- readonly add: "Add";
286
- readonly edit: "Edit";
287
- readonly save: "Save";
288
- readonly send: "Send";
289
- readonly cancel: "Cancel";
290
- readonly delete: "Delete";
291
- readonly copy: "Copy";
292
- readonly paste: "Paste";
293
- readonly close: "Close";
294
- readonly collapse: "Collapse";
295
- readonly expand: "Expand";
296
- readonly showAll: "Show all";
297
- readonly showLess: "Show less";
298
- readonly skipToContent: "Skip to content";
299
- readonly view: "View";
300
- readonly unselect: "Unselect";
301
- readonly search: "Search";
302
- readonly clear: "Clear";
303
- readonly more: "More";
304
- readonly moveUp: "Move up";
305
- readonly moveDown: "Move down";
306
- readonly thumbsUp: "Like";
307
- readonly thumbsDown: "Dislike";
308
- readonly other: "Other actions";
309
- readonly toggle: "Toggle";
310
- readonly toggleDropdownMenu: "Toggle dropdown menu";
311
- readonly selectAll: "Select all";
312
- };
313
- readonly status: {
314
- readonly selected: {
315
- readonly singular: "Selected";
316
- readonly plural: "Selected";
317
- readonly all: "All selected";
318
- };
319
- };
320
- readonly syncStatus: {
321
- readonly synced: "Sync completed successfully.";
322
- readonly syncing: "Sync in progress.";
323
- readonly pending: "Not yet started.";
324
- readonly partiallySynced: "All aggregated data was synced but at least 1 failed.";
325
- readonly outdated: "Data might need to be synced again.";
326
- readonly failed: "Sync failed.";
327
- };
328
- readonly filters: {
329
- readonly searchPlaceholder: "Search filters...";
330
- readonly inFilter: {
331
- readonly searchPlaceholder: "Search options...";
332
- };
333
- readonly activeFilters: "Active filters: {{filters}}";
334
- readonly filteringBy: "Filtering by {{label}}";
335
- readonly availableFilters: "Available filters";
336
- readonly label: "Filters";
337
- readonly applyFilters: "Apply filters";
338
- readonly applySelection: "Apply selection";
339
- readonly cancel: "Cancel";
340
- readonly failedToLoadOptions: "Failed to load options";
341
- readonly retry: "Retry";
342
- readonly number: {
343
- readonly value: "Value";
344
- readonly equal: "Equal to";
345
- readonly equalTo: "Equal to {{value}}";
346
- readonly lessOrEqual: "Less or equal to";
347
- readonly lessThan: "Less than";
348
- readonly greaterOrEqual: "Greater or equal to";
349
- readonly greaterThan: "Greater than";
350
- readonly equalShort: "= {{value}}";
351
- readonly greaterThanOrEqualShort: ">= {{value}}";
352
- readonly greaterThanShort: "> {{value}}";
353
- readonly lessThanOrEqualShort: "<= {{value}}";
354
- readonly lessThanShort: "< {{value}}";
355
- readonly rangeTitle: "Use range";
356
- readonly range: "{{minStrict}} {{min}} and {{maxStrict}} {{max}}";
357
- };
358
- readonly search: {
359
- readonly relaxed: "Relaxed";
360
- readonly strict: "Strict";
361
- };
362
- readonly selectAll: "Select all";
363
- readonly clear: "Clear";
364
- };
365
- readonly toc: {
366
- readonly search: "Search...";
367
- };
368
- readonly collections: {
369
- readonly sorting: {
370
- readonly noSorting: "No sorting";
371
- readonly toggleDirection: "Toggle sorting direction";
372
- readonly sortBy: "Sort by";
373
- };
374
- readonly grouping: {
375
- readonly noGrouping: "No grouping";
376
- readonly groupBy: "Group by";
377
- readonly toggleDirection: "Toggle direction";
378
- };
379
- readonly actions: {
380
- readonly actions: "Actions";
381
- };
382
- readonly visualizations: {
383
- readonly table: "Table view";
384
- readonly card: "Card view";
385
- readonly list: "List view";
386
- readonly kanban: "Kanban view";
387
- readonly pagination: {
388
- readonly of: "of";
389
- };
390
- readonly settings: "{{visualizationName}} settings";
391
- readonly reset: "Reset to default";
392
- };
393
- readonly table: {
394
- readonly settings: {
395
- readonly showAllColumns: "Show all";
396
- readonly hideAllColumns: "Hide all";
397
- };
398
- };
399
- readonly itemsCount: "items";
400
- readonly emptyStates: {
401
- readonly noData: {
402
- readonly title: "No data";
403
- readonly description: "No data available";
404
- };
405
- readonly noResults: {
406
- readonly title: "No results";
407
- readonly description: "No results found try another search or clear the filters";
408
- readonly clearFilters: "Clear filters";
409
- };
410
- readonly error: {
411
- readonly title: "Error";
412
- readonly description: "An error occurred while loading the data";
413
- readonly retry: "Retry";
414
- };
415
- };
416
- readonly summaries: {
417
- readonly types: {
418
- readonly sum: "sum";
419
- };
420
- };
421
- };
422
- readonly shortcut: "Shortcut";
423
- readonly date: {
424
- readonly from: "From";
425
- readonly to: "To";
426
- readonly none: "None";
427
- readonly date: "Date";
428
- readonly custom: "Custom period";
429
- readonly selectDate: "Select Date";
430
- readonly compareTo: "Compare to";
431
- readonly presets: {
432
- readonly last7Days: "Last 7 days";
433
- readonly last30Days: "Last 30 days";
434
- readonly last3Months: "Last 3 months";
435
- readonly last6Months: "Last 6 months";
436
- readonly lastYear: "Last year";
437
- readonly last3Years: "Last 3 years";
438
- readonly last100Years: "Last 100 years";
439
- };
440
- readonly range: "Range";
441
- readonly selectedBy: "Selected by";
442
- readonly groups: {
443
- readonly today: "Today";
444
- readonly yesterday: "Yesterday";
445
- readonly lastWeek: "Last week";
446
- readonly lastMonth: "Last month";
447
- readonly other: "Other";
448
- };
449
- readonly granularities: {
450
- readonly day: {
451
- readonly currentDate: "Today";
452
- readonly label: "Day";
453
- };
454
- readonly week: {
455
- readonly currentDate: "This week";
456
- readonly label: "Week";
457
- readonly long: "Week of {{day}} {{month}} {{year}}";
458
- readonly longSingular: "Week of {{date}}";
459
- readonly longPlural: "Weeks of {{date}}";
460
- };
461
- readonly month: {
462
- readonly currentDate: "This month";
463
- readonly label: "Month";
464
- };
465
- readonly quarter: {
466
- readonly currentDate: "This quarter";
467
- readonly label: "Quarter";
468
- };
469
- readonly halfyear: {
470
- readonly currentDate: "This half year";
471
- readonly label: "Half year";
472
- };
473
- readonly year: {
474
- readonly currentDate: "This year";
475
- readonly label: "Year";
476
- };
477
- readonly range: {
478
- readonly currentDate: "Today";
479
- readonly label: "Range";
480
- };
481
- };
482
- readonly month: {
483
- readonly january: "January";
484
- readonly february: "February";
485
- readonly march: "March";
486
- readonly april: "April";
487
- readonly may: "May";
488
- readonly june: "June";
489
- readonly july: "July";
490
- readonly august: "August";
491
- readonly september: "September";
492
- readonly october: "October";
493
- readonly november: "November";
494
- readonly december: "December";
495
- };
496
- };
497
- readonly favorites: {
498
- readonly favorites: "Favorites";
499
- readonly remove: "Remove favorite";
500
- };
501
- readonly notifications: "Notifications";
502
- readonly ai: {
503
- readonly openChat: "Open Chat with One AI";
504
- readonly closeChat: "Close Chat with One AI";
505
- readonly startNewChat: "Start new chat";
506
- readonly scrollToBottom: "Scroll to bottom";
507
- readonly welcome: "Ask or create with One";
508
- readonly defaultInitialMessage: "How can I help you today?";
509
- readonly inputPlaceholder: "Ask about time, people, or company info and a lot of other things...";
510
- readonly stopAnswerGeneration: "Stop generating";
511
- readonly sendMessage: "Send message";
512
- readonly thoughtsGroupTitle: "Reflection";
513
- readonly resourcesGroupTitle: "Resources";
514
- readonly thinking: "Thinking...";
515
- readonly exportTable: "Download table";
516
- readonly generatedTableFilename: "OneGeneratedTable";
517
- readonly feedbackModal: {
518
- readonly positive: {
519
- readonly title: "What did you like about this response?";
520
- readonly label: "Your feedback helps us make Factorial AI better";
521
- readonly placeholder: "Share what worked well";
522
- };
523
- readonly negative: {
524
- readonly title: "What could have been better?";
525
- readonly label: "Your feedback helps us improve future answers";
526
- readonly placeholder: "Share what didn’t work";
527
- };
528
- };
529
- readonly ask: "Ask One";
530
- };
531
- readonly select: {
532
- readonly noResults: "No results found";
533
- readonly loadingMore: "Loading...";
534
- };
535
- readonly numberInput: {
536
- readonly between: "It should be between {{min}} and {{max}}";
537
- readonly greaterThan: "It should be greater than {{min}}";
538
- readonly lessThan: "It should be less than {{max}}";
539
- };
540
- readonly imageUpload: {
541
- readonly uploading: "Uploading...";
542
- readonly uploadError: "Upload failed";
543
- readonly insertImage: "Image";
544
- readonly deleteImage: "Delete";
545
- readonly errors: {
546
- readonly fileTooLarge: "The file is too large";
547
- readonly invalidType: "Invalid file type. Only images are allowed";
548
- readonly uploadFailed: "Failed to upload image. Please try again";
549
- readonly dismiss: "Dismiss";
550
- };
551
- };
552
- readonly coCreationForm: {
553
- readonly actions: {
554
- readonly actions: "Actions";
555
- readonly duplicateQuestion: "Duplicate question";
556
- readonly deleteQuestion: "Delete question";
557
- readonly duplicateSection: "Duplicate section";
558
- readonly deleteSection: "Delete section";
559
- };
560
- readonly questionTypes: {
561
- readonly section: "Section";
562
- readonly rating: "Rating";
563
- readonly multipleChoice: "Multiple choice";
564
- readonly singleChoice: "Single choice";
565
- readonly text: "Text";
566
- readonly longText: "Long text";
567
- readonly numeric: "Numeric";
568
- readonly link: "Link";
569
- readonly date: "Date";
570
- };
571
- readonly selectQuestion: {
572
- readonly addOption: "Add option";
573
- readonly newOption: "New option {{number}}";
574
- readonly markAsCorrect: "Mark as correct";
575
- readonly remove: "Remove";
576
- readonly correct: "Correct";
577
- readonly optionPlaceholder: "Type anything you want here...";
578
- };
579
- readonly answer: {
580
- readonly label: "Answer";
581
- readonly placeholder: "Respondent's answer";
582
- };
583
- readonly labels: {
584
- readonly applyingChanges: "Applying changes";
585
- readonly endOfSection: "End of section";
586
- readonly title: "Title";
587
- readonly titlePlaceholder: "Question title";
588
- readonly description: "Description";
589
- readonly questionDescriptionPlaceholder: "Describe the question in a few words";
590
- readonly sectionDescriptionPlaceholder: "Describe the section in a few words";
591
- readonly required: "Required";
592
- readonly questionType: "Question type";
593
- readonly questionOptions: "Question options";
594
- readonly actions: "Actions";
595
- readonly sectionTitlePlaceholder: "Section title";
596
- };
597
- };
598
- readonly richTextEditor: {
599
- readonly bold: "Bold";
600
- readonly italic: "Italic";
601
- readonly underline: "Underline";
602
- readonly strike: "Strike";
603
- readonly highlight: "Highlight";
604
- readonly heading1: "Heading 1";
605
- readonly heading2: "Heading 2";
606
- readonly heading3: "Heading 3";
607
- readonly left: "Left";
608
- readonly center: "Center";
609
- readonly right: "Right";
610
- readonly justify: "Justify";
611
- readonly bulletList: "Bullet List";
612
- readonly orderedList: "Ordered List";
613
- readonly taskList: "Task List";
614
- readonly codeBlock: "Code Block";
615
- readonly horizontalRule: "Horizontal Rule";
616
- readonly quote: "Quote";
617
- readonly moreOptions: "More Options";
618
- readonly code: "Code";
619
- readonly divider: "Divider";
620
- readonly bullet: "Bullet";
621
- readonly ordered: "Ordered";
622
- readonly task: "Task";
623
- readonly details: "Dropdown";
624
- readonly link: "Link";
625
- readonly linkPlaceholder: "Enter a link";
626
- readonly groups: {
627
- readonly textStyles: "Text Styles";
628
- readonly lists: "Lists";
629
- readonly blocks: "Blocks";
630
- };
631
- };
632
- };
158
+ export declare function Blockquote({ children, ...props }: React.HTMLAttributes<HTMLQuoteElement>): JSX_2.Element;
159
+
160
+ export declare const ChatSpinner: ForwardRefExoticComponent<Omit<SVGProps<SVGSVGElement>, "ref"> & RefAttributes<SVGSVGElement>>;
161
+
162
+ export declare function downloadTableAsExcel(table: HTMLTableElement, filename?: string): void;
163
+
164
+ export declare function Em({ children, ...props }: React.HTMLAttributes<HTMLSpanElement>): JSX_2.Element;
165
+
166
+ export declare const F0ActionItem: ({ title, status, inGroup }: F0ActionItemProps) => JSX_2.Element;
167
+
168
+ /**
169
+ * Props for the F0ActionItem component
170
+ */
171
+ export declare interface F0ActionItemProps {
172
+ /**
173
+ * The title text displayed next to the status icon
174
+ */
175
+ title: string;
176
+ /**
177
+ * Current status of the action item
178
+ */
179
+ status?: "inProgress" | "executing" | "completed";
180
+ /**
181
+ * Whether the action item is part of a group
182
+ */
183
+ inGroup?: boolean;
184
+ }
185
+
186
+ /**
187
+ * @experimental This is an experimental component use it at your own risk
188
+ */
189
+ export declare const F0AiChat: () => JSX_2.Element | null;
190
+
191
+ /**
192
+ * @experimental This is an experimental component use it at your own risk
193
+ */
194
+ export declare const F0AiChatProvider: ({ enabled, greeting, initialMessage, welcomeScreenSuggestions, onThumbsUp, onThumbsDown, children, agent, ...copilotKitProps }: AiChatProviderProps) => JSX_2.Element;
633
195
 
634
- export declare const HILActionConfirmation: ({ text, confirmationText, onConfirm, cancelText, onCancel, }: HILActionConfirmationProps) => JSX_2.Element;
196
+ export declare const F0AiChatTextArea: ({ submitLabel, inProgress, onSend, onStop, placeholders, defaultPlaceholder, autoFocus, }: F0AiChatTextAreaProps) => JSX_2.Element;
635
197
 
636
- export declare type HILActionConfirmationProps = {
198
+ /**
199
+ * Props for the F0AiChatTextArea component
200
+ */
201
+ export declare interface F0AiChatTextAreaProps {
202
+ /**
203
+ * Whether the chat is currently processing a message
204
+ */
205
+ inProgress: boolean;
206
+ /**
207
+ * Callback when the user sends a message
208
+ */
209
+ onSend: (message: string) => void;
210
+ /**
211
+ * Callback when the user stops the current generation
212
+ */
213
+ onStop?: () => void;
214
+ /**
215
+ * Custom label for the submit button
216
+ */
217
+ submitLabel?: string;
218
+ /**
219
+ * Array of placeholder strings to cycle through with typewriter effect.
220
+ * If multiple placeholders are provided, they will animate in a cycle.
221
+ * If a single placeholder is provided, it will be displayed statically.
222
+ */
223
+ placeholders?: string[];
224
+ /**
225
+ * Default placeholder text when no placeholders are provided or as fallback
226
+ */
227
+ defaultPlaceholder?: string;
228
+ /**
229
+ * Whether the textarea should autofocus on mount
230
+ * @default true
231
+ */
232
+ autoFocus?: boolean;
233
+ }
234
+
235
+ export declare const F0AiCollapsibleMessage: ({ icon, title, children, }: F0AiCollapsibleMessageProps) => JSX_2.Element;
236
+
237
+ /**
238
+ * Props for the F0AiCollapsibleMessage component
239
+ */
240
+ export declare interface F0AiCollapsibleMessageProps {
241
+ /**
242
+ * Icon to display in the collapsible trigger
243
+ */
244
+ icon: IconType;
245
+ /**
246
+ * Title text for the collapsible trigger
247
+ */
248
+ title: string;
249
+ /**
250
+ * Content to show when expanded
251
+ */
252
+ children: ReactNode;
253
+ }
254
+
255
+ /**
256
+ * @experimental This is an experimental component use it at your own risk
257
+ */
258
+ export declare const F0AiFullscreenChat: () => JSX_2.Element | null;
259
+
260
+ export declare const F0HILActionConfirmation: ({ text, confirmationText, onConfirm, cancelText, onCancel, }: F0HILActionConfirmationProps) => JSX_2.Element;
261
+
262
+ /**
263
+ * Props for the F0HILActionConfirmation component
264
+ */
265
+ export declare type F0HILActionConfirmationProps = {
266
+ /**
267
+ * Optional descriptive text shown above the action buttons
268
+ */
637
269
  text?: string;
270
+ /**
271
+ * Text displayed on the confirmation button
272
+ */
638
273
  confirmationText: string;
274
+ /**
275
+ * Callback fired when the confirmation button is clicked
276
+ */
639
277
  onConfirm: () => void;
278
+ /**
279
+ * Text displayed on the cancel button
280
+ */
640
281
  cancelText: string;
282
+ /**
283
+ * Callback fired when the cancel button is clicked
284
+ */
641
285
  onCancel: () => void;
642
286
  };
643
287
 
644
- export declare function I18nProvider({ children, translations, }: I18nProviderProps): JSX.Element;
288
+ export declare const f0MarkdownRenderers: NonNullable<AssistantMessageProps["markdownTagRenderers"]>;
645
289
 
646
- export declare interface I18nProviderProps {
647
- children: ReactNode;
648
- translations: TranslationsType;
290
+ export declare const F0MessageSources: ({ sources }: F0MessageSourcesProps) => JSX_2.Element | null;
291
+
292
+ /**
293
+ * Props for the F0MessageSources component
294
+ */
295
+ export declare type F0MessageSourcesProps = {
296
+ /**
297
+ * Array of sources to display
298
+ */
299
+ sources: F0Source[];
300
+ };
301
+
302
+ export declare const F0OneIcon: ForwardRefExoticComponent<Omit<F0OneIconProps, "ref"> & RefAttributes<SVGSVGElement>>;
303
+
304
+ /**
305
+ * Props for the F0OneIcon component
306
+ */
307
+ export declare interface F0OneIconProps extends SVGProps<SVGSVGElement> {
308
+ /**
309
+ * Whether the icon should spin
310
+ */
311
+ spin?: boolean;
312
+ /**
313
+ * Whether the icon is in hover state
314
+ */
315
+ hover?: boolean;
316
+ /**
317
+ * Background color override
318
+ */
319
+ background?: string;
320
+ /**
321
+ * Size of the icon
322
+ */
323
+ size?: "xs" | "sm" | "md" | "lg";
649
324
  }
650
325
 
326
+ export declare const F0OneSwitch: ({ className, disabled }: F0OneSwitchProps) => JSX_2.Element | null;
327
+
328
+ /**
329
+ * Props for the F0OneSwitch component
330
+ */
331
+ export declare type F0OneSwitchProps = React.ComponentPropsWithoutRef<typeof SwitchPrimitive.Root>;
332
+
333
+ /**
334
+ * Source object for message sources
335
+ */
336
+ export declare type F0Source = {
337
+ /**
338
+ * Title of the source
339
+ */
340
+ title: string;
341
+ /**
342
+ * Optional link URL
343
+ */
344
+ link?: string;
345
+ /**
346
+ * Optional icon name (from @/icons/app)
347
+ */
348
+ icon?: string;
349
+ /**
350
+ * Whether to open link in new tab
351
+ */
352
+ targetBlank?: boolean;
353
+ };
354
+
355
+ export declare const F0Thinking: ({ messages, title }: F0ThinkingProps) => JSX_2.Element;
356
+
357
+ /**
358
+ * Props for the F0Thinking component
359
+ */
360
+ export declare type F0ThinkingProps = {
361
+ /**
362
+ * Array of thinking/reflection messages to display
363
+ */
364
+ messages: Message[];
365
+ /**
366
+ * Whether the thinking process is currently active
367
+ */
368
+ isActive?: boolean;
369
+ /**
370
+ * Custom render function for messages
371
+ */
372
+ RenderMessage?: MessagesProps["RenderMessage"];
373
+ /**
374
+ * Custom assistant message component
375
+ */
376
+ AssistantMessage?: MessagesProps["AssistantMessage"];
377
+ /**
378
+ * Whether the chat is currently in progress
379
+ */
380
+ inProgress?: boolean;
381
+ /**
382
+ * Custom title for the thinking section
383
+ */
384
+ title?: string;
385
+ };
386
+
387
+ export declare const FullscreenChatContext: Context<FullscreenChatContextType>;
388
+
389
+ /**
390
+ * Context type for fullscreen chat state
391
+ */
392
+ declare type FullscreenChatContextType = {
393
+ inProgress: boolean;
394
+ setInProgress: (value: boolean) => void;
395
+ };
396
+
397
+ export declare function H1({ children, ...props }: React.HTMLAttributes<HTMLHeadingElement>): JSX_2.Element;
398
+
399
+ export declare function H2({ children, ...props }: React.HTMLAttributes<HTMLHeadingElement>): JSX_2.Element;
400
+
401
+ export declare function H3({ children, ...props }: React.HTMLAttributes<HTMLHeadingElement>): JSX_2.Element;
402
+
403
+ export declare function Hr({ ...props }: React.HTMLAttributes<HTMLHRElement>): JSX_2.Element;
404
+
651
405
  declare type IconType = ForwardRefExoticComponent<SVGProps<SVGSVGElement> & RefAttributes<SVGSVGElement> & {
652
406
  animate?: "normal" | "animate";
653
407
  }>;
654
408
 
655
- declare type Join<T extends string[], D extends string> = T extends [] ? never : T extends [infer F] ? F : T extends [infer F, ...infer R] ? F extends string ? `${F}${D}${Join<Extract<R, string[]>, D>}` : never : string;
409
+ declare function Image_2({ src, alt, ...props }: React.ImgHTMLAttributes<HTMLImageElement>): JSX_2.Element;
410
+ export { Image_2 as Image }
411
+
412
+ export declare function Li({ children, ...props }: React.HTMLAttributes<HTMLLIElement>): JSX_2.Element;
413
+
414
+ export declare function Ol({ children, ...props }: React.HTMLAttributes<HTMLOListElement>): JSX_2.Element;
415
+
416
+ export declare type OneIconSize = (typeof oneIconSizes)[number];
417
+
418
+ export declare const oneIconSizes: readonly ["xs", "sm", "md", "lg"];
419
+
420
+ export declare function P({ children, ...props }: React.HTMLAttributes<HTMLParagraphElement>): JSX_2.Element;
421
+
422
+ export declare function Pre({ children, ...props }: React.HTMLAttributes<HTMLPreElement>): JSX_2.Element;
423
+
424
+ export declare function Strong({ children, ...props }: React.HTMLAttributes<HTMLSpanElement>): JSX_2.Element;
425
+
426
+ export declare function Table({ children, ...props }: React.HTMLAttributes<HTMLTableElement>): JSX_2.Element;
656
427
 
657
- declare type PathsToStringProps<T> = T extends string ? [] : {
658
- [K in Extract<keyof T, string>]: [K, ...PathsToStringProps<T[K]>];
659
- }[Extract<keyof T, string>];
428
+ export declare function Td({ children, ...props }: React.HTMLAttributes<HTMLTableCellElement>): JSX_2.Element;
660
429
 
661
- declare type TranslationKey = Join<PathsToStringProps<typeof defaultTranslations>, ".">;
430
+ export declare function Th({ children, ...props }: React.HTMLAttributes<HTMLTableCellElement>): JSX_2.Element;
662
431
 
432
+ /**
433
+ * Translation shape helper type
434
+ */
663
435
  declare type TranslationShape<T> = {
664
436
  [K in keyof T]: T[K] extends string ? string : T[K] extends Record<string, string | Record<string, unknown>> ? TranslationShape<T[K]> : never;
665
437
  };
666
438
 
667
- declare type TranslationShape_2<T> = {
668
- [K in keyof T]: T[K] extends string ? string : T[K] extends Record<string, string | Record<string, unknown>> ? TranslationShape_2<T[K]> : never;
669
- };
670
-
671
- export declare type TranslationsType = TranslationShape_2<typeof defaultTranslations>;
439
+ export declare function Ul({ children, ...props }: React.HTMLAttributes<HTMLUListElement>): JSX_2.Element;
672
440
 
673
441
  export declare function useAiChat(): AiChatProviderReturnValue;
674
442
 
675
443
  export declare function useAiChatTranslations(): AiChatTranslations;
676
444
 
677
- export declare function useI18n(): TranslationsType & {
678
- t: (key: TranslationKey, args?: Record<string, string | number>) => string;
679
- };
445
+ /**
446
+ * Hook to register all default copilot actions.
447
+ * This provides a single entry point to enable all standard AI chat actions.
448
+ *
449
+ * @example
450
+ * // Enable all default actions in your component
451
+ * const MyComponent = () => {
452
+ * useDefaultCopilotActions()
453
+ * return <div>...</div>
454
+ * }
455
+ */
456
+ export declare const useDefaultCopilotActions: () => void;
680
457
 
458
+ /**
459
+ * Hook to register the message sources action.
460
+ * Attaches information sources to the assistant's response to show where the AI got its information from.
461
+ */
462
+ export declare const useMessageSourcesAction: () => void;
463
+
464
+ /**
465
+ * Hook to register the orchestrator thinking action.
466
+ * Displays the orchestrator's thinking process as a non-blocking UI element.
467
+ */
468
+ export declare const useOrchestratorThinkingAction: () => void;
469
+
470
+ /**
471
+ * Welcome screen suggestion item
472
+ */
681
473
  export declare type WelcomeScreenSuggestion = {
682
474
  icon: IconType;
683
475
  message: string;