@talk2view/sdk 0.7.0 → 0.8.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 (58) hide show
  1. package/dist/auth.d.ts.map +1 -1
  2. package/dist/auth.js +11 -6
  3. package/dist/auth.js.map +1 -1
  4. package/dist/client.d.ts.map +1 -1
  5. package/dist/client.js +3 -0
  6. package/dist/client.js.map +1 -1
  7. package/dist/tools.d.ts +5 -2
  8. package/dist/tools.d.ts.map +1 -1
  9. package/dist/tools.js +14 -4
  10. package/dist/tools.js.map +1 -1
  11. package/dist/types.d.ts +2 -0
  12. package/dist/types.d.ts.map +1 -1
  13. package/dist/ui/components/ApprovalCard.d.ts +9 -1
  14. package/dist/ui/components/ApprovalCard.d.ts.map +1 -1
  15. package/dist/ui/components/ApprovalCard.js +146 -40
  16. package/dist/ui/components/ApprovalCard.js.map +1 -1
  17. package/dist/ui/components/ChatHeader.d.ts +7 -2
  18. package/dist/ui/components/ChatHeader.d.ts.map +1 -1
  19. package/dist/ui/components/ChatHeader.js +12 -9
  20. package/dist/ui/components/ChatHeader.js.map +1 -1
  21. package/dist/ui/components/ChatPanel.d.ts +7 -1
  22. package/dist/ui/components/ChatPanel.d.ts.map +1 -1
  23. package/dist/ui/components/ChatPanel.js +11 -4
  24. package/dist/ui/components/ChatPanel.js.map +1 -1
  25. package/dist/ui/components/ChatWidget.d.ts.map +1 -1
  26. package/dist/ui/components/ChatWidget.js +32 -13
  27. package/dist/ui/components/ChatWidget.js.map +1 -1
  28. package/dist/ui/components/CodeBlock.js +1 -1
  29. package/dist/ui/components/CodeBlock.js.map +1 -1
  30. package/dist/ui/components/Composer.d.ts.map +1 -1
  31. package/dist/ui/components/Composer.js +52 -61
  32. package/dist/ui/components/Composer.js.map +1 -1
  33. package/dist/ui/components/LoginForm.d.ts +7 -1
  34. package/dist/ui/components/LoginForm.d.ts.map +1 -1
  35. package/dist/ui/components/LoginForm.js +4 -4
  36. package/dist/ui/components/LoginForm.js.map +1 -1
  37. package/dist/ui/components/MessageBubble.d.ts +5 -5
  38. package/dist/ui/components/MessageBubble.d.ts.map +1 -1
  39. package/dist/ui/components/MessageBubble.js +9 -17
  40. package/dist/ui/components/MessageBubble.js.map +1 -1
  41. package/dist/ui/components/MessageList.d.ts.map +1 -1
  42. package/dist/ui/components/MessageList.js +4 -4
  43. package/dist/ui/components/MessageList.js.map +1 -1
  44. package/dist/ui/components/ThinkingBlock.js +1 -1
  45. package/dist/ui/components/ThinkingBlock.js.map +1 -1
  46. package/dist/ui/components/WelcomeScreen.js +1 -1
  47. package/dist/ui/components/WelcomeScreen.js.map +1 -1
  48. package/dist/ui/styles.d.ts.map +1 -1
  49. package/dist/ui/styles.js +10 -2
  50. package/dist/ui/styles.js.map +1 -1
  51. package/dist/ui/theme.d.ts.map +1 -1
  52. package/dist/ui/theme.js +13 -4
  53. package/dist/ui/theme.js.map +1 -1
  54. package/dist/ui/useSmoothText.d.ts +8 -0
  55. package/dist/ui/useSmoothText.d.ts.map +1 -0
  56. package/dist/ui/useSmoothText.js +55 -0
  57. package/dist/ui/useSmoothText.js.map +1 -0
  58. package/package.json +1 -1
