@filigran/chatbot 3.22.0 → 3.23.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/CHANGELOG.md CHANGED
@@ -8,6 +8,36 @@ the versions follow [semantic versioning](https://semver.org/spec/v2.0.0.html).
8
8
  This file starts at 3.10.0; earlier releases are on the
9
9
  [releases page](https://github.com/FiligranHQ/filigran-ui/releases).
10
10
 
11
+ ## 3.23.0 — 2026-11-11
12
+
13
+ ### Changed
14
+
15
+ - The composer draws its border as the design system's Textarea: none at
16
+ rest, `theme.inputBorderHover` (`--filigran-chat-input-border-hover`, the
17
+ panel border unset) under the pointer. Dictation keeps its red border and
18
+ the focus keeps its 2 px ring.
19
+ - The panel's own look (no host theme) is the design system's palette: dark
20
+ surfaces grayblue 850 / 700 / 600 instead of three ad-hoc navy shades, the
21
+ tooltip, scrollbar and context usage colours from its scale, and every
22
+ floating surface (menus, the floating panel, the reasoning dialog, the row
23
+ actions bar) takes its one elevation shadow, `--shadow-global-shadow`. Host
24
+ tokens still win. The code colours stay GitHub's (the design system has no
25
+ syntax palette). A stylesheet test refuses any other colour literal and any
26
+ hand-written shadow in a component.
27
+ - Every chat text uses the design system's type scale: meta lines, labels,
28
+ chips and counts are `text-content-compact` (12 px, was 9.6 to 12 px in
29
+ seven ad-hoc sizes), titles, rows, the composer and the message text
30
+ `text-content-base` (14 px, was 13 px), the welcome emoji
31
+ `text-title-jumbo`. Host tokens still win. A stylesheet test refuses any
32
+ arbitrary `text-[..rem]` or `text-[..px]` in a component.
33
+ - Every error, warning and success colour reads the panel's feedback tones
34
+ instead of a Tailwind red, amber or emerald: the approval card and its
35
+ verdict badge, the context and quota gauges, the trace steps, the agent
36
+ list warnings, the voice call error ring, the delete confirmation. New theme
37
+ entry `theme.success` (`--filigran-chat-success`, a green unset) beside
38
+ `danger` and `warning`. A stylesheet test refuses any Tailwind palette shade
39
+ in a component.
40
+
11
41
  ## 3.22.0 — 2026-11-11
12
42
 
13
43
  ### Added
package/README.md CHANGED
@@ -445,7 +445,7 @@ import { ChatToggleButton } from '@filigran/chatbot';
445
445
  | `label` | `string` | built-in | Button text, already translated by the host; omit for `t('Ask Assistant')` |
446
446
  | `t` | `(key: string) => string` | — | The host's translations; the panel's catalog in `locale` answers the rest |
447
447
  | `locale` | `string` | browser's | The default label's language, by the panel's rule (see Internationalization) |
448
- | `accentColor` | `string` | `'#7b5cff'` | Button background color |
448
+ | `accentColor` | `string` | ignored | Deprecated since 3.23.0: the toggle is the design system's secondary Button |
449
449
  | `icon` | `React.ReactNode` | default icon | Custom icon |
450
450
 
451
451
  ## API Contract
@@ -1289,10 +1289,12 @@ both. The same variables may be set in CSS on an ancestor instead.
1289
1289
  | `surfaceHover` | `--filigran-chat-surface-hover` | A row or a button under the pointer |
1290
1290
  | `inputSurface` | `--filigran-chat-input-surface` | A text field: the composer (no fill unless set), a rename field, the feedback and approval comments |
1291
1291
  | `inputRadius` | `--filigran-chat-input-radius` | The composer's corners (0.75rem unset) |
1292
+ | `inputBorderHover` | `--filigran-chat-input-border-hover` | The composer's border under the pointer; none at rest, as the design system's Textarea (`border` unset) |
1292
1293
  | `inputMinHeight` | `--filigran-chat-input-min-height` | The composer field's height at rest, before it grows with the text (two lines unset) |
1293
1294
  | `focusRing` | `--filigran-chat-focus-ring` | The 2 px ring around the composer while it has the focus (the accent unset) |
1294
1295
  | `danger` | `--filigran-chat-danger` | The tone of every error state: error notices, a failed upload, dictation, stop (a red unset, e.g. `var(--color-error)`) |
1295
1296
  | `warning` | `--filigran-chat-warning` | The tone of every warning notice (an amber unset, e.g. `var(--color-warning)`) |
1297
+ | `success` | `--filigran-chat-success` | The tone of an approved tool call and a successful trace step (a green unset, e.g. `var(--color-success)`) |
1296
1298
  | `headerBackground` | `--filigran-chat-header-background` | The header's background, a colour or an image (`none` for the surface alone) |
1297
1299
  | `text` | `--filigran-chat-text` | Text |
1298
1300
  | `textMuted` | `--filigran-chat-text-muted` | Times, labels, hints and placeholders |
package/dist/index.d.ts CHANGED
@@ -394,6 +394,8 @@ interface ChatPanelTheme {
394
394
  inputSurface?: string;
395
395
  /** The composer's corners, as the host's text fields draw theirs (`--filigran-chat-input-radius`, `radiusMd` unset). */
396
396
  inputRadius?: string;
397
+ /** The composer's border under the pointer, the design system's `--border-input-hover`; none at rest (`--filigran-chat-input-border-hover`, `border` unset). */
398
+ inputBorderHover?: string;
397
399
  /** The small corner of every control, chip and avatar tile, the design system's `--radius-sm` (`--filigran-chat-radius-sm`, 4px unset). */
398
400
  radiusSm?: string;
399
401
  /** The card corner of every card, bubble, status indicator, menu and dialog, the design system's `--radius-md` (`--filigran-chat-radius-md`, 12px unset). */
@@ -406,6 +408,8 @@ interface ChatPanelTheme {
406
408
  danger?: string;
407
409
  /** The warning tone of every warning notice (`--filigran-chat-warning`, an amber unset). */
408
410
  warning?: string;
411
+ /** The success tone of an approved tool call and a successful trace step (`--filigran-chat-success`, a green unset). */
412
+ success?: string;
409
413
  /** The header's background, a colour or an image; `none` for the surface alone (`--filigran-chat-header-background`). */
410
414
  headerBackground?: string;
411
415
  /** Text (`--filigran-chat-text`). */
@@ -663,6 +667,13 @@ interface ChatPanelProps {
663
667
  readOnly?: boolean;
664
668
  /** Shown in place of the composer while `readOnly`. */
665
669
  readOnlyNotice?: React.ReactNode;
670
+ /**
671
+ * A tip shown at the top of a voice call (for example which models answer
672
+ * fast enough to talk to), in an info notice the user can close. Once
673
+ * closed it stays closed for the browser session (`sessionStorage`, under
674
+ * `storageKeyPrefix`). Without it the call shows no tip.
675
+ */
676
+ voiceCallNotice?: React.ReactNode;
666
677
  /**
667
678
  * Fields merged into every REST message body, read at send time: the host's
668
679
  * own per-message options (tool selection, run mode). They never override
@@ -1117,6 +1128,11 @@ interface ChatToggleButtonProps {
1117
1128
  t?: Translate;
1118
1129
  /** BCP 47 tag of the label's language when the host does not translate it (see `ChatPanelProps.locale`). */
1119
1130
  locale?: string;
1131
+ /**
1132
+ * @deprecated since 3.23.0: the toggle is the design system's secondary
1133
+ * Button and takes its colours from the host's design-system tokens; the
1134
+ * value is ignored. Kept so a host that passes it still compiles.
1135
+ */
1120
1136
  accentColor?: string;
1121
1137
  icon?: React.ReactNode;
1122
1138
  }
@@ -1460,6 +1476,13 @@ interface XtmAgent {
1460
1476
  */
1461
1477
  declare const ChatPanel: react.ForwardRefExoticComponent<ChatPanelProps & react.RefAttributes<ChatPanelHandle>>;
1462
1478
 
1479
+ /**
1480
+ * The host's button that opens and closes the panel: the design system's
1481
+ * secondary Button (its border, hover, focus ring and pressed state come from
1482
+ * the host's design-system tokens). `accentColor` is no longer painted on it
1483
+ * (chatbot 3.23.0): the button follows the design system like every other
1484
+ * control of the panel.
1485
+ */
1463
1486
  declare const ChatToggleButton: FunctionComponent<ChatToggleButtonProps>;
1464
1487
 
1465
1488
  interface TransferredAgent {