@automattic/agenttic-ui 0.1.67 → 0.1.69

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/README.md +58 -0
  2. package/dist/QuestionCard-KolZKB58.js +81 -0
  3. package/dist/QuestionCard.css +1 -0
  4. package/dist/components/AgentUIContainer.d.ts +1 -1
  5. package/dist/components/AgentUIContainer.d.ts.map +1 -1
  6. package/dist/components/AgentUIContainer.test.d.ts +2 -0
  7. package/dist/components/AgentUIContainer.test.d.ts.map +1 -0
  8. package/dist/components/EmbeddedAgentUI.d.ts +59 -0
  9. package/dist/components/EmbeddedAgentUI.d.ts.map +1 -0
  10. package/dist/components/LightweightMarkdownRenderer.d.ts +4 -0
  11. package/dist/components/LightweightMarkdownRenderer.d.ts.map +1 -0
  12. package/dist/components/LightweightMarkdownRenderer.test.d.ts +2 -0
  13. package/dist/components/LightweightMarkdownRenderer.test.d.ts.map +1 -0
  14. package/dist/components/chat/Chat.d.ts +1 -1
  15. package/dist/components/chat/Chat.d.ts.map +1 -1
  16. package/dist/components/chat/Chat.test.d.ts +2 -0
  17. package/dist/components/chat/Chat.test.d.ts.map +1 -0
  18. package/dist/components/index.d.ts +2 -0
  19. package/dist/components/index.d.ts.map +1 -1
  20. package/dist/components/question/QuestionCard.d.ts +13 -0
  21. package/dist/components/question/QuestionCard.d.ts.map +1 -0
  22. package/dist/components/question/QuestionCard.test.d.ts +2 -0
  23. package/dist/components/question/QuestionCard.test.d.ts.map +1 -0
  24. package/dist/components/question/index.d.ts +3 -0
  25. package/dist/components/question/index.d.ts.map +1 -0
  26. package/dist/embedded-agent-ui.css +1 -0
  27. package/dist/embedded-agent-ui.d.ts +6 -0
  28. package/dist/embedded-agent-ui.d.ts.map +1 -0
  29. package/dist/embedded-agent-ui.js +436 -0
  30. package/dist/global.css +1 -0
  31. package/dist/index.css +1 -1
  32. package/dist/index.d.ts +2 -0
  33. package/dist/index.d.ts.map +1 -1
  34. package/dist/index.js +1915 -1822
  35. package/dist/markdown-extensions/charts/index.d.ts +15 -15
  36. package/dist/types/index.d.ts +21 -1
  37. package/dist/types/index.d.ts.map +1 -1
  38. package/dist/utils/__tests__/chatStorage.test.d.ts +2 -0
  39. package/dist/utils/__tests__/chatStorage.test.d.ts.map +1 -0
  40. package/dist/utils/chatStorage.d.ts +47 -0
  41. package/dist/utils/chatStorage.d.ts.map +1 -1
  42. package/package.json +7 -1
package/README.md CHANGED
@@ -139,6 +139,64 @@ The `onTypingStatusChange` callback is triggered when the typing status changes.
139
139
 
140
140
  ## Architecture
141
141
 
142
+ ### Portable Question Choices
143
+
144
+ Agentic question renderers should use a portable question payload so product
145
+ agents can ask lightweight structured questions inline in chat without coupling
146
+ the UI to one product or workflow.
147
+
148
+ ```ts
149
+ interface QuestionPrompt {
150
+ question: string;
151
+ choices: QuestionChoice[];
152
+ allow_freeform?: boolean;
153
+ freeform_label?: string;
154
+ freeform_placeholder?: string;
155
+ }
156
+
157
+ interface QuestionChoice {
158
+ label: string;
159
+ message?: string;
160
+ description?: string;
161
+ presentation?: {
162
+ swatches?: string[];
163
+ font_sample?: {
164
+ heading?: string;
165
+ body?: string;
166
+ heading_font?: string;
167
+ body_font?: string;
168
+ };
169
+ image?: {
170
+ url: string;
171
+ alt?: string;
172
+ };
173
+ layout_hint?: string;
174
+ };
175
+ }
176
+ ```
177
+
178
+ All `presentation` fields are optional. Renderers should fall back to the choice
179
+ label and description when presentation metadata is absent or unsupported.
180
+
181
+ `QuestionCard` uses CSS Modules internally. Consumers that need product-level
182
+ design-system overrides should target the stable data hooks instead of generated
183
+ class names:
184
+
185
+ ```css
186
+ [data-agenttic-question-card] [data-slot="choice"] {
187
+ /* Product choice styles. */
188
+ }
189
+
190
+ [data-agenttic-question-card] [data-slot="presentation"] {
191
+ /* Product presentation layout. */
192
+ }
193
+ ```
194
+
195
+ Supported slots include `card`, `question`, `choices`, `choice`, `label`,
196
+ `description`, `presentation`, `swatches`, `swatch`, `font-sample`,
197
+ `font-heading`, `font-body`, `image`, `layout-hint`, `freeform`,
198
+ `freeform-label`, `freeform-input`, and `freeform-submit`.
199
+
142
200
  ### AgentUI Components