@@ -7,9 +7,12 @@ import { ToolStepGroup } from './ToolDisplay';
7
7
  import { ApprovalCard } from './ApprovalCard';
8
8
  import { MessageActions } from './MessageActions';
9
9
  import { Shimmer } from './Shimmer';
10
+ import { useSmoothText } from '../useSmoothText';
10
11
  export function MessageBubble({ message, isLast }) {
11
12
  const { pendingApproval, approveToolCall } = useChat();
12
13
  const isUser = message.role === 'user';
14
+ // Smoothly reveal assistant text while streaming; full text otherwise.
15
+ const displayContent = useSmoothText(message.content, !!message.isStreaming && !isUser);
13
16
  if (isUser) {
14
17
  return (_jsx("div", { style: {
15
18
  display: 'flex',
@@ -17,10 +20,10 @@ export function MessageBubble({ message, isLast }) {
17
20
  marginBottom: '12px',
18
21
  animation: 't2v-fade-in 0.2s ease-out',
19
22
  }, children: _jsx("div", { style: {
20
- maxWidth: '75%',
21
- padding: '10px 14px',
22
- borderRadius: 'calc(var(--t2v-radius) * 1px)',
23
- borderBottomRightRadius: '4px',
23
+ maxWidth: '80%',
24
+ padding: '8px 14px',
25
+ borderRadius: 'var(--t2v-radius-xl)',
26
+ borderBottomRightRadius: 'var(--t2v-radius-sm)',
24
27
  background: 'var(--t2v-user-bubble)',
25
28
  color: 'var(--t2v-user-foreground)',
26
29
  fontSize: '14px',
@@ -52,20 +55,9 @@ export function MessageBubble({ message, isLast }) {
52
55
  flex: 1,
53
56
  minWidth: 0,
54
57
  fontSize: '14px',
55
- lineHeight: 1.55,
58
+ lineHeight: 1.7,
56
59
  color: 'var(--t2v-foreground)',
57
60
  fontFamily: 'var(--t2v-font)',
58
- background: 'var(--t2v-surface)',
59
- borderRadius: '8px',
60
- padding: '10px 12px',
61
- }, children: [message.plan && _jsx(ThinkingBlock, { content: message.plan }), message.steps && message.steps.length > 0 && (_jsx("div", { style: { marginBottom: message.content ? '8px' : '0' }, children: _jsx(ToolStepGroup, { steps: message.steps, isStreaming: message.isStreaming }) })), showApproval && pendingApproval && (_jsx(ApprovalCard, { toolName: pendingApproval.toolName, toolCallId: pendingApproval.toolCallId, args: pendingApproval.arguments, description: pendingApproval.description, onDecision: approveToolCall })), message.isStreaming && !message.content && !message.plan && !pendingApproval && (_jsx(Shimmer, {})), message.content && _jsx(MarkdownRenderer, { content: message.content }), message.isStreaming && message.content && !pendingApproval && !message.plan && (_jsx("span", { style: {
62
- display: 'inline-block',
63
- width: '2px',
64
- height: '1em',
65
- background: 'var(--t2v-accent)',
66
- marginLeft: '2px',
67
- verticalAlign: 'text-bottom',
68
- animation: 't2v-blink 1s step-start infinite',
69
- } })), !message.isStreaming && message.content && (_jsx(MessageActions, { content: message.content, isLast: isLast ?? false }))] })] }));
61
+ }, children: [message.plan && _jsx(ThinkingBlock, { content: message.plan }), message.steps && message.steps.length > 0 && (_jsx("div", { style: { marginBottom: message.content ? '8px' : '0' }, children: _jsx(ToolStepGroup, { steps: message.steps, isStreaming: message.isStreaming }) })), showApproval && pendingApproval && (_jsx(ApprovalCard, { toolName: pendingApproval.toolName, toolCallId: pendingApproval.toolCallId, args: pendingApproval.arguments, description: pendingApproval.description, onDecision: approveToolCall })), message.isStreaming && !message.content && !message.plan && !pendingApproval && (_jsx(Shimmer, {})), displayContent && _jsx(MarkdownRenderer, { content: displayContent }), !message.isStreaming && message.content && (_jsx(MessageActions, { content: message.content, isLast: isLast ?? false }))] })] }));
70
62
  }
