@getsoren/design-system 4.68.2 → 4.68.4

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.
@@ -9,6 +9,7 @@ declare const AiAssistant: {
9
9
  EmptyState: ({ message, children }: import('./types').AiAssistantEmptyStateProps) => import("@emotion/react/jsx-runtime").JSX.Element;
10
10
  Fab: ({ open, onClick, tooltip, dataTestId }: import('./types').AiAssistantFabProps) => import("@emotion/react/jsx-runtime").JSX.Element;
11
11
  Header: ({ title, subtitle, onClose, icon }: import('./types').AiAssistantHeaderProps) => import("@emotion/react/jsx-runtime").JSX.Element;
12
+ Nudge: ({ open, title, onClose, children, dataTestId }: import('./types').AiAssistantNudgeProps) => import("@emotion/react/jsx-runtime").JSX.Element;
12
13
  Panel: ({ open, isBusy, children, dataTestId }: import('./types').AiAssistantPanelProps) => import("@emotion/react/jsx-runtime").JSX.Element;
13
14
  ThinkingOrb: ({ size }: import('./types').AiAssistantThinkingOrbProps) => import("@emotion/react/jsx-runtime").JSX.Element;
14
15
  };
@@ -0,0 +1,9 @@
1
+ import { AiAssistantNudgeProps } from '../types';
2
+ /**
3
+ * Contextual nudge anchored where the assistant lives — a compact bubble growing out of
4
+ * the Fab, same spot and motion as the Panel but free-height and one-click dismissable.
5
+ * No backdrop, no focus trap: the ongoing interaction is never blocked. Host apps use it
6
+ * for proactive one-shot messages (onboarding hints…) without opening the full panel.
7
+ */
8
+ declare const AiAssistantNudge: ({ open, title, onClose, children, dataTestId }: AiAssistantNudgeProps) => import("@emotion/react/jsx-runtime").JSX.Element;
9
+ export default AiAssistantNudge;
@@ -2,22 +2,41 @@ import { ReactNode } from 'react';
2
2
  export interface AiAssistantFabProps {
3
3
  /** Panel visibility — the FAB shows a close glyph and calms down when open */
4
4
  open: boolean;
5
+ /** Toggles the panel — the FAB never owns the open state, the host app does */
5
6
  onClick: () => void;
6
7
  /** Tooltip content (e.g. the assistant's name) */
7
8
  tooltip?: string;
9
+ /** Test hook on the FAB button (defaults to "assistantFab") */
10
+ dataTestId?: string;
11
+ }
12
+ export interface AiAssistantNudgeProps {
13
+ /** Bubble visibility — animated in/out of the Fab corner, unmounted when closed */
14
+ open: boolean;
15
+ /** Short headline of the nudge (host-app wording, already translated) */
16
+ title: string;
17
+ /** One-click dismiss — the host app decides what "seen" means */
18
+ onClose: () => void;
19
+ /** Body of the bubble — plain text or a few short paragraphs (\n\n separated) */
20
+ children: ReactNode;
21
+ /** Test hook on the bubble ("assistantNudge"); the close button appends "Close" */
8
22
  dataTestId?: string;
9
23
  }
10
24
  export interface AiAssistantPanelProps {
25
+ /** Panel visibility — grows out of the Fab when opening, unmounted when closed */
11
26
  open: boolean;
12
27
  /** The assistant is working (streaming/tools): the panel breathes an iridescent aura */
13
28
  isBusy?: boolean;
29
+ /** Panel content — typically Header + a Chat.* composition owned by the host app */
14
30
  children: ReactNode;
31
+ /** Test hook on the panel container (defaults to "assistantPanel") */
15
32
  dataTestId?: string;
16
33
  }
17
34
  export interface AiAssistantHeaderProps {
18
35
  /** Product name of the assistant — a brand chosen by the host app */
19
36
  title: string;
37
+ /** Secondary caption next to the title (e.g. "Assistant IA") */
20
38
  subtitle?: string;
39
+ /** Close action of the panel — rendered as the trailing icon button */
21
40
  onClose: () => void;
22
41
  /** Defaults to the gradient AI spark */
23
42
  icon?: ReactNode;
@@ -39,13 +58,18 @@ export interface AiAssistantConfirmationCardProps {
39
58
  summary: string;
40
59
  /** Raw params fallback, rendered monospace when provided */
41
60
  details?: string;
61
+ /** Lifecycle of the confirmation — "pending" shows both buttons, the others freeze the outcome */
42
62
  status: "approved" | "declined" | "pending";
63
+ /** Called when the user approves the action */
43
64
  onAccept: () => void;
65
+ /** Called when the user declines the action */
44
66
  onDecline: () => void;
67
+ /** Button wording (host-app i18n) */
45
68
  labels: {
46
69
  accept: string;
47
70
  decline: string;
48
71
  };
72
+ /** Test hook on the card (defaults to "assistantConfirmationCard") */
49
73
  dataTestId?: string;
50
74
  }
51
75
  export interface AiSparkIconProps {
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@getsoren/design-system",
3
3
  "description": "Design System React library",
4
4
  "sideEffects": false,
5
- "version": "4.68.2",
5
+ "version": "4.68.4",
6
6
  "license": "ISC",
7
7
  "type": "module",
8
8
  "types": "./dist/src/main.d.ts",