143
201
 
144
202
  **AgentUI** - Convenience wrapper with default layout
@@ -0,0 +1,81 @@
1
+ import { jsxs as m, jsx as i } from "react/jsx-runtime";
2
+ import "react";
3
+ import './QuestionCard.css';function n(...o) {
4
+ return o.flat().filter(Boolean).map((s) => typeof s == "string" ? s : typeof s == "object" && !Array.isArray(s) && s !== null ? Object.entries(s).filter(([t, c]) => c).map(([t]) => t).join(" ") : "").join(" ").trim();
5
+ }
6
+ const Q = "QuestionCard-module_card", _ = "QuestionCard-module_question", q = "QuestionCard-module_choices", j = "QuestionCard-module_choicesGrid", w = "QuestionCard-module_choice", y = "QuestionCard-module_answered", N = "QuestionCard-module_label", g = "QuestionCard-module_description", a = {
7
+ card: Q,
8
+ question: _,
9
+ choices: q,
10
+ choicesGrid: j,
11
+ choice: w,
12
+ answered: y,
13
+ label: N,
14
+ description: g
15
+ };
16
+ function x({
17
+ prompt: o,
18
+ onAnswer: s,
19
+ disabled: t = !1,
20
+ answered: c = !1,
21
+ answeredChoice: b,
22
+ className: h,
23
+ renderChoiceContent: l
24
+ }) {
25
+ const p = t || c, r = o.choices.slice(0, 4);
26
+ return /* @__PURE__ */ m(
27
+ "section",
28
+ {
29
+ className: n(a.card, h),
30
+ "data-agenttic-question-card": !0,
31
+ "data-slot": "card",
32
+ children: [
33
+ /* @__PURE__ */ i("p", { className: a.question, "data-slot": "question", children: o.question }),
34
+ /* @__PURE__ */ i(
35
+ "div",
36
+ {
37
+ className: n(
38
+ a.choices,
39
+ r.length === 4 ? a.choicesGrid : void 0
40
+ ),
41
+ "data-slot": "choices",
42
+ children: r.map((e, f) => {
43
+ const d = e.message ?? e.label, u = b === d;
44
+ return /* @__PURE__ */ m(
45
+ "button",
46
+ {
47
+ type: "button",
48
+ "data-slot": "choice",
49
+ className: n(
50
+ a.choice,
51
+ u ? a.answered : void 0
52
+ ),
53
+ disabled: p,
54
+ "aria-pressed": u || void 0,
55
+ onClick: () => s(d, e),
56
+ children: [
57
+ /* @__PURE__ */ i("span", { className: a.label, "data-slot": "label", children: e.label }),
58
+ e.description ? /* @__PURE__ */ i(
59
+ "span",
60
+ {
61
+ className: a.description,
62
+ "data-slot": "description",
63
+ children: e.description
64
+ }
65
+ ) : null,
66
+ l == null ? void 0 : l(e)
67
+ ]
68
+ },
69
+ `${e.label}-${f}`
70
+ );
71
+ })
72
+ }
73
+ )
74
+ ]
75
+ }
76
+ );
77
+ }
78
+ export {
79
+ x as Q,
80
+ n as c
81
+ };
@@ -0,0 +1 @@
1
+ .QuestionCard-module_card{background:var(--color-background);border:1px solid color-mix(in srgb,var(--color-foreground) 10%,transparent);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:var(--spacing-3);padding:var(--spacing-4)}.QuestionCard-module_question{color:var(--color-foreground);font-size:var(--text-base);font-weight:var(--font-weight-semibold);line-height:var(--text-base--line-height);margin:0}.QuestionCard-module_choices{display:grid;gap:var(--spacing-2)}.QuestionCard-module_choicesGrid{grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width: 520px){.QuestionCard-module_choicesGrid{grid-template-columns:1fr}}.QuestionCard-module_choice{align-items:stretch;background:var(--color-background);border:1px solid color-mix(in srgb,var(--color-foreground) 10%,transparent);border-radius:var(--radius-md);color:var(--color-foreground);cursor:pointer;display:grid;gap:var(--spacing-2);padding:var(--spacing-3);text-align:left;transition:var(--transition-colors);width:100%}.QuestionCard-module_choice:hover:not(:disabled){border-color:var(--color-ring);box-shadow:var(--shadow-outline)}.QuestionCard-module_choice:focus-visible{outline:2px solid var(--color-ring);outline-offset:2px}.QuestionCard-module_choice:disabled{cursor:default;opacity:.66}.QuestionCard-module_answered{border-color:var(--color-primary)}.QuestionCard-module_label{font-size:var(--text-sm);font-weight:var(--font-weight-semibold);line-height:var(--text-sm--line-height)}.QuestionCard-module_description,.QuestionCard-module_layoutHint{color:var(--color-muted-foreground);font-size:var(--text-sm);line-height:var(--text-sm--line-height)}
@@ -5,6 +5,6 @@ interface AgentUIContainerProps extends AgentUIProps {
5
5
  }
