@tagit/ai-client-react 0.2.0-beta.1 → 0.3.0-beta.1
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/README.md +296 -0
- package/dist/chat-widget.d.ts +2 -1
- package/dist/chat-widget.d.ts.map +1 -1
- package/dist/chat-widget.js +3 -1
- package/dist/chat-widget.js.map +1 -1
- package/package.json +2 -2
- package/src/chat-widget.css +25 -0
package/README.md
ADDED
|
@@ -0,0 +1,296 @@
|
|
|
1
|
+
# @tagit/ai-client-react
|
|
2
|
+
|
|
3
|
+
React integration layer for tagIt AI.
|
|
4
|
+
|
|
5
|
+
Use this package when you want a self-contained chat experience in a React app. It builds on `@tagit/ai-client-core`, which owns the client engine, orchestrator transport, state, and collector emission.
|
|
6
|
+
|
|
7
|
+
This README is the source of truth for integrating the React package.
|
|
8
|
+
|
|
9
|
+
## What This Package Provides
|
|
10
|
+
|
|
11
|
+
- `AIClientProvider` for React context
|
|
12
|
+
- `useAIClient`, `useConversation`, and `useClientEvents`
|
|
13
|
+
- `ChatWidget` for a full embeddable chat shell
|
|
14
|
+
- `ChatConversation` for a lighter conversation surface
|
|
15
|
+
- the widget stylesheet for direct import
|
|
16
|
+
|
|
17
|
+
## Public Imports
|
|
18
|
+
|
|
19
|
+
Supported public imports:
|
|
20
|
+
|
|
21
|
+
- `@tagit/ai-client-core`
|
|
22
|
+
- `@tagit/ai-client-core/config`
|
|
23
|
+
- `@tagit/ai-client-core/types`
|
|
24
|
+
- `@tagit/ai-client-react`
|
|
25
|
+
- `@tagit/ai-client-react/chat-widget`
|
|
26
|
+
- `@tagit/ai-client-react/chat-widget.css`
|
|
27
|
+
- `@tagit/ai-client-react/hooks`
|
|
28
|
+
- `@tagit/ai-client-react/provider`
|
|
29
|
+
- `@tagit/ai-client-react/conversation`
|
|
30
|
+
|
|
31
|
+
Do not import from `dist/*` or from internal source paths.
|
|
32
|
+
|
|
33
|
+
## Install
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
npm install @tagit/ai-client-core @tagit/ai-client-react
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## Minimal Working Example
|
|
40
|
+
|
|
41
|
+
This is the smallest known-good React embed.
|
|
42
|
+
|
|
43
|
+
```tsx
|
|
44
|
+
import { AIClient, createDefaultConfig } from '@tagit/ai-client-core';
|
|
45
|
+
import { AIClientProvider, ChatWidget } from '@tagit/ai-client-react';
|
|
46
|
+
import '@tagit/ai-client-react/chat-widget.css';
|
|
47
|
+
|
|
48
|
+
const client = new AIClient(
|
|
49
|
+
createDefaultConfig('your-use-case-id', 'https://your-orchestrator.example.com', {
|
|
50
|
+
collector: {
|
|
51
|
+
enabled: false,
|
|
52
|
+
},
|
|
53
|
+
}),
|
|
54
|
+
);
|
|
55
|
+
|
|
56
|
+
export default function App() {
|
|
57
|
+
return (
|
|
58
|
+
<AIClientProvider client={client}>
|
|
59
|
+
<ChatWidget />
|
|
60
|
+
</AIClientProvider>
|
|
61
|
+
);
|
|
62
|
+
}
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
If that exact example does not render the default empty state and footer, verify the package install and runtime config before customizing anything.
|
|
66
|
+
|
|
67
|
+
## Core Concepts
|
|
68
|
+
|
|
69
|
+
### `@tagit/ai-client-core`
|
|
70
|
+
|
|
71
|
+
This is the headless engine:
|
|
72
|
+
|
|
73
|
+
- orchestrator config and transport
|
|
74
|
+
- conversation state
|
|
75
|
+
- SSE streaming
|
|
76
|
+
- retry and timeout handling
|
|
77
|
+
- collector emission
|
|
78
|
+
|
|
79
|
+
### `@tagit/ai-client-react`
|
|
80
|
+
|
|
81
|
+
This is the React shell:
|
|
82
|
+
|
|
83
|
+
- provider + hooks
|
|
84
|
+
- stock chat widget
|
|
85
|
+
- inline or overlay rendering
|
|
86
|
+
- shell styling and theming
|
|
87
|
+
|
|
88
|
+
Treat the core package as the engine and the React package as the UI layer on top.
|
|
89
|
+
|
|
90
|
+
## Widget Modes
|
|
91
|
+
|
|
92
|
+
`ChatWidget` supports two modes:
|
|
93
|
+
|
|
94
|
+
- `mode="overlay"` for floating chat
|
|
95
|
+
- `mode="inline"` for embedded layouts
|
|
96
|
+
|
|
97
|
+
For inline mode, there are two common host patterns:
|
|
98
|
+
|
|
99
|
+
- `dockMode="page"` for a page-anchored rail
|
|
100
|
+
- `dockMode="viewport"` for a viewport-docked rail that stays fixed to the browser edge
|
|
101
|
+
|
|
102
|
+
Use `dockMode="viewport"` when the widget should behave like a fixed browser sidebar and the host page needs to shift content away from it.
|
|
103
|
+
|
|
104
|
+
### Overlay Example
|
|
105
|
+
|
|
106
|
+
```tsx
|
|
107
|
+
<ChatWidget
|
|
108
|
+
mode="overlay"
|
|
109
|
+
side="right"
|
|
110
|
+
title="tagIt Assistant"
|
|
111
|
+
showBackdrop
|
|
112
|
+
closeOnOutsideClick
|
|
113
|
+
/>
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
### Page-Rail Inline Example
|
|
117
|
+
|
|
118
|
+
```tsx
|
|
119
|
+
<ChatWidget
|
|
120
|
+
mode="inline"
|
|
121
|
+
dockMode="page"
|
|
122
|
+
side="right"
|
|
123
|
+
open={true}
|
|
124
|
+
title="tagIt Assistant"
|
|
125
|
+
tabLabel="AI Client"
|
|
126
|
+
/>
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
### Viewport-Docked Inline Example
|
|
130
|
+
|
|
131
|
+
```tsx
|
|
132
|
+
<ChatWidget
|
|
133
|
+
mode="inline"
|
|
134
|
+
dockMode="viewport"
|
|
135
|
+
side="right"
|
|
136
|
+
open={isOpen}
|
|
137
|
+
onOpenChange={setIsOpen}
|
|
138
|
+
title="tagIt Assistant"
|
|
139
|
+
tabLabel="AI Client"
|
|
140
|
+
tabHeightPercent={18}
|
|
141
|
+
width={440}
|
|
142
|
+
minWidthPx={360}
|
|
143
|
+
maxWidthPx={440}
|
|
144
|
+
/>
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
## Open / Close Control
|
|
148
|
+
|
|
149
|
+
`ChatWidget` supports both controlled and uncontrolled open state.
|
|
150
|
+
|
|
151
|
+
- `open` + `onOpenChange` for controlled usage
|
|
152
|
+
- `defaultOpen` for uncontrolled usage
|
|
153
|
+
|
|
154
|
+
Use controlled state when the host page needs to:
|
|
155
|
+
|
|
156
|
+
- reserve layout space only while the panel is open
|
|
157
|
+
- coordinate open state with surrounding page layout
|
|
158
|
+
- keep the tab at the browser edge in a viewport-docked integration
|
|
159
|
+
|
|
160
|
+
## `ChatConversation`
|
|
161
|
+
|
|
162
|
+
Use `ChatConversation` when you want a lighter conversation surface and you are already handling the shell yourself.
|
|
163
|
+
|
|
164
|
+
```tsx
|
|
165
|
+
import { AIClientProvider, ChatConversation } from '@tagit/ai-client-react';
|
|
166
|
+
|
|
167
|
+
export default function App() {
|
|
168
|
+
return (
|
|
169
|
+
<AIClientProvider client={client}>
|
|
170
|
+
<ChatConversation />
|
|
171
|
+
</AIClientProvider>
|
|
172
|
+
);
|
|
173
|
+
}
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
Use `ChatWidget` when you want the full built-in shell, header, tab, and sizing controls.
|
|
177
|
+
|
|
178
|
+
## Custom Conversation Body
|
|
179
|
+
|
|
180
|
+
Only pass `children` to `ChatWidget` if you intentionally want to replace the built-in conversation body.
|
|
181
|
+
|
|
182
|
+
```tsx
|
|
183
|
+
<ChatWidget mode="overlay" side="right" title="tagIt Assistant">
|
|
184
|
+
<CustomConversation />
|
|
185
|
+
</ChatWidget>
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
If you do not pass `children`, the stock conversation UI is rendered automatically.
|
|
189
|
+
|
|
190
|
+
## Configuration
|
|
191
|
+
|
|
192
|
+
### Orchestrator
|
|
193
|
+
|
|
194
|
+
`orchestrator.baseUrl` should point to the orchestrator root URL, not `/v1/chat`. The client appends `/v1/chat` internally.
|
|
195
|
+
|
|
196
|
+
Required orchestrator fields:
|
|
197
|
+
|
|
198
|
+
- `baseUrl`
|
|
199
|
+
- `useCaseId`
|
|
200
|
+
|
|
201
|
+
Optional orchestrator fields:
|
|
202
|
+
|
|
203
|
+
- `apiKey`
|
|
204
|
+
- `snapshotId`
|
|
205
|
+
- `timeoutMs`
|
|
206
|
+
- `maxRetries`
|
|
207
|
+
|
|
208
|
+
### Collector
|
|
209
|
+
|
|
210
|
+
Collector is optional and can be disabled.
|
|
211
|
+
|
|
212
|
+
If enabled, set:
|
|
213
|
+
|
|
214
|
+
- `collector.baseUrl`
|
|
215
|
+
- `collector.tagId`
|
|
216
|
+
- `collector.enabled = true`
|
|
217
|
+
|
|
218
|
+
Additional collector fields are supported when needed, including:
|
|
219
|
+
|
|
220
|
+
- `acceptCookies`
|
|
221
|
+
- `userId`
|
|
222
|
+
- `agentId`
|
|
223
|
+
- `entityId`
|
|
224
|
+
- `entityidType`
|
|
225
|
+
- `entityidAlgo`
|
|
226
|
+
- `entityidOwner`
|
|
227
|
+
- `spaceId`
|
|
228
|
+
- `sessionId`
|
|
229
|
+
- privacy metadata
|
|
230
|
+
|
|
231
|
+
### UI
|
|
232
|
+
|
|
233
|
+
Common UI options include:
|
|
234
|
+
|
|
235
|
+
- `theme`
|
|
236
|
+
- `streaming`
|
|
237
|
+
- `showToolCalls`
|
|
238
|
+
|
|
239
|
+
## Starter Harness
|
|
240
|
+
|
|
241
|
+
The starter app in `apps/starter` is the local demo and shell playground.
|
|
242
|
+
|
|
243
|
+
Use it to test:
|
|
244
|
+
|
|
245
|
+
- overlay mode
|
|
246
|
+
- inline page-rail mode
|
|
247
|
+
- inline viewport-docked mode
|
|
248
|
+
- theming and color schemes
|
|
249
|
+
- tab labels and tooltips
|
|
250
|
+
- open/close behavior
|
|
251
|
+
- sizing and resize behavior
|
|
252
|
+
|
|
253
|
+
The starter is not the distributable package.
|
|
254
|
+
|
|
255
|
+
## Recommended Integration Patterns
|
|
256
|
+
|
|
257
|
+
### Simple Embed
|
|
258
|
+
|
|
259
|
+
Use this when you want the fastest possible install:
|
|
260
|
+
|
|
261
|
+
- create one `AIClient`
|
|
262
|
+
- wrap the app with `AIClientProvider`
|
|
263
|
+
- render `<ChatWidget />`
|
|
264
|
+
- import `@tagit/ai-client-react/chat-widget.css`
|
|
265
|
+
|
|
266
|
+
### Viewport-Docked Sidebar
|
|
267
|
+
|
|
268
|
+
Use this when the chat should feel like a persistent product rail:
|
|
269
|
+
|
|
270
|
+
- keep the widget fixed to the browser edge
|
|
271
|
+
- reserve page width only when open
|
|
272
|
+
- let the tab collapse back to the browser edge
|
|
273
|
+
- keep the host page scroll independent of the rail
|
|
274
|
+
|
|
275
|
+
### Custom Shell
|
|
276
|
+
|
|
277
|
+
Use `useConversation()` when the host app wants to render its own shell and only consume conversation state and actions.
|
|
278
|
+
|
|
279
|
+
## Troubleshooting
|
|
280
|
+
|
|
281
|
+
| Symptom | Likely cause | Check |
|
|
282
|
+
|---|---|---|
|
|
283
|
+
| Header/tab only, empty shell | stale package cache or old bundle | clear `node_modules/.vite`, restart dev server, confirm `children` is not being passed |
|
|
284
|
+
| No styling | CSS not imported | verify `@tagit/ai-client-react/chat-widget.css` import |
|
|
285
|
+
| Missing body after passing custom JSX | `children` overrides stock body | remove `children` to restore the stock widget |
|
|
286
|
+
| No messages sent | invalid orchestrator config | verify `orchestrator.baseUrl` and `useCaseId`, confirm `baseUrl` does not include `/v1/chat` |
|
|
287
|
+
| Runtime import error | unsupported import path | use only documented public exports |
|
|
288
|
+
| Collector events do not appear | collector config incomplete or disabled | confirm `collector.enabled`, `collector.baseUrl`, and `collector.tagId` |
|
|
289
|
+
| Inline mode looks cramped | panel width too small | pass a wider `width` or start with `dockMode="viewport"` |
|
|
290
|
+
|
|
291
|
+
## Related Docs
|
|
292
|
+
|
|
293
|
+
- [`AGENTS.md`](../../AGENTS.md)
|
|
294
|
+
- [`README.md`](../../README.md)
|
|
295
|
+
- [`apps/starter`](../../apps/starter)
|
|
296
|
+
|
package/dist/chat-widget.d.ts
CHANGED
|
@@ -23,6 +23,7 @@ export type ChatColorScheme = {
|
|
|
23
23
|
};
|
|
24
24
|
export type ChatWidgetProps = {
|
|
25
25
|
mode?: ChatWidgetMode;
|
|
26
|
+
dockMode?: 'page' | 'viewport';
|
|
26
27
|
side?: ChatWidgetSide;
|
|
27
28
|
title?: string;
|
|
28
29
|
titleIconUrl?: string | null;
|
|
@@ -49,5 +50,5 @@ export type ChatWidgetProps = {
|
|
|
49
50
|
className?: string;
|
|
50
51
|
children?: React.ReactNode;
|
|
51
52
|
};
|
|
52
|
-
export declare function ChatWidget({ mode, side, title, titleIconUrl, open, defaultOpen, onOpenChange, theme, colorScheme, colorSchemes, tabIcon, tabLabel, tabTooltipOpen, tabTooltipClose, tabIconUrl, tabHeightPercent, width, resizable, minWidthPx, maxWidthPx, onWidthChange, showBackdrop, closeOnOutsideClick, onNewChat, className, children, }: ChatWidgetProps): import("react/jsx-runtime").JSX.Element;
|
|
53
|
+
export declare function ChatWidget({ mode, dockMode, side, title, titleIconUrl, open, defaultOpen, onOpenChange, theme, colorScheme, colorSchemes, tabIcon, tabLabel, tabTooltipOpen, tabTooltipClose, tabIconUrl, tabHeightPercent, width, resizable, minWidthPx, maxWidthPx, onWidthChange, showBackdrop, closeOnOutsideClick, onNewChat, className, children, }: ChatWidgetProps): import("react/jsx-runtime").JSX.Element;
|
|
53
54
|
//# sourceMappingURL=chat-widget.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-widget.d.ts","sourceRoot":"","sources":["../src/chat-widget.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"chat-widget.d.ts","sourceRoot":"","sources":["../src/chat-widget.tsx"],"names":[],"mappings":"AAKA,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,QAAQ,CAAC;AAClD,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,OAAO,CAAC;AAC9C,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;AAE1D,MAAM,MAAM,eAAe,GAAG;IAC5B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;IAC/B,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,YAAY,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,GAAG,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC;IAClE,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,CAAC;AAYF,wBAAgB,UAAU,CAAC,EACzB,IAAgB,EAChB,QAAiB,EACjB,IAAc,EACd,KAAmB,EACnB,YAAY,EACZ,IAAI,EACJ,WAAmB,EACnB,YAAY,EACZ,KAAgB,EAChB,WAAW,EACX,YAAY,EACZ,OAAO,EACP,QAAiB,EACjB,cAAc,EACd,eAAe,EACf,UAAU,EACV,gBAAqB,EACrB,KAAW,EACX,SAAgB,EAChB,UAAgB,EAChB,UAAU,EACV,aAAa,EACb,YAAoB,EACpB,mBAA2B,EAC3B,SAAS,EACT,SAAS,EACT,QAAQ,GACT,EAAE,eAAe,2CAiOjB"}
|
package/dist/chat-widget.js
CHANGED
|
@@ -12,7 +12,7 @@ function resolveTheme(theme) {
|
|
|
12
12
|
}
|
|
13
13
|
return 'light';
|
|
14
14
|
}
|
|
15
|
-
export function ChatWidget({ mode = 'overlay', side = 'right', title = 'Ask TagIt', titleIconUrl, open, defaultOpen = false, onOpenChange, theme = 'system', colorScheme, colorSchemes, tabIcon, tabLabel = 'Chat', tabTooltipOpen, tabTooltipClose, tabIconUrl, tabHeightPercent = 40, width = 420, resizable = true, minWidthPx = 280, maxWidthPx, onWidthChange, showBackdrop = false, closeOnOutsideClick = false, onNewChat, className, children, }) {
|
|
15
|
+
export function ChatWidget({ mode = 'overlay', dockMode = 'page', side = 'right', title = 'Ask TagIt', titleIconUrl, open, defaultOpen = false, onOpenChange, theme = 'system', colorScheme, colorSchemes, tabIcon, tabLabel = 'Chat', tabTooltipOpen, tabTooltipClose, tabIconUrl, tabHeightPercent = 40, width = 420, resizable = true, minWidthPx = 280, maxWidthPx, onWidthChange, showBackdrop = false, closeOnOutsideClick = false, onNewChat, className, children, }) {
|
|
16
16
|
const [internalOpen, setInternalOpen] = useState(defaultOpen);
|
|
17
17
|
const [internalWidth, setInternalWidth] = useState(typeof width === 'number' ? `${width}px` : String(width));
|
|
18
18
|
const [resolvedTheme, setResolvedTheme] = useState(() => resolveTheme(theme));
|
|
@@ -116,6 +116,8 @@ export function ChatWidget({ mode = 'overlay', side = 'right', title = 'Ask TagI
|
|
|
116
116
|
return (_jsxs("div", { className: [
|
|
117
117
|
'tagIt-chat-widget',
|
|
118
118
|
`tagIt-chat-widget-${mode}`,
|
|
119
|
+
`tagIt-chat-widget-dock-${dockMode}`,
|
|
120
|
+
isOpen ? 'tagIt-chat-widget-open' : 'tagIt-chat-widget-closed',
|
|
119
121
|
`tagIt-chat-side-${side}`,
|
|
120
122
|
`tagIt-chat-theme-${resolvedTheme}`,
|
|
121
123
|
className || '',
|
package/dist/chat-widget.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-widget.js","sourceRoot":"","sources":["../src/chat-widget.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,CAAC,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"chat-widget.js","sourceRoot":"","sources":["../src/chat-widget.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tagit/ai-client-react",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0-beta.1",
|
|
4
4
|
"description": "Self-contained React chat widget and hooks for TagIt AI client",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"recharts": "^3.8.1",
|
|
43
43
|
"rehype-highlight": "^7.0.2",
|
|
44
44
|
"remark-gfm": "^4.0.1",
|
|
45
|
-
"@tagit/ai-client-core": "0.
|
|
45
|
+
"@tagit/ai-client-core": "0.3.0-beta.1"
|
|
46
46
|
},
|
|
47
47
|
"peerDependencies": {
|
|
48
48
|
"react": "^18.0.0",
|
package/src/chat-widget.css
CHANGED
|
@@ -314,6 +314,31 @@
|
|
|
314
314
|
border-right: 1px solid var(--tagIt-chat-border);
|
|
315
315
|
}
|
|
316
316
|
|
|
317
|
+
.tagIt-chat-widget-inline.tagIt-chat-widget-dock-viewport {
|
|
318
|
+
position: fixed;
|
|
319
|
+
top: 0;
|
|
320
|
+
right: 0;
|
|
321
|
+
bottom: 0;
|
|
322
|
+
z-index: 80;
|
|
323
|
+
width: min(100vw, var(--tagIt-chat-panel-width));
|
|
324
|
+
max-width: 100vw;
|
|
325
|
+
height: 100dvh;
|
|
326
|
+
overflow: visible;
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
.tagIt-chat-widget-inline.tagIt-chat-widget-dock-viewport.tagIt-chat-side-left {
|
|
330
|
+
left: 0;
|
|
331
|
+
right: auto;
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
.tagIt-chat-widget-inline.tagIt-chat-widget-dock-viewport.tagIt-chat-widget-open {
|
|
335
|
+
width: min(100vw, var(--tagIt-chat-panel-width));
|
|
336
|
+
}
|
|
337
|
+
|
|
338
|
+
.tagIt-chat-widget-inline.tagIt-chat-widget-dock-viewport.tagIt-chat-widget-closed {
|
|
339
|
+
width: 0;
|
|
340
|
+
}
|
|
341
|
+
|
|
317
342
|
.tagIt-chat-widget-inline .tagIt-chat-panel {
|
|
318
343
|
position: absolute;
|
|
319
344
|
top: 0;
|