@talk2view/sdk 0.3.3 → 0.5.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/event-emitter.d.ts +7 -0
- package/dist/event-emitter.d.ts.map +1 -0
- package/dist/event-emitter.js +23 -0
- package/dist/event-emitter.js.map +1 -0
- package/dist/index.d.ts +76 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +310 -1
- package/dist/index.js.map +1 -1
- package/dist/react/T2VProvider.js +1 -1
- package/dist/react/T2VProvider.js.map +1 -1
- package/dist/react/index.d.ts +2 -1
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/useT2VChat.d.ts +6 -22
- package/dist/react/useT2VChat.d.ts.map +1 -1
- package/dist/react/useT2VChat.js +34 -218
- package/dist/react/useT2VChat.js.map +1 -1
- package/dist/sessions.d.ts.map +1 -1
- package/dist/sessions.js +3 -0
- package/dist/sessions.js.map +1 -1
- package/dist/tools.d.ts +5 -0
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +16 -2
- package/dist/tools.js.map +1 -1
- package/dist/types.d.ts +45 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/ui/components/ApprovalCard.d.ts +10 -0
- package/dist/ui/components/ApprovalCard.d.ts.map +1 -0
- package/dist/ui/components/ApprovalCard.js +60 -0
- package/dist/ui/components/ApprovalCard.js.map +1 -0
- package/dist/ui/components/{T2VChatHeader.d.ts → ChatHeader.d.ts} +4 -4
- package/dist/ui/components/ChatHeader.d.ts.map +1 -0
- package/dist/ui/components/ChatHeader.js +126 -0
- package/dist/ui/components/ChatHeader.js.map +1 -0
- package/dist/ui/components/ChatPanel.d.ts +9 -0
- package/dist/ui/components/ChatPanel.d.ts.map +1 -0
- package/dist/ui/components/ChatPanel.js +37 -0
- package/dist/ui/components/ChatPanel.js.map +1 -0
- package/dist/ui/components/ChatWidget.d.ts +5 -0
- package/dist/ui/components/ChatWidget.d.ts.map +1 -0
- package/dist/ui/components/ChatWidget.js +27 -0
- package/dist/ui/components/ChatWidget.js.map +1 -0
- package/dist/ui/components/CodeBlock.d.ts +6 -0
- package/dist/ui/components/CodeBlock.d.ts.map +1 -0
- package/dist/ui/components/CodeBlock.js +79 -0
- package/dist/ui/components/CodeBlock.js.map +1 -0
- package/dist/ui/components/Composer.d.ts +14 -0
- package/dist/ui/components/Composer.d.ts.map +1 -0
- package/dist/ui/components/Composer.js +172 -0
- package/dist/ui/components/Composer.js.map +1 -0
- package/dist/ui/components/LoginForm.d.ts +5 -0
- package/dist/ui/components/LoginForm.d.ts.map +1 -0
- package/dist/ui/components/LoginForm.js +37 -0
- package/dist/ui/components/LoginForm.js.map +1 -0
- package/dist/ui/components/MarkdownRenderer.d.ts +5 -0
- package/dist/ui/components/MarkdownRenderer.d.ts.map +1 -0
- package/dist/ui/components/MarkdownRenderer.js +28 -0
- package/dist/ui/components/MarkdownRenderer.js.map +1 -0
- package/dist/ui/components/MessageActions.d.ts +6 -0
- package/dist/ui/components/MessageActions.d.ts.map +1 -0
- package/dist/ui/components/MessageActions.js +43 -0
- package/dist/ui/components/MessageActions.js.map +1 -0
- package/dist/ui/components/MessageBubble.d.ts +16 -0
- package/dist/ui/components/MessageBubble.d.ts.map +1 -0
- package/dist/ui/components/MessageBubble.js +71 -0
- package/dist/ui/components/MessageBubble.js.map +1 -0
- package/dist/ui/components/MessageList.d.ts +10 -0
- package/dist/ui/components/MessageList.d.ts.map +1 -0
- package/dist/ui/components/MessageList.js +69 -0
- package/dist/ui/components/MessageList.js.map +1 -0
- package/dist/ui/components/SettingsPanel.d.ts +11 -0
- package/dist/ui/components/SettingsPanel.d.ts.map +1 -0
- package/dist/ui/components/{SettingsView.js → SettingsPanel.js} +27 -27
- package/dist/ui/components/SettingsPanel.js.map +1 -0
- package/dist/ui/components/Shimmer.d.ts +2 -0
- package/dist/ui/components/Shimmer.d.ts.map +1 -0
- package/dist/ui/components/Shimmer.js +10 -0
- package/dist/ui/components/Shimmer.js.map +1 -0
- package/dist/ui/components/Talk2View.d.ts +21 -0
- package/dist/ui/components/Talk2View.d.ts.map +1 -0
- package/dist/ui/components/Talk2View.js +79 -0
- package/dist/ui/components/Talk2View.js.map +1 -0
- package/dist/ui/components/ThinkingBlock.d.ts +7 -0
- package/dist/ui/components/ThinkingBlock.d.ts.map +1 -0
- package/dist/ui/components/ThinkingBlock.js +64 -0
- package/dist/ui/components/ThinkingBlock.js.map +1 -0
- package/dist/ui/components/ToolDisplay.d.ts +28 -0
- package/dist/ui/components/ToolDisplay.d.ts.map +1 -0
- package/dist/ui/components/ToolDisplay.js +123 -0
- package/dist/ui/components/ToolDisplay.js.map +1 -0
- package/dist/ui/components/WelcomeScreen.d.ts +6 -0
- package/dist/ui/components/WelcomeScreen.d.ts.map +1 -0
- package/dist/ui/components/WelcomeScreen.js +18 -0
- package/dist/ui/components/WelcomeScreen.js.map +1 -0
- package/dist/ui/context.d.ts +29 -0
- package/dist/ui/context.d.ts.map +1 -0
- package/dist/ui/context.js +16 -0
- package/dist/ui/context.js.map +1 -0
- package/dist/ui/index.d.ts +24 -37
- package/dist/ui/index.d.ts.map +1 -1
- package/dist/ui/index.js +23 -35
- package/dist/ui/index.js.map +1 -1
- package/dist/ui/styles.d.ts +2 -0
- package/dist/ui/styles.d.ts.map +1 -0
- package/dist/ui/styles.js +91 -0
- package/dist/ui/styles.js.map +1 -0
- package/dist/ui/theme.d.ts +11 -0
- package/dist/ui/theme.d.ts.map +1 -0
- package/dist/ui/theme.js +70 -0
- package/dist/ui/theme.js.map +1 -0
- package/package.json +3 -10
- package/dist/ui/components/LoginModal.d.ts +0 -10
- package/dist/ui/components/LoginModal.d.ts.map +0 -1
- package/dist/ui/components/LoginModal.js +0 -138
- package/dist/ui/components/LoginModal.js.map +0 -1
- package/dist/ui/components/SettingsView.d.ts +0 -11
- package/dist/ui/components/SettingsView.d.ts.map +0 -1
- package/dist/ui/components/SettingsView.js.map +0 -1
- package/dist/ui/components/T2VAssistantModal.d.ts +0 -31
- package/dist/ui/components/T2VAssistantModal.d.ts.map +0 -1
- package/dist/ui/components/T2VAssistantModal.js +0 -151
- package/dist/ui/components/T2VAssistantModal.js.map +0 -1
- package/dist/ui/components/T2VAssistantProvider.d.ts +0 -42
- package/dist/ui/components/T2VAssistantProvider.d.ts.map +0 -1
- package/dist/ui/components/T2VAssistantProvider.js +0 -66
- package/dist/ui/components/T2VAssistantProvider.js.map +0 -1
- package/dist/ui/components/T2VChatHeader.d.ts.map +0 -1
- package/dist/ui/components/T2VChatHeader.js +0 -112
- package/dist/ui/components/T2VChatHeader.js.map +0 -1
- package/dist/ui/components/T2VComposer.d.ts +0 -11
- package/dist/ui/components/T2VComposer.d.ts.map +0 -1
- package/dist/ui/components/T2VComposer.js +0 -124
- package/dist/ui/components/T2VComposer.js.map +0 -1
- package/dist/ui/components/T2VDictationAdapter.d.ts +0 -18
- package/dist/ui/components/T2VDictationAdapter.d.ts.map +0 -1
- package/dist/ui/components/T2VDictationAdapter.js +0 -126
- package/dist/ui/components/T2VDictationAdapter.js.map +0 -1
- package/dist/ui/components/T2VLoginGate.d.ts +0 -23
- package/dist/ui/components/T2VLoginGate.d.ts.map +0 -1
- package/dist/ui/components/T2VLoginGate.js +0 -11
- package/dist/ui/components/T2VLoginGate.js.map +0 -1
- package/dist/ui/components/T2VThread.d.ts +0 -25
- package/dist/ui/components/T2VThread.d.ts.map +0 -1
- package/dist/ui/components/T2VThread.js +0 -66
- package/dist/ui/components/T2VThread.js.map +0 -1
- package/dist/ui/components/T2VToolFallback.d.ts +0 -11
- package/dist/ui/components/T2VToolFallback.d.ts.map +0 -1
- package/dist/ui/components/T2VToolFallback.js +0 -209
- package/dist/ui/components/T2VToolFallback.js.map +0 -1
- package/dist/ui/runtime/convertMessage.d.ts +0 -17
- package/dist/ui/runtime/convertMessage.d.ts.map +0 -1
- package/dist/ui/runtime/convertMessage.js +0 -77
- package/dist/ui/runtime/convertMessage.js.map +0 -1
- package/dist/ui/runtime/useT2VRuntime.d.ts +0 -42
- package/dist/ui/runtime/useT2VRuntime.d.ts.map +0 -1
- package/dist/ui/runtime/useT2VRuntime.js +0 -62
- package/dist/ui/runtime/useT2VRuntime.js.map +0 -1
- package/dist/ui/themes/tailwind-preset.d.ts +0 -43
- package/dist/ui/themes/tailwind-preset.d.ts.map +0 -1
- package/dist/ui/themes/tailwind-preset.js +0 -43
- package/dist/ui/themes/tailwind-preset.js.map +0 -1
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
let injected = false;
|
|
2
|
+
export function injectComponentStyles() {
|
|
3
|
+
if (injected || typeof document === 'undefined')
|
|
4
|
+
return;
|
|
5
|
+
const id = 't2v-component-styles';
|
|
6
|
+
if (document.getElementById(id)) {
|
|
7
|
+
injected = true;
|
|
8
|
+
return;
|
|
9
|
+
}
|
|
10
|
+
const style = document.createElement('style');
|
|
11
|
+
style.id = id;
|
|
12
|
+
style.textContent = `
|
|
13
|
+
[data-talk2view], [data-talk2view] * {
|
|
14
|
+
box-sizing: border-box;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
@keyframes t2v-fade-in {
|
|
18
|
+
from { opacity: 0; transform: translateY(6px); }
|
|
19
|
+
to { opacity: 1; transform: translateY(0); }
|
|
20
|
+
}
|
|
21
|
+
@keyframes t2v-spin {
|
|
22
|
+
to { transform: rotate(360deg); }
|
|
23
|
+
}
|
|
24
|
+
@keyframes t2v-dot-bounce {
|
|
25
|
+
0%, 80%, 100% { transform: translateY(0); }
|
|
26
|
+
40% { transform: translateY(-4px); }
|
|
27
|
+
}
|
|
28
|
+
@keyframes t2v-blink {
|
|
29
|
+
0%, 50% { opacity: 1; }
|
|
30
|
+
51%, 100% { opacity: 0; }
|
|
31
|
+
}
|
|
32
|
+
@keyframes t2v-shimmer {
|
|
33
|
+
0% { background-position: -200% 0; }
|
|
34
|
+
100% { background-position: 200% 0; }
|
|
35
|
+
}
|
|
36
|
+
@keyframes t2v-typing {
|
|
37
|
+
0%, 60%, 100% { opacity: 0.3; transform: scale(0.8); }
|
|
38
|
+
30% { opacity: 1; transform: scale(1); }
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
[data-talk2view] .t2v-scrollable::-webkit-scrollbar { width: 4px; }
|
|
42
|
+
[data-talk2view] .t2v-scrollable::-webkit-scrollbar-thumb {
|
|
43
|
+
background: var(--t2v-border); border-radius: 2px;
|
|
44
|
+
}
|
|
45
|
+
[data-talk2view] .t2v-scrollable::-webkit-scrollbar-track { background: transparent; }
|
|
46
|
+
|
|
47
|
+
[data-talk2view] .t2v-focusable:focus-visible {
|
|
48
|
+
outline: 2px solid var(--t2v-accent);
|
|
49
|
+
outline-offset: 2px;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
[data-talk2view] .t2v-md p { margin: 0 0 0.5em; }
|
|
53
|
+
[data-talk2view] .t2v-md p:last-child { margin-bottom: 0; }
|
|
54
|
+
[data-talk2view] .t2v-md h1, [data-talk2view] .t2v-md h2, [data-talk2view] .t2v-md h3 {
|
|
55
|
+
margin: 0.8em 0 0.3em; font-weight: 600; line-height: 1.3;
|
|
56
|
+
}
|
|
57
|
+
[data-talk2view] .t2v-md h1 { font-size: 1.25em; }
|
|
58
|
+
[data-talk2view] .t2v-md h2 { font-size: 1.1em; }
|
|
59
|
+
[data-talk2view] .t2v-md h3 { font-size: 1em; }
|
|
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; }
|
|
62
|
+
[data-talk2view] .t2v-md code {
|
|
63
|
+
font-family: var(--t2v-font-mono); font-size: 0.88em;
|
|
64
|
+
padding: 0.12em 0.3em; background: var(--t2v-surface-hover); border-radius: 3px;
|
|
65
|
+
}
|
|
66
|
+
[data-talk2view] .t2v-md pre { margin: 0.5em 0; padding: 0; border-radius: 6px; overflow: hidden; }
|
|
67
|
+
[data-talk2view] .t2v-md pre code { display: block; padding: 0.7em 0.9em; background: none; overflow-x: auto; }
|
|
68
|
+
[data-talk2view] .t2v-md blockquote {
|
|
69
|
+
margin: 0.5em 0; padding: 0.3em 0.8em;
|
|
70
|
+
border-left: 3px solid var(--t2v-accent); color: var(--t2v-muted);
|
|
71
|
+
}
|
|
72
|
+
[data-talk2view] .t2v-md strong { font-weight: 600; }
|
|
73
|
+
[data-talk2view] .t2v-md a { color: var(--t2v-accent); text-decoration: underline; }
|
|
74
|
+
[data-talk2view] .t2v-md table { border-collapse: collapse; width: 100%; margin: 0.5em 0; font-size: 0.92em; }
|
|
75
|
+
[data-talk2view] .t2v-md th, [data-talk2view] .t2v-md td {
|
|
76
|
+
border: 1px solid var(--t2v-border); padding: 0.3em 0.5em; text-align: left;
|
|
77
|
+
}
|
|
78
|
+
[data-talk2view] .t2v-md th { background: var(--t2v-surface); font-weight: 600; }
|
|
79
|
+
[data-talk2view] .t2v-md hr { border: none; border-top: 1px solid var(--t2v-border); margin: 0.6em 0; }
|
|
80
|
+
|
|
81
|
+
[data-talk2view] .shiki { margin: 0; padding: 12px 14px; overflow-x: auto; }
|
|
82
|
+
[data-talk2view] .shiki code { font-family: var(--t2v-font-mono); font-size: 13px; }
|
|
83
|
+
|
|
84
|
+
[data-talk2view] .t2v-btn:hover { filter: brightness(1.05); }
|
|
85
|
+
[data-talk2view] .t2v-btn:active { transform: scale(0.98); }
|
|
86
|
+
[data-talk2view] .t2v-btn-ghost:hover { background: var(--t2v-surface-hover); }
|
|
87
|
+
`;
|
|
88
|
+
document.head.appendChild(style);
|
|
89
|
+
injected = true;
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=styles.js.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Talk2ViewTheme } from '../types';
|
|
2
|
+
export declare const THEME_DEFAULTS: Required<Talk2ViewTheme>;
|
|
3
|
+
export declare function generateThemeCSS(theme: Talk2ViewTheme): string;
|
|
4
|
+
export declare function injectTheme(theme: Talk2ViewTheme): void;
|
|
5
|
+
export declare function injectFonts(): void;
|
|
6
|
+
export declare const LOGOS: {
|
|
7
|
+
readonly icon: "https://db.talk2view.com/storage/v1/object/public/resources/talk2view_logo.png";
|
|
8
|
+
readonly horizontalDark: "https://db.talk2view.com/storage/v1/object/public/resources/talk2view_horizontal_dark.png";
|
|
9
|
+
readonly horizontalLight: "https://db.talk2view.com/storage/v1/object/public/resources/talk2view_horizontal_light.png";
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=theme.d.ts.map
|
|
@@ -0,0 +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"}
|
package/dist/ui/theme.js
ADDED
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
export const THEME_DEFAULTS = {
|
|
2
|
+
accent: '#40D4B6',
|
|
3
|
+
accentForeground: '#FFFFFF',
|
|
4
|
+
bg: '#F8FAFC',
|
|
5
|
+
foreground: '#01161E',
|
|
6
|
+
muted: '#9F9AA4',
|
|
7
|
+
border: '#E5E7EB',
|
|
8
|
+
userBubble: '#01161E',
|
|
9
|
+
userForeground: '#F8FAFC',
|
|
10
|
+
error: '#DC2626',
|
|
11
|
+
radius: 12,
|
|
12
|
+
font: "'IBM Plex Sans', sans-serif",
|
|
13
|
+
fontMono: "'IBM Plex Mono', monospace",
|
|
14
|
+
surface: 'rgba(0,0,0,0.02)',
|
|
15
|
+
surfaceHover: 'rgba(0,0,0,0.05)',
|
|
16
|
+
};
|
|
17
|
+
export function generateThemeCSS(theme) {
|
|
18
|
+
const t = { ...THEME_DEFAULTS, ...theme };
|
|
19
|
+
return `[data-talk2view] {
|
|
20
|
+
--t2v-accent: ${t.accent};
|
|
21
|
+
--t2v-accent-foreground: ${t.accentForeground};
|
|
22
|
+
--t2v-bg: ${t.bg};
|
|
23
|
+
--t2v-foreground: ${t.foreground};
|
|
24
|
+
--t2v-muted: ${t.muted};
|
|
25
|
+
--t2v-border: ${t.border};
|
|
26
|
+
--t2v-user-bubble: ${t.userBubble};
|
|
27
|
+
--t2v-user-foreground: ${t.userForeground};
|
|
28
|
+
--t2v-error: ${t.error};
|
|
29
|
+
--t2v-radius: ${t.radius}px;
|
|
30
|
+
--t2v-font: ${t.font};
|
|
31
|
+
--t2v-font-mono: ${t.fontMono};
|
|
32
|
+
--t2v-surface: ${t.surface};
|
|
33
|
+
--t2v-surface-hover: ${t.surfaceHover};
|
|
34
|
+
}`;
|
|
35
|
+
}
|
|
36
|
+
export function injectTheme(theme) {
|
|
37
|
+
if (typeof document === 'undefined')
|
|
38
|
+
return;
|
|
39
|
+
const id = 't2v-theme';
|
|
40
|
+
let el = document.getElementById(id);
|
|
41
|
+
if (!el) {
|
|
42
|
+
el = document.createElement('style');
|
|
43
|
+
el.id = id;
|
|
44
|
+
document.head.appendChild(el);
|
|
45
|
+
}
|
|
46
|
+
el.textContent = generateThemeCSS(theme);
|
|
47
|
+
}
|
|
48
|
+
let fontsInjected = false;
|
|
49
|
+
export function injectFonts() {
|
|
50
|
+
if (fontsInjected || typeof document === 'undefined')
|
|
51
|
+
return;
|
|
52
|
+
const id = 't2v-fonts';
|
|
53
|
+
if (document.getElementById(id)) {
|
|
54
|
+
fontsInjected = true;
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
const link = document.createElement('link');
|
|
58
|
+
link.id = id;
|
|
59
|
+
link.rel = 'stylesheet';
|
|
60
|
+
link.href = 'https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500&display=swap';
|
|
61
|
+
document.head.appendChild(link);
|
|
62
|
+
fontsInjected = true;
|
|
63
|
+
}
|
|
64
|
+
const ASSETS_BASE = 'https://db.talk2view.com/storage/v1/object/public/resources';
|
|
65
|
+
export const LOGOS = {
|
|
66
|
+
icon: `${ASSETS_BASE}/talk2view_logo.png`,
|
|
67
|
+
horizontalDark: `${ASSETS_BASE}/talk2view_horizontal_dark.png`,
|
|
68
|
+
horizontalLight: `${ASSETS_BASE}/talk2view_horizontal_light.png`,
|
|
69
|
+
};
|
|
70
|
+
//# sourceMappingURL=theme.js.map
|
|
@@ -0,0 +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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@talk2view/sdk",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.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",
|
|
@@ -20,11 +20,6 @@
|
|
|
20
20
|
"types": "./dist/ui/index.d.ts",
|
|
21
21
|
"import": "./dist/ui/index.js",
|
|
22
22
|
"default": "./dist/ui/index.js"
|
|
23
|
-
},
|
|
24
|
-
"./assistant-ui": {
|
|
25
|
-
"types": "./dist/ui/index.d.ts",
|
|
26
|
-
"import": "./dist/ui/index.js",
|
|
27
|
-
"default": "./dist/ui/index.js"
|
|
28
23
|
}
|
|
29
24
|
},
|
|
30
25
|
"files": [
|
|
@@ -42,12 +37,10 @@
|
|
|
42
37
|
"prepublishOnly": "npm run build"
|
|
43
38
|
},
|
|
44
39
|
"dependencies": {
|
|
45
|
-
"@assistant-ui/react": "^0.12.19",
|
|
46
|
-
"@assistant-ui/react-markdown": "^0.12.6",
|
|
47
|
-
"@assistant-ui/react-ui": "^0.2.1",
|
|
48
40
|
"dompurify": "^3.2.0",
|
|
41
|
+
"lucide-react": "^1.8.0",
|
|
49
42
|
"marked": "^15.0.0",
|
|
50
|
-
"
|
|
43
|
+
"shiki": "^4.0.2"
|
|
51
44
|
},
|
|
52
45
|
"devDependencies": {
|
|
53
46
|
"@playwright/test": "^1.58.2",
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* LoginModal — pre-built login/signup form.
|
|
3
|
-
*/
|
|
4
|
-
export interface LoginModalProps {
|
|
5
|
-
signupUrl?: string;
|
|
6
|
-
className?: string;
|
|
7
|
-
onSuccess?: () => void;
|
|
8
|
-
}
|
|
9
|
-
export declare function LoginModal({ signupUrl, className, onSuccess, }: LoginModalProps): import("react/jsx-runtime").JSX.Element | null;
|
|
10
|
-
//# sourceMappingURL=LoginModal.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LoginModal.d.ts","sourceRoot":"","sources":["../../../src/ui/components/LoginModal.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAMH,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,wBAAgB,UAAU,CAAC,EACzB,SAA2C,EAC3C,SAAc,EACd,SAAS,GACV,EAAE,eAAe,kDA2OjB"}
|
|
@@ -1,138 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
/**
|
|
3
|
-
* LoginModal — pre-built login/signup form.
|
|
4
|
-
*/
|
|
5
|
-
import React, { useCallback, useState } from 'react';
|
|
6
|
-
import { useT2VAuth } from '../../react/useT2VAuth';
|
|
7
|
-
import { T2V_ALPHA, T2V_COLORS, T2V_FONTS, T2VLogo, injectT2VFonts, injectT2VStyles } from '../../react/theme';
|
|
8
|
-
export function LoginModal({ signupUrl = 'https://talk2view.com/sign-up', className = '', onSuccess, }) {
|
|
9
|
-
const { login, isLoading, error, clearError, isAuthenticated } = useT2VAuth();
|
|
10
|
-
const [email, setEmail] = useState('');
|
|
11
|
-
const [password, setPassword] = useState('');
|
|
12
|
-
const [emailFocused, setEmailFocused] = useState(false);
|
|
13
|
-
const [passwordFocused, setPasswordFocused] = useState(false);
|
|
14
|
-
const [btnHover, setBtnHover] = useState(false);
|
|
15
|
-
const [linkHover, setLinkHover] = useState(false);
|
|
16
|
-
// Inject fonts and keyframes (idempotent)
|
|
17
|
-
React.useEffect(() => {
|
|
18
|
-
injectT2VFonts();
|
|
19
|
-
injectT2VStyles();
|
|
20
|
-
}, []);
|
|
21
|
-
const handleSubmit = useCallback(async (e) => {
|
|
22
|
-
e.preventDefault();
|
|
23
|
-
try {
|
|
24
|
-
await login(email, password);
|
|
25
|
-
onSuccess?.();
|
|
26
|
-
}
|
|
27
|
-
catch {
|
|
28
|
-
// Error is set by useT2VAuth
|
|
29
|
-
}
|
|
30
|
-
}, [email, password, login, onSuccess]);
|
|
31
|
-
if (isAuthenticated)
|
|
32
|
-
return null;
|
|
33
|
-
const inputStyle = (focused) => ({
|
|
34
|
-
width: '100%',
|
|
35
|
-
padding: '10px 12px',
|
|
36
|
-
borderRadius: '8px',
|
|
37
|
-
border: `1.5px solid ${focused ? T2V_COLORS.turquoise : T2V_COLORS.lightGray}`,
|
|
38
|
-
fontSize: '14px',
|
|
39
|
-
fontFamily: T2V_FONTS.body,
|
|
40
|
-
outline: 'none',
|
|
41
|
-
boxSizing: 'border-box',
|
|
42
|
-
color: T2V_COLORS.dark,
|
|
43
|
-
backgroundColor: '#ffffff',
|
|
44
|
-
boxShadow: focused ? `0 0 0 3px ${T2V_ALPHA.turquoise15}` : 'none',
|
|
45
|
-
transition: 'border-color 0.15s ease, box-shadow 0.15s ease',
|
|
46
|
-
});
|
|
47
|
-
return (_jsxs("div", { className: `t2v-login-modal ${className}`, style: {
|
|
48
|
-
display: 'flex',
|
|
49
|
-
flexDirection: 'column',
|
|
50
|
-
alignItems: 'center',
|
|
51
|
-
justifyContent: 'center',
|
|
52
|
-
flex: 1,
|
|
53
|
-
minHeight: 0,
|
|
54
|
-
padding: '40px 22px',
|
|
55
|
-
width: '100%',
|
|
56
|
-
maxWidth: '340px',
|
|
57
|
-
margin: '0 auto',
|
|
58
|
-
fontFamily: T2V_FONTS.body,
|
|
59
|
-
}, children: [_jsx(T2VLogo, { size: 64 }), _jsx("h2", { style: {
|
|
60
|
-
fontSize: '22px',
|
|
61
|
-
fontWeight: 600,
|
|
62
|
-
fontFamily: T2V_FONTS.heading,
|
|
63
|
-
marginTop: '16px',
|
|
64
|
-
marginBottom: '4px',
|
|
65
|
-
color: T2V_COLORS.dark,
|
|
66
|
-
}, children: "Welcome" }), _jsx("p", { style: {
|
|
67
|
-
fontSize: '14px',
|
|
68
|
-
color: T2V_COLORS.midGray,
|
|
69
|
-
fontFamily: T2V_FONTS.heading,
|
|
70
|
-
marginTop: '0',
|
|
71
|
-
marginBottom: '28px',
|
|
72
|
-
}, children: "Sign in to Talk2View" }), _jsxs("form", { onSubmit: handleSubmit, style: { width: '100%' }, children: [_jsxs("div", { style: { marginBottom: '16px' }, children: [_jsx("label", { htmlFor: "t2v-email", style: {
|
|
73
|
-
display: 'block',
|
|
74
|
-
fontSize: '13px',
|
|
75
|
-
fontWeight: 500,
|
|
76
|
-
fontFamily: T2V_FONTS.heading,
|
|
77
|
-
marginBottom: '6px',
|
|
78
|
-
color: T2V_COLORS.dark,
|
|
79
|
-
}, children: "Email" }), _jsx("input", { id: "t2v-email", type: "email", value: email, onChange: (e) => { setEmail(e.target.value); clearError(); }, onFocus: () => setEmailFocused(true), onBlur: () => setEmailFocused(false), placeholder: "you@example.com", required: true, disabled: isLoading, style: inputStyle(emailFocused) })] }), _jsxs("div", { style: { marginBottom: '24px' }, children: [_jsx("label", { htmlFor: "t2v-password", style: {
|
|
80
|
-
display: 'block',
|
|
81
|
-
fontSize: '13px',
|
|
82
|
-
fontWeight: 500,
|
|
83
|
-
fontFamily: T2V_FONTS.heading,
|
|
84
|
-
marginBottom: '6px',
|
|
85
|
-
color: T2V_COLORS.dark,
|
|
86
|
-
}, children: "Password" }), _jsx("input", { id: "t2v-password", type: "password", value: password, onChange: (e) => { setPassword(e.target.value); clearError(); }, onFocus: () => setPasswordFocused(true), onBlur: () => setPasswordFocused(false), placeholder: "Password", required: true, disabled: isLoading, style: inputStyle(passwordFocused) })] }), error && (_jsx("div", { style: {
|
|
87
|
-
padding: '10px 12px',
|
|
88
|
-
borderRadius: '8px',
|
|
89
|
-
backgroundColor: T2V_COLORS.errorBg,
|
|
90
|
-
color: T2V_COLORS.errorRed,
|
|
91
|
-
fontSize: '13px',
|
|
92
|
-
fontFamily: T2V_FONTS.heading,
|
|
93
|
-
marginBottom: '16px',
|
|
94
|
-
borderLeft: `3px solid ${T2V_COLORS.errorRed}`,
|
|
95
|
-
}, children: error })), _jsxs("button", { type: "submit", disabled: isLoading, onMouseEnter: () => setBtnHover(true), onMouseLeave: () => setBtnHover(false), style: {
|
|
96
|
-
width: '100%',
|
|
97
|
-
padding: '11px',
|
|
98
|
-
borderRadius: '8px',
|
|
99
|
-
border: 'none',
|
|
100
|
-
backgroundColor: isLoading
|
|
101
|
-
? T2V_COLORS.lightGray
|
|
102
|
-
: btnHover
|
|
103
|
-
? T2V_COLORS.stormyTeal
|
|
104
|
-
: T2V_COLORS.accent,
|
|
105
|
-
color: isLoading ? T2V_COLORS.midGray : '#ffffff',
|
|
106
|
-
fontSize: '15px',
|
|
107
|
-
fontWeight: 600,
|
|
108
|
-
fontFamily: T2V_FONTS.heading,
|
|
109
|
-
cursor: isLoading ? 'not-allowed' : 'pointer',
|
|
110
|
-
transition: 'background-color 0.15s ease, transform 0.15s ease',
|
|
111
|
-
transform: !isLoading && btnHover ? 'translateY(-1px)' : 'none',
|
|
112
|
-
display: 'flex',
|
|
113
|
-
alignItems: 'center',
|
|
114
|
-
justifyContent: 'center',
|
|
115
|
-
gap: '8px',
|
|
116
|
-
}, children: [isLoading && (_jsx("span", { style: {
|
|
117
|
-
display: 'inline-block',
|
|
118
|
-
width: '16px',
|
|
119
|
-
height: '16px',
|
|
120
|
-
border: `2px solid ${T2V_COLORS.midGray}`,
|
|
121
|
-
borderTopColor: 'transparent',
|
|
122
|
-
borderRadius: '50%',
|
|
123
|
-
animation: 't2v-spin 0.6s linear infinite',
|
|
124
|
-
} })), isLoading ? 'Signing in…' : 'Sign in'] })] }), _jsxs("p", { style: {
|
|
125
|
-
marginTop: '20px',
|
|
126
|
-
fontSize: '13px',
|
|
127
|
-
fontFamily: T2V_FONTS.heading,
|
|
128
|
-
color: T2V_COLORS.midGray,
|
|
129
|
-
}, children: ["Don't have an account?", ' ', _jsx("a", { href: signupUrl, ...(typeof window !== 'undefined' && new URL(signupUrl, window.location.origin).origin !== window.location.origin
|
|
130
|
-
? { target: '_blank', rel: 'noopener noreferrer' }
|
|
131
|
-
: {}), onMouseEnter: () => setLinkHover(true), onMouseLeave: () => setLinkHover(false), style: {
|
|
132
|
-
color: linkHover ? T2V_COLORS.stormyTeal : T2V_COLORS.turquoise,
|
|
133
|
-
fontWeight: 500,
|
|
134
|
-
textDecoration: linkHover ? 'underline' : 'none',
|
|
135
|
-
transition: 'color 0.15s ease',
|
|
136
|
-
}, children: "Sign up" })] })] }));
|
|
137
|
-
}
|
|
138
|
-
//# sourceMappingURL=LoginModal.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LoginModal.js","sourceRoot":"","sources":["../../../src/ui/components/LoginModal.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* SettingsView — full-panel settings page for user preferences.
|
|
3
|
-
*/
|
|
4
|
-
export interface SettingsViewProps {
|
|
5
|
-
onBack: () => void;
|
|
6
|
-
onModelChange?: (model: string) => void;
|
|
7
|
-
/** Hide the built-in header (use when embedding in a container with its own header). */
|
|
8
|
-
hideHeader?: boolean;
|
|
9
|
-
}
|
|
10
|
-
export declare function SettingsView({ onBack, onModelChange, hideHeader }: SettingsViewProps): import("react/jsx-runtime").JSX.Element;
|
|
11
|
-
//# sourceMappingURL=SettingsView.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SettingsView.d.ts","sourceRoot":"","sources":["../../../src/ui/components/SettingsView.tsx"],"names":[],"mappings":"AAAA;;GAEG;AASH,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,wFAAwF;IACxF,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAuDD,wBAAgB,YAAY,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,EAAE,iBAAiB,2CA0PpF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SettingsView.js","sourceRoot":"","sources":["../../../src/ui/components/SettingsView.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* T2VAssistantModal — Floating chat widget using assistant-ui's AssistantModal.
|
|
3
|
-
*
|
|
4
|
-
* Renders a fixed-position trigger button (bottom-right by default) with the
|
|
5
|
-
* Talk2View logo that opens a chat popover. Includes a header with a
|
|
6
|
-
* settings/sign-out dropdown.
|
|
7
|
-
*
|
|
8
|
-
* All styling is self-contained — no CSS overrides needed in the consumer app.
|
|
9
|
-
*
|
|
10
|
-
* Must be used inside T2VAssistantProvider.
|
|
11
|
-
*
|
|
12
|
-
* @example
|
|
13
|
-
* ```tsx
|
|
14
|
-
* <T2VAssistantProvider partnerKey="pk_live_abc">
|
|
15
|
-
* <MyExistingApp />
|
|
16
|
-
* <T2VAssistantModal />
|
|
17
|
-
* </T2VAssistantProvider>
|
|
18
|
-
* ```
|
|
19
|
-
*/
|
|
20
|
-
import React from 'react';
|
|
21
|
-
export interface T2VAssistantModalProps {
|
|
22
|
-
/** Welcome message shown before the first user message. */
|
|
23
|
-
welcomeMessage?: string;
|
|
24
|
-
/** Clickable suggestion prompts shown below the welcome message. */
|
|
25
|
-
suggestions?: {
|
|
26
|
-
prompt: string;
|
|
27
|
-
text?: React.ReactNode;
|
|
28
|
-
}[];
|
|
29
|
-
}
|
|
30
|
-
export declare function T2VAssistantModal({ welcomeMessage, suggestions }: T2VAssistantModalProps): import("react/jsx-runtime").JSX.Element;
|
|
31
|
-
//# sourceMappingURL=T2VAssistantModal.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"T2VAssistantModal.d.ts","sourceRoot":"","sources":["../../../src/ui/components/T2VAssistantModal.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAmB,MAAM,OAAO,CAAC;AAgGxC,MAAM,WAAW,sBAAsB;IACrC,2DAA2D;IAC3D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oEAAoE;IACpE,WAAW,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;KAAE,EAAE,CAAC;CAC5D;AAED,wBAAgB,iBAAiB,CAAC,EAAE,cAAc,EAAE,WAAW,EAAE,EAAE,sBAAsB,2CAkGxF"}
|
|
@@ -1,151 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
/**
|
|
3
|
-
* T2VAssistantModal — Floating chat widget using assistant-ui's AssistantModal.
|
|
4
|
-
*
|
|
5
|
-
* Renders a fixed-position trigger button (bottom-right by default) with the
|
|
6
|
-
* Talk2View logo that opens a chat popover. Includes a header with a
|
|
7
|
-
* settings/sign-out dropdown.
|
|
8
|
-
*
|
|
9
|
-
* All styling is self-contained — no CSS overrides needed in the consumer app.
|
|
10
|
-
*
|
|
11
|
-
* Must be used inside T2VAssistantProvider.
|
|
12
|
-
*
|
|
13
|
-
* @example
|
|
14
|
-
* ```tsx
|
|
15
|
-
* <T2VAssistantProvider partnerKey="pk_live_abc">
|
|
16
|
-
* <MyExistingApp />
|
|
17
|
-
* <T2VAssistantModal />
|
|
18
|
-
* </T2VAssistantProvider>
|
|
19
|
-
* ```
|
|
20
|
-
*/
|
|
21
|
-
import React, { useState } from 'react';
|
|
22
|
-
import { AssistantModal, Thread } from '@assistant-ui/react-ui';
|
|
23
|
-
import { MarkdownTextPrimitive } from '@assistant-ui/react-markdown';
|
|
24
|
-
import remarkGfm from 'remark-gfm';
|
|
25
|
-
import { T2VToolFallback } from './T2VToolFallback';
|
|
26
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
27
|
-
const MarkdownText = () => _jsx(MarkdownTextPrimitive, { remarkPlugins: [remarkGfm], smooth: true });
|
|
28
|
-
import { T2VComposer } from './T2VComposer';
|
|
29
|
-
import { T2V_LOGOS } from '../../react/theme';
|
|
30
|
-
import { T2VChatHeader } from './T2VChatHeader';
|
|
31
|
-
import { SettingsView } from './SettingsView';
|
|
32
|
-
import { LoginModal } from './LoginModal';
|
|
33
|
-
import { useT2VAuth } from '../../react/useT2VAuth';
|
|
34
|
-
import { useT2V } from '../../react/T2VProvider';
|
|
35
|
-
import { useUserPreferences } from '../../react/useUserPreferences';
|
|
36
|
-
import { useT2VChatActions } from './T2VAssistantProvider';
|
|
37
|
-
const FONT_SCALE = {
|
|
38
|
-
small: 0.875,
|
|
39
|
-
medium: 1,
|
|
40
|
-
large: 1.125,
|
|
41
|
-
};
|
|
42
|
-
/* ── Inject modal-specific CSS (idempotent) ─────────────────── */
|
|
43
|
-
let modalStylesInjected = false;
|
|
44
|
-
function injectModalStyles() {
|
|
45
|
-
if (modalStylesInjected)
|
|
46
|
-
return;
|
|
47
|
-
if (typeof document === 'undefined')
|
|
48
|
-
return;
|
|
49
|
-
const id = 't2v-modal-styles';
|
|
50
|
-
if (document.getElementById(id)) {
|
|
51
|
-
modalStylesInjected = true;
|
|
52
|
-
return;
|
|
53
|
-
}
|
|
54
|
-
const style = document.createElement('style');
|
|
55
|
-
style.id = id;
|
|
56
|
-
style.textContent = `
|
|
57
|
-
/* T2V modal button — responsive, branded */
|
|
58
|
-
.aui-modal-anchor {
|
|
59
|
-
width: clamp(3.5rem, 5vw, 5rem);
|
|
60
|
-
height: clamp(3.5rem, 5vw, 5rem);
|
|
61
|
-
}
|
|
62
|
-
.aui-modal-button[data-state="closed"] {
|
|
63
|
-
background: transparent !important;
|
|
64
|
-
box-shadow: none !important;
|
|
65
|
-
}
|
|
66
|
-
.aui-modal-button[data-state="open"] {
|
|
67
|
-
background: hsl(var(--aui-primary, 0 0% 9.4%)) !important;
|
|
68
|
-
color: hsl(var(--aui-primary-foreground, 0 0% 98%));
|
|
69
|
-
}
|
|
70
|
-
/* Logo/chevron toggle */
|
|
71
|
-
.aui-modal-button[data-state="closed"] .t2v-modal-logo {
|
|
72
|
-
transform: scale(1) rotate(0deg);
|
|
73
|
-
}
|
|
74
|
-
.aui-modal-button[data-state="open"] .t2v-modal-logo {
|
|
75
|
-
transform: scale(0) rotate(90deg);
|
|
76
|
-
}
|
|
77
|
-
.aui-modal-button[data-state="closed"] .t2v-modal-chevron {
|
|
78
|
-
transform: scale(0) rotate(-90deg);
|
|
79
|
-
}
|
|
80
|
-
.aui-modal-button[data-state="open"] .t2v-modal-chevron {
|
|
81
|
-
transform: scale(1) rotate(0deg);
|
|
82
|
-
}
|
|
83
|
-
/* Chat popover size */
|
|
84
|
-
.aui-modal-content {
|
|
85
|
-
height: 70vh;
|
|
86
|
-
width: 400px;
|
|
87
|
-
}
|
|
88
|
-
/* Welcome suggestions — stacked vertically, don't affect logo centering */
|
|
89
|
-
.aui-thread-welcome-suggestions {
|
|
90
|
-
flex-direction: column;
|
|
91
|
-
align-items: center;
|
|
92
|
-
gap: 0.5rem;
|
|
93
|
-
}
|
|
94
|
-
/* Streaming indicator — only shows while waiting for first text, not during streaming */
|
|
95
|
-
.aui-assistant-message-content > [data-status="running"]:empty::after {
|
|
96
|
-
animation: aui-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
|
|
97
|
-
content: '\\25CF';
|
|
98
|
-
margin-left: 0.25rem;
|
|
99
|
-
}
|
|
100
|
-
/* Prevent host app focus styles from leaking into the chat UI */
|
|
101
|
-
.aui-root *:focus-visible,
|
|
102
|
-
.aui-modal-content *:focus-visible {
|
|
103
|
-
outline: none !important;
|
|
104
|
-
}
|
|
105
|
-
`;
|
|
106
|
-
document.head.appendChild(style);
|
|
107
|
-
modalStylesInjected = true;
|
|
108
|
-
}
|
|
109
|
-
export function T2VAssistantModal({ welcomeMessage, suggestions }) {
|
|
110
|
-
const [view, setView] = useState('chat');
|
|
111
|
-
const { isAuthenticated } = useT2V();
|
|
112
|
-
const { logout } = useT2VAuth();
|
|
113
|
-
const { clearMessages } = useT2VChatActions();
|
|
114
|
-
const { preferences } = useUserPreferences();
|
|
115
|
-
const fontSize = FONT_SCALE[preferences.fontSize || 'medium'] ?? 1;
|
|
116
|
-
// Inject modal CSS on mount (idempotent)
|
|
117
|
-
React.useEffect(() => {
|
|
118
|
-
injectModalStyles();
|
|
119
|
-
}, []);
|
|
120
|
-
// Reset to chat view when auth state changes (e.g. after logout)
|
|
121
|
-
React.useEffect(() => {
|
|
122
|
-
if (!isAuthenticated)
|
|
123
|
-
setView('chat');
|
|
124
|
-
}, [isAuthenticated]);
|
|
125
|
-
return (_jsxs(AssistantModal.Root, { children: [_jsxs(AssistantModal.Trigger, { children: [_jsx("img", { src: T2V_LOGOS.icon, alt: "Talk2View", className: "t2v-modal-logo", style: {
|
|
126
|
-
position: 'absolute',
|
|
127
|
-
width: '85%',
|
|
128
|
-
height: '85%',
|
|
129
|
-
objectFit: 'contain',
|
|
130
|
-
transition: 'all 150ms ease',
|
|
131
|
-
} }), _jsx("svg", { className: "t2v-modal-chevron", xmlns: "http://www.w3.org/2000/svg", width: 24, height: 24, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round", style: {
|
|
132
|
-
position: 'absolute',
|
|
133
|
-
width: '1.5rem',
|
|
134
|
-
height: '1.5rem',
|
|
135
|
-
transition: 'all 150ms ease',
|
|
136
|
-
}, children: _jsx("path", { d: "m6 9 6 6 6-6" }) })] }), _jsx(AssistantModal.Content, { children: isAuthenticated ? (_jsxs("div", { style: { display: 'flex', flexDirection: 'column', height: '100%', fontSize: `${fontSize}rem` }, children: [_jsx(T2VChatHeader, { view: view, onSettingsClick: () => setView('settings'), onBackClick: () => setView('chat'), onNewChat: clearMessages, onSignOut: () => { logout().catch(console.error); } }), view === 'settings' ? (_jsx("div", { style: { flex: 1, overflow: 'auto' }, children: _jsx(SettingsView, { onBack: () => setView('chat'), hideHeader: true }) })) : (_jsx(Thread, { welcome: {
|
|
137
|
-
message: welcomeMessage ?? 'How can I help you today?',
|
|
138
|
-
suggestions,
|
|
139
|
-
}, assistantMessage: {
|
|
140
|
-
components: {
|
|
141
|
-
Text: MarkdownText,
|
|
142
|
-
ToolFallback: T2VToolFallback,
|
|
143
|
-
},
|
|
144
|
-
}, assistantAvatar: {
|
|
145
|
-
src: T2V_LOGOS.icon,
|
|
146
|
-
fallback: 'T2V',
|
|
147
|
-
}, components: {
|
|
148
|
-
Composer: T2VComposer,
|
|
149
|
-
} }))] })) : (_jsx("div", { style: { display: 'flex', flexDirection: 'column', height: '100%', justifyContent: 'center' }, children: _jsx(LoginModal, {}) })) })] }));
|
|
150
|
-
}
|
|
151
|
-
//# sourceMappingURL=T2VAssistantModal.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"T2VAssistantModal.js","sourceRoot":"","sources":["../../../src/ui/components/T2VAssistantModal.tsx"],"names":[],"mappings":"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"}
|