6
6
  export declare function AgentUIContainer({ children, messages, isProcessing, error, onSubmit, variant, triggerIcon, triggerTitle, placeholder, notice, onOpen, onExpand, onClose, onStop, emptyView, floatingChatState, suggestions, clearSuggestions, onSuggestionClick, messageRenderer, messagesPosition, showAgentIcon, className, inputValue: controlledInputValue, onInputChange: controlledOnInputChange, draggableStates, // Default to only expanded for backward compatibility
7
7
  locale, maxInputLength, // Default to 600 characters
8
- onInputLimitExceeded, expandOnClick, expandOnHover, thinkingMessage, initialChatPosition, onChatPositionChange, onTypingStatusChange, freeDrag, }: AgentUIContainerProps): import("react/jsx-runtime").JSX.Element;
8
+ onInputLimitExceeded, expandOnClick, expandOnHover, thinkingMessage, initialChatPosition, onChatPositionChange, onTypingStatusChange, freeDrag, initialFreeDragPosition, onFreeDragEnd, }: AgentUIContainerProps): import("react/jsx-runtime").JSX.Element;
9
9
  export {};
10
10
  //# sourceMappingURL=AgentUIContainer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AgentUIContainer.d.ts","sourceRoot":"","sources":["../../src/components/AgentUIContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAcxE,OAAO,KAAK,EAAE,YAAY,EAAc,MAAM,UAAU,CAAC;AAkBzD,UAAU,qBAAsB,SAAQ,YAAY;IACnD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B;AAuBD,wBAAgB,gBAAgB,CAAE,EACjC,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,KAAK,EACL,QAAQ,EACR,OAAoB,EACpB,WAAW,EACX,YAAY,EACZ,WAAW,EACX,MAAM,EACN,MAAM,EACN,QAAQ,EACR,OAAO,EACP,MAAM,EACN,SAAS,EACT,iBAAiB,EACjB,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,SAAS,EACT,UAAU,EAAE,oBAAoB,EAChC,aAAa,EAAE,uBAAuB,EACtC,eAAgC,EAAE,sDAAsD;AACxF,MAAa,EACb,cAAoB,EAAE,4BAA4B;AAClD,oBAAoB,EACpB,aAAa,EACb,aAAoB,EACpB,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,QAAgB,GAChB,EAAE,qBAAqB,2CA+tBvB"}