71
63
  //# sourceMappingURL=MessageBubble.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MessageBubble.js","sourceRoot":"","sources":["../../../src/ui/components/MessageBubble.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MessageBubble.js","sourceRoot":"","sources":["../../../src/ui/components/MessageBubble.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"MessageList.d.ts","sourceRoot":"","sources":["../../../src/ui/components/MessageList.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AASH,wBAAgB,WAAW,4CAwF1B"}
1
+ {"version":3,"file":"MessageList.d.ts","sourceRoot":"","sources":["../../../src/ui/components/MessageList.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AASH,wBAAgB,WAAW,4CA0F1B"}
@@ -41,12 +41,12 @@ export function MessageList() {
41
41
  const distanceFromBottom = el.scrollHeight - el.scrollTop - el.clientHeight;
42
42
  setShowScrollBtn(distanceFromBottom > 150);
43
43
  }, []);
44
- return (_jsxs("div", { style: { position: 'relative', flex: 1, minHeight: 0 }, children: [_jsxs("div", { ref: containerRef, role: "log", "aria-live": "polite", className: "t2v-scrollable", onScroll: handleScroll, style: {
44
+ return (_jsxs("div", { style: { position: 'relative', flex: 1, minHeight: 0 }, children: [_jsx("div", { ref: containerRef, role: "log", "aria-live": "polite", className: "t2v-scrollable", onScroll: handleScroll, style: {
45
45
  height: '100%',
46
46
  overflowY: 'auto',
47
47
  padding: '16px',
48
48
  boxSizing: 'border-box',
49
- }, children: [messages.map((msg, i) => (_jsx(MessageBubble, { message: msg, isLast: i === messages.length - 1 }, msg.id))), _jsx("div", { style: { height: showScrollBtn ? '40px' : '0' } })] }), showScrollBtn && (_jsxs("button", { onClick: () => scrollToBottom('smooth'), "aria-label": "Scroll to bottom", style: {
49
+ }, children: _jsxs("div", { style: { maxWidth: '640px', margin: '0 auto', width: '100%' }, children: [messages.map((msg, i) => (_jsx(MessageBubble, { message: msg, isLast: i === messages.length - 1 }, msg.id))), _jsx("div", { style: { height: showScrollBtn ? '40px' : '0' } })] }) }), showScrollBtn && (_jsxs("button", { onClick: () => scrollToBottom('smooth'), "aria-label": "Scroll to bottom", style: {
50
50
  position: 'absolute',
51
51
  bottom: '16px',
52
52
  left: '50%',
@@ -57,12 +57,12 @@ export function MessageList() {
57
57
  padding: '6px 12px',
58
58
  background: 'var(--t2v-bg)',
59
59
  border: '1px solid var(--t2v-border)',
60
- borderRadius: '16px',
60
+ borderRadius: 'var(--t2v-radius-pill)',
61
61
  cursor: 'pointer',
62
62
  fontSize: '12px',
63
63
  fontFamily: 'var(--t2v-font)',
64
64
  color: 'var(--t2v-muted)',
65
- boxShadow: '0 2px 8px rgba(0,0,0,0.08)',
65
+ boxShadow: 'var(--t2v-shadow)',
66
66
  zIndex: 1,
67
67
  }, children: [_jsx(ArrowDown, { size: 14 }), "Scroll to bottom"] }))] }));
68
68
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MessageList.js","sourceRoot":"","sources":["../../../src/ui/components/MessageList.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MessageList.js","sourceRoot":"","sources":["../../../src/ui/components/MessageList.tsx"],"names":[],"mappings":"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"}
@@ -44,7 +44,7 @@ export function ThinkingBlock({ content, isStreaming, startTime }) {
44
44
  }, []);
45
45
  const durationText = duration !== null ? `${duration}s` : '';
46
46
  return (_jsxs("div", { style: {
47
- border: '1px solid var(--t2v-border)', borderRadius: 'calc(var(--t2v-radius) * 0.5px)',
47
+ border: '1px solid var(--t2v-border)', borderRadius: 'var(--t2v-radius-sm)',
48
48
  overflow: 'hidden', margin: '6px 0', fontFamily: 'var(--t2v-font)',
49
49
  }, children: [_jsxs("button", { onClick: () => setExpanded(!expanded), className: "t2v-btn-ghost", style: {
50
50
  width: '100%', display: 'flex', alignItems: 'center', gap: '8px',
@@ -1 +1 @@
1
- {"version":3,"file":"ThinkingBlock.js","sourceRoot":"","sources":["../../../src/ui/components/ThinkingBlock.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ThinkingBlock.js","sourceRoot":"","sources":["../../../src/ui/components/ThinkingBlock.tsx"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ export function WelcomeScreen({ heading, suggestions }) {
8
8
  alignItems: 'center', justifyContent: 'center',
9
9
  padding: '24px 20px', gap: '20px', textAlign: 'center',
10
10
  }, children: [_jsx("img", { src: LOGOS.icon, alt: "", style: { width: 40, height: 40, opacity: 0.7 } }), _jsx("h2", { style: { fontSize: '16px', fontWeight: 600, color: 'var(--t2v-foreground)', margin: 0, fontFamily: 'var(--t2v-font)' }, children: heading ?? 'How can I help you?' }), suggestions && suggestions.length > 0 && (_jsx("div", { style: { display: 'flex', flexDirection: 'column', gap: '8px', width: '100%', maxWidth: '280px' }, children: suggestions.map((s, i) => (_jsx("button", { onClick: () => { sendMessage(s).catch(() => { }); }, className: "t2v-btn-ghost", style: {
11
- padding: '10px 14px', borderRadius: 'calc(var(--t2v-radius) * 0.75px)',
11
+ padding: '10px 14px', borderRadius: 'var(--t2v-radius-md)',
12
12
  border: '1px solid var(--t2v-border)', background: 'var(--t2v-bg)',
13
13
  cursor: 'pointer', fontFamily: 'var(--t2v-font)', fontSize: '13px',
14
14
  color: 'var(--t2v-foreground)', textAlign: 'left', lineHeight: 1.4,
@@ -1 +1 @@
1
- {"version":3,"file":"WelcomeScreen.js","sourceRoot":"","sources":["../../../src/ui/components/WelcomeScreen.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAOjC,MAAM,UAAU,aAAa,CAAC,EAAE,OAAO,EAAE,WAAW,EAAsB;IACxE,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,EAAE,CAAC;IAClC,OAAO,CACL,eAAK,KAAK,EAAE;YACV,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ;YACjD,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ;YAC9C,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ;SACvD,aACC,cAAK,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,EAAC,EAAE,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,GAAI,EAC/E,aAAI,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,EAAE,uBAAuB,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,iBAAiB,EAAE,YACvH,OAAO,IAAI,qBAAqB,GAC9B,EACJ,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,CACxC,cAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,YACnG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CACzB,iBAAgB,OAAO,EAAE,GAAG,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAC,eAAe,EAAC,KAAK,EAAE;wBACnG,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,kCAAkC;wBACtE,MAAM,EAAE,6BAA6B,EAAE,UAAU,EAAE,eAAe;wBAClE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM;wBAClE,KAAK,EAAE,uBAAuB,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG;wBAClE,UAAU,EAAE,oBAAoB;qBACjC,YAAG,CAAC,IANQ,CAAC,CAMC,CAChB,CAAC,GACE,CACP,IACG,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"WelcomeScreen.js","sourceRoot":"","sources":["../../../src/ui/components/WelcomeScreen.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAOjC,MAAM,UAAU,aAAa,CAAC,EAAE,OAAO,EAAE,WAAW,EAAsB;IACxE,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,EAAE,CAAC;IAClC,OAAO,CACL,eAAK,KAAK,EAAE;YACV,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ;YACjD,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ;YAC9C,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ;SACvD,aACC,cAAK,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,EAAC,EAAE,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,GAAI,EAC/E,aAAI,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,EAAE,uBAAuB,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,iBAAiB,EAAE,YACvH,OAAO,IAAI,qBAAqB,GAC9B,EACJ,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,CACxC,cAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,YACnG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CACzB,iBAAgB,OAAO,EAAE,GAAG,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAC,eAAe,EAAC,KAAK,EAAE;wBACnG,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,sBAAsB;wBAC1D,MAAM,EAAE,6BAA6B,EAAE,UAAU,EAAE,eAAe;wBAClE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM;wBAClE,KAAK,EAAE,uBAAuB,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG;wBAClE,UAAU,EAAE,oBAAoB;qBACjC,YAAG,CAAC,IANQ,CAAC,CAMC,CAChB,CAAC,GACE,CACP,IACG,CACP,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../src/ui/styles.ts"],"names":[],"mappings":"AAEA,wBAAgB,qBAAqB,IAAI,IAAI,CAqF5C"}
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../src/ui/styles.ts"],"names":[],"mappings":"AAEA,wBAAgB,qBAAqB,IAAI,IAAI,CA6F5C"}
package/dist/ui/styles.js CHANGED
@@ -49,7 +49,7 @@ export function injectComponentStyles() {
49
49
  outline-offset: 2px;
50
50
  }
51
51
 
52
- [data-talk2view] .t2v-md p { margin: 0 0 0.5em; }
52
+ [data-talk2view] .t2v-md p { margin: 0 0 0.7em; }
53
53
  [data-talk2view] .t2v-md p:last-child { margin-bottom: 0; }
54
54
  [data-talk2view] .t2v-md h1, [data-talk2view] .t2v-md h2, [data-talk2view] .t2v-md h3 {
55
55
  margin: 0.8em 0 0.3em; font-weight: 600; line-height: 1.3;
@@ -58,7 +58,7 @@ export function injectComponentStyles() {
58
58
  [data-talk2view] .t2v-md h2 { font-size: 1.1em; }
59
59
  [data-talk2view] .t2v-md h3 { font-size: 1em; }
60
60
  [data-talk2view] .t2v-md ul, [data-talk2view] .t2v-md ol { margin: 0.3em 0; padding-left: 1.3em; }
61
- [data-talk2view] .t2v-md li { margin: 0.15em 0; }
61
+ [data-talk2view] .t2v-md li { margin: 0.2em 0; }
62
62
  [data-talk2view] .t2v-md code {
63
63
  font-family: var(--t2v-font-mono); font-size: 0.88em;
64
64
  padding: 0.12em 0.3em; background: var(--t2v-surface-hover); border-radius: 3px;
@@ -84,6 +84,14 @@ export function injectComponentStyles() {
84
84
  [data-talk2view] .t2v-btn:hover { filter: brightness(1.05); }
85
85
  [data-talk2view] .t2v-btn:active { transform: scale(0.98); }
86
86
  [data-talk2view] .t2v-btn-ghost:hover { background: var(--t2v-surface-hover); }
87
+
88
+ [data-talk2view] .t2v-composer {
89
+ transition: border-color 0.15s ease, box-shadow 0.15s ease;
90
+ }
91
+ [data-talk2view] .t2v-composer:focus-within {
92
+ border-color: var(--t2v-accent);
93
+ box-shadow: 0 0 0 3px color-mix(in srgb, var(--t2v-accent) 20%, transparent);
94
+ }
87
95
  `;
88
96
  document.head.appendChild(style);
89
97
  injected = true;
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/ui/styles.ts"],"names":[],"mappings":"AAAA,IAAI,QAAQ,GAAG,KAAK,CAAC;AAErB,MAAM,UAAU,qBAAqB;IACnC,IAAI,QAAQ,IAAI,OAAO,QAAQ,KAAK,WAAW;QAAE,OAAO;IACxD,MAAM,EAAE,GAAG,sBAAsB,CAAC;IAClC,IAAI,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,CAAC;QAAC,QAAQ,GAAG,IAAI,CAAC;QAAC,OAAO;IAAC,CAAC;IAE7D,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC9C,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC;IACd,KAAK,CAAC,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2ErB,CAAC;IACA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACjC,QAAQ,GAAG,IAAI,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/ui/styles.ts"],"names":[],"mappings":"AAAA,IAAI,QAAQ,GAAG,KAAK,CAAC;AAErB,MAAM,UAAU,qBAAqB;IACnC,IAAI,QAAQ,IAAI,OAAO,QAAQ,KAAK,WAAW;QAAE,OAAO;IACxD,MAAM,EAAE,GAAG,sBAAsB,CAAC;IAClC,IAAI,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,CAAC;QAAC,QAAQ,GAAG,IAAI,CAAC;QAAC,OAAO;IAAC,CAAC;IAE7D,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC9C,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC;IACd,KAAK,CAAC,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmFrB,CAAC;IACA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACjC,QAAQ,GAAG,IAAI,CAAC;AAClB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/ui/theme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,cAAc,CAenD,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,CAkB9D;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,CAUvD;AAGD,wBAAgB,WAAW,IAAI,IAAI,CAUlC;AAGD,eAAO,MAAM,KAAK;;;;CAIR,CAAC"}
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/ui/theme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,cAAc,CAkBnD,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,CAwB9D;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,CAUvD;AAGD,wBAAgB,WAAW,IAAI,IAAI,CAUlC;AAGD,eAAO,MAAM,KAAK;;;;CAIR,CAAC"}
package/dist/ui/theme.js CHANGED
@@ -5,14 +5,17 @@ export const THEME_DEFAULTS = {
5
5
  foreground: '#01161E',
6
6
  muted: '#9F9AA4',
7
7
  border: '#E5E7EB',
8
- userBubble: '#01161E',
9
- userForeground: '#F8FAFC',
8
+ // assistant-ui used a light neutral-gray user bubble (--aui-muted) with dark text.
9
+ userBubble: '#F4F4F5',
10
+ userForeground: '#01161E',
10
11
  error: '#DC2626',
11
12
  radius: 12,
12
13
  font: "'IBM Plex Sans', sans-serif",
13
14
  fontMono: "'IBM Plex Mono', monospace",
14
- surface: 'rgba(0,0,0,0.02)',
15
- surfaceHover: 'rgba(0,0,0,0.05)',
15
+ // Real, visible neutral surfaces (was near-transparent rgba(0,0,0,0.02)).
16
+ surface: '#F4F4F5',
17
+ surfaceHover: '#ECECEE',
18
+ shadow: '0 1px 2px rgba(1,22,30,0.04), 0 2px 12px rgba(1,22,30,0.05)',
16
19
  };
17
20
  export function generateThemeCSS(theme) {
18
21
  const t = { ...THEME_DEFAULTS, ...theme };
@@ -27,10 +30,16 @@ export function generateThemeCSS(theme) {
27
30
  --t2v-user-foreground: ${t.userForeground};
28
31
  --t2v-error: ${t.error};
29
32
  --t2v-radius: ${t.radius}px;
33
+ --t2v-radius-sm: ${t.radius * 0.5}px;
34
+ --t2v-radius-md: ${t.radius * 0.75}px;
35
+ --t2v-radius-lg: ${t.radius}px;
36
+ --t2v-radius-xl: ${t.radius * 1.5}px;
37
+ --t2v-radius-pill: 9999px;
30
38
  --t2v-font: ${t.font};
31
39
  --t2v-font-mono: ${t.fontMono};
32
40
  --t2v-surface: ${t.surface};
33
41
  --t2v-surface-hover: ${t.surfaceHover};
42
+ --t2v-shadow: ${t.shadow};
34
43
  }`;
35
44
  }
36
45
  export function injectTheme(theme) {
@@ -1 +1 @@
1
- {"version":3,"file":"theme.js","sourceRoot":"","sources":["../../src/ui/theme.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,cAAc,GAA6B;IACtD,MAAM,EAAE,SAAS;IACjB,gBAAgB,EAAE,SAAS;IAC3B,EAAE,EAAE,SAAS;IACb,UAAU,EAAE,SAAS;IACrB,KAAK,EAAE,SAAS;IAChB,MAAM,EAAE,SAAS;IACjB,UAAU,EAAE,SAAS;IACrB,cAAc,EAAE,SAAS;IACzB,KAAK,EAAE,SAAS;IAChB,MAAM,EAAE,EAAE;IACV,IAAI,EAAE,6BAA6B;IACnC,QAAQ,EAAE,4BAA4B;IACtC,OAAO,EAAE,kBAAkB;IAC3B,YAAY,EAAE,kBAAkB;CACjC,CAAC;AAEF,MAAM,UAAU,gBAAgB,CAAC,KAAqB;IACpD,MAAM,CAAC,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,KAAK,EAAE,CAAC;IAC1C,OAAO;kBACS,CAAC,CAAC,MAAM;6BACG,CAAC,CAAC,gBAAgB;cACjC,CAAC,CAAC,EAAE;sBACI,CAAC,CAAC,UAAU;iBACjB,CAAC,CAAC,KAAK;kBACN,CAAC,CAAC,MAAM;uBACH,CAAC,CAAC,UAAU;2BACR,CAAC,CAAC,cAAc;iBAC1B,CAAC,CAAC,KAAK;kBACN,CAAC,CAAC,MAAM;gBACV,CAAC,CAAC,IAAI;qBACD,CAAC,CAAC,QAAQ;mBACZ,CAAC,CAAC,OAAO;yBACH,CAAC,CAAC,YAAY;EACrC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAqB;IAC/C,IAAI,OAAO,QAAQ,KAAK,WAAW;QAAE,OAAO;IAC5C,MAAM,EAAE,GAAG,WAAW,CAAC;IACvB,IAAI,EAAE,GAAG,QAAQ,CAAC,cAAc,CAAC,EAAE,CAA4B,CAAC;IAChE,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACrC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC;QACX,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAChC,CAAC;IACD,EAAE,CAAC,WAAW,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;AAC3C,CAAC;AAED,IAAI,aAAa,GAAG,KAAK,CAAC;AAC1B,MAAM,UAAU,WAAW;IACzB,IAAI,aAAa,IAAI,OAAO,QAAQ,KAAK,WAAW;QAAE,OAAO;IAC7D,MAAM,EAAE,GAAG,WAAW,CAAC;IACvB,IAAI,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,CAAC;QAAC,aAAa,GAAG,IAAI,CAAC;QAAC,OAAO;IAAC,CAAC;IAClE,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC5C,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACb,IAAI,CAAC,GAAG,GAAG,YAAY,CAAC;IACxB,IAAI,CAAC,IAAI,GAAG,4HAA4H,CAAC;IACzI,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAChC,aAAa,GAAG,IAAI,CAAC;AACvB,CAAC;AAED,MAAM,WAAW,GAAG,6DAA6D,CAAC;AAClF,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,IAAI,EAAE,GAAG,WAAW,qBAAqB;IACzC,cAAc,EAAE,GAAG,WAAW,gCAAgC;IAC9D,eAAe,EAAE,GAAG,WAAW,iCAAiC;CACxD,CAAC"}
1
+ {"version":3,"file":"theme.js","sourceRoot":"","sources":["../../src/ui/theme.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Progressively reveals `target` while `isStreaming`, easing the visible length
3
+ * toward `target.length` at a steady rate (assistant-ui "smooth" reveal feel).
4
+ * Snaps to the full text when streaming ends, when there is no rAF (SSR/tests
5
+ * without rAF), or on unmount. Self-contained.
6
+ */
7
+ export declare function useSmoothText(target: string, isStreaming: boolean): string;
8
+ //# sourceMappingURL=useSmoothText.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSmoothText.d.ts","sourceRoot":"","sources":["../../src/ui/useSmoothText.ts"],"names":[],"mappings":"AAKA;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,GAAG,MAAM,CAkD1E"}
@@ -0,0 +1,55 @@
1
+ import { useEffect, useRef, useState } from 'react';
2
+ /** Steady reveal rate (characters/second) while streaming. */
3
+ const CHARS_PER_SECOND = 80;
4
+ /**
5
+ * Progressively reveals `target` while `isStreaming`, easing the visible length
6
+ * toward `target.length` at a steady rate (assistant-ui "smooth" reveal feel).
7
+ * Snaps to the full text when streaming ends, when there is no rAF (SSR/tests
8
+ * without rAF), or on unmount. Self-contained.
9
+ */
10
+ export function useSmoothText(target, isStreaming) {
11
+ const [revealed, setRevealed] = useState(() => (isStreaming ? '' : target));
12
+ const lengthRef = useRef(isStreaming ? 0 : target.length);
13
+ const rafRef = useRef(null);
14
+ const lastTsRef = useRef(null);
15
+ useEffect(() => {
16
+ const canAnimate = isStreaming &&
17
+ typeof window !== 'undefined' &&
18
+ typeof window.requestAnimationFrame === 'function';
19
+ if (!canAnimate) {
20
+ lengthRef.current = target.length;
21
+ setRevealed(target);
22
+ return;
23
+ }
24
+ // A new turn can make `target` shorter than what we already revealed; restart.
25
+ if (lengthRef.current > target.length)
26
+ lengthRef.current = 0;
27
+ lastTsRef.current = null;
28
+ const tick = (ts) => {
29
+ if (lastTsRef.current == null)
30
+ lastTsRef.current = ts;
31
+ const dt = (ts - lastTsRef.current) / 1000;
32
+ lastTsRef.current = ts;
33
+ const remaining = target.length - lengthRef.current;
34
+ // Steady base rate, plus catch-up so very long messages don't lag.
35
+ const step = Math.max(CHARS_PER_SECOND * dt, remaining * dt * 3);
36
+ lengthRef.current = Math.min(target.length, lengthRef.current + step);
37
+ setRevealed(target.slice(0, Math.floor(lengthRef.current)));
38
+ if (lengthRef.current < target.length) {
39
+ rafRef.current = window.requestAnimationFrame(tick);
40
+ }
41
+ else {
42
+ rafRef.current = null;
43
+ }
44
+ };
45
+ rafRef.current = window.requestAnimationFrame(tick);
46
+ return () => {
47
+ if (rafRef.current != null && typeof window !== 'undefined') {
48
+ window.cancelAnimationFrame(rafRef.current);
49
+ }
50
+ rafRef.current = null;
51
+ };
52
+ }, [target, isStreaming]);
53
+ return revealed;
54
+ }
55
+ //# sourceMappingURL=useSmoothText.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSmoothText.js","sourceRoot":"","sources":["../../src/ui/useSmoothText.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@talk2view/sdk",
3
- "version": "0.7.0",
3
+ "version": "0.8.0",
4
4
  "description": "Talk2View SDK — Add AI-powered natural language control to any application",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",