@talk2view/sdk 0.7.1 → 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.
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +11 -6
- package/dist/auth.js.map +1 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +3 -0
- package/dist/client.js.map +1 -1
- package/dist/types.d.ts +2 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/ui/components/ApprovalCard.d.ts +9 -1
- package/dist/ui/components/ApprovalCard.d.ts.map +1 -1
- package/dist/ui/components/ApprovalCard.js +146 -40
- package/dist/ui/components/ApprovalCard.js.map +1 -1
- package/dist/ui/components/ChatHeader.d.ts +7 -2
- package/dist/ui/components/ChatHeader.d.ts.map +1 -1
- package/dist/ui/components/ChatHeader.js +12 -9
- package/dist/ui/components/ChatHeader.js.map +1 -1
- package/dist/ui/components/ChatPanel.d.ts +7 -1
- package/dist/ui/components/ChatPanel.d.ts.map +1 -1
- package/dist/ui/components/ChatPanel.js +11 -4
- package/dist/ui/components/ChatPanel.js.map +1 -1
- package/dist/ui/components/ChatWidget.d.ts.map +1 -1
- package/dist/ui/components/ChatWidget.js +32 -13
- package/dist/ui/components/ChatWidget.js.map +1 -1
- package/dist/ui/components/CodeBlock.js +1 -1
- package/dist/ui/components/CodeBlock.js.map +1 -1
- package/dist/ui/components/Composer.d.ts.map +1 -1
- package/dist/ui/components/Composer.js +52 -61
- package/dist/ui/components/Composer.js.map +1 -1
- package/dist/ui/components/LoginForm.d.ts +7 -1
- package/dist/ui/components/LoginForm.d.ts.map +1 -1
- package/dist/ui/components/LoginForm.js +4 -4
- package/dist/ui/components/LoginForm.js.map +1 -1
- package/dist/ui/components/MessageBubble.d.ts +5 -5
- package/dist/ui/components/MessageBubble.d.ts.map +1 -1
- package/dist/ui/components/MessageBubble.js +9 -17
- package/dist/ui/components/MessageBubble.js.map +1 -1
- package/dist/ui/components/MessageList.d.ts.map +1 -1
- package/dist/ui/components/MessageList.js +4 -4
- package/dist/ui/components/MessageList.js.map +1 -1
- package/dist/ui/components/ThinkingBlock.js +1 -1
- package/dist/ui/components/ThinkingBlock.js.map +1 -1
- package/dist/ui/components/WelcomeScreen.js +1 -1
- package/dist/ui/components/WelcomeScreen.js.map +1 -1
- package/dist/ui/styles.d.ts.map +1 -1
- package/dist/ui/styles.js +10 -2
- package/dist/ui/styles.js.map +1 -1
- package/dist/ui/theme.d.ts.map +1 -1
- package/dist/ui/theme.js +13 -4
- package/dist/ui/theme.js.map +1 -1
- package/dist/ui/useSmoothText.d.ts +8 -0
- package/dist/ui/useSmoothText.d.ts.map +1 -0
- package/dist/ui/useSmoothText.js +55 -0
- package/dist/ui/useSmoothText.js.map +1 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatPanel.d.ts","sourceRoot":"","sources":["../../../src/ui/components/ChatPanel.tsx"],"names":[],"mappings":"AAcA,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+EAA+E;IAC/E,cAAc,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"ChatPanel.d.ts","sourceRoot":"","sources":["../../../src/ui/components/ChatPanel.tsx"],"names":[],"mappings":"AAcA,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+EAA+E;IAC/E,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;yCACqC;IACrC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;mDAC+C;IAC/C,mBAAmB,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;CAC1C;AAED,wBAAgB,SAAS,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,cAAqB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,EAAE,cAAc,2CAqG7H"}
|
|
@@ -11,8 +11,8 @@ import { SettingsPanel } from './SettingsPanel';
|
|
|
11
11
|
import { useUserPreferences } from '../../react/useUserPreferences';
|
|
12
12
|
import { usePartnerConfig } from '../../react/usePartnerConfig';
|
|
13
13
|
const FONT_SCALE = { small: 0.75, medium: 0.875, large: 1 };
|
|
14
|
-
export function ChatPanel({ welcome, signupUrl, allowAnonymous = true }) {
|
|
15
|
-
const { isAuthenticated, demoLimitReached, t2v } = useTalk2View();
|
|
14
|
+
export function ChatPanel({ welcome, signupUrl, allowAnonymous = true, resetPasswordUrl, resetPasswordTarget }) {
|
|
15
|
+
const { isAuthenticated, isAnonymous, demoLimitReached, t2v } = useTalk2View();
|
|
16
16
|
const { messages, clearMessages, error, clearError } = useChat();
|
|
17
17
|
const { preferences } = useUserPreferences();
|
|
18
18
|
const { config: partnerConfig } = usePartnerConfig();
|
|
@@ -27,15 +27,22 @@ export function ChatPanel({ welcome, signupUrl, allowAnonymous = true }) {
|
|
|
27
27
|
const inChat = !showLoginGate;
|
|
28
28
|
useEffect(() => { if (!isAuthenticated)
|
|
29
29
|
setView('chat'); }, [isAuthenticated]);
|
|
30
|
+
// Return to chat once the visitor is actually signed in to a real account.
|
|
31
|
+
// Guard on isAuthenticated too: a logged-out visitor (post sign-out) is also
|
|
32
|
+
// !isAnonymous, and without it the login view would close the instant it opens.
|
|
33
|
+
useEffect(() => {
|
|
34
|
+
if (isAuthenticated && !isAnonymous && view === 'login')
|
|
35
|
+
setView('chat');
|
|
36
|
+
}, [isAuthenticated, isAnonymous, view]);
|
|
30
37
|
return (_jsxs("div", { style: {
|
|
31
38
|
display: 'flex', flexDirection: 'column', height: '100%',
|
|
32
39
|
background: 'var(--t2v-bg)', fontSize: `${fontSize}rem`, fontFamily: 'var(--t2v-font)',
|
|
33
|
-
}, children: [inChat && (_jsx(ChatHeader, { view: view, onSettingsClick: () => setView('settings'), onBackClick: () => setView('chat'), onNewChat: () => clearMessages(), onSignOut: () => t2v.auth.logout() })), showLoginGate ? (_jsx(LoginForm, { signupUrl: signupUrl, heading: demoLimitReached ? 'You’ve reached the demo limit' : undefined, subheading: demoLimitReached ? 'Create an account to keep chatting — your conversation is saved.' : undefined, defaultMode: demoLimitReached ? 'signup' : 'login' })) : view === 'settings' ? (_jsx("div", { style: { flex: 1, overflow: 'auto' }, children: _jsx(SettingsPanel, { hideHeader: true }) })) : messages.length === 0 ? (_jsx(WelcomeScreen, { heading: welcome?.heading, suggestions: welcome?.suggestions })) : (_jsx(MessageList, {})), inChat && view === 'chat' && error && (_jsxs("div", { role: "alert", style: {
|
|
40
|
+
}, children: [inChat && (_jsx(ChatHeader, { view: view, isAuthenticated: isAuthenticated, isAnonymous: isAnonymous, onSettingsClick: () => setView('settings'), onSignIn: () => setView('login'), onBackClick: () => setView('chat'), onNewChat: () => clearMessages(), onSignOut: () => t2v.auth.logout() })), showLoginGate ? (_jsx(LoginForm, { signupUrl: signupUrl, resetPasswordUrl: resetPasswordUrl, resetPasswordTarget: resetPasswordTarget, heading: demoLimitReached ? 'You’ve reached the demo limit' : undefined, subheading: demoLimitReached ? 'Create an account to keep chatting — your conversation is saved.' : undefined, defaultMode: demoLimitReached ? 'signup' : 'login' })) : view === 'settings' ? (_jsx("div", { style: { flex: 1, overflow: 'auto' }, children: _jsx(SettingsPanel, { hideHeader: true }) })) : view === 'login' ? (_jsx(LoginForm, { signupUrl: signupUrl, defaultMode: "login", resetPasswordUrl: resetPasswordUrl, resetPasswordTarget: resetPasswordTarget })) : messages.length === 0 ? (_jsx(WelcomeScreen, { heading: welcome?.heading, suggestions: welcome?.suggestions })) : (_jsx(MessageList, {})), inChat && view === 'chat' && error && (_jsxs("div", { role: "alert", style: {
|
|
34
41
|
display: 'flex', alignItems: 'flex-start', gap: '8px',
|
|
35
42
|
margin: '0 12px 8px', padding: '8px 12px',
|
|
36
43
|
background: 'rgba(220,38,38,0.06)',
|
|
37
44
|
border: '1px solid rgba(220,38,38,0.15)',
|
|
38
|
-
borderRadius: '
|
|
45
|
+
borderRadius: 'var(--t2v-radius-sm)',
|
|
39
46
|
fontSize: '12px',
|
|
40
47
|
color: 'var(--t2v-error)',
|
|
41
48
|
fontFamily: 'var(--t2v-font)',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatPanel.js","sourceRoot":"","sources":["../../../src/ui/components/ChatPanel.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE,MAAM,UAAU,GAA2B,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"ChatPanel.js","sourceRoot":"","sources":["../../../src/ui/components/ChatPanel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatWidget.d.ts","sourceRoot":"","sources":["../../../src/ui/components/ChatWidget.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAG7D,MAAM,WAAW,eAAgB,SAAQ,cAAc;CAAG;AAE1D,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"ChatWidget.d.ts","sourceRoot":"","sources":["../../../src/ui/components/ChatWidget.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAG7D,MAAM,WAAW,eAAgB,SAAQ,cAAc;CAAG;AAE1D,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,2CAkEhD"}
|
|
@@ -1,27 +1,46 @@
|
|
|
1
|
-
import { jsx as _jsx,
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { useState } from 'react';
|
|
3
|
-
import {
|
|
3
|
+
import { ChevronDown } from 'lucide-react';
|
|
4
4
|
import { ChatPanel } from './ChatPanel';
|
|
5
5
|
import { LOGOS } from '../theme';
|
|
6
6
|
export function ChatWidget(props) {
|
|
7
7
|
const [open, setOpen] = useState(false);
|
|
8
8
|
return (_jsxs(_Fragment, { children: [open && (_jsx("div", { style: {
|
|
9
|
-
position: 'fixed',
|
|
9
|
+
position: 'fixed',
|
|
10
|
+
bottom: 'clamp(84px, 5vw + 64px, 116px)',
|
|
10
11
|
right: 'clamp(16px, 3vw, 24px)',
|
|
11
12
|
width: 'min(400px, calc(100vw - 32px))',
|
|
12
|
-
height: '
|
|
13
|
-
|
|
13
|
+
height: '70vh',
|
|
14
|
+
maxHeight: 'calc(100vh - 132px)',
|
|
15
|
+
borderRadius: 'var(--t2v-radius-lg)',
|
|
14
16
|
border: '1px solid var(--t2v-border)',
|
|
15
|
-
boxShadow: '0 8px 32px rgba(
|
|
17
|
+
boxShadow: '0 8px 32px rgba(1,22,30,0.14)',
|
|
16
18
|
overflow: 'hidden', zIndex: 999998,
|
|
17
19
|
animation: 't2v-fade-in 0.2s ease-out', background: 'var(--t2v-bg)',
|
|
18
|
-
}, children: _jsx(ChatPanel, { ...props }) })),
|
|
19
|
-
position: 'fixed',
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
}, children: _jsx(ChatPanel, { ...props }) })), _jsxs("button", { onClick: () => setOpen(!open), "aria-label": open ? 'Close chat' : 'Open chat', style: {
|
|
21
|
+
position: 'fixed',
|
|
22
|
+
bottom: 'clamp(16px, 3vw, 24px)',
|
|
23
|
+
right: 'clamp(16px, 3vw, 24px)',
|
|
24
|
+
width: 'clamp(3.5rem, 5vw, 5rem)',
|
|
25
|
+
height: 'clamp(3.5rem, 5vw, 5rem)',
|
|
26
|
+
borderRadius: '50%',
|
|
27
|
+
border: 'none',
|
|
28
|
+
cursor: 'pointer',
|
|
29
|
+
background: open ? 'var(--t2v-foreground)' : 'transparent',
|
|
30
|
+
color: open ? '#fff' : 'var(--t2v-foreground)',
|
|
31
|
+
boxShadow: open ? '0 4px 16px rgba(1,22,30,0.18)' : 'none',
|
|
22
32
|
display: 'flex', alignItems: 'center', justifyContent: 'center',
|
|
23
|
-
|
|
24
|
-
transition: '
|
|
25
|
-
}, children:
|
|
33
|
+
zIndex: 999999,
|
|
34
|
+
transition: 'background 0.2s ease, box-shadow 0.2s ease',
|
|
35
|
+
}, children: [_jsx("img", { src: LOGOS.icon, alt: "Talk2View", className: "t2v-modal-logo", style: {
|
|
36
|
+
position: 'absolute',
|
|
37
|
+
width: '85%', height: '85%', objectFit: 'contain',
|
|
38
|
+
transform: open ? 'scale(0) rotate(90deg)' : 'scale(1) rotate(0deg)',
|
|
39
|
+
transition: 'transform 150ms ease',
|
|
40
|
+
} }), _jsx(ChevronDown, { size: 24, className: "t2v-modal-chevron", style: {
|
|
41
|
+
position: 'absolute',
|
|
42
|
+
transform: open ? 'scale(1) rotate(0deg)' : 'scale(0) rotate(-90deg)',
|
|
43
|
+
transition: 'transform 150ms ease',
|
|
44
|
+
} })] })] }));
|
|
26
45
|
}
|
|
27
46
|
//# sourceMappingURL=ChatWidget.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatWidget.js","sourceRoot":"","sources":["../../../src/ui/components/ChatWidget.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"ChatWidget.js","sourceRoot":"","sources":["../../../src/ui/components/ChatWidget.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAuB,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAIjC,MAAM,UAAU,UAAU,CAAC,KAAsB;IAC/C,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxC,OAAO,CACL,8BACG,IAAI,IAAI,CACP,cAAK,KAAK,EAAE;oBACV,QAAQ,EAAE,OAAO;oBACjB,MAAM,EAAE,gCAAgC;oBACxC,KAAK,EAAE,wBAAwB;oBAC/B,KAAK,EAAE,gCAAgC;oBACvC,MAAM,EAAE,MAAM;oBACd,SAAS,EAAE,qBAAqB;oBAChC,YAAY,EAAE,sBAAsB;oBACpC,MAAM,EAAE,6BAA6B;oBACrC,SAAS,EAAE,+BAA+B;oBAC1C,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM;oBAClC,SAAS,EAAE,2BAA2B,EAAE,UAAU,EAAE,eAAe;iBACpE,YACC,KAAC,SAAS,OAAK,KAAK,GAAI,GACpB,CACP,EAGD,kBACE,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,gBACjB,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,EAC7C,KAAK,EAAE;oBACL,QAAQ,EAAE,OAAO;oBACjB,MAAM,EAAE,wBAAwB;oBAChC,KAAK,EAAE,wBAAwB;oBAC/B,KAAK,EAAE,0BAA0B;oBACjC,MAAM,EAAE,0BAA0B;oBAClC,YAAY,EAAE,KAAK;oBACnB,MAAM,EAAE,MAAM;oBACd,MAAM,EAAE,SAAS;oBACjB,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,aAAa;oBAC1D,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,uBAAuB;oBAC9C,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,MAAM;oBAC1D,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ;oBAC/D,MAAM,EAAE,MAAM;oBACd,UAAU,EAAE,4CAA4C;iBACzD,aAED,cACE,GAAG,EAAE,KAAK,CAAC,IAAI,EACf,GAAG,EAAC,WAAW,EACf,SAAS,EAAC,gBAAgB,EAC1B,KAAK,EAAE;4BACL,QAAQ,EAAE,UAAU;4BACpB,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS;4BACjD,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,uBAAuB;4BACpE,UAAU,EAAE,sBAAsB;yBACnC,GACD,EACF,KAAC,WAAW,IACV,IAAI,EAAE,EAAE,EACR,SAAS,EAAC,mBAAmB,EAC7B,KAAK,EAAE;4BACL,QAAQ,EAAE,UAAU;4BACpB,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,yBAAyB;4BACrE,UAAU,EAAE,sBAAsB;yBACnC,GACD,IACK,IACR,CACJ,CAAC;AACJ,CAAC"}
|
|
@@ -57,7 +57,7 @@ export function CodeBlock({ code, language }) {
|
|
|
57
57
|
});
|
|
58
58
|
};
|
|
59
59
|
return (_jsxs("div", { style: {
|
|
60
|
-
borderRadius: '
|
|
60
|
+
borderRadius: 'var(--t2v-radius-sm)',
|
|
61
61
|
border: '1px solid var(--t2v-border)',
|
|
62
62
|
overflow: 'hidden', margin: '0.5em 0', fontSize: '13px',
|
|
63
63
|
}, children: [_jsxs("div", { style: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CodeBlock.js","sourceRoot":"","sources":["../../../src/ui/components/CodeBlock.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"CodeBlock.js","sourceRoot":"","sources":["../../../src/ui/components/CodeBlock.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Composer.d.ts","sourceRoot":"","sources":["../../../src/ui/components/Composer.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AASH,wBAAgB,QAAQ,
|
|
1
|
+
{"version":3,"file":"Composer.d.ts","sourceRoot":"","sources":["../../../src/ui/components/Composer.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AASH,wBAAgB,QAAQ,4CAoMvB"}
|
|
@@ -107,66 +107,57 @@ export function Composer() {
|
|
|
107
107
|
}
|
|
108
108
|
}, [isRecording, t2v, preferences.sttModel, preferences.sttLanguage, partnerConfig?.default_stt_model]);
|
|
109
109
|
const hasText = text.trim().length > 0;
|
|
110
|
-
return (_jsxs("div", { style: {
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
? '
|
|
142
|
-
:
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
background: hasText ? 'var(--t2v-accent)' : 'transparent',
|
|
163
|
-
color: hasText ? 'var(--t2v-accent-foreground)' : 'var(--t2v-muted)',
|
|
164
|
-
cursor: hasText && !isLoading ? 'pointer' : 'default',
|
|
165
|
-
opacity: isLoading ? 0.5 : 1,
|
|
166
|
-
transition: 'background 0.15s, border 0.15s, color 0.15s, opacity 0.15s',
|
|
167
|
-
display: 'flex',
|
|
168
|
-
alignItems: 'center',
|
|
169
|
-
justifyContent: 'center',
|
|
170
|
-
}, children: _jsx(Send, { size: 16 }) })] }));
|
|
110
|
+
return (_jsx("div", { style: { padding: '10px 12px', background: 'var(--t2v-bg)', fontFamily: 'var(--t2v-font)' }, children: _jsxs("div", { className: "t2v-composer", style: {
|
|
111
|
+
display: 'flex',
|
|
112
|
+
alignItems: 'flex-end',
|
|
113
|
+
gap: '6px',
|
|
114
|
+
padding: '6px 6px 6px 12px',
|
|
115
|
+
border: '1px solid var(--t2v-border)',
|
|
116
|
+
borderRadius: 'var(--t2v-radius-lg)',
|
|
117
|
+
background: 'var(--t2v-bg)',
|
|
118
|
+
boxShadow: 'var(--t2v-shadow)',
|
|
119
|
+
}, children: [_jsx("textarea", { ref: textareaRef, value: text, onChange: (e) => setText(e.target.value), onKeyDown: handleKeyDown, disabled: isLoading, placeholder: "Type a message\u2026", rows: 1, style: {
|
|
120
|
+
flex: 1,
|
|
121
|
+
resize: 'none',
|
|
122
|
+
border: 'none',
|
|
123
|
+
outline: 'none',
|
|
124
|
+
background: 'transparent',
|
|
125
|
+
padding: '7px 0',
|
|
126
|
+
fontSize: '14px',
|
|
127
|
+
lineHeight: 1.5,
|
|
128
|
+
fontFamily: 'var(--t2v-font)',
|
|
129
|
+
color: 'var(--t2v-foreground)',
|
|
130
|
+
minHeight: '24px',
|
|
131
|
+
maxHeight: '120px',
|
|
132
|
+
overflowY: 'auto',
|
|
133
|
+
} }), _jsx("button", { type: "button", onClick: () => { handleMic().catch(console.error); }, disabled: isTranscribing, "aria-label": isTranscribing ? 'Transcribing…' : isRecording ? 'Stop recording' : 'Voice input', style: {
|
|
134
|
+
width: '32px',
|
|
135
|
+
height: '32px',
|
|
136
|
+
flexShrink: 0,
|
|
137
|
+
borderRadius: 'var(--t2v-radius-md)',
|
|
138
|
+
border: 'none',
|
|
139
|
+
background: isRecording ? 'var(--t2v-error)' : 'var(--t2v-accent)',
|
|
140
|
+
color: 'var(--t2v-accent-foreground)',
|
|
141
|
+
cursor: isTranscribing ? 'wait' : 'pointer',
|
|
142
|
+
opacity: isTranscribing ? 0.6 : 1,
|
|
143
|
+
transition: 'background 0.15s, color 0.15s, opacity 0.15s',
|
|
144
|
+
display: 'flex',
|
|
145
|
+
alignItems: 'center',
|
|
146
|
+
justifyContent: 'center',
|
|
147
|
+
}, children: isTranscribing ? _jsx(Loader2, { size: 16, style: { animation: 't2v-spin 0.8s linear infinite' } }) : isRecording ? _jsx(Square, { size: 16 }) : _jsx(Mic, { size: 16 }) }), _jsx("button", { type: "button", onClick: handleSend, disabled: isLoading || !hasText, "aria-label": "Send message", style: {
|
|
148
|
+
width: '32px',
|
|
149
|
+
height: '32px',
|
|
150
|
+
flexShrink: 0,
|
|
151
|
+
borderRadius: 'var(--t2v-radius-md)',
|
|
152
|
+
border: 'none',
|
|
153
|
+
background: hasText ? 'var(--t2v-foreground)' : 'transparent',
|
|
154
|
+
color: hasText ? '#fff' : 'var(--t2v-muted)',
|
|
155
|
+
cursor: hasText && !isLoading ? 'pointer' : 'default',
|
|
156
|
+
opacity: isLoading ? 0.5 : 1,
|
|
157
|
+
transition: 'background 0.15s, color 0.15s, opacity 0.15s',
|
|
158
|
+
display: 'flex',
|
|
159
|
+
alignItems: 'center',
|
|
160
|
+
justifyContent: 'center',
|
|
161
|
+
}, children: _jsx(Send, { size: 16 }) })] }) }));
|
|
171
162
|
}
|
|
172
163
|
//# sourceMappingURL=Composer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Composer.js","sourceRoot":"","sources":["../../../src/ui/components/Composer.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Composer.js","sourceRoot":"","sources":["../../../src/ui/components/Composer.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;AAEH,OAAc,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE,MAAM,UAAU,QAAQ;IACtB,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,OAAO,EAAE,CAAC;IAC7C,MAAM,EAAE,GAAG,EAAE,GAAG,YAAY,EAAE,CAAC;IAC/B,MAAM,EAAE,WAAW,EAAE,GAAG,kBAAkB,EAAE,CAAC;IAC7C,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,gBAAgB,EAAE,CAAC;IAErD,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACrC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACtD,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE5D,MAAM,WAAW,GAAG,MAAM,CAAsB,IAAI,CAAC,CAAC;IACtD,MAAM,gBAAgB,GAAG,MAAM,CAAuB,IAAI,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,MAAM,CAAS,EAAE,CAAC,CAAC;IAErC,uBAAuB;IACvB,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,EAAE,GAAG,WAAW,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,EAAE;YAAE,OAAO;QAChB,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;QACzB,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,CAAC,IAAI,CAAC;IAC1D,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO,IAAI,SAAS;YAAE,OAAO;QAClC,OAAO,CAAC,EAAE,CAAC,CAAC;QACZ,WAAW,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;IAEnC,MAAM,aAAa,GAAG,WAAW,CAC/B,CAAC,CAA2C,EAAE,EAAE;QAC9C,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YACrC,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,UAAU,EAAE,CAAC;QACf,CAAC;IACH,CAAC,EACD,CAAC,UAAU,CAAC,CACb,CAAC;IAEF,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACvC,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,gBAAgB,CAAC,OAAO,EAAE,KAAK,KAAK,WAAW,EAAE,CAAC;gBACpD,gBAAgB,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAClC,CAAC;YACD,cAAc,CAAC,KAAK,CAAC,CAAC;YACtB,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAC1E,MAAM,QAAQ,GAAG,aAAa,CAAC,eAAe,CAAC,wBAAwB,CAAC;gBACtE,CAAC,CAAC,wBAAwB;gBAC1B,CAAC,CAAC,YAAY,CAAC;YACjB,MAAM,QAAQ,GAAG,IAAI,aAAa,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;YACzD,gBAAgB,CAAC,OAAO,GAAG,QAAQ,CAAC;YACpC,SAAS,CAAC,OAAO,GAAG,EAAE,CAAC;YAEvB,QAAQ,CAAC,eAAe,GAAG,CAAC,CAAC,EAAE,EAAE;gBAC/B,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC;oBAAE,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACtD,CAAC,CAAC;YAEF,QAAQ,CAAC,MAAM,GAAG,KAAK,IAAI,EAAE;gBAC3B,MAAM,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC5C,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC;gBACjC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;oBAAE,OAAO;gBAEhC,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBACxB,IAAI,CAAC;oBACH,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;oBAClD,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;oBAChC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC;oBAEhD,MAAM,QAAQ,GACZ,WAAW,CAAC,QAAQ;wBACpB,aAAa,EAAE,iBAAiB;wBAChC,qBAAqB,CAAC;oBACxB,MAAM,WAAW,GAAG,WAAW,CAAC,WAAW,CAAC;oBAC5C,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;oBACnC,IAAI,WAAW;wBAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;oBAE1D,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;oBAC9C,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;oBACtC,IAAI,UAAU,EAAE,CAAC;wBACf,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,UAAU,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;oBACnE,CAAC;gBACH,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC;gBAC9C,CAAC;wBAAS,CAAC;oBACT,iBAAiB,CAAC,KAAK,CAAC,CAAC;gBAC3B,CAAC;YACH,CAAC,CAAC;YAEF,QAAQ,CAAC,KAAK,EAAE,CAAC;YACjB,cAAc,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,GAAG,CAAC,CAAC;QAClD,CAAC;IACH,CAAC,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,WAAW,EAAE,aAAa,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAExG,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;IAEvC,OAAO,CACL,cAAK,KAAK,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,eAAe,EAAE,UAAU,EAAE,iBAAiB,EAAE,YAC9F,eACE,SAAS,EAAC,cAAc,EACxB,KAAK,EAAE;gBACL,OAAO,EAAE,MAAM;gBACf,UAAU,EAAE,UAAU;gBACtB,GAAG,EAAE,KAAK;gBACV,OAAO,EAAE,kBAAkB;gBAC3B,MAAM,EAAE,6BAA6B;gBACrC,YAAY,EAAE,sBAAsB;gBACpC,UAAU,EAAE,eAAe;gBAC3B,SAAS,EAAE,mBAAmB;aAC/B,aAGD,mBACE,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,IAAI,EACX,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACxC,SAAS,EAAE,aAAa,EACxB,QAAQ,EAAE,SAAS,EACnB,WAAW,EAAC,sBAAiB,EAC7B,IAAI,EAAE,CAAC,EACP,KAAK,EAAE;wBACL,IAAI,EAAE,CAAC;wBACP,MAAM,EAAE,MAAM;wBACd,MAAM,EAAE,MAAM;wBACd,OAAO,EAAE,MAAM;wBACf,UAAU,EAAE,aAAa;wBACzB,OAAO,EAAE,OAAO;wBAChB,QAAQ,EAAE,MAAM;wBAChB,UAAU,EAAE,GAAG;wBACf,UAAU,EAAE,iBAAiB;wBAC7B,KAAK,EAAE,uBAAuB;wBAC9B,SAAS,EAAE,MAAM;wBACjB,SAAS,EAAE,OAAO;wBAClB,SAAS,EAAE,MAAM;qBAClB,GACD,EAGF,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,GAAG,SAAS,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EACpD,QAAQ,EAAE,cAAc,gBAEtB,cAAc,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,aAAa,EAEnF,KAAK,EAAE;wBACL,KAAK,EAAE,MAAM;wBACb,MAAM,EAAE,MAAM;wBACd,UAAU,EAAE,CAAC;wBACb,YAAY,EAAE,sBAAsB;wBACpC,MAAM,EAAE,MAAM;wBACd,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,mBAAmB;wBAClE,KAAK,EAAE,8BAA8B;wBACrC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;wBAC3C,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;wBACjC,UAAU,EAAE,8CAA8C;wBAC1D,OAAO,EAAE,MAAM;wBACf,UAAU,EAAE,QAAQ;wBACpB,cAAc,EAAE,QAAQ;qBACzB,YAEA,cAAc,CAAC,CAAC,CAAC,KAAC,OAAO,IAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,+BAA+B,EAAE,GAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAC,MAAM,IAAC,IAAI,EAAE,EAAE,GAAI,CAAC,CAAC,CAAC,KAAC,GAAG,IAAC,IAAI,EAAE,EAAE,GAAI,GAChJ,EAGT,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,UAAU,EACnB,QAAQ,EAAE,SAAS,IAAI,CAAC,OAAO,gBACpB,cAAc,EACzB,KAAK,EAAE;wBACL,KAAK,EAAE,MAAM;wBACb,MAAM,EAAE,MAAM;wBACd,UAAU,EAAE,CAAC;wBACb,YAAY,EAAE,sBAAsB;wBACpC,MAAM,EAAE,MAAM;wBACd,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,aAAa;wBAC7D,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,kBAAkB;wBAC5C,MAAM,EAAE,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;wBACrD,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;wBAC5B,UAAU,EAAE,8CAA8C;wBAC1D,OAAO,EAAE,MAAM;wBACf,UAAU,EAAE,QAAQ;wBACpB,cAAc,EAAE,QAAQ;qBACzB,YAED,KAAC,IAAI,IAAC,IAAI,EAAE,EAAE,GAAI,GACX,IACL,GACF,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -3,6 +3,12 @@ export interface LoginFormProps {
|
|
|
3
3
|
heading?: string;
|
|
4
4
|
subheading?: string;
|
|
5
5
|
defaultMode?: 'login' | 'signup';
|
|
6
|
+
/** URL of a page where the user can reset their password. When set, a
|
|
7
|
+
* "Forgot password?" link is shown in login mode. */
|
|
8
|
+
resetPasswordUrl?: string;
|
|
9
|
+
/** Where the reset-password link opens. Defaults to '_blank' (new tab);
|
|
10
|
+
* pass '_self' when the URL is a page in your own app. */
|
|
11
|
+
resetPasswordTarget?: '_self' | '_blank';
|
|
6
12
|
}
|
|
7
|
-
export declare function LoginForm({ signupUrl, heading, subheading, defaultMode }: LoginFormProps): import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
export declare function LoginForm({ signupUrl, heading, subheading, defaultMode, resetPasswordUrl, resetPasswordTarget }: LoginFormProps): import("react/jsx-runtime").JSX.Element;
|
|
8
14
|
//# sourceMappingURL=LoginForm.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoginForm.d.ts","sourceRoot":"","sources":["../../../src/ui/components/LoginForm.tsx"],"names":[],"mappings":"AAIA,MAAM,WAAW,cAAc;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"LoginForm.d.ts","sourceRoot":"","sources":["../../../src/ui/components/LoginForm.tsx"],"names":[],"mappings":"AAIA,MAAM,WAAW,cAAc;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IACjC;0DACsD;IACtD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;+DAC2D;IAC3D,mBAAmB,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;CAC1C;AAED,wBAAgB,SAAS,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,gBAAgB,EAAE,mBAA8B,EAAE,EAAE,cAAc,2CA+F1I"}
|
|
@@ -2,7 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import { useState } from 'react';
|
|
3
3
|
import { useT2VAuth } from '../../react/useT2VAuth';
|
|
4
4
|
import { LOGOS } from '../theme';
|
|
5
|
-
export function LoginForm({ signupUrl, heading, subheading, defaultMode }) {
|
|
5
|
+
export function LoginForm({ signupUrl, heading, subheading, defaultMode, resetPasswordUrl, resetPasswordTarget = '_blank' }) {
|
|
6
6
|
const { login, signup, isLoading, error, clearError } = useT2VAuth();
|
|
7
7
|
const [email, setEmail] = useState('');
|
|
8
8
|
const [password, setPassword] = useState('');
|
|
@@ -26,21 +26,21 @@ export function LoginForm({ signupUrl, heading, subheading, defaultMode }) {
|
|
|
26
26
|
};
|
|
27
27
|
const inputStyle = {
|
|
28
28
|
width: '100%', padding: '10px 12px',
|
|
29
|
-
border: '1.5px solid var(--t2v-border)', borderRadius: '
|
|
29
|
+
border: '1.5px solid var(--t2v-border)', borderRadius: 'var(--t2v-radius-sm)',
|
|
30
30
|
fontFamily: 'var(--t2v-font)', fontSize: '14px',
|
|
31
31
|
background: 'var(--t2v-bg)', color: 'var(--t2v-foreground)',
|
|
32
32
|
outline: 'none', transition: 'border-color 0.15s',
|
|
33
33
|
boxSizing: 'border-box',
|
|
34
34
|
};
|
|
35
35
|
return (_jsxs("div", { style: { flex: 1, display: 'flex', flexDirection: 'column', alignItems: 'center', justifyContent: 'center', padding: '32px 24px', gap: '20px' }, children: [_jsx("img", { src: LOGOS.icon, alt: "Talk2View", style: { width: 36, height: 36 } }), _jsxs("div", { style: { textAlign: 'center' }, children: [_jsx("h2", { style: { margin: 0, fontSize: '16px', fontWeight: 600, fontFamily: 'var(--t2v-font)' }, children: heading ?? 'Sign in to Talk2View' }), _jsx("p", { style: { margin: '4px 0 0', fontSize: '13px', color: 'var(--t2v-muted)' }, children: subheading ?? 'Enter your credentials to continue' })] }), error && (_jsx("div", { style: { width: '100%', maxWidth: '280px', padding: '8px 12px', background: 'rgba(220,38,38,0.06)', border: '1px solid rgba(220,38,38,0.15)', borderRadius: '6px', fontSize: '12px', color: 'var(--t2v-error)' }, children: error })), _jsxs("form", { onSubmit: handleSubmit, style: { width: '100%', maxWidth: '280px', display: 'flex', flexDirection: 'column', gap: '10px' }, children: [_jsxs("label", { style: { display: 'flex', flexDirection: 'column', gap: '4px' }, children: [_jsx("span", { style: { fontSize: '12px', fontWeight: 500, fontFamily: 'var(--t2v-font)', color: 'var(--t2v-foreground)' }, children: "Email" }), _jsx("input", { id: "t2v-email", type: "email", placeholder: "Email", value: email, onChange: (e) => { setEmail(e.target.value); clearError(); }, className: "t2v-focusable", style: inputStyle })] }), _jsxs("label", { style: { display: 'flex', flexDirection: 'column', gap: '4px' }, children: [_jsx("span", { style: { fontSize: '12px', fontWeight: 500, fontFamily: 'var(--t2v-font)', color: 'var(--t2v-foreground)' }, children: "Password" }), _jsx("input", { id: "t2v-password", type: "password", placeholder: "Password", value: password, onChange: (e) => { setPassword(e.target.value); clearError(); }, className: "t2v-focusable", style: inputStyle })] }), _jsx("button", { type: "submit", disabled: !email || !password || isLoading, className: "t2v-btn", style: {
|
|
36
|
-
width: '100%', padding: '10px', border: 'none', borderRadius: '
|
|
36
|
+
width: '100%', padding: '10px', border: 'none', borderRadius: 'var(--t2v-radius-sm)',
|
|
37
37
|
background: 'var(--t2v-accent)', color: 'var(--t2v-accent-foreground)',
|
|
38
38
|
fontFamily: 'var(--t2v-font)', fontSize: '14px', fontWeight: 500,
|
|
39
39
|
cursor: isLoading ? 'wait' : 'pointer', opacity: (!email || !password || isLoading) ? 0.6 : 1,
|
|
40
40
|
transition: 'opacity 0.15s',
|
|
41
41
|
}, children: mode === 'signup'
|
|
42
42
|
? (isLoading ? 'Creating account…' : 'Create account')
|
|
43
|
-
: (isLoading ? 'Signing in...' : 'Sign in') })] }), _jsxs("p", { style: { fontSize: '12px', color: 'var(--t2v-muted)' }, children: [mode === 'signup' ? 'Already have an account?' : 'New here?', ' ', _jsx("button", { type: "button", onClick: () => { setMode(mode === 'signup' ? 'login' : 'signup'); clearError(); }, style: {
|
|
43
|
+
: (isLoading ? 'Signing in...' : 'Sign in') })] }), mode === 'login' && resetPasswordUrl && (_jsx("a", { href: resetPasswordUrl, target: resetPasswordTarget, rel: resetPasswordTarget === '_blank' ? 'noopener noreferrer' : undefined, style: { fontSize: '12px', color: 'var(--t2v-accent)', textDecoration: 'underline' }, children: "Forgot password?" })), _jsxs("p", { style: { fontSize: '12px', color: 'var(--t2v-muted)' }, children: [mode === 'signup' ? 'Already have an account?' : 'New here?', ' ', _jsx("button", { type: "button", onClick: () => { setMode(mode === 'signup' ? 'login' : 'signup'); clearError(); }, style: {
|
|
44
44
|
background: 'transparent', border: 'none', padding: 0, cursor: 'pointer',
|
|
45
45
|
color: 'var(--t2v-accent)', textDecoration: 'underline',
|
|
46
46
|
fontFamily: 'var(--t2v-font)', fontSize: '12px',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoginForm.js","sourceRoot":"","sources":["../../../src/ui/components/LoginForm.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"LoginForm.js","sourceRoot":"","sources":["../../../src/ui/components/LoginForm.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* MessageBubble — renders a single chat message.
|
|
3
3
|
*
|
|
4
|
-
* User messages: right-aligned
|
|
5
|
-
* Assistant messages: left-aligned with Talk2View logo avatar,
|
|
6
|
-
* ThinkingBlock (if plan exists), ToolDisplay (if
|
|
7
|
-
* ApprovalCard (if pendingApproval and isStreaming),
|
|
8
|
-
*
|
|
4
|
+
* User messages: right-aligned light-gray bubble, plain text.
|
|
5
|
+
* Assistant messages: left-aligned with Talk2View logo avatar, rendered as
|
|
6
|
+
* plain text (no card) — ThinkingBlock (if plan exists), ToolDisplay (if
|
|
7
|
+
* steps exist), ApprovalCard (if pendingApproval and isStreaming), and a
|
|
8
|
+
* MarkdownRenderer whose content is smoothly revealed while streaming.
|
|
9
9
|
*/
|
|
10
10
|
import type { DisplayMessage } from '../../types';
|
|
11
11
|
export interface MessageBubbleProps {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageBubble.d.ts","sourceRoot":"","sources":["../../../src/ui/components/MessageBubble.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"MessageBubble.d.ts","sourceRoot":"","sources":["../../../src/ui/components/MessageBubble.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAWlD,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,cAAc,CAAC;IACxB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAgB,aAAa,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,kBAAkB,2CAmHpE"}
|
|
@@ -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: '
|
|
21
|
-
padding: '
|
|
22
|
-
borderRadius: '
|
|
23
|
-
borderBottomRightRadius: '
|
|
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.
|
|
58
|
+
lineHeight: 1.7,
|
|
56
59
|
color: 'var(--t2v-foreground)',
|
|
57
60
|
fontFamily: 'var(--t2v-font)',
|
|
58
|
-
|
|
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":";AAYA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
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,
|
|
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: [
|
|
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: '
|
|
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: '
|
|
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":";AAAA;;;;;;;GAOG;AAEH,OAAc,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIhD,MAAM,UAAU,WAAW;IACzB,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,OAAO,EAAE,CAAC;IAC1C,MAAM,YAAY,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAClD,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE1D,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE;QACpC,MAAM,EAAE,GAAG,YAAY,CAAC,OAAO,CAAC;QAChC,IAAI,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC;QACrB,OAAO,EAAE,CAAC,YAAY,GAAG,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC,YAAY,GAAG,GAAG,CAAC;IAChE,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,cAAc,GAAG,WAAW,CAAC,CAAC,WAA2B,QAAQ,EAAE,EAAE;QACzE,MAAM,EAAE,GAAG,YAAY,CAAC,OAAO,CAAC;QAChC,IAAI,CAAC,EAAE;YAAE,OAAO;QAChB,EAAE,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAC;IAClD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,iEAAiE;IACjE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,YAAY,EAAE,EAAE,CAAC;YACnB,cAAc,CAAC,QAAQ,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC,CAAC;IAE7C,6DAA6D;IAC7D,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE;QACpC,MAAM,EAAE,GAAG,YAAY,CAAC,OAAO,CAAC;QAChC,IAAI,CAAC,EAAE;YAAE,OAAO;QAChB,MAAM,kBAAkB,GAAG,EAAE,CAAC,YAAY,GAAG,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC,YAAY,CAAC;QAC5E,gBAAgB,CAAC,kBAAkB,GAAG,GAAG,CAAC,CAAC;IAC7C,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACL,eAAK,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,aACzD,
|
|
1
|
+
{"version":3,"file":"MessageList.js","sourceRoot":"","sources":["../../../src/ui/components/MessageList.tsx"],"names":[],"mappings":"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"}
|