1
+ {"version":3,"file":"AgentUIContainer.d.ts","sourceRoot":"","sources":["../../src/components/AgentUIContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAcxE,OAAO,KAAK,EAAE,YAAY,EAAc,MAAM,UAAU,CAAC;AAoBzD,UAAU,qBAAsB,SAAQ,YAAY;IACnD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B;AAuBD,wBAAgB,gBAAgB,CAAE,EACjC,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,KAAK,EACL,QAAQ,EACR,OAAoB,EACpB,WAAW,EACX,YAAY,EACZ,WAAW,EACX,MAAM,EACN,MAAM,EACN,QAAQ,EACR,OAAO,EACP,MAAM,EACN,SAAS,EACT,iBAAiB,EACjB,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,SAAS,EACT,UAAU,EAAE,oBAAoB,EAChC,aAAa,EAAE,uBAAuB,EACtC,eAAgC,EAAE,sDAAsD;AACxF,MAAa,EACb,cAAoB,EAAE,4BAA4B;AAClD,oBAAoB,EACpB,aAAa,EACb,aAAoB,EACpB,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,QAAgB,EAChB,uBAAuB,EACvB,aAAa,GACb,EAAE,qBAAqB,2CA4xBvB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=AgentUIContainer.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentUIContainer.test.d.ts","sourceRoot":"","sources":["../../src/components/AgentUIContainer.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,59 @@
1
+ import React from 'react';
2
+ import type { AgentUIProps, Message, NoticeConfig, Suggestion } from '../types';
3
+ export declare function ThinkingMessage({ content }: {
4
+ content?: string;
5
+ }): import("react/jsx-runtime").JSX.Element;
6
+ export declare function EmptyView({ heading, help, suggestions, onSuggestionClick, }: {
7
+ heading?: React.ReactNode;
8
+ help?: React.ReactNode;
9
+ suggestions?: Suggestion[];
10
+ onSuggestionClick?: (suggestion: Suggestion) => void;
11
+ }): import("react/jsx-runtime").JSX.Element;
12
+ export declare function EmbeddedAgentUIMessages({ className, }?: {
13
+ className?: string;
14
+ }): import("react/jsx-runtime").JSX.Element | null;
15
+ export declare function EmbeddedAgentUISuggestions({ className, showSuggestions, onSelect, }?: {
16
+ className?: string;
17
+ showSuggestions?: boolean;
18
+ onSelect?: (message: string) => void;
19
+ }): import("react/jsx-runtime").JSX.Element | null;
20
+ export declare function EmbeddedAgentUINotice({ className, }?: {
21
+ className?: string;
22
+ }): import("react/jsx-runtime").JSX.Element | null;
23
+ export declare function EmbeddedAgentUIInput({ className, disabled, onKeyDown, }?: {
24
+ className?: string;
25
+ disabled?: boolean;
26
+ onKeyDown?: (event: React.KeyboardEvent<HTMLTextAreaElement>) => void;
27
+ }): import("react/jsx-runtime").JSX.Element;
28
+ export declare function EmbeddedAgentUIFooter({ children, className, }?: {
29
+ children?: React.ReactNode;
30
+ className?: string;
31
+ }): import("react/jsx-runtime").JSX.Element;
32
+ export declare function EmbeddedAgentUIConversationView({ children, className, }?: {
33
+ children?: React.ReactNode;
34
+ className?: string;
35
+ }): import("react/jsx-runtime").JSX.Element;
36
+ export declare function EmbeddedAgentUIContainer({ children, className, ...props }: AgentUIProps & {
37
+ children?: React.ReactNode;
38
+ }): import("react/jsx-runtime").JSX.Element;
39
+ declare const EmbeddedAgentUINamespace: {
40
+ Container: typeof EmbeddedAgentUIContainer;
41
+ ConversationView: typeof EmbeddedAgentUIConversationView;
42
+ Messages: typeof EmbeddedAgentUIMessages;
43
+ Footer: typeof EmbeddedAgentUIFooter;
44
+ Input: typeof EmbeddedAgentUIInput;
45
+ Suggestions: typeof EmbeddedAgentUISuggestions;
46
+ Notice: typeof EmbeddedAgentUINotice;
47
+ };
48
+ export declare const EmbeddedAgentUI: React.FC<AgentUIProps> & typeof EmbeddedAgentUINamespace;
49
+ export declare const AgentUI: React.FC<AgentUIProps> & {
50
+ Container: typeof EmbeddedAgentUIContainer;
51
+ ConversationView: typeof EmbeddedAgentUIConversationView;
52
+ Messages: typeof EmbeddedAgentUIMessages;
53
+ Footer: typeof EmbeddedAgentUIFooter;
54
+ Input: typeof EmbeddedAgentUIInput;
55
+ Suggestions: typeof EmbeddedAgentUISuggestions;
56
+ Notice: typeof EmbeddedAgentUINotice;
57
+ };
58
+ export type { AgentUIProps, Message, NoticeConfig, Suggestion };
59
+ //# sourceMappingURL=EmbeddedAgentUI.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmbeddedAgentUI.d.ts","sourceRoot":"","sources":["../../src/components/EmbeddedAgentUI.tsx"],"names":[],"mappings":"AAAA,OAAO,KAMN,MAAM,OAAO,CAAC;AAEf,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAyBhF,wBAAgB,eAAe,CAAE,EAAE,OAAO,EAAE,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,2CAMjE;AAED,wBAAgB,SAAS,CAAE,EAC1B,OAAO,EACP,IAAI,EACJ,WAAW,EACX,iBAAiB,GACjB,EAAE;IACF,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAC3B,iBAAiB,CAAC,EAAE,CAAE,UAAU,EAAE,UAAU,KAAM,IAAI,CAAC;CACvD,2CAoBA;AA8CD,wBAAgB,uBAAuB,CAAE,EACxC,SAAS,GACT,GAAE;IACF,SAAS,CAAC,EAAE,MAAM,CAAC;CACd,kDAuDL;AAED,wBAAgB,0BAA0B,CAAE,EAC3C,SAAS,EACT,eAAe,EACf,QAAQ,GACR,GAAE;IACF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,CAAE,OAAO,EAAE,MAAM,KAAM,IAAI,CAAC;CAClC,kDA+CL;AAED,wBAAgB,qBAAqB,CAAE,EACtC,SAAS,GACT,GAAE;IACF,SAAS,CAAC,EAAE,MAAM,CAAC;CACd,kDA0BL;AAED,wBAAgB,oBAAoB,CAAE,EACrC,SAAS,EACT,QAAQ,EACR,SAAS,GACT,GAAE;IACF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,CAAE,KAAK,EAAE,KAAK,CAAC,aAAa,CAAE,mBAAmB,CAAE,KAAM,IAAI,CAAC;CACrE,2CAmGL;AAED,wBAAgB,qBAAqB,CAAE,EACtC,QAAQ,EACR,SAAS,GACT,GAAE;IACF,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACd,2CAiBL;AAED,wBAAgB,+BAA+B,CAAE,EAChD,QAAQ,EACR,SAAS,GACT,GAAE;IACF,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACd,2CAgBL;AAED,wBAAgB,wBAAwB,CAAE,EACzC,QAAQ,EACR,SAAS,EACT,GAAG,KAAK,EACR,EAAE,YAAY,GAAG;IACjB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,2CA8CA;AAED,QAAA,MAAM,wBAAwB;;;;;;;;CAQ7B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAE,YAAY,CAAE,GACrD,OAAO,wBAGP,CAAC;AAEF,eAAO,MAAM,OAAO;;;;;;;;CAAkB,CAAC;AAEvC,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare function LightweightMarkdownRenderer({ children, }: {
2
+ children: string;
3
+ }): import("react/jsx-runtime").JSX.Element;
4
+ //# sourceMappingURL=LightweightMarkdownRenderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LightweightMarkdownRenderer.d.ts","sourceRoot":"","sources":["../../src/components/LightweightMarkdownRenderer.tsx"],"names":[],"mappings":"AAiFA,wBAAgB,2BAA2B,CAAE,EAC5C,QAAQ,GACR,EAAE;IACF,QAAQ,EAAE,MAAM,CAAC;CACjB,2CA+EA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=LightweightMarkdownRenderer.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LightweightMarkdownRenderer.test.d.ts","sourceRoot":"","sources":["../../src/components/LightweightMarkdownRenderer.test.tsx"],"names":[],"mappings":""}
@@ -1,3 +1,3 @@
1
1
  import type { ChatProps } from '../../types';
2
- export declare function Chat({ messages, isProcessing, error, onSubmit, variant, triggerIcon, triggerTitle, placeholder, notice, onOpen, onExpand, onClose, onStop, emptyView, floatingChatState, suggestions, clearSuggestions, messageRenderer, showAgentIcon, className, expandOnHover, freeDrag, }: ChatProps): import("react/jsx-runtime").JSX.Element;
2
+ export declare function Chat({ messages, isProcessing, error, onSubmit, variant, triggerIcon, triggerTitle, placeholder, notice, onOpen, onExpand, onClose, onStop, emptyView, floatingChatState, suggestions, clearSuggestions, messageRenderer, showAgentIcon, className, expandOnHover, freeDrag, initialFreeDragPosition, onFreeDragEnd, }: ChatProps): import("react/jsx-runtime").JSX.Element;
3
3
  //# sourceMappingURL=Chat.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Chat.d.ts","sourceRoot":"","sources":["../../../src/components/chat/Chat.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAW7C,wBAAgB,IAAI,CAAE,EACrB,QAAQ,EACR,YAAY,EACZ,KAAK,EACL,QAAQ,EACR,OAAoB,EACpB,WAAW,EACX,YAAY,EACZ,WAAkD,EAClD,MAAM,EACN,MAAM,EACN,QAAQ,EACR,OAAO,EACP,MAAM,EACN,SAAS,EACT,iBAAiB,EACjB,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,SAAS,EACT,aAAoB,EACpB,QAAgB,GAChB,EAAE,SAAS,2CAmhBX"}
1
+ {"version":3,"file":"Chat.d.ts","sourceRoot":"","sources":["../../../src/components/chat/Chat.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAgB7C,wBAAgB,IAAI,CAAE,EACrB,QAAQ,EACR,YAAY,EACZ,KAAK,EACL,QAAQ,EACR,OAAoB,EACpB,WAAW,EACX,YAAY,EACZ,WAAkD,EAClD,MAAM,EACN,MAAM,EACN,QAAQ,EACR,OAAO,EACP,MAAM,EACN,SAAS,EACT,iBAAiB,EACjB,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,SAAS,EACT,aAAoB,EACpB,QAAgB,EAChB,uBAAuB,EACvB,aAAa,GACb,EAAE,SAAS,2CA0kBX"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Chat.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Chat.test.d.ts","sourceRoot":"","sources":["../../../src/components/chat/Chat.test.tsx"],"names":[],"mappings":""}
@@ -1,6 +1,8 @@
1
1
  export * from './chat';
2
2
  export { Button } from './ui/button';
3
3
  export { Textarea } from './ui/textarea';
4
+ export { QuestionCard } from './question';
5
+ export type { QuestionCardProps } from './question';
4
6
  export { Suggestions } from './chat/Suggestions';
5
7
  export { CollapsedView } from './views/CollapsedView';
6
8
  export { CompactView } from './views/CompactView';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AACA,cAAc,QAAQ,CAAC;AAGvB,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGjD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAG5D,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAGxD,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AACA,cAAc,QAAQ,CAAC;AAGvB,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAGpD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGjD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAG5D,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAGxD,cAAc,cAAc,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { type ReactNode } from 'react';
2
+ import type { QuestionChoice, QuestionPrompt } from '../../types';
3
+ export interface QuestionCardProps {
4
+ prompt: QuestionPrompt;
5
+ onAnswer: (answer: string, choice: QuestionChoice) => void | Promise<void>;
6
+ disabled?: boolean;
7
+ answered?: boolean;
8
+ answeredChoice?: string;
9
+ className?: string;
10
+ renderChoiceContent?: (choice: QuestionChoice) => ReactNode;
11
+ }
12
+ export declare function QuestionCard({ prompt, onAnswer, disabled, answered, answeredChoice, className, renderChoiceContent, }: QuestionCardProps): import("react/jsx-runtime").JSX.Element;
13
+ //# sourceMappingURL=QuestionCard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QuestionCard.d.ts","sourceRoot":"","sources":["../../../src/components/question/QuestionCard.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAIlE,MAAM,WAAW,iBAAiB;IACjC,MAAM,EAAE,cAAc,CAAC;IACvB,QAAQ,EAAE,CACT,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,cAAc,KAClB,IAAI,GAAG,OAAO,CAAE,IAAI,CAAE,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mBAAmB,CAAC,EAAE,CAAE,MAAM,EAAE,cAAc,KAAM,SAAS,CAAC;CAC9D;AAED,wBAAgB,YAAY,CAAE,EAC7B,MAAM,EACN,QAAQ,EACR,QAAgB,EAChB,QAAgB,EAChB,cAAc,EACd,SAAS,EACT,mBAAmB,GACnB,EAAE,iBAAiB,2CAuDnB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=QuestionCard.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QuestionCard.test.d.ts","sourceRoot":"","sources":["../../../src/components/question/QuestionCard.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export { QuestionCard } from './QuestionCard';
2
+ export type { QuestionCardProps } from './QuestionCard';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/question/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1 @@
1
+ .agenttic-embedded{display:flex;flex-direction:column;height:100%;min-height:0;background:#fff;color:#111827}.agenttic-embedded__messages{display:flex;flex-direction:column;gap:12px;flex:1;min-height:0;overflow-y:auto;padding:16px}.agenttic-embedded__message{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin:0;min-width:0}.agenttic-embedded__bubble{max-width:100%;padding:10px 12px;border-radius:14px;background:#f3f4f6;line-height:1.45;overflow-wrap:anywhere}.agenttic-embedded__bubble>*{margin:0 0 .75em;padding:0}.agenttic-embedded__bubble>:last-child{margin-bottom:0}.agenttic-embedded__bubble ul,.agenttic-embedded__bubble ol{padding-left:1.25em}.agenttic-embedded__bubble li+li{margin-top:4px}.agenttic-embedded__message p{max-width:100%}.agenttic-embedded__message--user{align-items:flex-end}.agenttic-embedded__message pre{max-width:100%;overflow-x:auto;white-space:pre-wrap}.agenttic-embedded__message--user .agenttic-embedded__bubble{background:#111827;color:#fff}.agenttic-embedded__thinking,.agenttic-embedded__error{padding:8px 0;font-size:13px;color:#6b7280}.agenttic-embedded__error{color:#b91c1c}.agenttic-embedded__footer{border-top:1px solid #e5e7eb;padding:12px}.agenttic-embedded__suggestions{display:flex;gap:8px;margin-bottom:8px;flex-wrap:wrap}.agenttic-embedded__suggestions button,.agenttic-embedded__input button{border:1px solid #d1d5db;border-radius:999px;background:#fff;color:#111827;cursor:pointer}.agenttic-embedded__suggestions button{padding:6px 10px;font-size:13px}.agenttic-embedded__input{display:flex;align-items:flex-end;gap:8px}.agenttic-embedded__input textarea{flex:1;min-height:40px;max-height:160px;resize:vertical;border:1px solid #d1d5db;border-radius:16px;padding:10px 12px;font:inherit}.agenttic-embedded__input button{width:36px;height:36px;font-size:18px}.agenttic-embedded__input button:disabled{cursor:not-allowed;opacity:.5}
@@ -0,0 +1,6 @@
1
+ export { AgentUI, EmbeddedAgentUI, EmbeddedAgentUIContainer, EmbeddedAgentUIConversationView, EmbeddedAgentUIFooter, EmbeddedAgentUIInput, EmbeddedAgentUIMessages, EmbeddedAgentUINotice, EmbeddedAgentUISuggestions, EmptyView, ThinkingMessage, } from './components/EmbeddedAgentUI';
2
+ export { LightweightMarkdownRenderer } from './components/LightweightMarkdownRenderer';
3
+ export { QuestionCard } from './components/question';
4
+ export type { QuestionCardProps } from './components/question';
5
+ export type { AgentUIProps, Message, NoticeConfig, QuestionChoice, QuestionPrompt, Suggestion, } from './types';
6
+ //# sourceMappingURL=embedded-agent-ui.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embedded-agent-ui.d.ts","sourceRoot":"","sources":["../src/embedded-agent-ui.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,OAAO,EACP,eAAe,EACf,wBAAwB,EACxB,+BAA+B,EAC/B,qBAAqB,EACrB,oBAAoB,EACpB,uBAAuB,EACvB,qBAAqB,EACrB,0BAA0B,EAC1B,SAAS,EACT,eAAe,GACf,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,2BAA2B,EAAE,MAAM,0CAA0C,CAAC;AACvF,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,YAAY,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,YAAY,EACX,YAAY,EACZ,OAAO,EACP,YAAY,EACZ,cAAc,EACd,cAAc,EACd,UAAU,GACV,MAAM,SAAS,CAAC"}